Examples

We provide four examples of material models, each with its own implementation.

Metal 🤘

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
mid, dens, young, pr, did, tid, eos
idlc, epsf
Source code
  • user-material/kernel_mat_metal.cu
  • user-material/kernel_mat_metal.h
  • user-material/mat_metal.cpp
  • user-material/mat_metal.h

Concrete

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
mid, dens, 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.cu
  • user-material/kernel_mat_concrete.h
  • user-material/mat_concrete.cpp
  • user-material/mat_concrete.h

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
mid, dens, bulk
C1, C2
Source code
  • user-material/kernel_mat_rubber.cu
  • user-material/kernel_mat_rubber.h
  • user-material/mat_rubber.cpp
  • user-material/mat_rubber.h

Orthotropic

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
mid, dens
E1, E2, G12, pr12, pr23
c, cdec, Xt, Xc, Yt, Yc, beta, S
erode, residual
Source code
  • user-material/kernel_mat_orthotropic.cu
  • user-material/kernel_mat_orthotropic.h
  • user-material/mat_orthotropic.cpp
  • user-material/mat_orthotropic.h