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.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.3.2
File Size Uploaded
flapjax-1.3.2.tar.gz 2.0 MB Details

Built distribution (wheel)

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

Total release size: 2.3 MB

Release files / flapjax-1.3.2.tar.gz

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

Download URL flapjax-1.3.2-py3-none-any.whl
Size 247.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
190463a4cda6ec5c2e4dac984f77613594cc8da6e740c1be1cb058f7532f50aa
BLAKE2b-256 checksum
How to use checksums
ae28857ad56f3f9e48274e717869a7c5a6e5eb6704781805e3923406c847ee12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.14 {"installer":{"name":"uv","version":"0.12.14","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

This release

1.3.2 This release

2 release files

1.3.1

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