Skip to content
Snippets Groups Projects
Commit a742d83d authored by “KatrinBistreck”'s avatar “KatrinBistreck”
Browse files

updates seperate tool execution

parent 35a67e52
Branches
No related tags found
2 merge requests!76Draft: Updated Python code example,!73Initial open source version
@ 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.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment