This release is a pre-release and may not be stable for production use.
FLAPJAX — FLexible Aeroelastic Panel code in JAX
nonlinear · differentiable · adjoint-enabled
FLAPJAX is a differentiable nonlinear aeroelastic analysis framework which couples a nonlinear structural model with unsteady vortex lattice method (UVLM) aerodynamics. This allows for a range of structural, aerodynamic and coupled analyses, with gradients available using the adjoint method. The full codebase is implemented in JAX, which allows for efficient automatic differentiation, GPU acceleration and multi-case parallelisation.
Full documentation, including tutorials, API reference and theory, is available at ben-l-p.github.io/flapjax.
Installation
Two PyPI distributions are provided:
| Package | Contents |
|---|---|
flapjax |
Library only |
flapjax-full |
Library + test suite + tutorial notebooks |
Install one distribution — they provide the same flapjax import path.
pip install flapjax # minimal
pip install flapjax-full # includes tests and tutorial notebooks
Cloning the full repository and installing with uv is also supported, which allows for development installation:
uv sync
An extensive test suite is included to verify the correctness of the code. This verifies the numerics, and takes
approximately 30 minutes to run on an M2 MacBook Air. Tests can be run with pytest, either against a flapjax-full
install (pytest --pyargs flapjax) or from a repository clone (uv run pytest).
Release files for flapjax 1.2.0.dev0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flapjax-1.2.0.dev0.tar.gz | 3.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flapjax-1.2.0.dev0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.4 MB
Release files / flapjax-1.2.0.dev0.tar.gz
| Download URL | flapjax-1.2.0.dev0.tar.gz |
|---|---|
| Size | 3.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7fae304044df2c856ef1d9d99fd27bac3a19dd27545e9fc41498fc72992daa5d
|
|
BLAKE2b-256 checksum How to use checksums |
cb297a54cda17033652a2b5d6940e8df0e2658d55f534d5c6315bc96f3bb373c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / flapjax-1.2.0.dev0-py3-none-any.whl
| Download URL | flapjax-1.2.0.dev0-py3-none-any.whl |
|---|---|
| Size | 220.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
42bb96b3b366341f935ba7dbac5d92cd266c59eaa94738e9288df7d09f207e42
|
|
BLAKE2b-256 checksum How to use checksums |
a8ac13926e2da4fe0575c43be525dc0f9e44146477301a863ef127797e7eb5b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|