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

Use pip to install:

pip install feax

To install the latest commit from the main branch:

pip install git+https://github.com/Naruki-Ichihara/feax.git@main

Documentation

feax.flat

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

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.0.6.dev13.tar.gz (4.7 MB view details)

Uploaded Source

Built Distribution

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

feax-0.0.6.dev13-py3-none-any.whl (107.4 kB view details)

Uploaded Python 3

File details

Details for the file feax-0.0.6.dev13.tar.gz.

File metadata

  • Download URL: feax-0.0.6.dev13.tar.gz
  • Upload date:
  • Size: 4.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for feax-0.0.6.dev13.tar.gz
Algorithm Hash digest
SHA256 535b1eb408b64c89244afe03519dd35ec8ff62de3f51bd24bf8dd820daa92752
MD5 e3253bb12974fd73904dd8b33b9e723f
BLAKE2b-256 a74c59f4a06a7fbd5849834183fd6609647a404b9b1a83416af5a53b1b81d101

See more details on using hashes here.

File details

Details for the file feax-0.0.6.dev13-py3-none-any.whl.

File metadata

  • Download URL: feax-0.0.6.dev13-py3-none-any.whl
  • Upload date:
  • Size: 107.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.0.6.dev13-py3-none-any.whl
Algorithm Hash digest
SHA256 25dc9ed16e963a3c153c5e60799a3267f0c9a70f504e3a94911117cd853796f5
MD5 4a1a0f1cc74070b85f21731e89687e65
BLAKE2b-256 75571ac6440216828bbfe577184c597c25137ce54a3b94f332a07f975dd6f2c9

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