deepmodeling/jax-fem
Differentiable Finite Element Method with JAX
What it solves
JAX-FEM provides a way to perform finite element method (FEM) simulations that are fully differentiable. This allows researchers and engineers to solve inverse problems and perform design optimization (such as topology optimization) without having to manually derive complex mathematical sensitivities.
How it works
Built on top of JAX, the package combines Automatic Differentiation (AD) with the Finite Element Method. It supports a wide range of element types (2D and 3D) and boundary conditions, and integrates with PETSc for solver options. It can handle both linear and nonlinear analysis, including heat equations, elasticity, and plasticity.
Who it’s for
It is designed for scientists and engineers working in mechanistic data science, structural analysis, and optimal design who need GPU-accelerated, differentiable simulations.
Highlights
- Differentiable Programming: Enables solving inverse and design problems without manual sensitivity derivation.
- Broad Physics Support: Handles heat equations, linear/hyperelasticity, and crystal plasticity.
- Multi-physics Capabilities: Supports solving multiple variables monolithically.
- Flexible Elements: Supports 2D (quadrilateral/triangle) and 3D (hexahedron/tetrahedron) elements of first and second order.
Related
- Project
- Project
- Project
- Project
- Project