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 |
| 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 |
| SUB OBJECT |
| See linked documentation |
| ||
| 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 |
| 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. |
|