Note
Click here to download the full example code
Generate an N2 and XDSM from an Excel description of the MDO problem¶
from __future__ import division, unicode_literals
from os import mkdir
from os.path import exists, join
from gemseo.api import configure_logger
from gemseo.utils.study_analysis import StudyAnalysis
configure_logger()
Out:
<RootLogger root (INFO)>
Describe your MDO problem in an Excel file¶
Visualize this study¶
study = StudyAnalysis("disciplines_spec.xlsx")
if not exists("outputs"):
mkdir("outputs")
Out:
INFO - 21:50:47: Detected the following disciplines: ['Discipline1', 'Discipline2', 'Scenario']
INFO - 21:50:47: Parsing discipline Discipline1
INFO - 21:50:47: Inputs: ['a', 'b', 'c']
INFO - 21:50:47: Outputs: ['d', 'e', 'g']
INFO - 21:50:47: Parsing discipline Discipline2
INFO - 21:50:47: Inputs: ['z', 'x', 'd', 'g']
INFO - 21:50:47: Outputs: ['a', 'b', 'f']
INFO - 21:50:47: Detected scenario in sheet: Scenario
INFO - 21:50:47: New scenario: Scenario
INFO - 21:50:47: Objectives: ['f']
INFO - 21:50:47: Disciplines: ['Discipline1', 'Discipline2']
INFO - 21:50:47: Constraints: ['g']
INFO - 21:50:47: Design variables: ['b', 'x']
INFO - 21:50:47: Formulation: MDF
Generate N2 chrt¶
study.generate_n2(file_path=join("outputs", "n2.png"), save=False, show=True)
Generate XDSM¶
study.generate_xdsm("outputs")
Out:
INFO - 21:50:47: Generated the following Scenario:
INFO - 21:50:47: MDOScenario
INFO - 21:50:47: Optimization problem:
INFO - 21:50:47: Minimize: f(x)
INFO - 21:50:47: With respect to: x
INFO - 21:50:47: Subject to constraints:
INFO - 21:50:47: g(x) == 0.0
INFO - 21:50:47: Generating HTML XDSM file in : outputs/xdsm.html
MDOScenario
Disciplines: Discipline1 Discipline2
MDOFormulation: MDF
Algorithm: None
Visualize this study from command line¶
We can create the same figures using command line inputs:
gemseo-study disciplines_spec.xlsx -o outputs -s '(5,5)' -x -l
where:
gemseo-study
is an executable provided by GEMSEO,disciplines_spec.xlsx
is the Excel file path,-o outputs
is the output directory,-s '(5,5)'
is the size of the N2 chart,-x
is an option to create of the XDSM,-l
is an option to create a PDF file with the creation of the XDSM.
Total running time of the script: ( 0 minutes 0.368 seconds)