Python & C++ FEM

Linear Finite Element Method (FEM) for simulating hyperelastic cubes

📂 C++ code is available here!

📂 Python code is available here!

Linear Finite Element Method (FEM) for simulating hyperelastic cubes. The code is implemented in pure Python or C++.

Overview

Constitutive Models Time Integration Multiple cubes
Linear Elasticity Symplectic Euler Yes
St. Venant-Kirchhoff Symplectic/Implicit Euler Yes
Corotated linear elasticity Symplectic Euler Yes
Neohookean elasticity Symplectic/Implicit Euler Yes

Visual Results for a Single Triangle

Symplectic Euler Methods

Implicit Euler Methods

Visual Results of Multiple Cubes

Symplectic Euler Methods

Linear Elasticity

St. Venant-Kirchhoff

Corotated linear elasticity

Neohookean elasticity

Implicit Euler Methods

St. Venant-Kirchhoff

Neohookean elasticity

Reference

FEM Simulation of 3D Deformable Solids: A practitioner’s guide to theory, discretization and model reduction