Materials

Materials are declared inside the model block. The material subsection maps each mesh element block to a named material definition, and each named definition selects a constitutive model and its parameters:

model:
  type: solid mechanics
  material:
    blocks:
      cantilever: steel      # element block "cantilever" uses material "steel"
    steel:                   # the material definition named above
      model: linear elastic
      elastic modulus: 6.895e+09
      Poisson's ratio: 0.25
      density: 2768.0

The names on the left of blocks must match the element block names in the Exodus mesh, and the number of entries must equal the number of element blocks. The name on the right is an arbitrary label that must itself appear as a key under material, holding that material's parameters.

Elastic constants

Every constitutive model draws its elastic response from exactly two elastic constants. Supply any valid pair from the table below; Norma computes the remaining constants. Supplying zero, one, or an unsupported combination aborts.

KeySymbolConstant
elastic modulusEYoung's modulus
Poisson's ratioνPoisson's ratio
bulk modulusκbulk modulus
Lamé's first constantλfirst Lamé parameter
shear modulusμshear modulus

Accepted pairs: elastic modulus with any one of the other four; Poisson's ratio with bulk modulus, Lamé's first constant, or shear modulus; bulk modulus with Lamé's first constant or shear modulus; or Lamé's first constant with shear modulus. The key spellings are literal, including the apostrophe in Poisson's ratio and the accented, apostrophized Lamé's first constant.

density (ρ) is optional and defaults to 0.0. It is not used by static analyses but is required in practice by the dynamic time integrators, which need a mass matrix.

Constitutive models

The model key selects the constitutive law. The accepted strings are literal and case-sensitive:

model valueModelKinematics
linear elasticLinear elasticinfinitesimal strain
Saint-Venant KirchhoffSaint-Venant–Kirchhofffinite strain
neohookeanNeohookeanfinite strain
r-neohookeanReciprocal Neohookeanfinite strain
seth-hillSeth-Hill generalized hyperelasticfinite strain
henckyHencky (logarithmic strain) hyperelasticfinite strain
j2 plasticityJ2 (von Mises) plasticityfinite strain

Linear elastic

Small-strain Hookean elasticity.

model: linear elastic
elastic modulus: 6.895e+09
Poisson's ratio: 0.25
density: 2768.0

Parameters: two elastic constants, optional density.

Saint-Venant–Kirchhoff

Finite-strain extension of Hookean elasticity (linear relation between the Green–Lagrange strain and the second Piola–Kirchhoff stress).

model: Saint-Venant Kirchhoff
elastic modulus: 6.895e+09
Poisson's ratio: 0.25
density: 2768.0

Parameters: two elastic constants, optional density.

Neohookean

Compressible neo-Hookean hyperelasticity.

model: neohookean
elastic modulus: 6.895e+09
Poisson's ratio: 0.25
density: 2768.0

Parameters: two elastic constants, optional density.

Seth-Hill

Generalized hyperelastic model with tunable strain-measure exponents m and n (both required integers).

model: seth-hill
elastic modulus: 6.895e+09
Poisson's ratio: 0.25
density: 2768.0
m: 2
n: 2

Parameters: two elastic constants, optional density, required integers m and n.

Hencky

Hyperelasticity quadratic in the logarithmic strain,

\[\psi = \tfrac{\kappa}{2}\,(\operatorname{tr}\mathbf{E})^2 + \mu\,\operatorname{dev}\mathbf{E} : \operatorname{dev}\mathbf{E}, \qquad \mathbf{E} = \tfrac{1}{2}\log\mathbf{C}.\]

Under uniaxial stress the lateral log stretch is exactly $-\nu$ times the axial one and the Kirchhoff stress is exactly $E \log\lambda$ at any stretch, which makes this model useful for testing strong nonlinearities against closed-form answers.

model: hencky
elastic modulus: 1.0e+09
Poisson's ratio: 0.25
density: 1000.0

Parameters: two elastic constants, optional density.

J2 plasticity

Finite-deformation J2 plasticity with a multiplicative elastic–plastic split, radial-return integration, and linear isotropic hardening.

model: j2 plasticity
elastic modulus: 70.0e+09
Poisson's ratio: 0.25
density: 1000.0
yield stress: 250.0e+06
hardening modulus: 0.7e+09
KeyRequiredDefaultMeaning
two elastic constantsyeselastic response
densityno0.0mass density
yield stressno0.0initial yield stress σ_y
hardening modulusno0.0linear isotropic hardening modulus H

Canonical examples

  • Linear elastic (single domain): examples/single/static-solid
  • J2 plasticity: examples/materials/j2/cube.yaml
  • Seth-Hill: examples/ems/awful-cube/awful-cube.yaml