¤
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.
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.