Skip to main content

A library for paraglider dynamics modeling and simulation

Project description

A Python library for estimating the flight dynamics of gliding aircraft.

To simplify its use in common engineering applications (such as control modeling and statistical filtering), the glider dynamics are encoded as differential equations (ẋ = f(x, u)).

Key Features

Modeling

  • Novel wing geometry model optimized for nonlinear designs

  • Paraglider component models parametrized by basic technical data

  • Paraglider system models that accept all three primary control inputs: brakes, accelerator, and weight shift (direct manipulation of the risers and individual lines is not supported)

  • Stateless models that are easy understand, use, extend, and test

Aerodynamics

  • Nonlinear aerodynamics using a fast nonlinear lifting-line theory model

  • Graceful accuracy degradation near stall (important for paragliders, which frequently operate at relatively high angles of attack)

  • Supports non-uniform wind fields and non-uniform wind vectors along the aerodynamic surfaces, enabling simulations involving local wind sheer, thermal lift and sink, wing rotation, etc.

  • Includes paraglider system dynamics models that account for apparent mass (nonlinear dynamics due to the motion of an object through a fluid that become more significant for low-density volumes such as parafoils)

Usability

  • Flight dynamics are encoded as numerical state derivatives, providing a simple model interface

  • Includes a rudimentary simulator for generating flight trajectories from predefined wing control and wind field inputs

  • Open source with a permissive license, built using the Python scientific computing stack (NumPy, SciPy, and Numba). Usable from within embedded Python interpreters, such as the Python consoles in Blender and FreeCAD.

Non-features

Equally important is what it does not do:

  • The library is not suitable for studying behaviors involving turbulence, wing deformations, rapid wing maneuvers, or post-stall behaviors.

  • The library is not a structural simulator. The models are not adequate for designing or testing the structural integrity of a design; they assume rigid-body dynamics without estimating internal forces. (For example, it neglects suspension line tension, cell billowing, canopy wrinkling, etc.)

  • The library is not focused on engineering control input sequences or wind field models. The bundled simulator is for executing simulations given some inputs, not for designing them.

  • The library is not focused on execution time. Although speed is important, the design prioritizes readability, functionality, and flexibility.

Installation

To install the latest release of the package into a Python virtual environment:

$ pip install pfh.glidersim

Or, for the latest development version:

$ pip install git+https://github.com/pfheatwole/glidersim

Documentation

  • Design overview: for the background and architecture of the library, refer to the design guide.

  • Examples: to use the library to build glider models or run flight simulations, refer to the usage guide.

  • API: to program using the library, refer to the library reference.

  • Derivations: for a deeper discussion of the modeling choices, mathematical derivations, and literature references, refer to my thesis: Parametric Paraglider Modeling.

Disclaimer

This software has been stable for my purposes, but should be considered “alpha” quality. The design (including the API) needs more users to test it before it could be considered stable. Also the estimates produced by the nonlinear aerodynamics method needs more verification.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pfh.glidersim-2022.3.0a0.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pfh.glidersim-2022.3.0a0-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file pfh.glidersim-2022.3.0a0.tar.gz.

File metadata

  • Download URL: pfh.glidersim-2022.3.0a0.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.3

File hashes

Hashes for pfh.glidersim-2022.3.0a0.tar.gz
Algorithm Hash digest
SHA256 a6c474ce94b550aa93ac0dbff397edf3fa815e043475be0b240f316e19570118
MD5 bad43b69e93fc1903d0cbcf92120b831
BLAKE2b-256 133d44f371959329679f461138a4390ba545a6854acd4e467b5c39098a5a2a79

See more details on using hashes here.

File details

Details for the file pfh.glidersim-2022.3.0a0-py3-none-any.whl.

File metadata

  • Download URL: pfh.glidersim-2022.3.0a0-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.3

File hashes

Hashes for pfh.glidersim-2022.3.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 aef75079aea2473db9830d6fe733cd272990da7f297b7d1a94764e3da602e5a0
MD5 6239fbb80b2667e0e0619db4f89be7c9
BLAKE2b-256 78052c657af97ec2e15cb5ff73fb91b8c86b8e217f9a7cc660d1b7c793e482ef

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page