Skip to content
Snippets Groups Projects
Commit f1c70dad authored by Florian Schültke's avatar Florian Schültke
Browse files

Merge branch 'develop' into 'main'

Initial open source version

See merge request !233
parents 9bd712dd 113c7d15
No related branches found
No related tags found
No related merge requests found
Showing
with 2118 additions and 0 deletions
# Exclude all binaries from the diff
*.exe binary
*.dll binary
*.so binary
*.a binary
# Project specific
databases/
gnuplot/
inkscape/
/projects/
/inkscape-linux/
/gnuplot-linux/
*.log
*.stl
*_plot.csv
*_guiSettings.xml
*_inputs.xml
*_outputs.xml
*_IOinfo.txt
*.cscope_file_list
test_runner_config.json
.modifiedFiles
.toolList
test_detail.xml
# IDE Files
.vscode
*.cbp
# Prerequisites
*.d
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
*.pyd
# Fortran module files
*.mod
*.smod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
# Debugging databases
*.pdb
# Python artefacts
__pycache__
*.spec
# Build directories
build
build*
# CMake user files
CMakeUserPresets.json
<!-- Title: Provide a concise and descriptive title for the issue incl. tool or library name -->
## Choose Your Issue Template
Before creating an issue, please review existing issues to avoid duplicates!
ALso, select the **appropriate type for your issue in the desciption drop-down**.
- Bug Report Template
- Feature Request Template
- TODO Template
- Documentation Request Template
- Testing Request Template
If not suitable, use the sections below and contact the owners.
## Description
Provide a concise description of the issue.
## Additional Context
Add screenshots, logs, or relevant information here.
<!-- Title: Provide a concise and descriptive title for the issue incl. tool or library name -->
# Bug Report
## Description
Describe the bug clearly. What happened?
## Steps to Reproduce
1. [Step 1]
2. [Step 2]
3. [Step 3]
## Expected Behavior
Explain what you expected to see.
## Environment
- **OS**: [e.g., Windows 10]
- **Version/Branch**: [e.g., v1.2.3]
## Additional Context
Attach any logs, screenshots, or context.
/label ~"type::bug"
<!-- Title: Provide a concise and descriptive title for the issue -->
# Documentation
## Summary
Explain what documentation is missing.
- **Unicado Version**: vx.x.x
- **Page**: page-to-change
## Additional Context
Attach any logs, screenshots, or context.
/label ~"type::documentation"
<!-- Title: Provide a concise and descriptive title for the issue incl. tool or library name -->
# Feature Request
## Summary
What feature are you requesting?
## Why?
Explain the problem this feature solves or the value it adds.
## Acceptance Criteria
- [ ] Define measurable outcomes for success.
- [ ] List specific requirements.
## Additional Notes
Include references, examples, or diagrams if applicable.
/label ~"type::feature"
<!-- Title: Provide a concise and descriptive title for the issue incl. tool or library name -->
# Testing Issue
## Summary
Provide a brief overview of what should be tested or changed in the test process. Also think about what is the goal of this test? E.g.
- Verify that [feature/bug fix/module] works as expected.
- Ensure that [specific requirement] is met.
## Related Issues or Merge Requests
- Issue(s): #[Issue ID]
- Merge Request(s): #[Merge Request ID]
## Expected Results
- [Outcome 1]: [What should happen].
- [Outcome 2]: [Another expected result].
## Environment
- **OS**: [e.g., Windows 10]
- **Version/Branch**: [e.g., v1.2.3]
## Additional Context
Attach any logs, screenshots, or context.
/label ~"type::testing"
<!-- Title: Provide a concise and descriptive title for the issue incl. tool or library name -->
# TODO
## Summary
Briefly describe the task. Provide any background information or related issues.
## Subtasks
- [ ] Step 1
- [ ] Step 2
- [ ] Step 3
## Acceptance Criteria
- [ ] Define measurable outcomes for success.
- [ ] List specific requirements.
/label ~"type::todo"
<!-- Title: Use an imperative, clear title (e.g., "Fix login bug" or "Add new analytics feature") -->
## Description
Provide a concise explanation of the changes made in this merge request.
## Related Issue(s)
- Closes #[feature issues]
- Fixes #[bug report issue]
- Resolves #[any other issues]
### Other Changes
- [Mention refactoring, tests, etc.]
## Screenshots/Logs
Attach screenshots or log outputs if applicable.
## Testing Instructions
1. [Step 1: How to test]
2. [Step 2: Expected outcome]
3. [Step 3: Additional steps if required]
## Developer Checklist
- [ ] Code has been tested locally and/or in pipeline.
- [ ] (if applicable) documentation updated.
- [ ] (if applicable) impact of new dependencies reviewed and included in project.
- [ ] Merge conflicts resolved with the target branch.
## Additional Notes
Add any information reviewers should focus on, e.g., specific files, functions, or changes of interest.
[submodule "libs"]
path = libs
url = ssh://git@git.rwth-aachen.de/unicado/libraries.git
\ No newline at end of file
# Set a recent minimum version
cmake_minimum_required(VERSION 3.29)
# Start the project
project(aircraft_design
VERSION 2.1.0
DESCRIPTION "Calculate all the things!"
LANGUAGES CXX
)
# set the C++ standard
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)
# When GCC is used, check if the version is 10.2.0 or higher
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# Check GCC to have filesystem support
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10.2.0)
message(FATAL_ERROR "[${PROJECT_NAME}] -> GCC version 10.2.0 or higher is required!")
endif()
endif()
# Disable the min and max macros when building with MSVC
if(MSVC)
add_compile_definitions(NOMINMAX)
endif()
# *optional* Add cppcheck and cpplint
# set(CMAKE_CXX_CPPCHECK "cppcheck")
# set(CMAKE_CXX_CPPLINT "cpplint")
# Option for blackbox testing
option(BUILD_BLACKBOXTESTS "Use blackbox testing" OFF)
# Option for unit testing
option(BUILD_UNITTEST "Use unit testing" OFF)
# Option where to look for the libraries
option(FIND_LIBRARIES_AS_PACKAGE "If true the libraries are included with find_package(), otherwise the submodule is used." OFF)
# Option to compile Python modules to an executable
option(BUILD_PYTHON_MODULES "If true the python modules will be compiled to executables." OFF)
# Get pipenv for compiling python modules
# This has to be done before the libraries are added since pipenv will install our python libraries
if(NOT PIPENV)
find_program(PIPENV pipenv)
if(PIPENV)
message(STATUS "[${PROJECT_NAME}] -> Python/pipenv found. Updating required packages from Pipfile...")
# User can set a specific python executable
if(DEFINED Python_EXECUTABLE)
message(STATUS "[${PROJECT_NAME}] -> Using Python executable: ${Python_EXECUTABLE}")
execute_process(
COMMAND ${PIPENV} --python ${Python_EXECUTABLE}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} # Execute in the top level source directory
OUTPUT_QUIET ERROR_QUIET
)
endif()
# Update the pipenv environment
execute_process(
COMMAND ${PIPENV} update
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} # Execute in the top level source directory
OUTPUT_QUIET ERROR_QUIET
)
else()
message(WARNING "[${PROJECT_NAME}] -> Python/pipenv not found. Python packages will not be available!")
endif()
else()
message(STATUS "[${PROJECT_NAME}] -> skipping pipenv update since it is already found...")
endif()
# *** Important ***
# Add the libraries
if (FIND_LIBRARIES_AS_PACKAGE)
find_package(UnicadoLibs REQUIRED)
else()
add_subdirectory(libs)
endif()
# === External dependencies ===
include(FetchContent)
# Make matplot++ available when it is already installed or by downloading it
find_package(Matplot++ QUIET)
if(NOT Matplot++_FOUND)
# Inform user
message(STATUS "[${PROJECT_NAME}] -> Matplot++ not found. Downloading it...")
# Declare the source for matplot++
FetchContent_Declare(matplotplusplus
GIT_REPOSITORY https://github.com/alandefreitas/matplotplusplus
GIT_TAG v1.2.1)
# Get the source
FetchContent_GetProperties(matplotplusplus)
if(NOT matplotplusplus_POPULATED)
FetchContent_Populate(matplotplusplus)
add_subdirectory(${matplotplusplus_SOURCE_DIR} ${matplotplusplus_BINARY_DIR} EXCLUDE_FROM_ALL)
endif()
# Disable the pedantic warnings when building Matplot++
set(MATPLOTPP_BUILD_WITH_PEDANTIC_WARNINGS OFF)
else()
# Inform user
message(STATUS "[${PROJECT_NAME}] -> Matplot++ found.")
endif()
# Check if gnuplot is installed
find_package(Gnuplot QUIET)
if(NOT Gnuplot_FOUND)
# Inform user
message(STATUS "[${PROJECT_NAME}] -> Gnuplot not found. Please install at least version 6.0.1")
elseif(GNUPLOT_VERSION_STRING VERSION_LESS 6.0.1)
# Inform user
message(STATUS "[${PROJECT_NAME}] -> Gnuplot found but version ${GNUPLOT_VERSION_STRING} too low. Please install at least version 6.0.1")
else()
# Inform user
message(STATUS "[${PROJECT_NAME}] -> Gnuplot version ${GNUPLOT_VERSION_STRING} found.")
endif()
#=== Googletest setup ===
if(BUILD_BLACKBOXTESTS OR BUILD_UNITTEST)
message(STATUS "[${PROJECT_NAME}] -> Building tests")
# Download and unpack googletest at configure time
FetchContent_Declare(googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG v1.13.0
)
# For Windows: Prevent overriding the parent project's compiler/linker settings
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)
# *optional* Add gtest to ctest
# enable_testing()
# include(GoogleTest)
endif()
# Add all modules
add_subdirectory(initial_sizing)
add_subdirectory(create_mission_xml)
add_subdirectory(fuselage_design)
add_subdirectory(empennage_design)
add_subdirectory(wing_design)
add_subdirectory(tank_design)
add_subdirectory(propulsion_design)
add_subdirectory(landing_gear_design)
add_subdirectory(aerodynamic_analysis)
add_subdirectory(systems_design)
add_subdirectory(mission_analysis)
add_subdirectory(weight_and_balance_analysis)
add_subdirectory(ecological_assessment)
add_subdirectory(cost_estimation)
add_subdirectory(performance_assessment)
add_subdirectory(constraint_analysis)
{
"version": 6,
"configurePresets": [
{
"name": "unix-common",
"description": "Common settings for Unix compilers",
"hidden": true,
"binaryDir": "${sourceDir}/build",
"cacheVariables": {
"CMAKE_CXX_FLAGS": "-fexceptions -fno-builtin"
}
},
{
"name": "unix-debug",
"description": "Base settings for building debug configuration with Unix compilers.",
"hidden": true,
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_CXX_FLAGS_DEBUG": "-Wextra -Wsign-conversion -Wfloat-equal -g"
}
},
{
"name": "unix-release",
"description": "Base settings for building release configuration with Unix compilers.",
"hidden": true,
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_CXX_FLAGS_RELEASE": "-O2 -s"
}
},
{
"name": "windows-common",
"description": "Common settings for Windows compilers",
"hidden": true,
"binaryDir": "${sourceDir}/build",
"generator": "Visual Studio 17 2022",
"toolset": "ClangCL",
"toolchainFile": "C:/dev/vcpkg/scripts/buildsystems/vcpkg.cmake",
"cacheVariables": {
"Python_EXECUTABLE": {"type": "FILEPATH", "value": "$ENV{HOMEDRIVE}$ENV{HOMEPATH}/AppData/Local/Programs/Python/Python311/python.exe"},
"CMAKE_CXX_FLAGS": "/permissive- /EHsc"
}
},
{
"name": "windows-debug",
"description": "Base settings for building debug configuration with Windows compilers.",
"hidden": true,
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_CXX_FLAGS_DEBUG": "/W4"
}
},
{
"name": "windows-release",
"description": "Base settings for building release configuration with Windows compilers.",
"hidden": true,
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_CXX_FLAGS_RELEASE": "/O2"
}
},
{
"name": "x64-linux-debug",
"description": "Default debug configuration for building on Linux",
"generator": "Unix Makefiles",
"inherits": ["unix-common", "unix-debug"]
},
{
"name": "x64-linux-release",
"description": "Default release configuration for building on Linux",
"generator": "Unix Makefiles",
"inherits": ["unix-common", "unix-release"]
},
{
"name": "x64-mingw-debug",
"description": "Default debug configuration for building with MSYS2/MinGW on Windows",
"generator": "MinGW Makefiles",
"inherits": ["unix-common", "unix-debug"]
},
{
"name": "x64-mingw-release",
"description": "Default release configuration for building with MSYS2/MinGW on Windows",
"generator": "MinGW Makefiles",
"inherits": ["unix-common", "unix-release"]
},
{
"name": "x64-windows-debug",
"description": "Default debug configuration for building on Windows",
"architecture": "x64",
"inherits": ["windows-common", "windows-debug"]
},
{
"name": "x64-windows-release",
"description": "Default release configuration for building on Windows",
"architecture": "x64",
"inherits": ["windows-common", "windows-release"]
}
],
"buildPresets": [
{
"name": "x64-linux-debug",
"description": "Sets the build type to Debug for the Linux build system.",
"configurePreset": "x64-linux-debug"
},
{
"name": "x64-linux-release",
"description": "Sets the build type to Release for the Linux build system.",
"configurePreset": "x64-linux-release"
},
{
"name": "x64-windows-debug",
"description": "Sets the build type to Debug for the Windows build system.",
"configurePreset": "x64-windows-debug",
"configuration": "Debug"
},
{
"name": "x64-windows-release",
"description": "Sets the build type to Release for the Windows build system.",
"configurePreset": "x64-windows-release",
"configuration": "Release"
}
]
}
# UNICADO Codeowners - tool specific ownership
# Design tools
create_mission_xml/ @gPauls-TUHH
empennage_design/ @ChrisRuw @AndiGob
fuselage_design/ @AndiGob
initial_sizing/ @ellen.seabrooke @johannes.schneider
landing_gear_design/ @AndiGob
propulsion_design/ @tobi747 @meric.taneri
systems_design/ @ellen.seabrooke
tank_design/ @s-roscher
wing_design/ @ChrisRuw
# Analysis tools
aerodynamic_analysis/ @lukas.neuerburg @Florian.Schueltke
mission_analysis/ @kbistreck @gPauls-TUHH
weight_and_balance_analysis/ @timi97tp @ChrisRuw
constraint_analysis/ @meric.taneri
# Assessment tools
cost_estimation/ @s-roscher
ecological_assessment/ @kbistreck
flight_mechanic_assessment/ @ChrisRuw
performance_assessment/ @philipp.hansmann
LICENSE 0 → 100644
This diff is collapsed.
Pipfile 0 → 100644
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
pyinstaller = "*"
numpy = "*"
ambiance = "*"
matplotlib = "*"
termcolor = "*"
yattag = "*"
bs4 = "*"
pandas = "*"
openpyxl = "*"
[dev-packages]
[requires]
python_version = "3.11"
This diff is collapsed.
# Welcome to UNICADO Aircraft Design Repository :airplane:
The aircraft design repository collect all the sizing tools and analysis tools which are needed for the conceptual aircraft design and assessment process.
> &rarr; Checkout your [UNICADO website](https://unicado.io/) for more information!
## Installation
### For User
You want to use UNICADO to get familiar with the workflow and see first results? Great :fire: Then check out the [Installation Guide](https://unicado.pages.rwth-aachen.de/unicado.gitlab.io/download/installation/) and the [Cleared for Take-Off](https://unicado.pages.rwth-aachen.de/unicado.gitlab.io/download/takeoff/). It includes the prerequisites, troubleshooting hints and a standalone installer.
### For Developer
We welcome contributions! :sparkles: Please read our [developer guide](https://unicado.pages.rwth-aachen.de/unicado.gitlab.io/developer/developer-installation/). It explains step-by-step what you need to install, how to get the source code, how to build it, how to contribute and how to create the installer.
## License
This project is licensed under the GNU General Public License, Version 3 License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments and Funding
This project is a collaborative effort by
- RWTH Aachen, Chair and Institute of Aerospace Systems
- TU Berlin
- Aircraft Design and Aerostructures
- Flight Mechanics, Flight Control and Aeroelasticity
- TU Braunschweig, Chair of Overall Aircraft Design
- TU Hamburg, Institute of Air Transportation Systems
- TU Munich, Chair of Aircraft Design
- University of Stuttgart, Institute of Aircraft Design
including its associated partner
- Airbus SE
- Collins Aerospace
- TGM Lightweight Solutions GmbH
and is funded by the Federal Ministry of Economic Affairs and Climate Action on the basis of a decision by the German Bundestag.
## Contact
For questions or support, feel free to contact us :email: **E-Mail:** [contacts@unicado.io](mailto:contacts@unicado.io).
# Set name of executable
set(MODULE_NAME aerodynamic_analysis)
# ==============================================
# Add the module executable
#
# *** IMPORTANT ***
# -> Change *.cpp files according to the module
# -> Add main.cpp later since this list is also
# used for the tests
# ==============================================
set(MODULE_SOURCES
src/calculatePolar.cpp
src/polar.cpp
src/flightCondition.cpp
src/taw/tawCalculatePolar.cpp
src/taw/tawDefaultData.cpp
src/taw/tawCalculatePolarConfig.cpp
src/taw/tawDefaultStrategy.cpp
src/taw/tawCalculatePolarReport.cpp
src/laminarTAW/laminarTAWCalculatePolar.cpp
src/laminarTAW/laminarTAWConfig.cpp
src/laminarTAW/HLFCData.cpp
src/laminarTAW/HLFCStrategy.cpp
src/bwb/bwbCalculatePolar.cpp
src/bwb/bwbDefaultData.cpp
src/bwb/bwbCalculatePolarConfig.cpp
src/bwb/bwbDefaultStrategy.cpp
src/methods/viscDragRaymer.cpp
src/methods/liftingLinePolar.cpp
src/methods/liftingLineForTAW.cpp
src/methods/semiEmpiricalHighLiftAdaption.cpp
src/methods/trimInterpolation.cpp
src/methods/waveDragMason.cpp
src/methods/generalMethods/auxFunctions.cpp
)
add_executable(${MODULE_NAME}
${MODULE_SOURCES}
src/main.cpp
src/resources.rc
)
# Set compile options specific to this module
target_compile_definitions(${MODULE_NAME} PRIVATE USE_GNUPLOT)
# Link the runtime libraries -> Use the actual needed libraries
target_link_libraries(${MODULE_NAME}
PRIVATE
UnicadoLibs::svl
UnicadoLibs::runtimeInfo
UnicadoLibs::standardFiles
UnicadoLibs::aixml
UnicadoLibs::aircraftGeometry2
UnicadoLibs::atmosphere
UnicadoLibs::liftingLineInterface2
UnicadoLibs::moduleBasics
Matplot++::matplot
)
# Set the location where the executable will be placed to the current source directory
set_target_properties(${MODULE_NAME} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}$<0:>
)
# Add the tests if enabled
if((BUILD_UNITTEST OR BUILD_BLACKBOXTESTS) AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test/CMakeLists.txt")
add_subdirectory(test)
endif()
# Download LiftingLine
add_subdirectory(LiftingLine)
# Add the installation rules
install(TARGETS ${MODULE_NAME} DESTINATION ${MODULE_NAME})
if(WIN32)
install(FILES
${MODULE_NAME}_conf.xml
gmp-10.dll
mpfr-6.dll
DESTINATION ${MODULE_NAME})
else()
install(FILES
${MODULE_NAME}_conf.xml
DESTINATION ${MODULE_NAME})
endif()
install(
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/LiftingLine
DESTINATION ${MODULE_NAME}
PATTERN "*CMakeLists*" EXCLUDE
)
# Find and include all dependet libraries if dynamically linked
if(BUILD_SHARED_LIBS)
# Install the runtime dependencies
install(RUNTIME_DEPENDENCY_SET ${MODULE_NAME}_dependencies)
endif()
# Find and include all system runtime libraries if enabled
if(PACKAGE_SYSTEM_LIBRARIES)
# Install the runtime dependencies
install( RUNTIME_DEPENDENCY_SET ${MODULE_NAME}_dependencies
PRE_INCLUDE_REGEXES "libgcc.*" "libstdc.*" "libwinpthread.*"
PRE_EXCLUDE_REGEXES ".*\.dll" ".*\.so" # Skip all other system libs for now
DIRECTORIES ${SYSTEM_LIBS_PATH}
DESTINATION ${MODULE_NAME}
)
endif()
# Set the project name
project(LiftingLine)
# Check operating system
message(STATUS "Check operating system for Lifting Line download uri -> ${CMAKE_SYSTEM_NAME}")
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
# set download URL
set(FILE_URL "https://ceras.ilr.rwth-aachen.de/tiki/tiki-download_file.php?fileId=74")
# set output file
set(OUTPUT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/LIFTING_LINE_WINDOWS_64BIT.exe")
else()
# set download URL
set(FILE_URL "https://ceras.ilr.rwth-aachen.de/tiki/tiki-download_file.php?fileId=76")
# set output file
set(OUTPUT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/LIFTING_LINE_LINUX_64BIT")
endif()
# Check if the file exists
if(NOT EXISTS ${OUTPUT_FILE})
# Download file
message(STATUS "Downloading Lifting Line ...")
file(DOWNLOAD
${FILE_URL}
${OUTPUT_FILE}
SHOW_PROGRESS
STATUS DOWNLOAD_STATUS)
# Check download status status
list(GET DOWNLOAD_STATUS 0 STATUS_CODE)
list(GET DOWNLOAD_STATUS 1 STATUS_MESSAGE)
# Print the result of download status
if(STATUS_CODE EQUAL 0)
message(STATUS "File downloaded ${STATUS_MESSAGE} -> ${OUTPUT_FILE}")
# Update file rights on none windows systems
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
message(STATUS "Changing file rights to r-xr--r--")
file(CHMOD ${OUTPUT_FILE}
FILE_PERMISSIONS OWNER_EXECUTE OWNER_READ GROUP_READ WORLD_READ)
endif()
else()
message(FATAL_ERROR "Download failed with message: ${STATUS_MESSAGE}")
endif()
else()
message(STATUS "File already exists -> ${OUTPUT_FILE}, skipping download.")
endif()
<ConfigFile Name="liftingLine_conf.xml">
<LiftingLine Desc="Settings for LiftingLine">
<ProgramShortName Desc="Short name of program LiftingLine is used in">calcPolar</ProgramShortName>
<LiftingLineVersion Desc="Current version of LiftingLine">3.1</LiftingLineVersion>
<LiftingLinePath Desc="Path to LIFTING_LINE (incl. file type); default: LiftingLine/LIFTING_LINE_[WINDOWS/LINUX]_64BIT.EXE">default</LiftingLinePath>
<LiftingLineConsoleOutput>0</LiftingLineConsoleOutput>
<TecplotOutput>1</TecplotOutput>
<ErrorHandling Desc="Handling num. LL errors, 0: exit(1), 1: Use existing polars, exit(777), 2: no exit" Default="0">0</ErrorHandling>
<Paneling Desc="Configuration of paneling">
<ChordwisePanels Desc="Panels in chordwise direction" Unit="-" Default="11">11</ChordwisePanels>
<SpanwiseAddPanels Desc="Panels in spanwise direction (in addition to wing segments)" Unit="-" HTPFactor="0.5" Default="10">10</SpanwiseAddPanels>
<MinSpanPanelsPerSegment Desc="Min. number of spanwise panels per segment" Unit="-" MinValueTip="5" Default="3">3</MinSpanPanelsPerSegment>
</Paneling>
<TwistDistrType Desc="T_DISTR S. 35, 0: linear twist, 1: linear geo strak" Default="1">1</TwistDistrType>
<UntwistFslgSegment Desc="Switch to untwist fuselage segment" Unit="-" Default="1">1</UntwistFslgSegment>
<ReferenceArea Desc="Reference area for force coefficients; 0: Aref is calculated from geometry" Unit="m^2" Default="0">0</ReferenceArea>
<ReferenceSpan Desc="Reference span for force coefficients; 0: bref is calculated from geometry" Unit="m" Default="0">0</ReferenceSpan>
<SpanForScale Desc="Scaling of wing span; 1: no scaling" Unit="-" Default="1">1.0</SpanForScale>
<maxRuntime Desc="Max runtime in minutes" Unit="min" Default="10">10</maxRuntime>
<PolarConfig Desc="Description of the polars to be calculated">
<Beta Desc="Sideslip" Unit="deg" Default="0">0</Beta>
<NumbAoAs Desc="Number of angles of attack" Default="10">10</NumbAoAs>
<AoA ID="1" Desc="Angle of attack" Unit="deg" Default="0">-6</AoA>
<AoA ID="2" Desc="Angle of attack" Unit="deg" Default="0">-4</AoA>
<AoA ID="3" Desc="Angle of attack" Unit="deg" Default="0">-2</AoA>
<AoA ID="4" Desc="Angle of attack" Unit="deg" Default="0">0</AoA>
<AoA ID="5" Desc="Angle of attack" Unit="deg" Default="0">2</AoA>
<AoA ID="6" Desc="Angle of attack" Unit="deg" Default="0">4</AoA>
<AoA ID="7" Desc="Angle of attack" Unit="deg" Default="0">6</AoA>
<AoA ID="8" Desc="Angle of attack" Unit="deg" Default="0">8</AoA>
<AoA ID="9" Desc="Angle of attack" Unit="deg" Default="0">10</AoA>
<AoA ID="10" Desc="Angle of attack" Unit="deg" Default="0">12</AoA>
<NumbLiftCoefficients Desc="Number of lift coefficients" Default="0">0</NumbLiftCoefficients>
<LiftCoefficient ID="1" Desc="Lift coefficient" Unit="-" Default="0">0</LiftCoefficient>
</PolarConfig>
</LiftingLine>
</ConfigFile>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment