Skip to content

Commit

Permalink
accept Carl's suggestions: modify the glue of paths and the glue of '…
Browse files Browse the repository at this point in the history
…phase_info'.
  • Loading branch information
xjjiang committed Jan 15, 2025
1 parent 95ab9ab commit 4bbce12
Show file tree
Hide file tree
Showing 12 changed files with 158 additions and 81 deletions.
12 changes: 8 additions & 4 deletions aviary/docs/misc_resources/externally_supported_subsystems.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,18 @@
"# Testing Cell\n",
"import aviary.api as av\n",
"from aviary.utils.doctape import glue_variable\n",
"av.get_path('examples/external_subsystems')\n",
"glue_variable('aviary/examples/external_subsystems', md_code=True)"
"\n",
"folder = av.get_path('examples/external_subsystems')\n",
"aviary_top_dir = av.get_path('docs').parent.parent\n",
"ext_examples_dir = folder.relative_to(aviary_top_dir)\n",
"\n",
"glue_variable(str(ext_examples_dir), md_code=True)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "latest_env",
"display_name": "av1",
"language": "python",
"name": "python3"
},
Expand All @@ -44,7 +48,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.13"
"version": "3.9.18"
}
},
"nbformat": 4,
Expand Down
28 changes: 16 additions & 12 deletions aviary/docs/misc_resources/modeling_exercise.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,19 @@
"outputs": [],
"source": [
"# Testing Cell\n",
"import os\n",
"import aviary.api as av\n",
"from aviary.utils.doctape import glue_variable\n",
"av.get_path('examples/run_basic_aviary_example.py')\n",
"glue_variable('aviary/examples', md_code=True)\n",
"glue_variable('run_basic_aviary_example.py', md_code=True)"
"\n",
"aviary_top_dir = av.get_path('docs').parent.parent\n",
"\n",
"folder = av.get_path('examples')\n",
"examples_dir = folder.relative_to(aviary_top_dir)\n",
"glue_variable(str(examples_dir), md_code=True)\n",
"\n",
"folder = av.get_path('examples/run_basic_aviary_example.py')\n",
"run_example_dir = os.path.basename(folder)\n",
"glue_variable(run_example_dir, md_code=True)"
]
},
{
Expand Down Expand Up @@ -90,14 +98,8 @@
"outputs": [],
"source": [
"# Testing Cell\n",
"from aviary.interface.methods_for_level2 import AviaryGroup\n",
"from aviary.utils.doctape import glue_variable\n",
"\n",
"ag = AviaryGroup()\n",
"opts = list(ag.options)\n",
"for opt in opts:\n",
" if opt == 'phase_info':\n",
" glue_variable('phase_info', md_code=True)\n"
"glue_variable('phase_info', md_code=True)"
]
},
{
Expand Down Expand Up @@ -144,8 +146,10 @@
"# Testing Cell\n",
"import aviary.api as av\n",
"from aviary.utils.doctape import glue_variable\n",
"av.get_path('examples/reserve_missions/run_reserve_mission_fixedrange.py');\n",
"glue_variable('run_reserve_mission_fixedrange.py', md_code=True)"
"\n",
"folder = av.get_path('examples/reserve_missions/run_reserve_mission_fixedrange.py')\n",
"run_reserve_dir = os.path.basename(folder)\n",
"glue_variable(run_reserve_dir, md_code=True)"
]
},
{
Expand Down
9 changes: 2 additions & 7 deletions aviary/docs/user_guide/SGM_capabilities.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,9 @@
"outputs": [],
"source": [
"# Testing Cell\n",
"from aviary.interface.methods_for_level2 import AviaryGroup\n",
"from aviary.utils.doctape import glue_variable\n",
"#from aviary.interface.default_phase_info.two_dof_fiti import\n",
"ag = AviaryGroup()\n",
"opts = list(ag.options)\n",
"for opt in opts:\n",
" if opt == 'phase_info': # only need this option to glue\n",
" glue_variable('phase_info', md_code=True)"
"\n",
"glue_variable('phase_info', md_code=True)"
]
},
{
Expand Down
3 changes: 0 additions & 3 deletions aviary/docs/user_guide/aerodynamics.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -157,9 +157,6 @@
"source": [
"# Testing Cell\n",
"from aviary.api import Aircraft\n",
"Aircraft.Wing.MAX_CAMBER_AT_70_SEMISPAN;\n",
"Aircraft.Wing.AIRFOIL_TECHNOLOGY;\n",
"Aircraft.Design.BASE_AREA;\n",
"glue_variable(get_variable_name(Aircraft.Wing.MAX_CAMBER_AT_70_SEMISPAN), md_code=True)\n",
"glue_variable(get_variable_name(Aircraft.Wing.AIRFOIL_TECHNOLOGY), md_code=True)\n",
"glue_variable(get_variable_name(Aircraft.Design.BASE_AREA), md_code=True)"
Expand Down
21 changes: 16 additions & 5 deletions aviary/docs/user_guide/aviary_commands.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -125,18 +125,29 @@
"outputs": [],
"source": [
"# Testing Cell\n",
"import os\n",
"import subprocess\n",
"import aviary.api as av\n",
"from aviary.utils.doctape import glue_variable\n",
"\n",
"str_model = 'small_single_aisle_GwGm'\n",
"aviary_top_dir = av.get_path('docs').parent.parent\n",
"str_folder = 'models/small_single_aisle'\n",
"command = 'aviary run_mission ' + str_folder + '/' + str_model + '.csv'\n",
"folder = av.get_path(str_folder)\n",
"model_dir = folder.relative_to(aviary_top_dir)\n",
"glue_variable(str(model_dir), md_code=True)\n",
"\n",
"str_model = 'small_single_aisle_GwGm.csv'\n",
"folder = av.get_path(str_folder) / (str_model)\n",
"file_name = os.path.basename(folder)\n",
"glue_variable(file_name, md_code=False)\n",
"\n",
"command = 'aviary run_mission ' + str_folder + '/' + str_model\n",
"glue_variable(command, md_code=True)\n",
"command += ' --max_iter 0 --optimizer IPOPT' # max_iter to limit build time, IPOPT to run on CI\n",
"subprocess.run(command.split()).check_returncode();\n",
"\n",
"glue_variable('aviary run_mission models/small_single_aisle/' + str_model + '.csv', md_code=True)\n",
"glue_variable(str_model + '.csv', md_code=False)\n",
"glue_variable('aviary/' + str_folder, md_code=True)"
"\n",
"\n"
]
},
{
Expand Down
24 changes: 22 additions & 2 deletions aviary/docs/user_guide/battery_subsystem_example.ipynb
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"tags": [
"remove-cell"
]
},
"outputs": [],
"source": [
"# Testing Cell\n",
"import aviary.api as av\n",
"from aviary.utils.doctape import glue_variable\n",
"\n",
"aviary_top_dir = av.get_path('docs').parent.parent\n",
"folder = av.get_path('examples/external_subsystems/battery')\n",
"examples_dir = folder.relative_to(aviary_top_dir)\n",
"glue_variable(str(examples_dir), md_code=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
Expand All @@ -9,7 +29,7 @@
"## Examining the battery as an example case\n",
"\n",
"Let's take a look at how to integrate an external subsystem into Aviary using the example of a battery model.\n",
"This battery model and builder are provided in the `aviary/examples/external_subsystems/battery` folder.\n",
"This battery model and builder are provided in the {glue:md}`aviary/examples/external_subsystems/battery` folder.\n",
"\n",
"We'll show you how to define the builder object, how to specify the pre-mission and mission models, and how to implement the interface methods.\n",
"In each of these methods, we've removed the initial docstring to increase readability on this page.\n",
Expand Down Expand Up @@ -111,7 +131,7 @@
"# Get all functions of class CoreAerodynamicsBuilder\n",
"methods = inspect.getmembers(SubsystemBuilderBase, predicate=inspect.isfunction)\n",
"for name, func in methods:\n",
" if not name.startswith('_'):\n",
" if not name.startswith('_'): # exclude private functions\n",
" glue_variable(name + '()', md_code=True)\n",
"\n",
"AviaryValues = av.AviaryValues\n",
Expand Down
7 changes: 1 addition & 6 deletions aviary/docs/user_guide/features_and_functionalities.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,9 @@
"source": [
"# Testing Cell\n",
"from aviary.api import LegacyCode\n",
"from aviary.interface.methods_for_level2 import AviaryGroup\n",
"from aviary.utils.doctape import glue_variable\n",
"\n",
"ag = AviaryGroup()\n",
"opts = list(ag.options)\n",
"for opt in opts:\n",
" if opt == 'phase_info':\n",
" glue_variable('phase_info', md_code=True)\n",
"glue_variable('phase_info', md_code=True)\n",
"glue_variable(LegacyCode.FLOPS.name, md_code=False)\n",
"glue_variable(LegacyCode.GASP.name, md_code=False)"
]
Expand Down
39 changes: 28 additions & 11 deletions aviary/docs/user_guide/hamilton_standard.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -324,25 +324,42 @@
"outputs": [],
"source": [
"# Testing Cell\n",
"import os\n",
"import aviary.api as av\n",
"from aviary.variable_info.enums import OutMachType\n",
"from aviary.subsystems.propulsion.propeller.propeller_performance import OutMachs\n",
"file_path = av.get_path('models/propellers/general_aviation.prop')\n",
"file_path = av.get_path('models/propellers/PropFan.prop')\n",
"glue_variable('models/propellers', md_code=True)\n",
"glue_variable('general_aviation.prop', md_code=True)\n",
"glue_variable('PropFan.prop', md_code=True)\n",
"file_path = av.get_path('models/propellers/general_aviation.map')\n",
"file_path = av.get_path('models/propellers/PropFan.map')\n",
"glue_variable('general_aviation.map', md_code=True)\n",
"glue_variable('PropFan.map', md_code=True)\n",
"\n",
"aviary_top_dir = av.get_path('docs').parent\n",
"#print(aviary_top_dir)\n",
"\n",
"folder_path = av.get_path('models/propellers')\n",
"propellers_dir = folder_path.relative_to(aviary_top_dir)\n",
"glue_variable(str(propellers_dir), md_code=True)\n",
"\n",
"file_path = av.get_path(folder_path / 'general_aviation.prop')\n",
"prop_file_name = os.path.basename(file_path)\n",
"glue_variable(prop_file_name, md_code=True)\n",
"\n",
"map_file_name = file_path.stem + '.map'\n",
"file_path = av.get_path(folder_path / map_file_name)\n",
"map_file_name = os.path.basename(file_path)\n",
"glue_variable(map_file_name, md_code=True)\n",
"\n",
"file_path = av.get_path(folder_path / 'PropFan.prop')\n",
"prop_file_name = os.path.basename(file_path)\n",
"glue_variable(prop_file_name, md_code=True)\n",
"\n",
"map_file_name = file_path.stem + '.map'\n",
"file_path = av.get_path(folder_path / map_file_name)\n",
"map_file_name = os.path.basename(file_path)\n",
"glue_variable(map_file_name, md_code=True)\n",
"\n",
"glue_variable(OutMachType.HELICAL_MACH.name.title(), md_code=True)\n",
"glue_variable(OutMachType.MACH.name.title(), md_code=True)\n",
"\n",
"check_value(Aircraft.Engine.Propeller.DATA_FILE,'aircraft:engine:propeller:data_file')\n",
"check_value(Aircraft.Engine.Propeller.DATA_FILE, 'aircraft:engine:propeller:data_file')\n",
"glue_variable(get_variable_name(Aircraft.Engine.Propeller.DATA_FILE), md_code=True)\n",
"check_value(Dynamic.Atmosphere.MACH,'mach')\n",
"check_value(Dynamic.Atmosphere.MACH, 'mach')\n",
"glue_variable(get_variable_name(Dynamic.Atmosphere.MACH), md_code=True)\n",
"glue_variable(get_variable_name(OutMachs), md_code=True)\n"
]
Expand Down
8 changes: 5 additions & 3 deletions aviary/docs/user_guide/off_design_missions.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,11 @@
"# Testing Cell\n",
"import aviary.api as av\n",
"from aviary.utils.doctape import glue_variable\n",
"str_file_path = 'examples/run_off_design_example.py'\n",
"file_path = av.get_path(str_file_path)\n",
"glue_variable('aviary/' + str_file_path, md_code=True)"
"\n",
"aviary_top_dir = av.get_path('docs').parent.parent\n",
"\n",
"file_path = av.get_path('examples/run_off_design_example.py').relative_to(aviary_top_dir)\n",
"glue_variable(str(file_path), md_code=True)"
]
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,34 @@
"source": [
"# Testing Cell\n",
"import inspect\n",
"from aviary.utils.functions import get_path\n",
"import os\n",
"import aviary.api as av\n",
"#from aviary.utils.functions import get_path\n",
"from aviary.utils.doctape import glue_variable\n",
"from aviary.interface.methods_for_level2 import AviaryProblem\n",
"\n",
"aviary_top_dir = av.get_path('docs').parent.parent\n",
"\n",
"# make sure that the path exists.\n",
"str_run_aviary_example = 'run_aviary_example'\n",
"get_path('examples/' + str_run_aviary_example + '.py')\n",
"glue_variable('aviary/examples', md_code=True)\n",
"glue_variable(str_run_aviary_example + '.py', md_code=True)\n",
"glue_variable(str_run_aviary_example + '.zip', md_code=True)\n",
"folder = av.get_path('examples')\n",
"examples_dir = folder.relative_to(aviary_top_dir)\n",
"glue_variable(str(examples_dir), md_code=True)\n",
"\n",
"run_example_dir = os.path.basename(examples_dir)\n",
"\n",
"str_run_aviary_example = 'run_aviary_example.py'\n",
"run_aviary_example = av.get_path(folder / str_run_aviary_example)\n",
"examples_dir = run_aviary_example.relative_to(aviary_top_dir)\n",
"#print(examples_dir)\n",
"\n",
"run_example_dir = os.path.basename(examples_dir)\n",
"glue_variable(run_example_dir, md_code=True)\n",
"#glue_variable(str_run_aviary_example + '.py', md_code=True)\n",
"\n",
"run_example_dir = os.path.basename(examples_dir.stem + '.zip')\n",
"\n",
"glue_variable(run_example_dir, md_code=True)\n",
"#glue_variable(str_run_aviary_example + '.zip', md_code=True)\n",
"\n",
"# Get all functions of class AviaryProblem\n",
"functs = inspect.getmembers(AviaryProblem, predicate=inspect.isfunction)\n",
Expand All @@ -34,8 +52,8 @@
"sig = inspect.signature(AviaryProblem.run_aviary_problem)\n",
"arguments = [param.name for param in sig.parameters.values()]\n",
"for arg in arguments:\n",
" if arg == 'optimization_history_filename':\n",
" glue_variable(arg, md_code=True)"
" #if arg == 'optimization_history_filename':\n",
" glue_variable(arg, md_code=True)"
]
},
{
Expand Down Expand Up @@ -110,7 +128,7 @@
" #print(action.dest, action.default)\n",
" glue_variable('--' + action.dest, md_code=True)\n",
" if action.default is not None and not type(action.default) is bool:\n",
" glue_variable(str(action.default), md_code=True)\n"
" glue_variable(action.default, md_code=True)\n"
]
},
{
Expand Down
30 changes: 17 additions & 13 deletions aviary/docs/user_guide/reserve_missions.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
"source": [
"# Testing Cell\n",
"import inspect\n",
"import os\n",
"import aviary.api as av\n",
"from aviary.interface.methods_for_level2 import AviaryGroup, AviaryProblem\n",
"from aviary.utils.doctape import get_variable_name, glue_variable\n",
"from aviary.utils.functions import get_path\n",
"\n",
"glue_variable(av.EquationsOfMotion.HEIGHT_ENERGY.value, md_code=False)\n",
"glue_variable(av.EquationsOfMotion.TWO_DEGREES_OF_FREEDOM.value, md_code=False)\n",
Expand All @@ -28,24 +28,28 @@
"str_shooting = str_shooting.split('.')[1].lower()\n",
"glue_variable(str_shooting, md_code=False)\n",
"\n",
"ag = AviaryGroup()\n",
"opts = list(ag.options)\n",
"for opt in opts:\n",
" if opt == 'phase_info':\n",
" glue_variable('phase_info', md_code=True)\n",
"glue_variable('phase_info', md_code=True)\n",
"\n",
"aviary_top_dir = av.get_path('docs').parent\n",
"folder = av.get_path('examples/reserve_missions')\n",
"examples_dir = folder.relative_to(aviary_top_dir)\n",
"\n",
"str_run_aviary_example = 'run_reserve_mission_multiphase.py'\n",
"file_name = os.path.join(examples_dir, str_run_aviary_example)\n",
"file_name = os.path.basename(file_name)\n",
"glue_variable(str(file_name), md_code=True)\n",
"\n",
"str_run_aviary_example = 'run_reserve_mission_multiphase'\n",
"get_path('examples/reserve_missions/' + str_run_aviary_example + '.py')\n",
"glue_variable(str_run_aviary_example + '.py', md_code=True)\n",
"\n",
"str_run_aviary_example = 'run_2dof_reserve_mission_multiphase'\n",
"get_path('examples/reserve_missions/' + str_run_aviary_example + '.py')\n",
"glue_variable(str_run_aviary_example + '.py', md_code=True)\n",
"str_run_aviary_example = 'run_2dof_reserve_mission_multiphase.py'\n",
"file_name = os.path.join(examples_dir, str_run_aviary_example)\n",
"file_name = os.path.basename(file_name)\n",
"glue_variable(str(file_name), md_code=True)\n",
"\n",
"# Get all functions of class AviaryProblem\n",
"methods = inspect.getmembers(AviaryProblem, predicate=inspect.isfunction)\n",
"for name, func in methods:\n",
" if not name.startswith('_') and name in ['check_and_preprocess_inputs', 'load_inputs']:\n",
" #if not name.startswith('_') and name in ['check_and_preprocess_inputs', 'load_inputs']:\n",
" if not name.startswith('_'): # exclude private functions\n",
" glue_variable(name + '()', md_code=True)\n",
" glue_variable('prob.' + name + '()', md_code=True)"
]
Expand Down
Loading

0 comments on commit 4bbce12

Please sign in to comment.