Note
Go to the end to download the full example code
Generate N2 and XDSM diagrams from an Excel description of the MDO problem¶
from __future__ import annotations
from gemseo import configure_logger
from gemseo.utils.study_analyses.mdo_study_analysis import MDOStudyAnalysis
configure_logger()
<RootLogger root (INFO)>
Describe your MDO problem in an Excel file¶
Visualize this study¶
study = MDOStudyAnalysis("mdo_study.xlsx")
INFO - 08:56:11: 2 disciplines detected
INFO - 08:56:11: Discipline1
INFO - 08:56:11: Inputs: a, b, c
INFO - 08:56:11: Outputs: d, e, g
INFO - 08:56:11: Discipline2
INFO - 08:56:11: Inputs: d, g, x, z
INFO - 08:56:11: Outputs: a, b, f
INFO - 08:56:11: 1 scenario detected
INFO - 08:56:11: Scenario
INFO - 08:56:11: Objectives: f
INFO - 08:56:11: Disciplines: Discipline1, Discipline2
INFO - 08:56:11: Constraints: g
INFO - 08:56:11: Design variables: x
INFO - 08:56:11: Formulation: MDF
Generate the N2 chart¶
study.generate_n2(save=False, show=True)
Generate the XDSM¶
study.generate_xdsm(".")
INFO - 08:56:11: Generated the following Scenario:
INFO - 08:56:11: MDOScenario
INFO - 08:56:11: Optimization problem:
INFO - 08:56:11: minimize f(x)
INFO - 08:56:11: with respect to x
INFO - 08:56:11: subject to constraints:
INFO - 08:56:11: g(x) == 0.0
Visualize this study from command line¶
We can create the same figures using command line inputs:
gemseo-study mdo_study.xlsx -o outputs -h 5 -w 5 -x -p
where gemseo-study
is an executable provided by GEMSEO
and the Excel file path mdo_study.xlsx
is the specification of the MDO study.
Here, we set some options of gemseo-study
:
-o outputs
is the output directory,-h 5
is the height of the N2 chart in inches,-w 5
is the width of the N2 chart in inches,-x
is an option to create of the XDSM (compatible only with the study type ‘mdo’),-p
is an option to create a PDF file with the creation of the XDSM.
Total running time of the script: (0 minutes 0.323 seconds)