Skip to main content

A GPU-accelerated finite element analysis framework with JAX.

Project description

FEAX

License Python JAX logo

FEAX (Finite Element Analysis with JAX) is a compact, high-performance finite element analysis engine built on JAX. It provides an API for solving partial differential equations on XLA.

What is FEAX?

FEAX combines automatic differentiation with finite element methods. It's designed for:

  • Differentiable Physics: Compute gradients through entire FE simulations for optimization, inverse problems, and machine learning
  • High Performance: JIT compilation and vectorization through JAX for maximum computational efficiency

JAX Transformations in FEAX

JAX Transformations

FEAX leverages JAX's powerful transformation system to enable:

  • Automatic Differentiation: Compute exact gradients through finite element solvers
  • JIT Compilation: Compile to optimized machine code for maximum performance
  • Vectorization: Efficiently process multiple scenarios in parallel with vmap
  • Parallelization: Scale across multiple devices with pmap

Installation

pip install feax[cuda12]
pip install --no-build-isolation git+https://github.com/Naruki-Ichihara/spineax.git

Note: spineax requires CUDA toolkit and cuDSS to be available at build time. The --no-build-isolation flag is required so that spineax can find JAX and NVIDIA libraries installed by feax[cuda12].

feax.flat

Flat (Feax Lattice) is a utility for asymptotic homogenization of lattice unit cell.

feax.gene

Gene (Generative design in FEAX) is a comprehensive toolkit for topology optimization and generative design. It provides efficient, JAX-native implementations of common topology optimization components.

Key Features

  • Response Functions: Compliance and volume fraction calculations optimized for topology optimization
  • Filtering Methods:
    • PDE-based Helmholtz filter for smooth, physically-motivated designs
    • Distance-based density filter for efficient spatial smoothing
    • Sensitivity filter for mesh-independent gradient smoothing
  • Constrained Optimization: MDMM (Modified Differential Multiplier Method) for handling equality and inequality constraints with automatic differentiation
  • Pure JAX Implementation: Fully differentiable and compatible with optax optimizers

License

FEAX is licensed under the GNU General Public License v3.0. See LICENSE for the full license text.

Acknowledgments

FEAX builds upon the excellent work of:

  • JAX for automatic differentiation and compilation
  • JAX-FEM for inspiration and reference implementations

logo

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

feax-0.1.0.tar.gz (89.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

feax-0.1.0-py3-none-any.whl (96.4 kB view details)

Uploaded Python 3

File details

Details for the file feax-0.1.0.tar.gz.

File metadata

  • Download URL: feax-0.1.0.tar.gz
  • Upload date:
  • Size: 89.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for feax-0.1.0.tar.gz
Algorithm Hash digest
SHA256 08b508028dddf03bc8b2a515fea4987422b8f1ded35ee44ce2950f83d393b018
MD5 2dcaef6aa0af413c2fb9ef708e9c20ba
BLAKE2b-256 feac1c62111fe3bfab02676f942db20cf8d324520b7bc15ef27b124c68cec161

See more details on using hashes here.

File details

Details for the file feax-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: feax-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 96.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for feax-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fa985cea373e9df0389eeaf24e2edd534479bec75b50edd22755dda0416d85fb
MD5 b5cba19a2bd3108594af492908a94f8c
BLAKE2b-256 6db9bdefec3f8cf2643f220c20878d7e4febb80ff3b69d0a5a355769ec72aaba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page