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 40 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.3.1

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.3.1
File Size Uploaded
flapjax-1.3.1.tar.gz 3.1 MB Details

Built distribution (wheel)

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

Total release size: 3.3 MB

Release files / flapjax-1.3.1.tar.gz

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

Download URL flapjax-1.3.1-py3-none-any.whl
Size 242.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
849ae9ab346c8287da390ede95f1d7d13d03dbb1f44db97e3de60fa870c3f41b
BLAKE2b-256 checksum
How to use checksums
3968cbff7693cdb135efb60a17f928edd9fa4159654c85912b6b8069339bd313
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","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

This release

1.3.1 This release

2 release files

1.3.0

2 release files

1.2.2

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