General remarks¶
Hint
This part of the documentation is intended to give additional information for someone who would like to develop the PyTornado code. Notice that the user guide is found here: User guide.
Programming languages¶
- PyTornado is written in Python and C++
- All Python code is compatible with version >=3.6
- The C++ code is integrated using Python’s native C/C++ extension API
Program file structure¶
The source code is divided into library code (folder lib/
) and executable code (folder bin/
). The bin/
folder contains the pytornado
command line tool which makes use of the library code.
Library code¶
The PyTornado library is partitioned into files (modules) and folders (packages). Related functions exist within the same module, and related modules are grouped within the same package. Short package descriptions:
- aero Core VLM functions (lattice generation, setting up system of equations, etc.).
- fileio All functions related to reading and writing file.
- object Main PyTornado objects like the aircraft or state.
- plot Functions related to visualisations.
- stdfun Standard top-level procedures, for instance to run a full PyTornado analysis.
Main PyTornado objects¶
PyTornado is written in an object orientated style. There are several objects which turn up in many places in the PyTornado code base. A brief overview:
- Aircraft
- Settings
- State
- VLMLattice
- VLMData