Skip to content

¤

drawing

tatva: Lego-like building blocks for differentiable FEM

tatva (तत्त्व) is a Sanskrit word meaning principle or elements of reality. True to its name, tatva provides fundamental Lego-like building blocks (elements) which can be used to construct complex finite element method (FEM) simulations as energy functionals. tatva is a pure Python library for FEM simulations and is built on top of JAX ecosystem, making it easy to use FEM in a differentiable way.

Hertzian Contact

Hertzian Contact

Cohesive Fracture

Cohesive Fracture

Surface Advection Diffusion

Surface Advection Diffusion

Energy-Centric Solver

Energy-based formulation of FEM operators with automatic differentiation via JAX. Just write energy and differentiate it directly.

Versitality

Operator abstractions that map, integrate, differentiate on arbitrary meshes. Capability to handle mixed-dimension coupling, multi-point constaints, and more.

High Performance

Built-in sparse differentiation via coloring and matrix-free assembly tailored for mordern architecture such as GPUs.