diff --git a/docs/tutorials/seperate-tool-execution.md b/docs/tutorials/seperate-tool-execution.md index 959a7142f6b1711179941d2fd291562713173a91..50f2410094478e0f9070933b8df20d1038b9e102 100644 --- a/docs/tutorials/seperate-tool-execution.md +++ b/docs/tutorials/seperate-tool-execution.md @@ -1,68 +1,128 @@ -@ todo needs revision!! as its old +You want to execute UNICADO tools separately? Here we go: -You may want to execute UNICADO tools separately. Here we go: +## Requirements -### Requirements +Ensure that you have cloned the following repositories: -Clone the following repositories: +- **Aircraft Design** - aircraft design tools (including the submodule `libs`) +- **Aircraft References** - aircraft reference designs -- **rAIRCRAFTDESIGN** - aircraft design tools -- **rAIRCRAFTREFERENCES** - aircraft reference designs -- **rADDITIONALSOFTWARE** - additional not aircraft design specific tools, e.g. for plotting +If you haven't yet, don't worry: just follow [these](../developer/get-source-code.md) instructions before continuing. -NOTE: the repositories **rAIRCRAFTDESIGN** and **rADDITIONALSOFTWARE** shall be checked out on the same branch (e.g. *develop*), as those branches are synchronized on remote ☁ and a running 🏃 🏃 couple 💍 - -For testing purposes you most probably will choose the CSR-02 aircraft reference. Therefore, checkout the *CSR-02* branch from the **rAIRCRAFTREFERENCES** repo. +For testing purposes you most probably will choose the CSMR-2020 aircraft reference. Therefore, checkout the *CSMR-2020* branch from the **Aircraft References** repo. --- -### Project Environment - -For creating a {nav project environment} you have several options 🍟. Here we'll present the two mostly used ones (Excluding the UNICADOworkflow on RCE stated at top) - -- Create a new folder for your project environment **or** use the folder where you have cloned the **rAIRCRAFTDESIGN** repo -- Copy {nav Gnuplot} and {nav Inkscape} from the folder where you have cloned the **rADDITIONALSOFTWARE** repo into your {nav project environment} -{nav name=project environment > Gnuplot } -{nav name=project environment > Inkscape } -NOTE: If you are using a unix based system make sure to copy the linux variants of *Gnuplot* and *Inkscape* named *Gnuplot-linux* and *Inkscape-linux* - -- Copy the tool(s) you want to execute / test (e.g. *initialSizing*) from your local copy of **rAIRCRAFTDESIGN** (In case you are **not** using the local copy itself as a **project environment**) -{nav name=project environment > initialSizing } -- Create a folder named *projects* within your **project environment** -{nav name=project environment > projects } -- Within your *projects* folder create a folder named as the aircraft class, e.g. {nav CSR} (CeRAS Short Range) -{nav name=project environment > projects > CSR } -- Within the aircraft class folder create a folder of the aircraft type, e.g. {nav CSR-02} -{nav name=project environment > projects > CSR > CSR-02 } -- Copy the **content** (not the folder) of a specific design folder of the corresponding aircraft from your local copy of **rAIRCRAFTREFERENCES** into the aircraft type folder. Options are -{nav cleanSheetDesign} -{nav retrofitDesign > aerodynamicCalibration} -{nav retrofitDesign > engineCalibration} -{nav retrofitDesign > withoutCalibration} -- Now you have again two options: **1.** Test the tool on an empty aircraft exchange file. **2.** Test the tool on a so called converged aircraft. - - For **1.** Delete the existing aircraft exchange fiel e.g. *CSR-02.xml*. Then rename the aircraft exchange file e.g. *CSR-02_startCSD.xml* to *CSR-02.xml* (if you have copied the cleanSheetDesign [CSD]) - - For **2.** Directly execute your tool with the available aircraft exchange file, e.g. *CSR-02.xml* - +## Project Environment + +For creating a **project environment** you have several options 🍟. Here we'll present the two mostly used ones (excluding the UNICADOworkflow on RCE stated [here](standalone.md)): + +- Create a new folder for your project environment **or** use the folder where you have cloned the **Aircraft Design** repo. Both will be calles **project environment** in the following. + +- Inside your **project environment**, create the folders **Gnuplot** and **Inkscape**. Copy the **content** of the `bin/` from their installation directory to the newly created folders. + +- Copy the tool(s) you want to execute / test (e.g. *initialSizing*) **AND** the folder `libs`from your local copy of **Aircraft Design** to your **project environment** (only in case you are **not** using the local copy itself as a **project environment**) + +- Create a new folder **databases** inside your **project environment** + + - Inside **databases**, create a folder **airfoils** + - From 'libs/airfoils', copy the folder F15 and NACA to the newly created **airfoils** + +- Create a folder named **projects** within your **project environment** + - Within your **projects** folder create a folder named as the aircraft class, e.g. CSMR + - Within the **aircraft class** folder create a folder of the aircraft type, e.g. CSMR-2020 + - Copy the **content** (not the folder) of a specific design folder of the corresponding aircraft from your local copy of **Aircraft References** into the aircraft type folder. Options are + - cleanSheetDesign, + - retrofitDesign/aerodynamicCalibration, + - retrofitDesign/engineCalibration and + - retrofitDesign/withoutCalibration + + - Now you have again two options: + - Test the tool on an empty aircraft exchange file: Delete the existing aircraft exchange file e.g. *CSMR-2020.xml*. Then rename the aircraft exchange file e.g. *CSMR-2020_startCSD.xml* to *CSMR-2020.xml* (if you have copied the cleanSheetDesign) + - Test the tool on a so called converged aircraft: Directly execute your tool with the available aircraft exchange file, e.g. *CSMR-2020.xml* + +If you made everything correctly, your folder structure inside your project environment will include at least following folders and files: + +``` +├── module_name/ +│ ├── module_name.exe +│ └── module_name_config.xml +├── gnuplot/ +│ ├── gnuplot.exe +│ └── ... +├── inkscape/ +│ ├── inkscape.exe +│ └── ... +├── projects/ +│ └── CSMR/ +│ └──CSMR-2020 +│ ├── CSMR-2020.xml +│ └── Seat_positions.xml +├── databases/ +│ ├── airfoils/ +│ │ ├── NACA/ +│ │ └── F15/ +│ └── engine/ +└── libs/ +``` --- -### Aircraft Design Tool Dependencies +## Aircraft Design Tool Dependencies Suppose you use an empty aircraft exchange file (described above in option **1.**). The aircraft design tools have dependencies, e.g. a fuselage 🐳 has to exist in order to mount wings 🐦. An aircraft geometry has to be available in order to conduct an aerodynamic analysis. Therefore the tools can be executed based on their dependencies in the following sequence: -{nav initialSizing > fuselageDesign > createMissionXml > wingDesign > empennageSizing > engineSizing > propulsionIntegration > landingGearDesign > calculatePolar > massEstimation > systemsDesign > missionAnalysis} + +- initial_sizing +- create_mission_xml +- fuselage_design +- wing_design +- empennage_design +- tank_design +- propulsion_design +- landing_gear_design +- aerodynamic_analysis +- systems_design +- mission_analysis +- weight_and_balance_analysis +- performance_analysis +- cost_estimation +- ecological_assessment --- -### Tool execution +## Tool execution Finally we want to execute the tool. But what if we have noticed, that there are no executables in the tool folders? 🔥 -Then the executables have first to be build inside the working copy e.g. of the **rAIRCRAFTDESIGN** repo. Please follow the instructions at [Developer](../developer/contribute.md). +Then the executables have first to be build inside the working copy e.g. of the **Aircraft Design** repo. Please follow the [build instructions](../developer/build/general.md). + +If this is already done and an executable is present, then you can execute the respective tool from within the tool folder either on windows directly via double click or via a terminal e.g. + +=== "cmd" + + ``` { .sh .copy } + initialSizing.exe + ``` + +=== "powershell" + + ``` { .sh .copy } + initialSizing.exe + ``` +=== "git bash" + + ``` { .sh .copy } + ./initialSizing.exe + ``` + +If you want to examine the terminal outputs we've got you covered: `.log`-files are written for each tool. + +## Troubleshooting + +The module throws an error? - Read the error message carefully. -If this is done already and an executable is present, then you can execute the respective tool from within the tool folder either on windows directly via double click or via a terminal -- In cmd or powershell e.g. `initialSizing.exe` -- In git bash e.g. `./initialSizing.exe` +- ""Most probably either a file is missing in your project environment or some content within an file is lacking. Double check the description of the project environment and tool dependencies. -If you want to examine the terminal outputs we've got you covered: `.log`-files are written for each tool +- "ModuleNotFoundError: No Module named 'runmodule'": you try to execute a python tool which was not built correctly. Go back to [build/python](../developer/build/python.md), follow the instruction (install the python_packages!) and keep an eye on error messages during the build process.