Coupling visualization¶
First of all, we need to instantiate the different MDODiscipline, e.g.
from gemseo.api import create_discipline
disciplines = create_discipline(['Sellar1', 'Sellar2', 'SellarSystem'])
N2 chart¶
Then, we can represent the coupling structure of these disciplines by means of a N2 chart,
also referred to as N2 diagram, N-squared diagram or N-squared chart.
See also
More information concerning the N2 chart on wikipedia.
Description¶
For that, we consider the generate_n2_plot() API function:
from gemseo.api import generate_n2_plot
generate_n2_plot(disciplines)
and obtains the following N2 chart where:
disciplines are on the diagonal,
the input coupling variables of a discipline are located at the vertical of the discipline,
the output coupling variables of a discipline are located at the horizontal of the discipline.
In this case, Sellar1 returns the coupling variable y_0 which is an input for Sellar2 and SellarSystem. Similarly, Sellar2 returns the coupling variable y_1 which is an input for Sellar1 and SellarSystem.
Options¶
The first argument of the generate_n2_plot() API function is the list of MDODiscipline.
This argument is mandatory while the others are optional:
file_path: file path of the figure (default value:'n2.pdf')show_data_names: if true, the names of the coupling data is shown otherwise, circles are drawn, which sizes depend on the number of coupling names (default value:True)save: if True, saved the figure to file_path (default value:True)show: if True, shows the plot (default value:False)figsize: tuple, size of the figure (default value:(15,10))
Here, when show_data_names is False, we obtain:
Coupling graph¶
We can also represent this relation by means of a coupling graph.
Description¶
For that, we consider the generate_coupling_graph() API function:
from gemseo.api import generate_coupling_graph
generate_coupling_graph(disciplines)
and obtains the following coupling graph where:
disciplines are represented by bubbles,
coupling variable flows are represented by arrows between disciplines,
constraint and objectives functions are represented.
In this case, the coupling variable y_0 goes from Sellar1 to Sellar2 and from Sellar1 to SellarSystem. Similarly, the coupling variable y_1 goes from Sellar2 to Sellar1 and from Sellar2 to SellarSystem. Moreover, SellarSystem returns the value of the objective function and constraints.
Options¶
The first argument of the generate_coupling_graph() API function is the list of MDODiscipline.
This argument is mandatory while the other is optional:
file_path: file path of the figure (default value:'coupling_graph.pdf')

