On this page:
9.1 elastic (release)
9.1.1 youngs_  modulus | temperature_  dependent_  youngs_  modulus | poissons_  ratio | lame_  first | shear_  modulus | bulk_  modulus
9.1.2 pressure_  stabilization (beta)
9.1.3 thermal_  expansion (alpha)
9.1.3.1 thermal_  expansion_  coefficient | thermal_  expansion_  coefficient_  function
9.2 neohookean (beta)
9.2.1 youngs_  modulus | poissons_  ratio | lame_  first | shear_  modulus | bulk_  modulus
9.2.2 pressure_  stabilization (beta)
9.2.3 thermal_  expansion (alpha)
9.2.3.1 thermal_  expansion_  coefficient | thermal_  expansion_  coefficient_  function
9.2.4 viscous_  overstresses (alpha)
9.2.4.1 neohookean_  viscosity (alpha)
9.3 mooney_  rivlin (beta)
9.3.1 pressure_  stabilization (beta)
9.3.2 thermal_  expansion (alpha)
9.3.2.1 thermal_  expansion_  coefficient | thermal_  expansion_  coefficient_  function
9.4 isotropic_  heat_  conduction (alpha)
9.5 neohookean_  isotropic_  plasticity (beta)
9.5.1 neohookean (beta)
9.5.1.1 youngs_  modulus | poissons_  ratio | lame_  first | shear_  modulus | bulk_  modulus
9.5.2 isotropic_  plasticity (beta)
9.5.3 pressure_  stabilization (beta)
9.5.4 material_  failure (alpha)
9.5.4.1 uniform_  triaxiality_  cutoff (alpha)
9.5.5 thermal_  expansion (alpha)
9.5.5.1 thermal_  expansion_  coefficient | thermal_  expansion_  coefficient_  function

9 materials (release)

The materials object holds all materials objects, identified by user defined identifiers.

Name

 

Type

 

Description

 

Default

label

 

STRING

 

User provided identifier for this material definition.

 

mass_density [optional] (beta)

 

DOUBLE

 

Defines the mass density of the material.

 

elastic (release) | neohookean (beta) | mooney_rivlin (beta) | isotropic_heat_conduction (alpha) | neohookean_isotropic_plasticity (beta)

 

SUB OBJECT | SUB OBJECT | SUB OBJECT | SUB OBJECT | SUB OBJECT

 

Any of the given options can be defined

 

Example Usage:

materials: [ { label: "cast_iron", mass_density: 0.000001, elastic: { youngs_modulus: 24000000, poissons_ratio: 0.29, } } ]

9.1 elastic (release)

Defines the parameters for a small strain isotropic linear elastic material. Two of the five available material moduli must be specified.

Name

 

Type

 

Description

 

Default

youngs_modulus | temperature_dependent_youngs_modulus (alpha) | poissons_ratio | lame_first | shear_modulus | bulk_modulus

 

DOUBLE | STRING | DOUBLE | DOUBLE | DOUBLE | DOUBLE

 

2 of the given options must be defined

 

