diff --git a/.idea/workspace.xml b/.idea/workspace.xml index de39800a712805df5f4c6c72e7d29458545f0137..cf7cee93e793ad22619d73f0e2de40711cf322b0 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,11 +2,24 @@ <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/MDOproblem.py" /> - <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/pyKADMOS/old/demo.py" /> - <change type="DELETED" beforePath="$PROJECT_DIR$/pyKADMOS/Demo.py" afterPath="" /> + <change type="DELETED" beforePath="$PROJECT_DIR$/pyKADMOS/graphml_test.graphml" afterPath="" /> + <change type="DELETED" beforePath="$PROJECT_DIR$/pyKADMOS/test.graphml" afterPath="" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/AGILE_DC1_L0_MDA.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS/AGILE_DC1_L0_MDA.xml" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/D1-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/D1-input.xml" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/D1-output.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/D1-output.xml" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/D150_fake.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS/D150_fake.xml" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/D2-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/D2-input.xml" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/D2-output.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/D2-output.xml" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/F-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/F-input.xml" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/F-output.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/F-output.xml" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/G1-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/G1-input.xml" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/G1-output.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/G1-output.xml" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/G2-input.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/G2-input.xml" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/G2-output.xml" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/G2-output.xml" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/cpacs_schema.xsd" afterPath="$PROJECT_DIR$/pyKADMOS/KB_CPACS/cpacs_schema.xsd" /> + <change type="MOVED" beforePath="$PROJECT_DIR$/pyKADMOS/data_schema.xsd" afterPath="$PROJECT_DIR$/pyKADMOS/KB_Sellar/data_schema.xsd" /> <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> - <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/D2-output.xml" afterPath="$PROJECT_DIR$/pyKADMOS/D2-output.xml" /> + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/pyKADMOS/MDOproblem.py" afterPath="$PROJECT_DIR$/pyKADMOS/MDOproblem.py" /> </list> <ignored path="KADMOS.iws" /> <ignored path=".idea/workspace.xml" /> @@ -22,7 +35,7 @@ <component name="CoverageDataManager"> <SUITE FILE_PATH="coverage/KADMOS$testPyGraphML.coverage" NAME="testPyGraphML Coverage Results" MODIFIED="1461094575316" 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.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="1461863042964" 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="1462287331196" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/pyKADMOS" /> </component> <component name="CreatePatchCommitExecutor"> <option name="PATCH_PATH" value="" /> @@ -32,7 +45,20 @@ <favorites_list name="KADMOS" /> </component> <component name="FileEditorManager"> - <leaf SIDE_TABS_SIZE_LIMIT_KEY="300" /> + <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> + <file leaf-file-name="MDOproblem.py" pinned="false" current-in-tab="true"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/MDOproblem.py"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="422"> + <caret line="630" column="51" selection-start-line="630" selection-start-column="51" selection-end-line="630" selection-end-column="51" /> + <folding> + <element signature="e#0#9#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + </file> + </leaf> </component> <component name="FileTemplateManagerImpl"> <option name="RECENT_TEMPLATES"> @@ -66,6 +92,7 @@ <option value="$PROJECT_DIR$/pyKADMOS/D2-input.xml" /> <option value="$PROJECT_DIR$/pyKADMOS/D2-output.xml" /> <option value="$PROJECT_DIR$/pyKADMOS/demo_OO.py" /> + <option value="$PROJECT_DIR$/pyKADMOS/utilities.py" /> <option value="$PROJECT_DIR$/pyKADMOS/MDOproblem.py" /> </list> </option> @@ -77,8 +104,9 @@ <sorting>DEFINITION_ORDER</sorting> </component> <component name="ProjectFrameBounds"> - <option name="width" value="1280" /> - <option name="height" value="800" /> + <option name="y" value="23" /> + <option name="width" value="1920" /> + <option name="height" value="993" /> </component> <component name="ProjectLevelVcsManager" settingsEditedManually="false"> <OptionsSetting value="true" id="Add" /> @@ -105,53 +133,6 @@ <foldersAlwaysOnTop value="true" /> </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="old"> - <option name="myItemId" value="" /> - <option name="myItemType" value="" /> - </PATH_ELEMENT> - </PATH> - </subPane> - </pane> <pane id="ProjectPane"> <subPane> <PATH> @@ -292,6 +273,53 @@ </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_Sellar"> + <option name="myItemId" value="" /> + <option name="myItemType" value="" /> + </PATH_ELEMENT> + </PATH> + </subPane> + </pane> + <pane id="Scratches" /> </panes> </component> <component name="PropertiesComponent"> @@ -299,16 +327,19 @@ <property name="WebServerToolWindowFactoryState" value="false" /> <property name="settings.editor.selected.configurable" value="reference.settingsdialog.IDE.editor.postfix.templates" /> <property name="settings.editor.splitter.proportion" value="0.2" /> - <property name="FullScreen" value="true" /> <property name="ToolWindowRun.ShowToolbar" value="false" /> </component> <component name="RecentsManager"> - <key name="MoveFile.RECENT_KEYS"> - <recent name="$PROJECT_DIR$/pyKADMOS/old" /> - </key> <key name="CopyFile.RECENT_KEYS"> + <recent name="$PROJECT_DIR$/pyKADMOS/KB_Sellar" /> <recent name="$PROJECT_DIR$/pyKADMOS" /> </key> + <key name="MoveFile.RECENT_KEYS"> + <recent name="$PROJECT_DIR$/pyKADMOS/KB_Sellar" /> + <recent name="$PROJECT_DIR$/pyKADMOS" /> + <recent name="$PROJECT_DIR$/pyKADMOS/KB_CPACS" /> + <recent name="$PROJECT_DIR$/pyKADMOS/old" /> + </key> </component> <component name="RunManager" selected="Python.demo_OO"> <configuration default="false" name="testPyGraphML" type="PythonConfigurationType" factoryName="Python" temporary="true"> @@ -603,16 +634,16 @@ <servers /> </component> <component name="ToolWindowManager"> - <frame x="0" y="0" width="1280" height="800" extended-state="0" /> - <editor active="false" /> + <frame x="0" y="23" width="1920" height="993" extended-state="6" /> + <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.228125" 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.17552084" 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.33" sideWeight="0.5" 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="true" show_stripe_button="true" weight="0.34661356" sideWeight="0.453125" order="7" side_tool="true" content_ui="tabs" /> + <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.26948053" sideWeight="0.46458334" 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.32623428" sideWeight="0.47083333" order="7" 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.32575756" sideWeight="0.46875" 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.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> - <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.34661356" sideWeight="0.546875" order="2" side_tool="false" content_ui="tabs" /> + <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.26948053" sideWeight="0.53541666" 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.25" 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.32913843" sideWeight="0.49479166" 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" /> @@ -644,21 +675,51 @@ <watches-manager /> </component> <component name="editorHistoryManager"> - <entry file="file://$PROJECT_DIR$/pyKADMOS/__init__.py"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/MDOproblem.py"> <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> + <element signature="e#0#9#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/data_schema.xsd"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="705"> + <caret line="47" column="23" selection-start-line="47" selection-start-column="23" selection-end-line="47" selection-end-column="23" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/D1-input.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> </provider> </entry> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/D1-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/__init__.py"> + <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/old/demo.py"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="4050"> <caret line="274" column="91" selection-start-line="274" selection-start-column="2" selection-end-line="274" selection-end-column="91" /> - <folding> - <element signature="e#66#79#0" expanded="true" /> - </folding> </state> </provider> </entry> @@ -667,7 +728,7 @@ <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> - <element signature="e#0#13#0" expanded="true" /> + <element signature="e#0#9#0" expanded="true" /> </folding> </state> </provider> @@ -676,7 +737,6 @@ <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> @@ -684,9 +744,6 @@ <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="4050"> <caret line="274" column="91" selection-start-line="274" selection-start-column="2" selection-end-line="274" selection-end-column="91" /> - <folding> - <element signature="e#66#79#0" expanded="true" /> - </folding> </state> </provider> </entry> @@ -695,7 +752,7 @@ <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> - <element signature="e#0#13#0" expanded="true" /> + <element signature="e#0#9#0" expanded="true" /> </folding> </state> </provider> @@ -704,7 +761,6 @@ <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> @@ -712,7 +768,6 @@ <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> @@ -720,9 +775,6 @@ <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="2685"> <caret line="183" column="21" selection-start-line="183" selection-start-column="21" selection-end-line="183" selection-end-column="21" /> - <folding> - <element signature="e#66#79#0" expanded="true" /> - </folding> </state> </provider> </entry> @@ -730,7 +782,6 @@ <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> @@ -738,7 +789,6 @@ <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> @@ -746,20 +796,17 @@ <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> - <element signature="e#66#79#0" expanded="true" /> - </folding> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/data_schema.xsd"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/data_schema.xsd"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="645"> <caret line="43" column="60" selection-start-line="43" selection-start-column="60" selection-end-line="43" selection-end-column="60" /> </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/D1-input.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/D1-input.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" /> @@ -767,7 +814,7 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/D2-input.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/D2-input.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="135"> <caret line="9" column="14" selection-start-line="9" selection-start-column="14" selection-end-line="9" selection-end-column="14" /> @@ -779,7 +826,6 @@ <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> @@ -787,7 +833,6 @@ <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> @@ -795,7 +840,6 @@ <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> @@ -803,7 +847,6 @@ <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> @@ -822,7 +865,7 @@ </provider> </entry> <entry file="file://$PROJECT_DIR$/pyKADMOS/cpacslib.py" /> - <entry file="file://$PROJECT_DIR$/pyKADMOS/D150_fake.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS/D150_fake.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="435"> <caret line="29" column="6" selection-start-line="29" selection-start-column="6" selection-end-line="29" selection-end-column="6" /> @@ -837,30 +880,7 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/D1-input.xml"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="15"> - <caret line="1" column="47" selection-start-line="1" selection-start-column="47" selection-end-line="1" selection-end-column="47" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/D1-output.xml"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="75"> - <caret line="5" column="14" selection-start-line="5" selection-start-column="14" selection-end-line="5" selection-end-column="14" /> - <folding /> - </state> - </provider> - </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/cpacs_schema.xsd"> - <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/AGILE_DC1_L0_MDA.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS/AGILE_DC1_L0_MDA.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" /> @@ -868,7 +888,7 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/G2-input.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/G2-input.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="75"> <caret line="5" column="14" selection-start-line="5" selection-start-column="14" selection-end-line="5" selection-end-column="14" /> @@ -876,7 +896,7 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/G1-input.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/G1-input.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="15"> <caret line="1" column="42" selection-start-line="1" selection-start-column="42" selection-end-line="1" selection-end-column="42" /> @@ -884,7 +904,7 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/G2-output.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/G2-output.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="75"> <caret line="5" column="14" selection-start-line="5" selection-start-column="14" selection-end-line="5" selection-end-column="14" /> @@ -892,14 +912,7 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/data_schema.xsd"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="-135"> - <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/F-input.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/F-input.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="45"> <caret line="3" column="16" selection-start-line="3" selection-start-column="16" selection-end-line="3" selection-end-column="16" /> @@ -907,7 +920,7 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/G1-output.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/G1-output.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="15"> <caret line="1" column="26" selection-start-line="1" selection-start-column="26" selection-end-line="1" selection-end-column="26" /> @@ -915,7 +928,7 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/F-output.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/F-output.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="75"> <caret line="5" column="14" selection-start-line="5" selection-start-column="14" selection-end-line="5" selection-end-column="14" /> @@ -937,7 +950,7 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/D2-input.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/D2-input.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="60"> <caret line="4" column="4" selection-start-line="4" selection-start-column="4" selection-end-line="4" selection-end-column="4" /> @@ -945,7 +958,7 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/pyKADMOS/D2-output.xml"> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/D2-output.xml"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="30"> <caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" /> @@ -957,7 +970,6 @@ <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="-115"> <caret line="1274" column="8" selection-start-line="1274" selection-start-column="8" selection-end-line="1274" selection-end-column="8" /> - <folding /> </state> </provider> </entry> @@ -965,9 +977,37 @@ <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="3870"> <caret line="258" column="0" selection-start-line="258" selection-start-column="0" selection-end-line="258" selection-end-column="0" /> - <folding> - <element signature="e#66#79#0" expanded="true" /> - </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_CPACS/cpacs_schema.xsd"> + <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/data_schema.xsd"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="705"> + <caret line="47" column="23" selection-start-line="47" selection-start-column="23" selection-end-line="47" selection-end-column="23" /> + <folding /> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/D1-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_Sellar/D1-input.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> </provider> </entry> @@ -979,12 +1019,28 @@ </state> </provider> </entry> + <entry file="file://$PROJECT_DIR$/pyKADMOS/KB_Sellar/data_schema2.xsd"> + <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/utilities.py"> + <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/MDOproblem.py"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="44"> - <caret line="93" column="18" selection-start-line="93" selection-start-column="18" selection-end-line="93" selection-end-column="18" /> + <state relative-caret-position="422"> + <caret line="630" column="51" selection-start-line="630" selection-start-column="51" selection-end-line="630" selection-end-column="51" /> <folding> - <element signature="e#0#13#0" expanded="true" /> + <element signature="e#0#9#0" expanded="true" /> </folding> </state> </provider> diff --git a/pyKADMOS/AGILE_DC1_L0_MDA.xml b/pyKADMOS/KB_CPACS/AGILE_DC1_L0_MDA.xml similarity index 100% rename from pyKADMOS/AGILE_DC1_L0_MDA.xml rename to pyKADMOS/KB_CPACS/AGILE_DC1_L0_MDA.xml diff --git a/pyKADMOS/D150_fake.xml b/pyKADMOS/KB_CPACS/D150_fake.xml similarity index 100% rename from pyKADMOS/D150_fake.xml rename to pyKADMOS/KB_CPACS/D150_fake.xml diff --git a/pyKADMOS/cpacs_schema.xsd b/pyKADMOS/KB_CPACS/cpacs_schema.xsd similarity index 100% rename from pyKADMOS/cpacs_schema.xsd rename to pyKADMOS/KB_CPACS/cpacs_schema.xsd diff --git a/pyKADMOS/D1-input.xml b/pyKADMOS/KB_Sellar/D1-input.xml similarity index 100% rename from pyKADMOS/D1-input.xml rename to pyKADMOS/KB_Sellar/D1-input.xml diff --git a/pyKADMOS/D1-output.xml b/pyKADMOS/KB_Sellar/D1-output.xml similarity index 100% rename from pyKADMOS/D1-output.xml rename to pyKADMOS/KB_Sellar/D1-output.xml diff --git a/pyKADMOS/D2-input.xml b/pyKADMOS/KB_Sellar/D2-input.xml similarity index 100% rename from pyKADMOS/D2-input.xml rename to pyKADMOS/KB_Sellar/D2-input.xml diff --git a/pyKADMOS/D2-output.xml b/pyKADMOS/KB_Sellar/D2-output.xml similarity index 100% rename from pyKADMOS/D2-output.xml rename to pyKADMOS/KB_Sellar/D2-output.xml diff --git a/pyKADMOS/F-input.xml b/pyKADMOS/KB_Sellar/F-input.xml similarity index 100% rename from pyKADMOS/F-input.xml rename to pyKADMOS/KB_Sellar/F-input.xml diff --git a/pyKADMOS/F-output.xml b/pyKADMOS/KB_Sellar/F-output.xml similarity index 100% rename from pyKADMOS/F-output.xml rename to pyKADMOS/KB_Sellar/F-output.xml diff --git a/pyKADMOS/G1-input.xml b/pyKADMOS/KB_Sellar/G1-input.xml similarity index 100% rename from pyKADMOS/G1-input.xml rename to pyKADMOS/KB_Sellar/G1-input.xml diff --git a/pyKADMOS/G1-output.xml b/pyKADMOS/KB_Sellar/G1-output.xml similarity index 100% rename from pyKADMOS/G1-output.xml rename to pyKADMOS/KB_Sellar/G1-output.xml diff --git a/pyKADMOS/G2-input.xml b/pyKADMOS/KB_Sellar/G2-input.xml similarity index 100% rename from pyKADMOS/G2-input.xml rename to pyKADMOS/KB_Sellar/G2-input.xml diff --git a/pyKADMOS/G2-output.xml b/pyKADMOS/KB_Sellar/G2-output.xml similarity index 100% rename from pyKADMOS/G2-output.xml rename to pyKADMOS/KB_Sellar/G2-output.xml diff --git a/pyKADMOS/data_schema.xsd b/pyKADMOS/KB_Sellar/data_schema.xsd similarity index 100% rename from pyKADMOS/data_schema.xsd rename to pyKADMOS/KB_Sellar/data_schema.xsd diff --git a/pyKADMOS/MDOproblem.py b/pyKADMOS/MDOproblem.py index a9def45391b044be43cea510b9246d7644d6ab21..12d6d839345f0d630a1fdb83d9258519346a023f 100644 --- a/pyKADMOS/MDOproblem.py +++ b/pyKADMOS/MDOproblem.py @@ -1,30 +1,62 @@ +import os import pprint +from os.path import join, isfile from lxml import etree import networkx as nx import matplotlib.pyplot as plt -from networkx.algorithms.minors import contracted_nodes class MDOproblem: """ Class that can be used to formally specify an MDO problem and analyze it based on graph theoretical analyses. """ - def __init__(self, data_schema, function_i_o_xmls): + def __init__(self, knowledge_base): """ Standard class __init__ function. Includes input checks. - :param data_schema: .xsd file containing the XML Schema that describes the data schema. - :param function_i_o_xmls: dictionary with XML file names specifying input and output of tools in the following + :param knowledge_base: name of the folder that contains the knowledge base structure: {'input': [list with file names as strings], 'output': [list with file names as strings]} """ - self.data_schema = data_schema - self.function_i_o_xmls = function_i_o_xmls + self.knowledge_base = knowledge_base print " " print "INPUT CHECKS" - # Check amount of input and output XMLs - if len(function_i_o_xmls['input']) != len(function_i_o_xmls['output']): + # Check if knowledge base folder exists + if os.path.exists(knowledge_base): + print "Knowledge base '%s' found." % self.knowledge_base + else: + raise IOError("Specified knowledge base '%s' does not exist." % self.knowledge_base) + + # Read files in the KB + print "Reading files in the knowledge base." + KB_files = [f for f in os.listdir(self.knowledge_base) if isfile(join(self.knowledge_base, f))] + + # Determine name of XML Schema file + xsd_schema_found = False + for file_name in KB_files: + if file_name[-4:] == '.xsd' and not xsd_schema_found: + self.data_schema = file_name + xsd_schema_found = True + elif file_name[-4:] == '.xsd' and xsd_schema_found: + raise IOError('Multiple XML Schemas (.xsd files) found in the knowledge base (%s). ' + 'Only one .xsd file is allowed per knowledge base.' + % self.knowledge_base) + if not xsd_schema_found: + raise IOError('No XML Schemas (.xsd files) found in the knowledge base (%s). ' + 'A single .xsd file is required per knowledge base.' + % self.knowledge_base) + else: + print "XML Schema '%s' found." % self.data_schema + + # Read input and output XML files + self.function_i_o_xmls = dict(input=[], output=[]) + 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'] + print "Input files found: %s" % self.function_i_o_xmls['input'] + print "Output files found: %s" % self.function_i_o_xmls['output'] + + 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.') else: print 'Amount of function input and output files accepted.' @@ -32,25 +64,25 @@ class MDOproblem: # Check the XML files against the self.check_against_xsd() print 'XML files successfully validated against schema.' - + print '' # Additional checks #TODO: Add checks on input given (naming conventions, required data, etcetera). def check_against_xsd(self): # Parse the XML Schema - xmlschema_doc = etree.parse(self.data_schema) + xmlschema_doc = etree.parse(self.knowledge_base + '/' + self.data_schema) xmlschema = etree.XMLSchema(xmlschema_doc) for xml_file in self.function_i_o_xmls['input']: # Parse the XML file - tree = etree.parse(xml_file) + tree = etree.parse(self.knowledge_base + '/' + xml_file) # Validate XML file against the given schema xmlschema.assertValid(tree) for xml_file in self.function_i_o_xmls['output']: # Parse the XML file - tree = etree.parse(xml_file) + tree = etree.parse(self.knowledge_base + '/' + xml_file) # Validate XML file against the given schema xmlschema.assertValid(tree) @@ -67,7 +99,7 @@ class MDOproblem: for xml_file in self.function_i_o_xmls['input']: # Parse the XML file - tree = etree.parse(xml_file) + tree = etree.parse(self.knowledge_base + '/' + xml_file) root = tree.getroot() # Iterate over the XML file to store its properties (valued_nodes and all_xpaths) @@ -115,7 +147,7 @@ class MDOproblem: :return dict: collection of XML file properties, valued_nodes, and all_xpaths """ # Parse the XML file - tree = etree.parse(xml_file) + tree = etree.parse(self.knowledge_base + '/' + xml_file) root = tree.getroot() element_tree = etree.ElementTree(root) @@ -143,7 +175,6 @@ class MDOproblem: def get_common_nodes(self): """ Function to find the common nodes between tool inputs and outputs. - :param function_data_lst: :return lst: """ function_data = self.analyze_function_xmls() @@ -472,15 +503,42 @@ class MDOproblem: NotImplementedError('Unsupported node type found.') return result - def get_adjacency_matrix(self,graph): + def get_FPG_based_on_sink(self, sink): + """ + Function to get the Fundamental Problem Graph based on the required output variable. + :param sink: node name of desired variable + :return graph: FPG graph object + """ + MCG = self.get_MCG() + ancestors = nx.ancestors(MCG, sink) + ancestors.add(sink) + return MCG.subgraph(ancestors) + + def get_FPG_based_on_sinks(self, list_of_sinks): + """ + Function to get the Fundamental Problem Graph based on a list of sinks / required output variables. + :param list_of_sinks: list with strings that specify the desired output + :return graph: FPG graph object + """ + MCG = self.get_MCG() + FPG = nx.DiGraph() + for sink in list_of_sinks: + ancestors = nx.ancestors(MCG, sink) + ancestors.add(sink) + FPG_sink = MCG.subgraph(ancestors) + FPG = nx.compose(FPG, FPG_sink) + return FPG + + # STATIC FUNCTIONS + def get_adjacency_matrix(self, 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 {'dict of dicts' : nx.convert.to_dict_of_dicts(graph,edge_data=1), - 'SciPy sparse matrix' : nx.adjacency_matrix(graph)} + return {'dict of dicts': nx.convert.to_dict_of_dicts(graph, edge_data=1), + 'SciPy sparse matrix': nx.adjacency_matrix(graph)} - def get_graph_nodes_indegree(self,graph): + def get_graph_nodes_indegree(self, graph): """ Function to get the indegree of all the graph nodes and store them in a dictionary. :param graph: DiGraph object @@ -489,7 +547,7 @@ class MDOproblem: nid_dict = dict(list(graph.in_degree_iter())) return nid_dict - def get_graph_nodes_outdegree(self,graph): + def get_graph_nodes_outdegree(self, graph): """ Function to get the outdegree of all the graph nodes and store them in a dictionary. :param graph: DiGraph object @@ -498,18 +556,7 @@ class MDOproblem: nod_dict = dict(list(graph.out_degree_iter())) return nod_dict - def get_FPG_based_on_sink(self,sink): - """ - Function to get the Fundamental Problem Graph based on the required output variable. - :param sink: node name of desired variable - :return graph: FPG graph object - """ - MCG = self.get_MCG() - ancestors = nx.ancestors(MCG, sink) - ancestors.add(sink) - return MCG.subgraph(ancestors) - - def plot_graph(self,G): + def plot_graph(self, G): """ Function to plot a graph. :param G: @@ -547,17 +594,9 @@ class MDOproblem: nx.write_graphml(graph, filename + '.graphml', encoding='utf-8', prettyprint=True) print "Graph successfully saved as: %s.graphml" % filename + if __name__ == '__main__': - sellarProblem = MDOproblem('data_schema.xsd', {'input':['D1-input.xml', - 'D2-input.xml', - 'G1-input.xml', - 'G2-input.xml', - 'F-input.xml'], - 'output':['D1-output.xml', - 'D2-output.xml', - 'G1-output.xml', - 'G2-output.xml', - 'F-output.xml']}) + sellarProblem = MDOproblem('KB_Sellar') function_data = sellarProblem.analyze_function_xmls() common_nodes = sellarProblem.get_common_nodes() @@ -572,15 +611,30 @@ if __name__ == '__main__': function_graphs = sellarProblem.get_function_graphs() MCG = sellarProblem.get_MCG() ext_MCG = sellarProblem.get_extended_MCG() - contracted_graph = sellarProblem.get_contracted_graph(MCG, 0) + MCG_contracted_graph = sellarProblem.get_contracted_graph(MCG, 0) + + adj_matrix = sellarProblem.get_adjacency_matrix(MCG) - result = sellarProblem.get_adjacency_matrix(MCG) + sinks = ['/data_schema/analyses/y2', + '/data_schema/analyses/y1', + '/data_schema/analyses/g2'] - sink = '/data_schema/analyses/f' + #FPG = sellarProblem.get_FPG_based_on_sink(sinks[0]) + FPG = sellarProblem.get_FPG_based_on_sinks(sinks) + FPG_contracted_graph = sellarProblem.get_contracted_graph(FPG, 2) - FPG = sellarProblem.get_FPG_based_on_sink(sink) - contracted_graph = sellarProblem.get_contracted_graph(FPG, 2) - sellarProblem.plot_graph(contracted_graph) #TODO: code pauses at this point now... + #sellarProblem.plot_graph(function_graph_D1) + #sellarProblem.plot_graph(function_graph_D12) + #sellarProblem.plot_graph(MCG) + #sellarProblem.plot_graph(ext_MCG) + #sellarProblem.plot_graph(MCG_contracted_graph) + # Adjacency matrix + print ' ' + print 'Adjacency matrix:' + pp.pprint(adj_matrix['dict of dicts']) + #sellarProblem.plot_graph(FPG) + sellarProblem.plot_graph(FPG_contracted_graph) + #TODO: code pauses at this point now... # sellarProblem.save_as_graphml(MCG, 'test') \ No newline at end of file diff --git a/pyKADMOS/graphml_test.graphml b/pyKADMOS/graphml_test.graphml deleted file mode 100644 index af0a291ce047b1fd5b4a4f6bc575fe98ac52d220..0000000000000000000000000000000000000000 --- a/pyKADMOS/graphml_test.graphml +++ /dev/null @@ -1,92 +0,0 @@ -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - <key attr.name="label" attr.type="string" for="node" id="d3" /> - <key attr.name="type" attr.type="string" for="node" id="d2" /> - <key attr.name="shape" attr.type="string" for="node" id="d1" /> - <key attr.name="name" attr.type="string" for="graph" id="d0" /> - <graph edgedefault="directed"> - <data key="d0">compose( , )</data> - <node id="/data_schema/analyses/y1"> - <data key="d1">o</data> - <data key="d2">variable</data> - <data key="d3">y1</data> - </node> - <node id="/data_schema/analyses/y2"> - <data key="d1">o</data> - <data key="d2">variable</data> - <data key="d3">y2</data> - </node> - <node id="F"> - <data key="d1">s</data> - <data key="d2">function</data> - <data key="d3">F</data> - </node> - <node id="/data_schema/geometry/z2"> - <data key="d1">o</data> - <data key="d2">variable</data> - <data key="d3">z2</data> - </node> - <node id="/data_schema/geometry/z1"> - <data key="d1">o</data> - <data key="d2">variable</data> - <data key="d3">z1</data> - </node> - <node id="/data_schema/analyses/g2"> - <data key="d1">o</data> - <data key="d2">variable</data> - <data key="d3">g2</data> - </node> - <node id="/data_schema/analyses/g1"> - <data key="d1">o</data> - <data key="d2">variable</data> - <data key="d3">g1</data> - </node> - <node id="G2"> - <data key="d1">s</data> - <data key="d2">function</data> - <data key="d3">G2</data> - </node> - <node id="G1"> - <data key="d1">s</data> - <data key="d2">function</data> - <data key="d3">G1</data> - </node> - <node id="/data_schema/geometry/x1"> - <data key="d1">o</data> - <data key="d2">variable</data> - <data key="d3">x1</data> - </node> - <node id="/data_schema/analyses/f"> - <data key="d1">o</data> - <data key="d2">variable</data> - <data key="d3">/f</data> - </node> - <node id="D2"> - <data key="d1">s</data> - <data key="d2">function</data> - <data key="d3">D2</data> - </node> - <node id="D1"> - <data key="d1">s</data> - <data key="d2">function</data> - <data key="d3">D1</data> - </node> - <edge source="/data_schema/analyses/y1" target="D2" /> - <edge source="/data_schema/analyses/y1" target="G1" /> - <edge source="/data_schema/analyses/y1" target="F" /> - <edge source="/data_schema/analyses/y2" target="D1" /> - <edge source="/data_schema/analyses/y2" target="G2" /> - <edge source="/data_schema/analyses/y2" target="F" /> - <edge source="G2" target="/data_schema/analyses/g2" /> - <edge source="G1" target="/data_schema/analyses/g1" /> - <edge source="F" target="/data_schema/analyses/f" /> - <edge source="/data_schema/geometry/x1" target="D1" /> - <edge source="/data_schema/geometry/x1" target="F" /> - <edge source="/data_schema/geometry/z2" target="D1" /> - <edge source="/data_schema/geometry/z2" target="D2" /> - <edge source="/data_schema/geometry/z2" target="F" /> - <edge source="/data_schema/geometry/z1" target="D2" /> - <edge source="/data_schema/geometry/z1" target="D1" /> - <edge source="D2" target="/data_schema/analyses/y2" /> - <edge source="D1" target="/data_schema/analyses/y1" /> - </graph> -</graphml> diff --git a/pyKADMOS/test.graphml b/pyKADMOS/test.graphml deleted file mode 100644 index af0a291ce047b1fd5b4a4f6bc575fe98ac52d220..0000000000000000000000000000000000000000 --- a/pyKADMOS/test.graphml +++ /dev/null @@ -1,92 +0,0 @@ -<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd"> - <key attr.name="label" attr.type="string" for="node" id="d3" /> - <key attr.name="type" attr.type="string" for="node" id="d2" /> - <key attr.name="shape" attr.type="string" for="node" id="d1" /> - <key attr.name="name" attr.type="string" for="graph" id="d0" /> - <graph edgedefault="directed"> - <data key="d0">compose( , )</data> - <node id="/data_schema/analyses/y1"> - <data key="d1">o</data> - <data key="d2">variable</data> - <data key="d3">y1</data> - </node> - <node id="/data_schema/analyses/y2"> - <data key="d1">o</data> - <data key="d2">variable</data> - <data key="d3">y2</data> - </node> - <node id="F"> - <data key="d1">s</data> - <data key="d2">function</data> - <data key="d3">F</data> - </node> - <node id="/data_schema/geometry/z2"> - <data key="d1">o</data> - <data key="d2">variable</data> - <data key="d3">z2</data> - </node> - <node id="/data_schema/geometry/z1"> - <data key="d1">o</data> - <data key="d2">variable</data> - <data key="d3">z1</data> - </node> - <node id="/data_schema/analyses/g2"> - <data key="d1">o</data> - <data key="d2">variable</data> - <data key="d3">g2</data> - </node> - <node id="/data_schema/analyses/g1"> - <data key="d1">o</data> - <data key="d2">variable</data> - <data key="d3">g1</data> - </node> - <node id="G2"> - <data key="d1">s</data> - <data key="d2">function</data> - <data key="d3">G2</data> - </node> - <node id="G1"> - <data key="d1">s</data> - <data key="d2">function</data> - <data key="d3">G1</data> - </node> - <node id="/data_schema/geometry/x1"> - <data key="d1">o</data> - <data key="d2">variable</data> - <data key="d3">x1</data> - </node> - <node id="/data_schema/analyses/f"> - <data key="d1">o</data> - <data key="d2">variable</data> - <data key="d3">/f</data> - </node> - <node id="D2"> - <data key="d1">s</data> - <data key="d2">function</data> - <data key="d3">D2</data> - </node> - <node id="D1"> - <data key="d1">s</data> - <data key="d2">function</data> - <data key="d3">D1</data> - </node> - <edge source="/data_schema/analyses/y1" target="D2" /> - <edge source="/data_schema/analyses/y1" target="G1" /> - <edge source="/data_schema/analyses/y1" target="F" /> - <edge source="/data_schema/analyses/y2" target="D1" /> - <edge source="/data_schema/analyses/y2" target="G2" /> - <edge source="/data_schema/analyses/y2" target="F" /> - <edge source="G2" target="/data_schema/analyses/g2" /> - <edge source="G1" target="/data_schema/analyses/g1" /> - <edge source="F" target="/data_schema/analyses/f" /> - <edge source="/data_schema/geometry/x1" target="D1" /> - <edge source="/data_schema/geometry/x1" target="F" /> - <edge source="/data_schema/geometry/z2" target="D1" /> - <edge source="/data_schema/geometry/z2" target="D2" /> - <edge source="/data_schema/geometry/z2" target="F" /> - <edge source="/data_schema/geometry/z1" target="D2" /> - <edge source="/data_schema/geometry/z1" target="D1" /> - <edge source="D2" target="/data_schema/analyses/y2" /> - <edge source="D1" target="/data_schema/analyses/y1" /> - </graph> -</graphml>