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

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

Built distribution (wheel)

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

Total release size: 3.5 MB

Release files / flapjax-1.3.0.tar.gz

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

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

This release

1.3.0 This release

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