pressure_stabilization (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

thermal_expansion (alpha) [optional]

 

SUB OBJECT

 

See linked documentation

 

Example Usage:

elastic: { youngs_modulus: 24000000, poissons_ratio: 0.29, }

9.1.1 youngs_modulus | temperature_dependent_youngs_modulus | poissons_ratio | lame_first | shear_modulus | bulk_modulus

N of the given options can be defined

Name

 

Type

 

Description

 

Default

youngs_modulus

 

DOUBLE

 

Defines the Young's Modulus of the material as a constant value. Note: Young's modulus may alternatively be supplied as a temperature-dependent function using the keyword temperature_dependent_youngs_modulus.

 

temperature_dependent_youngs_modulus (alpha)

 

STRING

 

Identifier of a piecewise-linear function determining the material's Young's modulus as a function of temperature. This may only be paired with a Poisson's ratio for the second elastic parameter, and the material must also have thermal expansion properties specified. If no temperature is provided, it will be evaluated at the reference temperature from the thermal expansion properties. Note: Young's modulus may alternatively be supplied as a constant value using the keyword youngs_modulus.

 

poissons_ratio

 

DOUBLE

 

Defines Poisson's Ratio for the material.

 

lame_first

 

DOUBLE

 

Defines Lamé's first parameter for the material.

 

shear_modulus

 

DOUBLE

 

Defines the shear modulus for the material. Also known as Lamé's second parameter.

 

bulk_modulus

 

DOUBLE

 

Defines the bulk modulus for the material.

 

9.1.2 pressure_stabilization (beta)

Options for stabilization to prevent pressure oscillation and/or locking in the nearly-incompressible limit. Stabilization is included in the analysis if and only if this keyword is present. Recommended to be used for elasticity with Poisson’s ratios greater than about 0.49 and in any problems with large plastic deformations, but is only currently supported for statics and implicit dynamics.

Name

 

Type

 

Description

 

Default

stabilization_parameter (beta)

 

DOUBLE

 

Dimensionless scaling factor applied to pressure stabilization. The value 0.1 works well for most problems. Larger values will lead to smoother pressures, but may reduce accuracy if taken to an extreme.

 

thermal_pressure_approximation [optional] (alpha)

 

true|false

 

Whether to approximate thermal expansion with a pressure instead of a pre-strain, under an assumption of small volume changes. Equivalent to pre-strain for linearized kinemaics, optional for finite-strain statics and implicit dynamics, and required for explicit dynamics.

 

9.1.3 thermal_expansion (alpha)

Thermal expansion parameter definitions

Name

 

Type

 

Description

 

Default

thermal_expansion_coefficient (alpha) | thermal_expansion_coefficient_function (alpha)

 

DOUBLE | STRING

 

 

reference_temperature (alpha)

 

DOUBLE

 

The reference temperature at which thermal strains are considered to be zero and about which the secant coefficient of thermal expansion is calibrated.

 

use_engineering_strain [optional] (alpha)

 

true|false

 

If this is true, then the secant thermal expansion coefficient times the temperature change is interpreted as an engineering strain. Otherwise it is interpreted as logarithmic strain. The latter interpretation is more common when integrating secant coefficients from tabulated tangent coefficients. This option has no effect in small-deformation analysis.

 

9.1.3.1 thermal_expansion_coefficient | thermal_expansion_coefficient_function

Name

 

Type

 

Description

 

Default

thermal_expansion_coefficient (alpha)

 

DOUBLE

 

Secant coefficient of thermal expansion, determining thermal expansion strain due to a temperature change.

 

thermal_expansion_coefficient_function (alpha)

 

STRING

 

Identifier of a piecewise-linear function determining the secant coefficient of thermal expansion as a function of temperature.

 

9.2 neohookean (beta)

Defines the parameters for a two parameter isotropic hyperelastic neo-Hookean material. The potential energy per unit reference volume is given by the functional , where is the bulk modulus, is the shear modulus, , , and . , , and are the three invariants of the right (or left) Cauchy–Green tensor. This model converges to the linear elastic model in the small deformation limit, so the bulk and shear modulus can be defined from other pairs of linear elastic parameters for convenience, using standard linear-elastic conversion formulas. This model should be used in place of linear elasticity whenever there are large rotational motions, even if the strains remain small.

Name

 

Type

 

Description

 

Default

youngs_modulus (beta) | poissons_ratio (beta) | lame_first (beta) | shear_modulus (beta) | bulk_modulus (beta)

 

DOUBLE | DOUBLE | DOUBLE | DOUBLE | DOUBLE

 

2 of the given options must be defined

 

pressure_stabilization (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

thermal_expansion (alpha) [optional]

 

SUB OBJECT

 

See linked documentation

 

viscous_overstresses (alpha) [optional]

 

LIST

 

 

9.2.1 youngs_modulus | poissons_ratio | lame_first | shear_modulus | bulk_modulus

N of the given options can be defined

Name

 

Type

 

Description

 

Default

youngs_modulus (beta)

 

DOUBLE

 

The equivalent Young's Modulus of the material in the small-strain limit.

 

poissons_ratio (beta)

 

DOUBLE

 

The equivalent Poisson's Ratio for the material in the small-strain limit.

 

lame_first (beta)

 

DOUBLE

 

The equivalent Lamé's first parameter for the material in the small-strain limit.

 

shear_modulus (beta)

 

DOUBLE

 

The shear modulus for the material. Also known as Lamé's second parameter in the small-strain limit.

 

bulk_modulus (beta)

 

DOUBLE

 

The bulk modulus for the material. Incompressibility can be approximated by choosing a large value for this parameter (relative to the shear modulus). However, this may lead to locking phenomena when using low-order splines or coarse meshes with no pressure stabilization.

 

9.2.2 pressure_stabilization (beta)

Options for stabilization to prevent pressure oscillation and/or locking in the nearly-incompressible limit. Stabilization is included in the analysis if and only if this keyword is present. Recommended to be used for elasticity with Poisson’s ratios greater than about 0.49 and in any problems with large plastic deformations, but is only currently supported for statics and implicit dynamics.

Name

 

Type

 

Description

 

Default

stabilization_parameter (beta)

 

DOUBLE

 

Dimensionless scaling factor applied to pressure stabilization. The value 0.1 works well for most problems. Larger values will lead to smoother pressures, but may reduce accuracy if taken to an extreme.

 

thermal_pressure_approximation [optional] (alpha)

 

true|false

 

Whether to approximate thermal expansion with a pressure instead of a pre-strain, under an assumption of small volume changes. Equivalent to pre-strain for linearized kinemaics, optional for finite-strain statics and implicit dynamics, and required for explicit dynamics.

 

9.2.3 thermal_expansion (alpha)

Thermal expansion parameter definitions

Name

 

Type

 

Description

 

Default

thermal_expansion_coefficient (alpha) | thermal_expansion_coefficient_function (alpha)

 

DOUBLE | STRING

 

 

reference_temperature (alpha)

 

DOUBLE

 

The reference temperature at which thermal strains are considered to be zero and about which the secant coefficient of thermal expansion is calibrated.

 

use_engineering_strain [optional] (alpha)

 

true|false

 

If this is true, then the secant thermal expansion coefficient times the temperature change is interpreted as an engineering strain. Otherwise it is interpreted as logarithmic strain. The latter interpretation is more common when integrating secant coefficients from tabulated tangent coefficients. This option has no effect in small-deformation analysis.

 

9.2.3.1 thermal_expansion_coefficient | thermal_expansion_coefficient_function

Name

 

Type

 

Description

 

Default

thermal_expansion_coefficient (alpha)

 

DOUBLE

 

Secant coefficient of thermal expansion, determining thermal expansion strain due to a temperature change.

 

thermal_expansion_coefficient_function (alpha)

 

STRING

 

Identifier of a piecewise-linear function determining the secant coefficient of thermal expansion as a function of temperature.

 

9.2.4 viscous_overstresses (alpha)

Name

 

Type

 

Description

 

Default

neohookean_viscosity (alpha)

 

SUB OBJECT

 

 

9.2.4.1 neohookean_viscosity (alpha)

Viscous term in a Prony series, whose stress response is based on a neo-Hookean potential.

Name

 

Type

 

Description

 

Default

shear_modulus (alpha)

 

DOUBLE

 

The shear modulus for this term of the Prony series.

 

timescale (alpha)

 

DOUBLE

 

The relaxation timescale for this term of the Prony series.

 

9.3 mooney_rivlin (beta)

Defines the parameters for a three parameter isotropic hyperelastic Mooney–Rivlin material. If we denote, = shear_modulus_1, = shear_modulus_2, and = bulk_modulus, the strain-energy function of the Mooney–Rivlin model is . , and . , and are the three invariants of the right (or left) Cauchy–Green tensor. This model converges to the linear elastic model in the small deformation limit for which the shear modulus is and the bulk modulus is .

Name

 

Type

 

Description

 

Default

shear_modulus_1 (beta)

 

DOUBLE

 

Defines the shear modulus for the material.

 

shear_modulus_2 (beta)

 

DOUBLE

 

Defines the shear modulus for the material.

 

bulk_modulus (beta)

 

DOUBLE

 

Defines the bulk modulus for the material.

 

pressure_stabilization (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

thermal_expansion (alpha) [optional]

 

SUB OBJECT

 

See linked documentation

 

9.3.1 pressure_stabilization (beta)

Options for stabilization to prevent pressure oscillation and/or locking in the nearly-incompressible limit. Stabilization is included in the analysis if and only if this keyword is present. Recommended to be used for elasticity with Poisson’s ratios greater than about 0.49 and in any problems with large plastic deformations, but is only currently supported for statics and implicit dynamics.

Name

 

Type

 

Description

 

Default

stabilization_parameter (beta)

 

DOUBLE

 

Dimensionless scaling factor applied to pressure stabilization. The value 0.1 works well for most problems. Larger values will lead to smoother pressures, but may reduce accuracy if taken to an extreme.

 

thermal_pressure_approximation [optional] (alpha)

 

true|false

 

Whether to approximate thermal expansion with a pressure instead of a pre-strain, under an assumption of small volume changes. Equivalent to pre-strain for linearized kinemaics, optional for finite-strain statics and implicit dynamics, and required for explicit dynamics.

 

9.3.2 thermal_expansion (alpha)

Thermal expansion parameter definitions

Name

 

Type

 

Description

 

Default

thermal_expansion_coefficient (alpha) | thermal_expansion_coefficient_function (alpha)

 

DOUBLE | STRING

 

 

reference_temperature (alpha)

 

DOUBLE

 

The reference temperature at which thermal strains are considered to be zero and about which the secant coefficient of thermal expansion is calibrated.

 

use_engineering_strain [optional] (alpha)

 

true|false

 

If this is true, then the secant thermal expansion coefficient times the temperature change is interpreted as an engineering strain. Otherwise it is interpreted as logarithmic strain. The latter interpretation is more common when integrating secant coefficients from tabulated tangent coefficients. This option has no effect in small-deformation analysis.

 

9.3.2.1 thermal_expansion_coefficient | thermal_expansion_coefficient_function

Name

 

Type

 

Description

 

Default

thermal_expansion_coefficient (alpha)

 

DOUBLE

 

Secant coefficient of thermal expansion, determining thermal expansion strain due to a temperature change.

 

thermal_expansion_coefficient_function (alpha)

 

STRING

 

Identifier of a piecewise-linear function determining the secant coefficient of thermal expansion as a function of temperature.

 

9.4 isotropic_heat_conduction (alpha)

Isotropic heat conduction.

Name

 

Type

 

Description

 

Default

thermal_conductivity (alpha)

 

DOUBLE

 

Defines the thermal conductivity of the material.

 

9.5 neohookean_isotropic_plasticity (beta)

Defines the parameters for an isotropic, nonlinear, rate-independent model based on J2 flow theory.

Name

 

Type

 

Description

 

Default

neohookean (beta)

 

SUB OBJECT

 

See linked documentation

 

isotropic_plasticity (beta)

 

SUB OBJECT

 

See linked documentation

 

pressure_stabilization (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

material_failure (alpha) [optional]

 

SUB OBJECT

 

See linked documentation

 

thermal_expansion (alpha) [optional]

 

SUB OBJECT

 

See linked documentation

 

9.5.1 neohookean (beta)

Two of the five available material moduli must be specified.

Name

 

Type

 

Description

 

Default

youngs_modulus (beta) | poissons_ratio (beta) | lame_first (beta) | shear_modulus (beta) | bulk_modulus (beta)

 

DOUBLE | DOUBLE | DOUBLE | DOUBLE | DOUBLE

 

2 of the given options must be defined

 

9.5.1.1 youngs_modulus | poissons_ratio | lame_first | shear_modulus | bulk_modulus

N of the given options can be defined

Name

 

Type

 

Description

 

Default

youngs_modulus (beta)

 

DOUBLE

 

Defines the Young's Modulus of the material.

 

poissons_ratio (beta)

 

DOUBLE

 

Defines Poisson's Ratio for the material.

 

lame_first (beta)

 

DOUBLE

 

Defines Lamé's first parameter for the material.

 

shear_modulus (beta)

 

DOUBLE

 

Defines the shear modulus for the material. Also known as Lamé's second parameter.

 

bulk_modulus (beta)

 

DOUBLE

 

Defines the bulk modulus for the material.

 

9.5.2 isotropic_plasticity (beta)

Parameters for isotropic-plasticity.

Name

 

Type

 

Description

 

Default

yield_stress (beta)

 

DOUBLE

 

Defines the yield stress of the material prior to any plastic strain and hardening. See documentation of hardening_function for additional details on hardening.

 

hardening_function (beta)

 

STRING

 

Specifies the user defined identifier of the function to use as the hardening function for the material. This hardening function is added to the parameter yield_stress to obtain the yield stress as a function of equivalent plastic strain. The function should be zero at zero plastic strain for the given yield_stress to correspond to the material's initial yield point. For perfect plasticity, the hardening function should be identically equal to zero. The hardening function must be a scalar-valued piecewise-linear function with non-negative slope, and it must be concave-down, i.e., the slope must decrease or stay the same as plastic strain increases.

 

9.5.3 pressure_stabilization (beta)

Options for stabilization to prevent pressure oscillation and/or locking in the nearly-incompressible limit. Stabilization is included in the analysis if and only if this keyword is present. Recommended to be used for elasticity with Poisson’s ratios greater than about 0.49 and in any problems with large plastic deformations, but is only currently supported for statics and implicit dynamics.

Name

 

Type

 

Description

 

Default

stabilization_parameter (beta)

 

DOUBLE

 

Dimensionless scaling factor applied to pressure stabilization. The value 0.1 works well for most problems. Larger values will lead to smoother pressures, but may reduce accuracy if taken to an extreme.

 

thermal_pressure_approximation [optional] (alpha)

 

true|false

 

Whether to approximate thermal expansion with a pressure instead of a pre-strain, under an assumption of small volume changes. Equivalent to pre-strain for linearized kinemaics, optional for finite-strain statics and implicit dynamics, and required for explicit dynamics.

 

9.5.4 material_failure (alpha)

Add material failure.

Name

 

Type

 

Description

 

Default

uniform_triaxiality_cutoff (alpha)

 

SUB OBJECT

 

See linked documentation

 

9.5.4.1 uniform_triaxiality_cutoff (alpha)

Name

 

Type

 

Description

 

Default

failure_strain (alpha)

 

DOUBLE

 

The plastic strain at which the material failure occurs.

 

cutoff_triaxiality (alpha)

 

DOUBLE

 

The failure indicator is updated only when the triaxiality ratio is greater than this value.

 

minimum_stress_degradation (alpha)

 

DOUBLE

 

The minimum stress degradation value. If the degradation falls Below this value then the stress is set to 0.0.

 

9.5.5 thermal_expansion (alpha)

Thermal expansion parameter definitions

Name

 

Type

 

Description

 

Default

thermal_expansion_coefficient (alpha) | thermal_expansion_coefficient_function (alpha)

 

DOUBLE | STRING

 

 

reference_temperature (alpha)

 

DOUBLE

 

The reference temperature at which thermal strains are considered to be zero and about which the secant coefficient of thermal expansion is calibrated.

 

use_engineering_strain [optional] (alpha)

 

true|false

 

If this is true, then the secant thermal expansion coefficient times the temperature change is interpreted as an engineering strain. Otherwise it is interpreted as logarithmic strain. The latter interpretation is more common when integrating secant coefficients from tabulated tangent coefficients. This option has no effect in small-deformation analysis.

 

9.5.5.1 thermal_expansion_coefficient | thermal_expansion_coefficient_function

Name

 

Type

 

Description

 

Default

thermal_expansion_coefficient (alpha)

 

DOUBLE

 

Secant coefficient of thermal expansion, determining thermal expansion strain due to a temperature change.

 

thermal_expansion_coefficient_function (alpha)

 

STRING

 

Identifier of a piecewise-linear function determining the secant coefficient of thermal expansion as a function of temperature.