Metadata-Version: 2.5
Name: flapjax
Version: 0.1.1
Summary: Solver for computing aeroelastic responses and corresponding design derivatives.
Project-URL: Homepage, https://ben-l-p.github.io/flapjax/
Project-URL: Documentation, https://ben-l-p.github.io/flapjax/
Project-URL: Repository, https://github.com/ben-l-p/flapjax
Project-URL: Issues, https://github.com/ben-l-p/flapjax/issues
Author-email: Ben Preston <b.preston23@imperial.ac.uk>
License-Expression: MIT
License-File: LICENSE
Keywords: adjoint methods,aeroelasticity,nonlinear beam,unsteady vortex lattice method
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.12
Requires-Dist: jax>=0.9
Requires-Dist: matplotlib>=3.10
Requires-Dist: numpy>=2.4
Requires-Dist: scipy>=1.17
Requires-Dist: vtk>=9.6
Description-Content-Type: text/markdown

# FLAPJAX — FLexible Aeroelastic Panel code in JAX

*nonlinear · differentiable · adjoint-enabled*

![Tests](https://github.com/ben-l-p/flapjax/actions/workflows/python_package.yml/badge.svg)
[![cov](https://ben-l-p.github.io/flapjax/badges/coverage.svg)](https://github.com/ben-l-p/flapjax/actions)
[![Docs](https://img.shields.io/badge/docs-mkdocs-blue)](https://ben-l-p.github.io/flapjax/)
[![PyPI](https://img.shields.io/pypi/v/flapjax)](https://pypi.org/project/flapjax/)
![Python](https://img.shields.io/python/required-version-toml?tomlFilePath=https://raw.githubusercontent.com/ben-l-p/flapjax/main/pyproject.toml)

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](https://ben-l-p.github.io/flapjax/).

## Installation

Installation is available using PyPi with:

```bash
pip install flapjax
```

Cloning the full repository and installing with uv is also supported, which allows for development installation:

```bash
uv sync
```

An extensive test suite is included to verify the correctness of the code. This verified the numerics, and takes
approximately 30 minutes to run on an M2 MacBook Air. Tests can be run using pytest.

```bash
uv run pytest
```



