diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 42c994135bb6a497fa19bcf2f2e14ea611a9b80d..3ffc92d4cf5296530a051f44e3640afd0797883f 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,57 +2,17 @@ <project version="4"> <component name="ChangeListManager"> <list default="true" id="d3e74292-1e1a-4cba-81b3-9c9d67f586ca" name="Default" comment=""> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/CPACSdummyProblem.py" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/ACAERO-info.json" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/ACAERO-input.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/ACAERO-output.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/CON_EM-info.json" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/CON_EM-input.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/CON_EM-output.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/CON_FD-info.json" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/CON_FD-input.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/CON_FD-output.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMISSION-info.json" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMISSION-input.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMISSION-output.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMWET-info.json" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMWET-input.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMWET-output.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MASS-info.json" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MASS-input.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MASS-output.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MISSION-info.json" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MISSION-input.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MISSION-output.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/OBJ-info.json" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/OBJ-input.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/OBJ-output.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/PHALANX-info.json" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/PHALANX-input.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/PHALANX-output.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_LOAD-info.json" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_LOAD-input.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_LOAD-output.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_PERF-info.json" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_PERF-input.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_PERF-output.xml" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/data_schema.xsd" /> + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/sleeve/ACAERO-info.json" /> + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/sleeve/ACAERO-input.xml" /> + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/sleeve/ACAERO-output.xml" /> + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/sleeve/data_schema.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/data_schema.xsd" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/data_schema.xsd" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D1-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D1-input.xml" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D10-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D10-input.xml" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D2-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D2-input.xml" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D3-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D3-input.xml" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D4-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D4-input.xml" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D5-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D5-input.xml" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D6-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D6-input.xml" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D7-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D7-input.xml" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D8-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D8-input.xml" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D9-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/D9-input.xml" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/CPACSdummyProblem.py" afterPath="$PROJECT_DIR$/pyKADMOS/CPACSdummyProblem.py" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMWET-output.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMWET-output.xml" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MASS-output.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MASS-output.xml" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/MDOproblem.py" afterPath="$PROJECT_DIR$/pyKADMOS/MDOproblem.py" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/mathProblem.py" afterPath="$PROJECT_DIR$/pyKADMOS/mathProblem.py" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/old/demo.py" afterPath="$PROJECT_DIR$/pyKADMOS/old/demo.py" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/sellarProblem.py" afterPath="$PROJECT_DIR$/pyKADMOS/sellarProblem.py" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/test_pymetis" afterPath="$PROJECT_DIR$/pyKADMOS/test_pymetis" /> </list> <ignored path="KADMOS.iws" /> <ignored path=".idea/workspace.xml" /> @@ -70,7 +30,7 @@ <SUITE FILE_PATH="coverage/KADMOS$demo.coverage" NAME="demo Coverage Results" MODIFIED="1461312857549" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pyKADMOS" /> <SUITE FILE_PATH="coverage/KADMOS$demo_OO.coverage" NAME="demo_OO Coverage Results" MODIFIED="1463752104977" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pyKADMOS" /> <SUITE FILE_PATH="coverage/KADMOS$mathProblem.coverage" NAME="mathProblem Coverage Results" MODIFIED="1463952245741" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pyKADMOS" /> - <SUITE FILE_PATH="coverage/KADMOS$CPACSdummyProblem.coverage" NAME="CPACSdummyProblem Coverage Results" MODIFIED="1464590024217" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pyKADMOS" /> + <SUITE FILE_PATH="coverage/KADMOS$CPACSdummyProblem.coverage" NAME="CPACSdummyProblem Coverage Results" MODIFIED="1465219927720" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pyKADMOS" /> <SUITE FILE_PATH="coverage/KADMOS$bigMathProblem.coverage" NAME="bigMathProblem Coverage Results" MODIFIED="1463418247627" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pyKADMOS" /> <SUITE FILE_PATH="coverage/KADMOS$sellarProblem.coverage" NAME="sellarProblem Coverage Results" MODIFIED="1463844059270" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pyKADMOS" /> <SUITE FILE_PATH="coverage/KADMOS$test_pymetis.coverage" NAME="test_pymetis Coverage Results" MODIFIED="1463842497510" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pyKADMOS" /> @@ -84,23 +44,23 @@ </component> <component name="FileEditorManager"> <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> - <file leaf-file-name="MDOproblem.py" pinned="false" current-in-tab="true"> + <file leaf-file-name="MDOproblem.py" pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/pyKADMOS/MDOproblem.py"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="440"> - <caret line="55" column="8" selection-start-line="55" selection-start-column="8" selection-end-line="55" selection-end-column="8" /> + <state relative-caret-position="5625"> + <caret line="375" column="28" selection-start-line="375" selection-start-column="23" selection-end-line="375" selection-end-column="28" /> <folding> - <element signature="e#0#9#0" expanded="true" /> + <element signature="e#0#11#0" expanded="true" /> </folding> </state> </provider> </entry> </file> - <file leaf-file-name="CPACSdummyProblem.py" pinned="false" current-in-tab="false"> + <file leaf-file-name="CPACSdummyProblem.py" pinned="false" current-in-tab="true"> <entry file="file://$PROJECT_DIR$/pyKADMOS/CPACSdummyProblem.py"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="770"> - <caret line="115" column="34" selection-start-line="115" selection-start-column="34" selection-end-line="115" selection-end-column="34" /> + <state relative-caret-position="750"> + <caret line="59" column="7" selection-start-line="59" selection-start-column="7" selection-end-line="59" selection-end-column="7" /> <folding> <element signature="e#0#13#0" expanded="true" /> </folding> @@ -123,7 +83,6 @@ <component name="IdeDocumentHistory"> <option name="CHANGED_PATHS"> <list> - <option value="$PROJECT_DIR$/pyKADMOS/F-output.xml" /> <option value="$PROJECT_DIR$/pyKADMOS/demo.py" /> <option value="$PROJECT_DIR$/pyKADMOS/D2-input.xml" /> <option value="$PROJECT_DIR$/pyKADMOS/D2-output.xml" /> @@ -161,7 +120,6 @@ <option value="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_LOAD-info.json" /> <option value="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMWET-info.json" /> <option value="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMWET-input.xml" /> - <option value="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMWET-output.xml" /> <option value="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/ACAERO-info.json" /> <option value="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_PERF-output.xml" /> <option value="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/ACAERO-output.xml" /> @@ -171,9 +129,11 @@ <option value="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/ACAERO-input.xml" /> <option value="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_LOAD-input.xml" /> <option value="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_LOAD-output.xml" /> + <option value="$PROJECT_DIR$/pyKADMOS/sleeve/data_schema.xml" /> + <option value="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMWET-output.xml" /> <option value="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MASS-output.xml" /> - <option value="$PROJECT_DIR$/pyKADMOS/CPACSdummyProblem.py" /> <option value="$PROJECT_DIR$/pyKADMOS/MDOproblem.py" /> + <option value="$PROJECT_DIR$/pyKADMOS/CPACSdummyProblem.py" /> </list> </option> </component> @@ -184,9 +144,8 @@ <sorting>DEFINITION_ORDER</sorting> </component> <component name="ProjectFrameBounds"> - <option name="y" value="23" /> - <option name="width" value="1920" /> - <option name="height" value="993" /> + <option name="width" value="1280" /> + <option name="height" value="800" /> </component> <component name="ProjectInspectionProfilesVisibleTreeState"> <entry key="Project Default"> @@ -233,6 +192,70 @@ </navigator> <panes> <pane id="Scratches" /> + <pane id="Scope"> + <subPane subId="Project Files"> + <PATH> + <PATH_ELEMENT USER_OBJECT="Root"> + <option name="myItemId" value="" /> + <option name="myItemType" value="" /> + </PATH_ELEMENT> + <PATH_ELEMENT USER_OBJECT="KADMOS"> + <option name="myItemId" value="" /> + <option name="myItemType" value="" /> + </PATH_ELEMENT> + </PATH> + <PATH> + <PATH_ELEMENT USER_OBJECT="Root"> + <option name="myItemId" value="" /> + <option name="myItemType" value="" /> + </PATH_ELEMENT> + <PATH_ELEMENT USER_OBJECT="KADMOS"> + <option name="myItemId" value="" /> + <option name="myItemType" value="" /> + </PATH_ELEMENT> + <PATH_ELEMENT USER_OBJECT="pyKADMOS"> + <option name="myItemId" value="" /> + <option name="myItemType" value="" /> + </PATH_ELEMENT> + </PATH> + <PATH> + <PATH_ELEMENT USER_OBJECT="Root"> + <option name="myItemId" value="" /> + <option name="myItemType" value="" /> + </PATH_ELEMENT> + <PATH_ELEMENT USER_OBJECT="KADMOS"> + <option name="myItemId" value="" /> + <option name="myItemType" value="" /> + </PATH_ELEMENT> + <PATH_ELEMENT USER_OBJECT="pyKADMOS"> + <option name="myItemId" value="" /> + <option name="myItemType" value="" /> + </PATH_ELEMENT> + <PATH_ELEMENT USER_OBJECT="sleeve"> + <option name="myItemId" value="" /> + <option name="myItemType" value="" /> + </PATH_ELEMENT> + </PATH> + <PATH> + <PATH_ELEMENT USER_OBJECT="Root"> + <option name="myItemId" value="" /> + <option name="myItemType" value="" /> + </PATH_ELEMENT> + <PATH_ELEMENT USER_OBJECT="KADMOS"> + <option name="myItemId" value="" /> + <option name="myItemType" value="" /> + </PATH_ELEMENT> + <PATH_ELEMENT USER_OBJECT="pyKADMOS"> + <option name="myItemId" value="" /> + <option name="myItemType" value="" /> + </PATH_ELEMENT> + <PATH_ELEMENT USER_OBJECT="KB_CPACS_dummy"> + <option name="myItemId" value="" /> + <option name="myItemType" value="" /> + </PATH_ELEMENT> + </PATH> + </subPane> + </pane> <pane id="ProjectPane"> <subPane> <PATH> @@ -373,52 +396,6 @@ </PATH> </subPane> </pane> - <pane id="Scope"> - <subPane subId="Project Files"> - <PATH> - <PATH_ELEMENT USER_OBJECT="Root"> - <option name="myItemId" value="" /> - <option name="myItemType" value="" /> - </PATH_ELEMENT> - <PATH_ELEMENT USER_OBJECT="KADMOS"> - <option name="myItemId" value="" /> - <option name="myItemType" value="" /> - </PATH_ELEMENT> - </PATH> - <PATH> - <PATH_ELEMENT USER_OBJECT="Root"> - <option name="myItemId" value="" /> - <option name="myItemType" value="" /> - </PATH_ELEMENT> - <PATH_ELEMENT USER_OBJECT="KADMOS"> - <option name="myItemId" value="" /> - <option name="myItemType" value="" /> - </PATH_ELEMENT> - <PATH_ELEMENT USER_OBJECT="pyKADMOS"> - <option name="myItemId" value="" /> - <option name="myItemType" value="" /> - </PATH_ELEMENT> - </PATH> - <PATH> - <PATH_ELEMENT USER_OBJECT="Root"> - <option name="myItemId" value="" /> - <option name="myItemType" value="" /> - </PATH_ELEMENT> - <PATH_ELEMENT USER_OBJECT="KADMOS"> - <option name="myItemId" value="" /> - <option name="myItemType" value="" /> - </PATH_ELEMENT> - <PATH_ELEMENT USER_OBJECT="pyKADMOS"> - <option name="myItemId" value="" /> - <option name="myItemType" value="" /> - </PATH_ELEMENT> - <PATH_ELEMENT USER_OBJECT="KB_CPACS_dummy"> - <option name="myItemId" value="" /> - <option name="myItemType" value="" /> - </PATH_ELEMENT> - </PATH> - </subPane> - </pane> </panes> </component> <component name="PropertiesComponent"> @@ -427,19 +404,20 @@ <property name="settings.editor.selected.configurable" value="vcs.Git" /> <property name="settings.editor.splitter.proportion" value="0.2" /> <property name="ToolWindowRun.ShowToolbar" value="false" /> + <property name="FullScreen" value="true" /> </component> <component name="RecentsManager"> - <key name="MoveFile.RECENT_KEYS"> + <key name="CopyFile.RECENT_KEYS"> <recent name="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy" /> - <recent name="$PROJECT_DIR$/pyKADMOS/sleeve" /> <recent name="$PROJECT_DIR$/pyKADMOS/KB_Sellar" /> <recent name="$PROJECT_DIR$/pyKADMOS" /> - <recent name="$PROJECT_DIR$/pyKADMOS/KB_CPACS" /> </key> - <key name="CopyFile.RECENT_KEYS"> + <key name="MoveFile.RECENT_KEYS"> + <recent name="$PROJECT_DIR$/pyKADMOS/sleeve" /> <recent name="$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy" /> <recent name="$PROJECT_DIR$/pyKADMOS/KB_Sellar" /> <recent name="$PROJECT_DIR$/pyKADMOS" /> + <recent name="$PROJECT_DIR$/pyKADMOS/KB_CPACS" /> </key> </component> <component name="RunManager" selected="Python.CPACSdummyProblem"> @@ -784,17 +762,17 @@ </todo-panel> </component> <component name="ToolWindowManager"> - <frame x="0" y="23" width="1920" height="993" extended-state="6" /> - <editor active="false" /> + <frame x="0" y="0" width="1280" height="800" extended-state="0" /> + <editor active="true" /> <layout> - <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.17518637" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> + <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.33844912" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" /> <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32876712" sideWeight="0.49676898" order="6" side_tool="false" content_ui="tabs" /> <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4328524" sideWeight="0.4394184" order="7" side_tool="true" content_ui="tabs" /> <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" /> <window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32423756" sideWeight="0.4628433" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32876712" sideWeight="0.49676898" order="7" side_tool="false" content_ui="tabs" /> - <window_info id="Run" active="false" anchor="bottom" auto_hide="true" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4429679" sideWeight="0.56058156" order="2" side_tool="false" content_ui="tabs" /> - <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24959612" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> + <window_info id="Run" active="false" anchor="bottom" auto_hide="true" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.2650273" sideWeight="0.56058156" order="2" side_tool="false" content_ui="tabs" /> + <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24920128" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32668883" sideWeight="0.49192247" order="7" side_tool="false" content_ui="tabs" /> <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" /> <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3986711" sideWeight="0.49453124" order="3" side_tool="false" content_ui="tabs" /> @@ -803,7 +781,7 @@ <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" /> - <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32720232" sideWeight="0.47916666" order="1" side_tool="false" content_ui="tabs" /> + <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32668883" sideWeight="0.47916666" order="1" side_tool="false" content_ui="tabs" /> <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> </layout> <layout-to-restore> @@ -845,41 +823,6 @@ <watches-manager /> </component> <component name="editorHistoryManager"> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/G2-input.xml"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/G1-output.xml"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/G1-input.xml"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/F-output.xml"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/F-input.xml"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/pyKADMOS/create_math_problem.py"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="225"> @@ -908,20 +851,6 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/test_pymetis"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="240"> - <caret line="16" column="64" selection-start-line="16" selection-start-column="64" selection-end-line="16" selection-end-column="64" /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/mathProblem.py"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="475"> - <caret line="40" column="0" selection-start-line="40" selection-start-column="0" selection-end-line="40" selection-end-column="0" /> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_big_math_problem/data_schema.xsd"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="-225"> @@ -958,58 +887,51 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/CON_EM-output.xml"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="60"> - <caret line="4" column="18" selection-start-line="4" selection-start-column="18" selection-end-line="4" selection-end-column="18" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/CON_EM-input.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/CON_FD-info.json"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> - <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/CON_FD-info.json"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MISSION-info.json"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/CON_EM-info.json"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MASS-info.json"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="75"> - <caret line="5" column="33" selection-start-line="5" selection-start-column="33" selection-end-line="5" selection-end-column="33" /> + <caret line="5" column="12" selection-start-line="5" selection-start-column="12" selection-end-line="5" selection-end-column="12" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MISSION-info.json"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/OBJ-input.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MASS-info.json"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MASS-input.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="75"> - <caret line="5" column="12" selection-start-line="5" selection-start-column="12" selection-end-line="5" selection-end-column="12" /> + <caret line="5" column="13" selection-start-line="2" selection-start-column="2" selection-end-line="5" selection-end-column="13" /> + <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMISSION-info.json"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_PERF-info.json"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <state relative-caret-position="75"> + <caret line="5" column="37" selection-start-line="5" selection-start-column="37" selection-end-line="5" selection-end-column="37" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/OBJ-input.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMISSION-input.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> @@ -1017,140 +939,162 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMISSION-output.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MISSION-output.xml"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <state relative-caret-position="90"> + <caret line="6" column="14" selection-start-line="6" selection-start-column="14" selection-end-line="6" selection-end-column="14" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MASS-input.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MISSION-input.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="75"> - <caret line="5" column="13" selection-start-line="2" selection-start-column="2" selection-end-line="5" selection-end-column="13" /> + <caret line="5" column="2" selection-start-line="5" selection-start-column="2" selection-end-line="5" selection-end-column="2" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/PHALANX-info.json"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_PERF-input.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_PERF-info.json"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/sellarProblem.py"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="75"> - <caret line="5" column="37" selection-start-line="5" selection-start-column="37" selection-end-line="5" selection-end-column="37" /> + <state relative-caret-position="380"> + <caret line="34" column="0" selection-start-line="27" selection-start-column="0" selection-end-line="34" selection-end-column="0" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMWET-info.json"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/OBJ-output.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/ACAERO-info.json"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/CON_FD-output.xml"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="75"> - <caret line="5" column="37" selection-start-line="5" selection-start-column="37" selection-end-line="5" selection-end-column="37" /> + <state relative-caret-position="0"> + <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMISSION-input.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/sleeve/ACAERO-info.json"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> - <folding /> + <state relative-caret-position="60"> + <caret line="4" column="32" selection-start-line="4" selection-start-column="20" selection-end-line="4" selection-end-column="32" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MISSION-output.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/test_pymetis"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="90"> - <caret line="6" column="14" selection-start-line="6" selection-start-column="14" selection-end-line="6" selection-end-column="14" /> - <folding /> + <state relative-caret-position="180"> + <caret line="12" column="14" selection-start-line="12" selection-start-column="14" selection-end-line="12" selection-end-column="14" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MISSION-input.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/mathProblem.py"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="600"> + <caret line="40" column="0" selection-start-line="40" selection-start-column="0" selection-end-line="40" selection-end-column="0" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_LOAD-input.xml"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="0"> + <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/CON_EM-output.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="75"> - <caret line="5" column="2" selection-start-line="5" selection-start-column="2" selection-end-line="5" selection-end-column="2" /> + <caret line="5" column="13" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_PERF-output.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/CON_EM-input.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/CON_EM-info.json"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="60"> + <caret line="4" column="34" selection-start-line="4" selection-start-column="34" selection-end-line="4" selection-end-column="34" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/data_schema.xsd"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="240"> - <caret line="49" column="19" selection-start-line="49" selection-start-column="19" selection-end-line="49" selection-end-column="19" /> + <state relative-caret-position="-14"> + <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/PHALANX-input.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/sleeve/ACAERO-input.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMWET-input.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/sleeve/ACAERO-output.xml"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="150"> - <caret line="10" column="14" selection-start-line="10" selection-start-column="14" selection-end-line="10" selection-end-column="14" /> - <folding /> + <state relative-caret-position="0"> + <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_PERF-input.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMISSION-output.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_LOAD-input.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMISSION-info.json"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="15"> - <caret line="1" column="32" selection-start-line="1" selection-start-column="32" selection-end-line="1" selection-end-column="32" /> + <state relative-caret-position="60"> + <caret line="4" column="36" selection-start-line="4" selection-start-column="36" selection-end-line="4" selection-end-column="36" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_LOAD-output.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/ACAERO-info.json" /> + <entry file="file://$USER_HOME$/Library/Caches/PyCharm2016.1/python_stubs/120269359/__builtin__.py"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="15"> - <caret line="1" column="32" selection-start-line="1" selection-start-column="32" selection-end-line="1" selection-end-column="32" /> + <state relative-caret-position="50463"> + <caret line="4495" column="8" selection-start-line="4495" selection-start-column="8" selection-end-line="4495" selection-end-column="8" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_LOAD-info.json"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_LOAD-output.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MASS-output.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_PERF-output.xml"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="60"> - <caret line="4" column="22" selection-start-line="4" selection-start-column="22" selection-end-line="4" selection-end-column="22" /> - <folding /> + <state relative-caret-position="0"> + <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/ACAERO-input.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/MASS-output.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> @@ -1158,41 +1102,60 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/ACAERO-output.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMWET-info.json"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="75"> + <caret line="5" column="35" selection-start-line="5" selection-start-column="35" selection-end-line="5" selection-end-column="35" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/ACAERO-input.xml" /> + <entry file="file://$PROJECT_DIR$/pyKADMOS/sleeve/data_schema.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/PHALANX-output.xml"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="75"> + <caret line="5" column="13" selection-start-line="5" selection-start-column="13" selection-end-line="5" selection-end-column="13" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMWET-output.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/Q3D_LOAD-info.json"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/PHALANX-input.xml"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="210"> + <caret line="14" column="12" selection-start-line="14" selection-start-column="12" selection-end-line="14" selection-end-column="12" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/sellarProblem.py"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/PHALANX-info.json"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="380"> - <caret line="34" column="0" selection-start-line="27" selection-start-column="0" selection-end-line="34" selection-end-column="0" /> - <folding> - <element signature="e#0#13#0" expanded="true" /> - </folding> + <state relative-caret-position="75"> + <caret line="5" column="33" selection-start-line="5" selection-start-column="33" selection-end-line="5" selection-end-column="33" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/OBJ-output.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/ACAERO-output.xml"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <state relative-caret-position="105"> + <caret line="7" column="14" selection-start-line="7" selection-start-column="14" selection-end-line="7" selection-end-column="14" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/PHALANX-output.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMWET-output.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="0"> <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> @@ -1200,30 +1163,30 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/CON_FD-output.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS_dummy/EMWET-input.xml"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="0"> - <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" /> + <state relative-caret-position="150"> + <caret line="10" column="14" selection-start-line="10" selection-start-column="14" selection-end-line="10" selection-end-column="14" /> <folding /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/CPACSdummyProblem.py"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/MDOproblem.py"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="770"> - <caret line="115" column="34" selection-start-line="115" selection-start-column="34" selection-end-line="115" selection-end-column="34" /> + <state relative-caret-position="5625"> + <caret line="375" column="28" selection-start-line="375" selection-start-column="23" selection-end-line="375" selection-end-column="28" /> <folding> - <element signature="e#0#13#0" expanded="true" /> + <element signature="e#0#11#0" expanded="true" /> </folding> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/MDOproblem.py"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/CPACSdummyProblem.py"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="440"> - <caret line="55" column="8" selection-start-line="55" selection-start-column="8" selection-end-line="55" selection-end-column="8" /> + <state relative-caret-position="750"> + <caret line="59" column="7" selection-start-line="59" selection-start-column="7" selection-end-line="59" selection-end-column="7" /> <folding> - <element signature="e#0#9#0" expanded="true" /> + <element signature="e#0#13#0" expanded="true" /> </folding> </state> </provider> diff --git a/pyKADMOS/CPACSdummyProblem.py b/pyKADMOS/CPACSdummyProblem.py index fca79a0ca8d3aa29fcb8ae3a936e660fd3f82dd6..beee6c6cfa5b24bd4f63ac5817bb9b81c69a459f 100644 --- a/pyKADMOS/CPACSdummyProblem.py +++ b/pyKADMOS/CPACSdummyProblem.py @@ -8,21 +8,21 @@ import matplotlib.pyplot as plt # Settings fig_size_laptop = (13,6) -fig_size_screen = (18,11) +fig_size_screen = (12,11) fig_size = fig_size_screen # Show knowledge base # # dummy CPACS schema -# # TODO open schema tree -# # info json file -# # input xml -# # output xml +# # TODO: open schema tree +# # TODO: info json file PHALANX +# # TODO: input xml PHALANX +# # TODO output xml PHALANX # Load KB as MDO problem exampleProblem = MDOproblem('KB_CPACS_dummy') # Print function data -function_data = exampleProblem.analyze_function_xmls() +function_data = exampleProblem.analyze_function_files() pp = pprint.PrettyPrinter(indent=4) print '' print '-----------------' @@ -32,14 +32,16 @@ pp.pprint(function_data) # Graph of one function function_graph_tool = exampleProblem.get_function_graph('PHALANX') -exampleProblem.plot_graph(function_graph_tool, 1, fig_size=fig_size, color_setting='default') -# exampleProblem.plot_graph(function_graph_tool, 2, fig_size=fig_size, color_setting='types') +exampleProblem.plot_graph(function_graph_tool, 1, fig_size=fig_size, color_setting='categories') +exampleProblem.plot_graph(function_graph_tool, 2, fig_size=fig_size, color_setting='default') # Graph of two functions function_graph_tool2 = exampleProblem.get_function_graph('MASS') combination_graph = nx.compose(function_graph_tool,function_graph_tool2) -exampleProblem.plot_graph(combination_graph, 3, fig_size=fig_size, color_setting='default') -# exampleProblem.plot_graph(combination_graph, 4, fig_size=fig_size, color_setting='types') +exampleProblem.plot_graph(combination_graph, 3, fig_size=fig_size, color_setting='categories') +exampleProblem.plot_graph(combination_graph, 4, fig_size=fig_size, color_setting='default') + +# # TODO: Remove max_load_fac from MASS tool # # Node grouping for categorization groups = exampleProblem.get_grouped_graph_nodes(combination_graph) @@ -50,20 +52,22 @@ print '-----------------' pp.pprint(groups) # # Node contracting according to data schema -contracted_graph = exampleProblem.get_contracted_graph(combination_graph, 1) +contraction_level = 1 +contracted_graph = exampleProblem.get_contracted_graph(combination_graph, contraction_level) exampleProblem.plot_graph(contracted_graph, 5, fig_size=fig_size, color_setting='default') # TODO: Adjust level to 0! # # MCG -# On to the graph of the complete knowledge base: MCG +# # On to the graph of the complete knowledge base: MCG MCG = exampleProblem.get_MCG() -exampleProblem.plot_graph(MCG, 6, color_setting='types', fig_size=fig_size) -exampleProblem.plot_graph(exampleProblem.get_contracted_graph(MCG, 1), 7, color_setting='default', fig_size=fig_size) +comparison_level = 0 +exampleProblem.plot_graph(exampleProblem.get_contracted_graph(MCG, comparison_level), 6, color_setting='default', + fig_size=fig_size) +exampleProblem.plot_graph(MCG, 7, color_setting='categories', fig_size=fig_size) -# TODO: inspect knowledge base and expected inputs / outputs -# TODO: add ACAERO tool +# TODO: change contraction level -# Visualization with adjacency matrix +# # Visualization with adjacency matrix print '' print '-----------------' print 'ADJACENCY MATRIX ' @@ -72,6 +76,9 @@ adj_matrix = exampleProblem.get_adjacency_matrix(MCG) pp.pprint(adj_matrix['dict of dicts']) exampleProblem.draw_adjacency_matrix(MCG, fig_num=8, fig_size=fig_size) +# # TODO: inspect knowledge base and expected inputs / outputs +# # TODO: add ACAERO tool + # Node grouping for categorization MCG_groups = exampleProblem.get_grouped_graph_nodes(MCG) print '' @@ -81,40 +88,56 @@ print '-----------------' pp.pprint(MCG_groups) -# # FPG -# Now let's try to create the fundamental problem -# First let's assume I only want to have the mass of the wing -node_m_wing = '/data_schema/analyses/m_wing' - -FPG = exampleProblem.get_FPG_based_on_sink(node_m_wing) -exampleProblem.plot_graph(FPG, 9, color_setting='sinks', fig_size=fig_size) - -# Or let's use a group of sinks as objective and constraints -sinks = ['/data_schema/MDO_data/obj', - '/data_schema/MDO_data/con_FD_OEI', - '/data_schema/MDO_data/con_FD_MLF'] -FPG2 = exampleProblem.get_FPG_based_on_sinks(sinks) -exampleProblem.plot_graph(FPG2, 10, color_setting='sinks', fig_size=fig_size) - -# Visualization with adjacency matrix -print '' -print '-----------------' -print 'ADJACENCY MATRIX ' -print '-----------------' -adj_matrix = exampleProblem.get_adjacency_matrix(FPG2) -pp.pprint(adj_matrix['dict of dicts']) -exampleProblem.draw_adjacency_matrix(FPG2, fig_num=11, fig_size=fig_size) - -# Analysis of graph -print '' -print '-----------------' -print ' CYCLES ' -print '-----------------' -cycles = list(nx.simple_cycles(FPG2)) -pp.pprint(cycles) - -# Graph partitioning based on info - +# # # FPG +# # # Now let's try to create the fundamental problem +# # # First let's assume I only want to have the mass of the wing +# node_m_wing = '/data_schema/analyses/C_L_w' +# +# FPG = exampleProblem.get_FPG_based_on_sink(node_m_wing) +# exampleProblem.plot_graph(exampleProblem.get_contracted_graph(FPG, comparison_level), 9, +# color_setting='sinks' if comparison_level==2 else 'categories', fig_size=fig_size) + +# # # Or let's use a group of sinks as objective and constraints +# sinks = ['/data_schema/MDO_data/obj', +# '/data_schema/MDO_data/con_FD_OEI', +# '/data_schema/MDO_data/con_FD_MLF'] +# FPG2 = exampleProblem.get_FPG_based_on_sinks(sinks) +# exampleProblem.plot_graph(FPG2, 10, color_setting='sinks', fig_size=fig_size) + +# # Visualization with adjacency matrix +# print '' +# print '-----------------' +# print 'ADJACENCY MATRIX ' +# print '-----------------' +# adj_matrix = exampleProblem.get_adjacency_matrix(FPG2) +# pp.pprint(adj_matrix['dict of dicts']) +# exampleProblem.draw_adjacency_matrix(FPG2, fig_num=11, fig_size=fig_size) +# +# # Analysis of graph +# print '' +# print '-----------------' +# print ' CYCLES ' +# print '-----------------' +# cycles = list(nx.simple_cycles(FPG2)) +# pp.pprint(cycles) +# +# # # Graph partitioning based on info +# # TODO show slide on partitioning +# FPG2_part = exampleProblem.get_partitioned_graph(FPG2, n_parts=3, contig=True, output='DiGraph') +# +# print '' +# print '-----------------' +# print ' PARTITION ' +# print '-----------------' +# for node,data in FPG2_part.nodes_iter(data=True): +# if data['category'] == 'function': +# print data['label'] +# print 'execution time (s): ' + str(data['execution_time']/1000) +# print '' +# +# FPG2_part.graph['node_weight_attr'] = 'execution_time' +# +# exampleProblem.plot_graph(FPG2_part, 12, color_setting='partitions', fig_size=fig_size) # Don't close the plots! plt.show() \ No newline at end of file diff --git a/pyKADMOS/KB_CPACS_dummy/EMWET-output.xml b/pyKADMOS/KB_CPACS_dummy/EMWET-output.xml index 6c5f285a8a766558d7c4034e1987df02a2b1c0bf..ef67489dc4f3613070583c76bd76c5f9b4ef8d18 100644 --- a/pyKADMOS/KB_CPACS_dummy/EMWET-output.xml +++ b/pyKADMOS/KB_CPACS_dummy/EMWET-output.xml @@ -2,5 +2,6 @@ <data_schema tool_name="EMWET" in_or_output="output"> <analyses> <m_wing>42.0</m_wing> + <max_load_fac>42.0</max_load_fac> </analyses> </data_schema> \ No newline at end of file diff --git a/pyKADMOS/KB_CPACS_dummy/MASS-output.xml b/pyKADMOS/KB_CPACS_dummy/MASS-output.xml index ad9395b7985db2458b58ddd516082f5469967dee..249c5a72e5bf2b761f0fea71a3d052531a3652be 100644 --- a/pyKADMOS/KB_CPACS_dummy/MASS-output.xml +++ b/pyKADMOS/KB_CPACS_dummy/MASS-output.xml @@ -3,5 +3,6 @@ <analyses> <m_MTOW>42.0</m_MTOW> <max_load_fac>42.0</max_load_fac> + <inertia_MTOW>42.0</inertia_MTOW> </analyses> </data_schema> \ No newline at end of file diff --git a/pyKADMOS/MDOproblem.py b/pyKADMOS/MDOproblem.py index eca92f84d846d050e0c75e62c7c36280ca3b6f0e..5d0f798d4f427280fa98d0f12ca7171281b8c4b2 100644 --- a/pyKADMOS/MDOproblem.py +++ b/pyKADMOS/MDOproblem.py @@ -1,3 +1,4 @@ +import json import os import pprint from os.path import join, isfile @@ -53,17 +54,21 @@ class MDOproblem: else: print "XML Schema '%s' found." % self.data_schema - # Read input and output XML files - self.function_i_o_xmls = dict(input=[], output=[]) + # Read input and output XML files and info json files + self.function_i_o_xmls = dict(input=[], output=[], info=[]) self.function_i_o_xmls['input'] = [file for file in KB_files if file[-10:] == '-input.xml'] self.function_i_o_xmls['output'] = [file for file in KB_files if file[-11:] == '-output.xml'] + self.function_i_o_xmls['info'] = [file for file in KB_files if file[-10:] == '-info.json'] print "Input files found: %s" % self.function_i_o_xmls['input'] print "Output files found: %s" % self.function_i_o_xmls['output'] + print "Info files found: %s" % self.function_i_o_xmls['info'] if len(self.function_i_o_xmls['input']) != len(self.function_i_o_xmls['output']): raise IOError('Amount of function input and output XML files does not match.') + elif len(self.function_i_o_xmls['input']) != len(self.function_i_o_xmls['info']): + raise IOError('Amount of function input XML files and info json files does not match.') else: - print 'Amount of function input and output files accepted.' + print 'Amount of function input, output, and info files accepted.' # Check the XML files against the self.check_against_xsd() @@ -113,13 +118,13 @@ class MDOproblem: break return function_names - def analyze_function_xmls(self): + def analyze_function_files(self): """ - Function that analyzes all tool XML input and output files and returns all the xpaths in the xml file plus a + Function that analyzes all tool files (input, output, info) and returns all the xpaths in the xml file plus a dictionary with the nodes that have a value. :return function_data: dictionary with all function data: 'input', 'output', 'unique_xpaths', 'sorted_xpaths' """ - function_data = {'input': [], 'output': [], 'unique_xpaths': [], 'sorted_xpaths': {}} + function_data = {'input': [], 'output': [], 'info': [], 'unique_xpaths': [], 'sorted_xpaths': {}} all_xpaths = [] for xml_file in self.function_i_o_xmls['input']: xml_file_analysis = self.analyze_function_xml(xml_file) @@ -133,6 +138,10 @@ class MDOproblem: for item in xml_file_analysis['all_xpaths']: all_xpaths.append(item['xpath']) + for json_file in self.function_i_o_xmls['info']: + with open(self.knowledge_base + '/' + json_file) as data_file: + function_data['info'].append(json.load(data_file)) + unique_xpaths = list(set(all_xpaths)) function_data['unique_xpaths'] = unique_xpaths @@ -182,7 +191,7 @@ class MDOproblem: Function to find the common nodes between tool inputs and outputs. :return lst: """ - function_data = self.analyze_function_xmls() + function_data = self.analyze_function_files() function_data_lst = [] common_nodes = [] idx = 1 @@ -235,6 +244,7 @@ class MDOproblem: """ xml_file_input = function_name + '-input.xml' xml_file_output = function_name + '-output.xml' + json_file_info = function_name + '-info.json' function_input_analysis = self.analyze_function_xml(xml_file_input) function_output_analysis = self.analyze_function_xml(xml_file_output) @@ -251,14 +261,17 @@ class MDOproblem: for node, data in G.nodes_iter(data=True): if node == function_input_analysis['properties'][0]['attributes']['tool_name']: G.node[node]['shape'] = 's' # square for functions - G.node[node]['type'] = 'function' + G.node[node]['category'] = 'function' G.node[node]['label'] = function_input_analysis['properties'][0]['attributes']['tool_name'] G.node[node]['level'] = None + with open(self.knowledge_base + '/' + json_file_info) as data_file: + G.node[node]['execution_time'] = int(1000*json.load(data_file)['executing_info']['run time (s)']) else: G.node[node]['shape'] = 'o' # circle for variables - G.node[node]['type'] = 'variable' + G.node[node]['category'] = 'variable' G.node[node]['label'] = node.split('/')[-1] G.node[node]['level'] = node.count('/') - 1 + G.node[node]['execution_time'] = 1 return G def get_function_graphs(self): @@ -330,7 +343,7 @@ class MDOproblem: ext_MCG.add_node(common_node['xpath'], label=common_node['tag'], shape='o', - type='variable', + category='variable', level=common_node['xpath'].count('/') - 1) ext_MCG.add_edge(common_node['xpath'], common_node['functions'][key]['tool_name'] + ':' + common_node['xpath']) @@ -344,7 +357,7 @@ class MDOproblem: :return contracted_graph: """ # Input checks - function_data = self.analyze_function_xmls() + function_data = self.analyze_function_files() max_con = len(function_data['sorted_xpaths']) - 1 # maximum contraction level value assert (contraction_level <= max_con), \ "Contraction level {} is higher than maximum allowed value of {} for the given XML Schema." \ @@ -358,7 +371,7 @@ class MDOproblem: contracted_graph = nx.compose(nx.DiGraph(), graph) for node, data in contracted_graph.nodes_iter(data=True): - if data['type'] == 'function': + if data['category'] == 'function': pass elif data['level'] <= contraction_level: pass @@ -375,7 +388,7 @@ class MDOproblem: if not contracted_graph.has_node(required_node): contracted_graph.add_node(required_node, shape='d', - type='variable group', + category='variable group', label=split_xpath[contraction_level], level=contraction_level) @@ -388,7 +401,7 @@ class MDOproblem: def add_graph_nodes_properties(self, graph): """ Function to analyze and sort the graph nodes according to different variable descriptions. - TYPE OF NODE NODE/VARIABLE TYPE INDEGREE OUTDEGREE + CATEGORY OF NODE NODE/VARIABLE CATEGORY INDEGREE OUTDEGREE variable hole 0 0 supplied input 0 1 supplied shared input 0 >1 @@ -416,64 +429,64 @@ class MDOproblem: for node, data in graph.nodes_iter(data=True): id = data['indegree'] = nid_dict[node] od = data['outdegree'] = nod_dict[node] - if data['type'] == 'variable': + if data['category'] == 'variable': if id == 0 and od == 0: - data['variable type'] = 'hole' + data['variable category'] = 'hole' elif id == 0 and od == 1: - data['variable type'] = 'supplied input' + data['variable category'] = 'supplied input' elif id == 0 and od > 1: - data['variable type'] = 'supplied shared input' + data['variable category'] = 'supplied shared input' elif id == 1 and od == 0: - data['variable type'] = 'output' + data['variable category'] = 'output' elif id > 1 and od == 0: - data['variable type'] = 'collision' + data['variable category'] = 'collision' elif id == 1 and od == 1: - data['variable type'] = 'coupling' + data['variable category'] = 'coupling' elif id == 1 and od > 1: - data['variable type'] = 'shared coupling' + data['variable category'] = 'shared coupling' elif id > 1 and od == 1: - data['variable type'] = 'collided coupling' + data['variable category'] = 'collided coupling' elif id > 1 and od > 1: - data['variable type'] = 'collided shared coupling' + data['variable category'] = 'collided shared coupling' else: raise NotImplementedError( - 'Variable type could not be determined based on combination of indegree {} and outdegree {}.'. \ + 'Variable category could not be determined based on combination of indegree {} and outdegree {}.'. \ format(id, od)) - if data['type'] == 'variable group': + if data['category'] == 'variable group': if id == 0 and od == 0: - data['variable group type'] = 'hole group' + data['variable group category'] = 'hole group' elif id == 0 and od == 1: - data['variable group type'] = 'supplied input group' + data['variable group category'] = 'supplied input group' elif id == 0 and od > 1: - data['variable group type'] = 'supplied shared input group' + data['variable group category'] = 'supplied shared input group' elif id > 0 and od == 0: - data['variable group type'] = 'output group' + data['variable group category'] = 'output group' elif id > 0 and od == 1: - data['variable group type'] = 'coupling group' + data['variable group category'] = 'coupling group' elif id > 0 and od > 1: - data['variable group type'] = 'shared coupling group' + data['variable group category'] = 'shared coupling group' else: raise NotImplementedError( - 'Groupv ariable type could not be determined based on combination of indegree {} and outdegree {}.'. \ + 'Group variable category could not be determined based on combination of indegree {} and outdegree {}.'. \ format(id, od)) - if data['type'] == 'function': + if data['category'] == 'function': if id == 0 and od == 0: - data['function type'] = 'hole' + data['function category'] = 'hole' elif id == 0 and od > 0: - data['function type'] = 'inputless' + data['function category'] = 'inputless' elif id > 0 and od == 0: - data['function type'] = 'outputless' + data['function category'] = 'outputless' elif id > 0 and od > 0: - data['function type'] = 'complete' + data['function category'] = 'complete' else: raise NotImplementedError( - 'Function type could not be determined based on combination of indegree {} and outdegree {}.'. \ + 'Function category could not be determined based on combination of indegree {} and outdegree {}.'. \ format(id, od)) return graph def get_grouped_graph_nodes(self, graph): """ - Function that returns a dictionary with graph nodes grouped according to type. + Function that returns a dictionary with graph nodes grouped according to category. :param graph: input graph :return result: dictionary with analysis results """ @@ -501,12 +514,12 @@ class MDOproblem: for node, data in graph.nodes_iter(data=True): for key1 in result: - if data['type'] == key1[:-1]: + if data['category'] == key1[:-1]: for key2 in result[key1]: - if data[key1[:-1] + ' type'] == key2[:-1]: + if data[key1[:-1] + ' category'] == key2[:-1]: result[key1][key2].append(node) else: - NotImplementedError('Unsupported node type found.') + NotImplementedError('Unsupported node category found.') return result def get_FPG_based_on_sink(self, sink): @@ -542,7 +555,7 @@ class MDOproblem: A list of distinguisable colors. :return: lst """ - return ["#000000", "#FFFF00", "#1CE6FF", "#FF34FF", "#FF4A46", "#008941", "#006FA6", "#A30059", "#FFDBE5", + return ["#006FA6", "#FFFF00", "#1CE6FF", "#FF34FF", "#FF4A46", "#008941", "#FFDBE5", "#A30059", "#000000", "#7A4900", "#0000A6", "#63FFAC", "#B79762", "#004D43", "#8FB0FF", "#997D87", "#5A0007", "#809693", "#FEFFE6", "#1B4400", "#4FC601", "#3B5DFF", "#4A3B53", "#FF2F80", "#61615A", "#BA0900", "#6B7900", "#00C2A0", "#FFAA92", "#FF90C9", "#B903AA", "#D16100", "#DDEFFF", "#000035", "#7B4F4B", "#A1C299", @@ -614,7 +627,7 @@ class MDOproblem: def get_adjacency_matrix(graph): """Function to determine the adjacency matrix of a graph. :param graph: input graph - :return matrix dict: different types of same adjacency matrix in dictionary + :return matrix dict: different categorys of same adjacency matrix in dictionary """ return {'dict of dicts': nx.convert.to_dict_of_dicts(graph, edge_data=1), 'SciPy sparse matrix': nx.adjacency_matrix(graph)} @@ -646,7 +659,7 @@ class MDOproblem: :param G: :param fig_num: figure number :param fig_size: size of figure window - :param color_setting: choose from 'default', 'sinks', 'types' + :param color_setting: choose from 'default', 'sinks', 'categories' :param save_as: save plot as figure file :return plot: window with plot """ @@ -690,6 +703,8 @@ class MDOproblem: elif color_setting == 'sinks': # Get sink list from graph sink_list = G.graph['sinks'] + if type(sink_list) is not list: + sink_list = [sink_list] # Specify node colors nodeColors = {'non-sink': '#DCDCDC', @@ -704,7 +719,11 @@ class MDOproblem: filter(lambda x: x[1]["shape"] == aShape, G.nodes(data=True))] node_color = [] for entry in nodelist: - if entry in sink_list: + sink_found = False + for sl_entry in sink_list: + if sl_entry == entry: + sink_found = True + if sink_found: node_color.append(nodeColors['sink']) else: node_color.append(nodeColors['non-sink']) @@ -716,7 +735,7 @@ class MDOproblem: nodelist=nodelist, node_color=node_color, node_size=nodeSizes[aShape]) - elif color_setting == 'types': + elif color_setting == 'categories': # Group graph nodes G = self.add_graph_nodes_properties(G) grouped_nodes = self.get_grouped_graph_nodes(G) @@ -805,8 +824,8 @@ class MDOproblem: raise IOError("Invalid color_setting ({}) specified.".format(color_setting)) ax = f.add_subplot(1, 1, 1) - for type in nodeColors: - ax.plot([0], [0], color=nodeColors[type], label=legendNames[type]) + for category in nodeColors: + ax.plot([0], [0], color=nodeColors[category], label=legendNames[category]) nx.draw_networkx_edges(G, pos, arrows=True, ax=ax) nx.draw_networkx_labels(G, pos, node_labels) diff --git a/pyKADMOS/MDOproblem.pyc b/pyKADMOS/MDOproblem.pyc index 9272972458d631071bda52379d90ea2bedb8ca04..cbb436c0466da47bb5b0455cb3a4aca94f76147f 100644 Binary files a/pyKADMOS/MDOproblem.pyc and b/pyKADMOS/MDOproblem.pyc differ diff --git a/pyKADMOS/old/demo.py b/pyKADMOS/old/demo.py index 11835d5178baa342e875fb7ec9a9490bce9db633..58e15dbd45d91a8bd39bfbd7ae5ac647ad4d1e2c 100644 --- a/pyKADMOS/old/demo.py +++ b/pyKADMOS/old/demo.py @@ -7,7 +7,7 @@ import networkx as nx import matplotlib.pyplot as plt -def analyze_function_xmls(xsd_file, xml_file): #TODO: rename to analyze_function_xmls +def analyze_function_xmls(xsd_file, xml_file): #TODO: rename to analyze_function_files """ Function that analyzes a tool XML input or output file against an XSD and returns all the xpaths in the xml file and a dictionary with the nodes that have a value. diff --git a/pyKADMOS/sellarProblem.py b/pyKADMOS/sellarProblem.py index a0c60afcfb2d7c0072224d60055b6b2ffef68708..94a27eafaccf8865332787f41555da6024c452dd 100644 --- a/pyKADMOS/sellarProblem.py +++ b/pyKADMOS/sellarProblem.py @@ -8,7 +8,7 @@ import matplotlib.pyplot as plt sellarProblem = MDOproblem('KB_Sellar') -function_data = sellarProblem.analyze_function_xmls() +function_data = sellarProblem.analyze_function_files() common_nodes = sellarProblem.get_common_nodes() function_graph_D1 = sellarProblem.get_function_graph('D1') function_graph_D2 = sellarProblem.get_function_graph('D2') diff --git a/pyKADMOS/sleeve/ACAERO-info.json b/pyKADMOS/sleeve/ACAERO-info.json new file mode 100644 index 0000000000000000000000000000000000000000..ab751566fdc30b203fee96f4da8b6ab581c18b46 --- /dev/null +++ b/pyKADMOS/sleeve/ACAERO-info.json @@ -0,0 +1,6 @@ +{"general_info":{"name":"Aircraft aerodynamic performance", + "version":1.0, + "creator":"Mengmeng Zhang", + "fidelity level":"L1"}, + "executing_info":{"run time (s)":20, + "precision":0.05}} \ No newline at end of file diff --git a/pyKADMOS/sleeve/ACAERO-input.xml b/pyKADMOS/sleeve/ACAERO-input.xml new file mode 100644 index 0000000000000000000000000000000000000000..8019b9ee88eae0b0eadd381914bd90c6c2da0901 --- /dev/null +++ b/pyKADMOS/sleeve/ACAERO-input.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<data_schema tool_name="ACAERO" in_or_output="input"> + <aircraft> + <wing_AR>42.0</wing_AR> + <wing_MAC>42.0</wing_MAC> + <wing_span>42.0</wing_span> + <fus_l>42.0</fus_l> + <fus_d>42.0</fus_d> + </aircraft> + <analyses> + <C_L_w>42.0</C_L_w> + <C_D_w>42.0</C_D_w> + </analyses> +</data_schema> \ No newline at end of file diff --git a/pyKADMOS/sleeve/ACAERO-output.xml b/pyKADMOS/sleeve/ACAERO-output.xml new file mode 100644 index 0000000000000000000000000000000000000000..f235bcb2d60f82d466507db2bd978b6e389ed775 --- /dev/null +++ b/pyKADMOS/sleeve/ACAERO-output.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<data_schema tool_name="ACAERO" in_or_output="input"> + <analyses> + <C_L>42.0</C_L> + <C_D>42.0</C_D> + <cntrl_der>42.0</cntrl_der> + </analyses> +</data_schema> \ No newline at end of file diff --git a/pyKADMOS/sleeve/data_schema.xml b/pyKADMOS/sleeve/data_schema.xml new file mode 100644 index 0000000000000000000000000000000000000000..71536af4ae488a53b695c69f9c93d323e51c199a --- /dev/null +++ b/pyKADMOS/sleeve/data_schema.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<data_schema tool_name="XML DATA SCHEMA" in_or_output="input"> + <aircraft> + <wing_AR>42.0</wing_AR> + <wing_span>42.0</wing_span> + <wing_MAC>42.0</wing_MAC> + <fus_l>42.0</fus_l> + <fus_d>42.0</fus_d> + <range>42.0</range> + </aircraft> + <analyses> + <eng_T>42.0</eng_T> + <cntrl_der>42.0</cntrl_der> + <flight_data>42.0</flight_data> + <m_MTOW>42.0</m_MTOW> + <m_wing>42.0</m_wing> + <inertia_MTOW>42.0</inertia_MTOW> + <max_load_fac>42.0</max_load_fac> + <char_OEI>42.0</char_OEI> + <em_NOX>42.0</em_NOX> + <em_CO2>42.0</em_CO2> + <m_fuel>42.0</m_fuel> + <C_L>42.0</C_L> + <C_D>42.0</C_D> + <C_L_w>42.0</C_L_w> + <C_D_w>42.0</C_D_w> + <aero_loads>42.0</aero_loads> + </analyses> + <MDO_data> + <obj>42.0</obj> + <con_FD_OEI>42.0</con_FD_OEI> + <con_FD_MLF>42.0</con_FD_MLF> + <con_EM_NOX>42.0</con_EM_NOX> + <con_EM_CO2>42.0</con_EM_CO2> + </MDO_data> +</data_schema> \ No newline at end of file