Examples
We provide five examples of material models, each with its own implementation.
Example metal plasticity
The metal material model is designed to capture the elastic-plastic behavior of metallic materials. This model is well-suited for simulating materials such as steel, aluminium, and other common metallic alloys.
Command structure
*MAT_USER_1
"IMPETUS example user material"
mid, rho, E, nu, did, tid, eosid
idlc, epsf
Source code
user-material/kernel_mat_metal.cuuser-material/kernel_mat_metal.huser-material/mat_metal.cppuser-material/mat_metal.h
Example concrete compaction and damage
The concrete material model is a simplified version of the Holmquist-Johnson-Cook concrete model. The model includes a pressure dependent yield surface and inelastic compaction of the material.
Command structure
*MAT_USER_2
"IMPETUS example user material"
mid, rho, G
A, B, n, f_c, T, epsf_min, p_c, p_l
epsv_c_l, D1, D2, K
Source code
user-material/kernel_mat_concrete.cuuser-material/kernel_mat_concrete.huser-material/mat_concrete.cppuser-material/mat_concrete.h
Example Mooney-Rivlin rubber
The rubber material model is a hyperelastic implementation that describes the non-linear elastic behavior of rubber-like materials. This is essentially the classical Mooney-Rivlin model.
Command structure
*MAT_USER_3
"IMPETUS example user material"
mid, rho, bulk
C1, C2
Source code
user-material/kernel_mat_rubber.cuuser-material/kernel_mat_rubber.huser-material/mat_rubber.cppuser-material/mat_rubber.h
Example orthotropic composite
The orthotropic material model is specialised for materials that have different properties in three mutually perpendicular directions. It can be used for composite materials like wood and laminated composites, where directional dependency of mechanical properties is significant.
Command structure
*MAT_USER_4
"IMPETUS example user material"
mid, rho
E1, E2, G12, pr12, pr23
c, cdec, Xt, Xc, Yt, Yc, beta, S
erode, residual
Source code
user-material/kernel_mat_orthotropic.cuuser-material/kernel_mat_orthotropic.huser-material/mat_orthotropic.cppuser-material/mat_orthotropic.h
Example glass damage
The Glass material model simulates brittle fracture behavior using a flaw-based failure criterion. It accounts for crack propagation and progressive damage accumulation based on stress-induced flaw growth.
It implements a continuum damage mechanics approach where micro-crack density evolves with loading. The model tracks internal state variables including crack density, flaw size, and orientation to predict failure. Key features include:
- Pressure-dependent yield surface
- Progressive stiffness degradation
- Flaw-based fracture criterion
- Anisotropic damage evolution
- Optional temperature effects
Command structure
*MAT_USER_5
"IMPETUS example user material"
mid, rho, E, nu, did, tid, eosid
c, cdec, stress_c, k_c, t_c, a_c
flaw_dim, surface_t1, surface_t2, surface_t3
surface_b1, surface_b2, surface_b3
Source code
user-material/mat_glass.cppuser-material/mat_glass.h
Note: The glass material currently has a CPU implementation only. The GPU interface functions are present, but no CUDA kernel files are provided.