Skip to main content

FLAPJAX — FLexible Aeroelastic Panel code in JAX

nonlinear · differentiable · adjoint-enabled

Tests cov Docs PyPI Python

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.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flapjax 1.2.2
File Size Uploaded
flapjax-1.2.2.tar.gz 3.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for flapjax 1.2.2
File Interpreter ABI Platform
flapjax-1.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 3.5 MB

Release files / flapjax-1.2.2.tar.gz

Download URL flapjax-1.2.2.tar.gz
Size 3.2 MB
Tags Source
SHA-256 checksum
How to use checksums
e4ac51481e297c579143f4c354ee9dda54b7ca6991cc8b74e3392ebf508a6290
BLAKE2b-256 checksum
How to use checksums
d15fc218d4b282a158ad19bbaaf9d787a52dc621c246e1f120332edf1485ce20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.2-py3-none-any.whl

Download URL flapjax-1.2.2-py3-none-any.whl
Size 233.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
47cdb8f11fe48b7549cad52af60d12e83f8c0667fc4ee0d1392669a7cd04b670
BLAKE2b-256 checksum
How to use checksums
dc4a7d29140d03ecddbeae931962692edcbea1ceafd3173236a757f53bfbaf80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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 history Release notifications | RSS feed

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

This release

1.2.2 This release

2 release files

1.2.0

2 release files

1.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page