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

See also

For more details on the C/C++ API see

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

PyTornado module descriptions