On this page:
6.1 boundary_  conditions (release)
6.1.1 displacement (release)
6.1.2 velocity (beta)
6.1.3 acceleration (beta)
6.1.4 part | set
6.1.5 penalty (beta)
6.1.6 quadrature_  options (beta)
6.2 load_  conditions (release)
6.2.1 temperature_  distribution (alpha)
6.2.2 surface_  traction (release)
6.2.3 surface_  pressure (release)
6.2.4 point_  force (release)
6.2.5 line_  traction (release)
6.2.6 body_  force (release)
6.2.7 part | set
6.2.8 quadrature_  options (beta)
6.3 initial_  conditions (alpha)
6.3.1 velocity (alpha)
6.3.2 part | set
6.4 outputs (release)
6.4.1 field (release)
6.4.1.1 part | set
6.4.1.2 variables
6.4.1.3 displacement | velocity | acceleration | stress | nominal_  strain | plastic_  strain | deformation_  gradient | failure_  indicator
6.4.2 history (release)
6.5 probes (release)
6.5.1 field (release)
6.5.1.1 set | single_  point | along_  line | along_  curve | extremum
6.5.1.2 single_  point (release)
6.5.1.3 along_  line (release)
6.5.1.4 along_  curve (release)
6.5.1.5 extremum (release)
6.5.1.6 minimum (release)
6.5.1.7 displacement | velocity | acceleration | stress | plastic_  strain | deformation_  gradient | failure_  indicator
6.5.1.8 maximum (release)
6.5.1.9 displacement | velocity | acceleration | stress | plastic_  strain | deformation_  gradient | failure_  indicator
6.5.1.10 variables
6.5.1.11 displacement | velocity | acceleration | stress | nominal_  strain | plastic_  strain | deformation_  gradient | failure_  indicator
6.5.2 integrated_  surface_  quantity (release)
6.5.2.1 variables (release)
6.5.2.2 reaction_  force
6.5.2.3 use_  set_  from_  boundary_  condition | use_  set_  from_  load_  condition | use_  set_  from_  interaction
6.5.3 integrated_  volume_  quantity (beta)
6.5.3.1 variables (beta)
6.5.3.2 momentum | energy
6.5.4 l2_  error_  norm (release)
6.5.4.1 part | set
6.5.4.2 variable
6.5.4.3 displacement | velocity | acceleration | stress | nominal_  strain | plastic_  strain | deformation_  gradient | failure_  indicator
6.6 interactions (release)
6.6.1 quadrature_  options (beta)
6.6.2 tied_  constraint (release)
6.6.2.1 penalty (beta)
6.6.3 material_  interface (release)
6.6.3.1 penalty (beta)
6.6.4 mechanical_  contact (beta)
6.6.4.1 base_  contact | sets
6.6.4.2 base_  contact (beta)
6.6.4.3 unintentional_  overclosures (beta)
6.6.4.4 offset (beta)
6.6.4.5 distance
6.6.4.6 activation_  distance (beta)
6.6.4.7 penalty (beta)
6.6.4.8 effective_  distance_  smoothing (beta)
6.6.4.9 collision_  search_  filter (beta)
6.6.4.10 angle_  filter (beta)
6.6.4.11 area_  filter (beta)
6.6.4.12 spurious_  self_  contact_  filter (beta)
6.6.4.13 contact_  force_  scaling (beta)
6.6.4.14 closest_  point_  penetration_  based (beta)
6.6.5 interference_  fit (beta)
6.6.5.1 activation_  distance (beta)
6.6.5.2 penalty (beta)
6.6.5.3 effective_  distance_  smoothing (beta)
6.6.5.4 collision_  search_  filter (beta)
6.6.5.5 angle_  filter (beta)
6.6.5.6 area_  filter (beta)
6.6.5.7 spurious_  self_  contact_  filter (beta)
6.6.5.8 contact_  force_  scaling (beta)
6.6.5.9 closest_  point_  penetration_  based (beta)
6.6.6 rotational_  constraint (alpha)
6.6.6.1 penalty (beta)
6.6.6.2 axis_  origin_  displacement (alpha)
6.6.6.3 part | set
6.7 interaction_  search_  parameters (beta)
6.7.1 sensor_  based (beta)
6.8 interaction_  properties (beta)
6.8.1 frictionless (beta)
6.8.2 coulomb_  friction (beta)
6.8.2.1 coefficient_  with_  regularization (beta)

6 solid_mechanics_definitions (release)

Contains all the definitions specific to a solid mechanics procedure.

Name

 

Type

 

Description

 

Default

boundary_conditions (release) [optional]

 

LIST

 

A boundary condition object defines a static or kinematic displacement type boundary condition. Boundary conditions can be applied to sets representing both boundaries and bodies.

 

load_conditions (release) [optional]

 

LIST

 

The load_conditions object defines applied loads. Loads can be applied to sets representing boundaries and bodies.

 

initial_conditions (alpha) [optional]

 

LIST

 

An initial condition definition defines a condition of the procedure at its start time.

 

outputs (release) [optional]

 

LIST

 

The outputs object holds all output objects, identified by user defined identifiers, each of which define an output for this procedure. If a chosen set was specified as an immersed set during geometry creation, that set must the only item in the sets list. If an immersed set is selected the output command will produce two separate files. The main file will include a tessellated surface representation of the boundary. The second file (with suffix envelope), will include a smooth volumetric output of the U-spline envelope domain for the immersed set. When viewing results on the envelope domain take care that only values on the interior of the model of interest are considered as values at the extremities of this representation may not exhibit physically relevant behavior. Not all elements from the original mesh used may be shown, in general only those that intersect the model of interest will be included.

 

probes (release) [optional]

 

LIST

 

The probes object holds all user defined probe_variables. Probe variables are used to track quantities of interest at specific locations in a model over time. For example, a user may want to track von Mises stress at a specific location in a model over time.

 

interactions (release) [optional]

 

LIST

 

Each object in the interaction definitions array defines an interaction for the procedure. Currently the supported interactions are mechanical_contact and tied_constraint.

 

interaction_search_parameters (beta) [optional]

 

LIST

 

Each object in the interaction search definitions array defines search parameters to be used in an interaction. Currently the supported search definitions is a sensor-based layout.

 

interaction_properties (beta) [optional]

 

LIST

 

The interaction property definition allows the user to define the type of friction and movement that occurs once contact is initiated.

 

6.1 boundary_conditions (release)

A boundary condition object defines a static or kinematic displacement type boundary condition. Boundary conditions can be applied to sets representing both boundaries and bodies.

Name

 

Type

 

Description

 

Default

label

 

STRING

 

A user defined identifier for this boundary condition.

 

displacement (release) | velocity (beta) | acceleration (beta)

 

SUB OBJECT | SUB OBJECT | SUB OBJECT

 

One of the given keywords must be defined to specify kinematic variable to be constrained by this boundary condition

 

part | set

 

STRING | STRING

 

Defines the set or part to be operated on

 

penalty (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

quadrature_options (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

Example Usage:

boundary_conditions: [ { label: "hold_bottom", displacement: { components: [ "x", "y", "z" ], scale_factor: [ 0 ], function: "constant_1" }, set: "hold_surface", penalty: {value: 24000000000, dimensionless: false}, quadrature_options: { quadrature: "QP1"} } ]

6.1.1 displacement (release)

Name

 

Type

 

Description

 

Default

components

 

[ “x” | “y” | “z”, ... ]

 

Specifies which degrees-of-freedom components are active.

 

scale_factor [optional]

 

[ DOUBLE, ... ]

 

A scalar value or vector of the same length as components which scales the function.

 

1.0

function

 

STRING

 

The user defined identifier of the temporal function.

 

Example Usage:

displacement: { components: [ "x", "y", "z" ], scale_factor: [ 0 ], function: "constant_1" }

6.1.2 velocity (beta)

Name

 

Type

 

Description

 

Default

components (beta)

 

[ “x” | “y” | “z”, ... ]

 

Specifies which degrees-of-freedom components are active.

 

scale_factor [optional] (beta)

 

[ DOUBLE, ... ]

 

A scalar value or vector of the same length as components which scales the function.

 

1.0

function (beta)

 

STRING

 

The user defined identifier of the temporal function.

 

6.1.3 acceleration (beta)

Name

 

Type

 

Description

 

Default

components (beta)

 

[ “x” | “y” | “z”, ... ]

 

Specifies which degrees-of-freedom components are active.

 

scale_factor [optional] (beta)

 

[ DOUBLE, ... ]

 

A scalar value or vector of the same length as components which scales the function.

 

1.0

function (beta)

 

STRING

 

The user defined identifier of the temporal function.

 

6.1.4 part | set

Defines the set or part to be operated on

Name

 

Type

 

Description

 

Default

part

 

STRING

 

The user defined label of the part that defines the set.

 

set

 

STRING

 

The user defined identifier of the geometric set.

 

6.1.5 penalty (beta)

Options for penalty enforcement of a boundary condition or other type of constraint. When penalty values are calculated from a dimensionless scale using material properties and element size on two sides of a material or contact interface, the smaller of the two values is selected.

Name

 

Type

 

Description

 

Default

value (beta)

 

DOUBLE

 

The value of the penalty parameter, in the range , determining how strongly the constraint is enforced. The precise interpretation of this value depends on the choice of the parameter dimensionless, whose documentation provides a more detailed discussion. Note that the default value assumes that dimensionless is also set to its default value of true.

 

1e1

dimensionless (beta)

 

true|false

 

If this parameter is true, then the penalty value is interpreted as the dimensionless constant in the formula , where is a scalar estimate of the material stiffness (i.e., the Young's modulus in elasticity or the thermal conductivity in heat conduction), is a measure of element size (with units of length), and is the co-dimension of the constrained set, i.e., 0 for volumes, 1 for surfaces, 2 for curves, or 3 for points. If this parameter is false, then the penalty value is instead interpreted as the dimensional value of directly. The dimensionless option is recommended for most use cases. To interpret the dimensionless penalty value for the common case of constrained boundaries and interfaces () in elasticity, it is roughly the ratio of a single element's change in length under a given tensile load to the error allowed in the consraint. Note that, for any positive value, the constraint error will go to zero as the mesh is refined, since the specimen's overall change in length is distributed over more elements. Selecting too large of a penalty value makes the discrete problem harder to solve. The default value represents a good balance between accuracy and efficiency for most practical applications, but higher values may be appropriate for certain situations, such as calibrating material models with single-element patch tests.

 

true

6.1.6 quadrature_options (beta)

Name

 

Type

 

Description

 

Default

quadrature [optional] (beta)

 

“QP1” | “QP0” | “Q1” | “Q2” | “Q3” | “Q4” | “Q5” | “Q6” | “Q7” | “Q8” | “Q9” | “Q10”

 

Quadrature type enumeration. The quadrature type determines the point layout over a patch or patch element. The schemes following the pattern “Q#” specify that a Gauss quadrature scheme with #-points will be used. The schemes following the pattern “QP#” specify that a Gauss quadrature scheme with -points will be used, where is the degree of the patch's or patch element's basis.

 

QP1

optimized_cut_quadrature_strategy [optional] (beta)

 

“match_uncut” | “reduce_from_uncut” | “match_basis”

 

Strategy to choose the degree of accuracy for quadrature on cut cells. The default strategy of reduce_from_uncut chooses quadrature rules with similar numbers of points as those used on uncut cells, as specified by quadrature; it has lower formal accuracy (integrating tensor products of monomials up to degree for uncut quadrature Q), but is a good default choice for practical calculations. The strategy match_uncut matches the formal accuracy of the quadrature on uncut cells, but is significantly more costly. The strategy match_basis chooses a rule that exactly integrates the basis functions; this is equivalent to reduce_from_uncut if the uncut cells use the default quadrature of QP1, but may differ for other choices of uncut quadrature.

 

reduce_from_uncut

optimized_cut_quadrature_degree [optional] (beta)

 

NONNEGATIVE INTEGER

 

If provided, this value overrides optimized_cut_quadrature_strategy by specifying an explicit polynomial degree of accuracy for optimized quadrature rules on cut cells.

 

optimization_method [optional] (beta)

 

“tet_pruning” | “grid_doubling” | “linear_programming”

 

Specifies the preferred method of quadrature generation for cut cells. If the preferred method fails on a particular cell, the other methods will be used in an attempt to recover.

 

tet_pruning

optimization_residual_tolerance [optional] (beta)

 

DOUBLE

 

The absolute residual tolerance used in quadrature optimization on cut cells. A smaller value will result in a more accurate quadrature rule, but may increase the time to compute quadrature rules for cut cells.

 

1e-12

optimization_lawson_hanson_solve_completion [optional]

 

true|false

 

An experimental option that controls the convergence behavior of quadrature optimization. For best results it is recommended to set this value to true. If set to true this causes each iteration of quadrature optimization to solve to the highest accuracy possible. The results at each iteration are then checked against the optimization_residual_tolerance to determine if a sufficient rule has been found. If this value is set to false then the optimization_residual_tolerance is passed to the solve at each iteration and can cause the solve step to terminate more quickly which can result in faster execution and a lower number of quadrature points. However the quality and accuracy of the resulting rule may be suspect.

 

true

6.2 load_conditions (release)

The load_conditions object defines applied loads. Loads can be applied to sets representing boundaries and bodies.

Name

 

Type

 

Description

 

Default

label

 

STRING

 

User defined identifier for this load condition.

 

temperature_distribution (alpha) | surface_traction (release) | surface_pressure (release) | point_force (release) | line_traction (release) | body_force (release)

 

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

 

One of the given keywords must be defined to specify the class of load condition

 

part | set

 

STRING | STRING

 

Defines the set or part to be operated on

 

follower [optional] (beta)

 

true|false

 

If true, the load direction will follow the loaded region as it deforms and the current surface area will be used. If false, load direction and magnitude will remain unchanged as the domain deforms.

 

false

quadrature_options (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

Example Usage:

load_conditions: [ { label: "push_top", surface_pressure: { scale_factor: 2307.86806, function: "linear_ramp" }, set: "load_surface", follower: false, quadrature_options: { quadrature: "QP1"} } ]

6.2.1 temperature_distribution (alpha)

Name

 

Type

 

Description

 

Default

scale_factor [optional] (alpha)

 

DOUBLE

 

A scalar value which scales the function.

 

1.0

function (alpha)

 

STRING

 

The user defined identifier of the temporal function.

 

6.2.2 surface_traction (release)

Define a surface traction load

Name

 

Type

 

Description

 

Default

components

 

[ “x” | “y” | “z”, ... ]

 

Specifies which degrees-of-freedom components are active.

 

scale_factor [optional]

 

[ DOUBLE, ... ]

 

A scalar value or vector of the same length as components which scales the function.

 

1.0

function

 

STRING

 

The user defined identifier of the temporal function.

 

Example Usage:

surface_traction: { components: [ "x", "y" ], scale_factor: [ 1, 1 ], function: "traction" }

6.2.3 surface_pressure (release)

Define a pressure load, a load which is always normal to the surface

Name

 

Type

 

Description

 

Default

scale_factor [optional]

 

DOUBLE

 

A scalar value which scales the function.

 

1.0

function

 

STRING

 

The user defined identifier of the temporal function.

 

Example Usage:

surface_pressure: { scale_factor: 2307.86806, function: "linear_ramp" }

6.2.4 point_force (release)

Define a point force

Name

 

Type

 

Description

 

Default

components

 

[ “x” | “y” | “z”, ... ]

 

Specifies which degrees-of-freedom components are active.

 

scale_factor [optional]

 

[ DOUBLE, ... ]

 

A scalar value or vector of the same length as components which scales the function.

 

1.0

function

 

STRING

 

The user defined identifier of the temporal function.

 

6.2.5 line_traction (release)

Define a point force

Name

 

Type

 

Description

 

Default

components

 

[ “x” | “y” | “z”, ... ]

 

Specifies which degrees-of-freedom components are active.

 

scale_factor [optional]

 

[ DOUBLE, ... ]

 

A scalar value or vector of the same length as components which scales the function.

 

1.0

function

 

STRING

 

The user defined identifier of the temporal function.

 

6.2.6 body_force (release)

User must use the ’part’ option when defining sets for a body force

Name

 

Type

 

Description

 

Default

components

 

[ “x” | “y” | “z”, ... ]

 

Specifies which degrees-of-freedom components are active.

 

scale_factor [optional]

 

[ DOUBLE, ... ]

 

A scalar value or vector of the same length as components which scales the function.

 

1.0

function

 

STRING

 

The user defined identifier of the temporal function.

 

6.2.7 part | set

Defines the set or part to be operated on

Name

 

Type

 

Description

 

Default

part

 

STRING

 

The user defined label of the part that defines the set.

 

set

 

STRING

 

The user defined identifier of the geometric set.

 

6.2.8 quadrature_options (beta)

Name

 

Type

 

Description

 

Default

quadrature [optional] (beta)

 

“QP1” | “QP0” | “Q1” | “Q2” | “Q3” | “Q4” | “Q5” | “Q6” | “Q7” | “Q8” | “Q9” | “Q10”

 

Quadrature type enumeration. The quadrature type determines the point layout over a patch or patch element. The schemes following the pattern “Q#” specify that a Gauss quadrature scheme with #-points will be used. The schemes following the pattern “QP#” specify that a Gauss quadrature scheme with -points will be used, where is the degree of the patch's or patch element's basis.

 

QP1

optimized_cut_quadrature_strategy [optional] (beta)

 

“match_uncut” | “reduce_from_uncut” | “match_basis”

 

Strategy to choose the degree of accuracy for quadrature on cut cells. The default strategy of reduce_from_uncut chooses quadrature rules with similar numbers of points as those used on uncut cells, as specified by quadrature; it has lower formal accuracy (integrating tensor products of monomials up to degree for uncut quadrature Q), but is a good default choice for practical calculations. The strategy match_uncut matches the formal accuracy of the quadrature on uncut cells, but is significantly more costly. The strategy match_basis chooses a rule that exactly integrates the basis functions; this is equivalent to reduce_from_uncut if the uncut cells use the default quadrature of QP1, but may differ for other choices of uncut quadrature.

 

reduce_from_uncut

optimized_cut_quadrature_degree [optional] (beta)

 

NONNEGATIVE INTEGER

 

If provided, this value overrides optimized_cut_quadrature_strategy by specifying an explicit polynomial degree of accuracy for optimized quadrature rules on cut cells.

 

optimization_method [optional] (beta)

 

“tet_pruning” | “grid_doubling” | “linear_programming”

 

Specifies the preferred method of quadrature generation for cut cells. If the preferred method fails on a particular cell, the other methods will be used in an attempt to recover.

 

tet_pruning

optimization_residual_tolerance [optional] (beta)

 

DOUBLE

 

The absolute residual tolerance used in quadrature optimization on cut cells. A smaller value will result in a more accurate quadrature rule, but may increase the time to compute quadrature rules for cut cells.

 

1e-12

optimization_lawson_hanson_solve_completion [optional]

 

true|false

 

An experimental option that controls the convergence behavior of quadrature optimization. For best results it is recommended to set this value to true. If set to true this causes each iteration of quadrature optimization to solve to the highest accuracy possible. The results at each iteration are then checked against the optimization_residual_tolerance to determine if a sufficient rule has been found. If this value is set to false then the optimization_residual_tolerance is passed to the solve at each iteration and can cause the solve step to terminate more quickly which can result in faster execution and a lower number of quadrature points. However the quality and accuracy of the resulting rule may be suspect.

 

true

6.3 initial_conditions (alpha)

An initial condition definition defines a condition of the procedure at its start time.

Name

 

Type

 

Description

 

Default

label (alpha)

 

STRING

 

User defined identifier for this initial condition.

 

velocity (alpha)

 

SUB OBJECT

 

See linked documentation

 

part | set

 

STRING | STRING

 

Defines the set or part to be operated on

 

6.3.1 velocity (alpha)

Name

 

Type

 

Description

 

Default

components (alpha)

 

[ “x” | “y” | “z”, ... ]

 

Specifies which degrees-of-freedom components are active.

 

scale_factor [optional] (alpha)

 

[ DOUBLE, ... ]

 

A scalar value or vector of the same length as components which scales the function.

 

1.0

6.3.2 part | set

Defines the set or part to be operated on

Name

 

Type

 

Description

 

Default

part

 

STRING

 

The user defined label of the part that defines the set.

 

set

 

STRING

 

The user defined identifier of the geometric set.

 

6.4 outputs (release)

The outputs object holds all output objects, identified by user defined identifiers, each of which define an output for this procedure. If a chosen set was specified as an immersed set during geometry creation, that set must the only item in the sets list. If an immersed set is selected the output command will produce two separate files. The main file will include a tessellated surface representation of the boundary. The second file (with suffix envelope), will include a smooth volumetric output of the U-spline envelope domain for the immersed set. When viewing results on the envelope domain take care that only values on the interior of the model of interest are considered as values at the extremities of this representation may not exhibit physically relevant behavior. Not all elements from the original mesh used may be shown, in general only those that intersect the model of interest will be included.

Name

 

Type

 

Description

 

Default

label

 

STRING

 

The user defined identifier for this output definition.

 

tessellate [optional]

 

true|false

 

The output should be tessellated to hdf5 files for consumption by third party tools.

 

field (release) | history (release)

 

SUB OBJECT | SUB OBJECT

 

One of the given keywords must be defined to specify the class of output

 

Example Usage:

outputs: [ { label: "field_results", field: { database_name: "results", interval: "output_interval", part: "cframe", variables: { displacement: [ "x", "y", "z" ], stress: [ "all" ] }, element_variable_output_strategy: "interpolate", include_integration_point_output: false } }, { label: "probe_results", history: { interval: "output_interval", probe_variables: [ "stress_probe", "load_reaction_force" ] } } ]

6.4.1 field (release)

The field object is primarily useful for visualization and explorative analysis of the results. In addition to the result values, field output exports information needed to construct a visualization of the model.

Name

 

Type

 

Description

 

Default

database_name

 

STRING

 

The file name prefix of the output file that will be written to disk. The field output is written out in the ParaView *.pvd format.

 

interval

 

STRING

 

The user defined identifier of the interval to use for this output. This interval will specify when the output should be written, as determined by the time_increment or step_increment values within the interval. A time_increment of 0 acts the same as a step_increment of either 0 or 1, writing output after each intermediate solution step. A negative value for time_increment or step_increment will output only at the bounds of the interval.

 

part | set

 

STRING | STRING

 

Defines the set or part to be operated on. If nothing is specified, it is equivalent to including every part.

 

variables

 

SUB OBJECT

 

See linked documentation

 

element_variable_output_strategy [optional]

 

“max” | “min” | “average” | “interpolate”

 

This specifies how values are calculated within each cell. min, max, and average take the minimum, maximum, or average component point values at the integration points and report them across the entire cell. interpolate interpolates the component values from the integration points.

 

interpolate

include_integration_point_output [optional]

 

true|false

 

Whether to include output at integration points. Output at integration points is not included by default.

 

false

Example Usage:

field: { database_name: "results", interval: "output_interval", part: "cframe", variables: { displacement: [ "x", "y", "z" ], stress: [ "all" ] }, element_variable_output_strategy: "interpolate", include_integration_point_output: false }

6.4.1.1 part | set

Defines the set or part to be operated on. If nothing is specified, it is equivalent to including every part.

Name

 

Type

 

Description

 

Default

part

 

STRING

 

The user defined label of the part that defines the set.

 

set

 

STRING

 

The user defined identifier of the geometric set.

 

6.4.1.2 variables

The variable to output.

Name

 

Type

 

Description

 

Default

displacement | velocity (beta) | acceleration (beta) | stress | nominal_strain (beta) | plastic_strain (beta) | deformation_gradient (alpha) | failure_indicator (alpha)

 

[ “all” | “x” | “y” | “z” | “magnitude”, ... ] | [ “all” | “x” | “y” | “z” | “magnitude”, ... ] | [ “all” | “x” | “y” | “z” | “magnitude”, ... ] | [ “all” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz” | “von_mises” | “tresca” | “pressure” | “triaxiality” | “octahedral” | “total_measure” | “min_principal” | “mid_principal” | “max_principal” | “invariant_I1” | “invariant_I2” | “invariant_I3” | “invariant_J2” | “invariant_J3”, ... ] | [ “all” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz”, ... ] | [ “equivalent”, ... ] | [ “all” | “xx” | “xy” | “xz” | “yx” | “yy” | “yz” | “zx” | “zy” | “zz” | “determinant”, ... ] | [ “value”, ... ]

 

Any of the given options can be defined

 

Example Usage:

variable: { stress: [ "xx", "yy", "zz" ] }

6.4.1.3 displacement | velocity | acceleration | stress | nominal_strain | plastic_strain | deformation_gradient | failure_indicator

Any of the given options can be defined

Name

 

Type

 

Description

 

Default

displacement

 

[ “all” | “x” | “y” | “z” | “magnitude”, ... ]

 

 

velocity (beta)

 

[ “all” | “x” | “y” | “z” | “magnitude”, ... ]

 

 

acceleration (beta)

 

[ “all” | “x” | “y” | “z” | “magnitude”, ... ]

 

 

stress

 

[ “all” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz” | “von_mises” | “tresca” | “pressure” | “triaxiality” | “octahedral” | “total_measure” | “min_principal” | “mid_principal” | “max_principal” | “invariant_I1” | “invariant_I2” | “invariant_I3” | “invariant_J2” | “invariant_J3”, ... ]

 

 

nominal_strain (beta)

 

[ “all” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz”, ... ]

 

 

plastic_strain (beta)

 

[ “equivalent”, ... ]

 

 

deformation_gradient (alpha)

 

[ “all” | “xx” | “xy” | “xz” | “yx” | “yy” | “yz” | “zx” | “zy” | “zz” | “determinant”, ... ]

 

 

failure_indicator (alpha)

 

[ “value”, ... ]

 

 

6.4.2 history (release)

Define a history object to extract time-history data from specific regions of interest. The history object is primarily useful for analysis at known regions of interest (ROI), especially when a high-temporal resolution is required to gain useful information from the results. Field output on the entire domain of the model is often intractable in these situations as writing the entire field at a high sample rate can negatively impact performance, especially when using explicit time-integration, and can quickly generate enormous files that are cumbersome to process. History output writes a minimal set of information at user define probe_variable locations to an HDF5 file format that is easy to process in any number of downstream tools such as Excel, Matlab, or Python.

Name

 

Type

 

Description

 

Default

interval

 

STRING

 

The user defined identifier of the interval to use for this output.

 

probe_variables

 

[ STRING, ... ]

 

The user-defined probe_variables that should be included in the output file.

 

Example Usage:

history: { interval: "output_interval", probe_variables: [ "stress_probe", "load_reaction_force" ] }

6.5 probes (release)

The probes object holds all user defined probe_variables. Probe variables are used to track quantities of interest at specific locations in a model over time. For example, a user may want to track von Mises stress at a specific location in a model over time.

Name

 

Type

 

Description

 

Default

label

 

STRING

 

The user defined identifier for this probe definition.

 

field (release) | integrated_surface_quantity (release) | integrated_volume_quantity (beta) | l2_error_norm (release)

 

SUB OBJECT | SUB OBJECT | SUB OBJECT | SUB OBJECT

 

One of the given keywords must be defined to specify the class of probe

 

Example Usage:

probes: [ { label: "stress_probe", field: { single_point: { location: [ 0, -1.5, -4.25 ] }, location_configuration: "reference", field_variable_configuration: "reference", variables: { stress: [ "max_principal" ] } } }, { label: "load_reaction_force", integrated_surface_quantity: { variables: { reaction_force: [ "x", "y", "z" ] }, part: "cframe", use_set_from_load_condition: "push_top" } } ]

6.5.1 field (release)

Defines a probe that extracts field variable data.

Name

 

Type

 

Description

 

Default

set | single_point (release) | along_line (release) | along_curve (release) | extremum (release)

 

STRING | SUB OBJECT | SUB OBJECT | SUB OBJECT | SUB OBJECT

 

One of the given keywords must be defined to specify the class of field probe

 

location_configuration

 

“reference”

 

Defines the configuration of the probe location. The reference configuration will track the same material point through time. The current configuration will track the field_variable at a specific spatial location. If no part of the model covers the location when tracking the current configuration then zero values will be returned. Currently, only reference is supported.

 

field_variable_configuration

 

“reference”

 

The configuration of the output coordinate system. Currently, only reference is supported.

 

variables

 

SUB OBJECT

 

See linked documentation

 

Example Usage:

field: { single_point: { location: [ 0, -1.5, -4.25 ] }, location_configuration: "reference", field_variable_configuration: "reference", variables: { stress: [ "max_principal" ] } }

6.5.1.1 set | single_point | along_line | along_curve | extremum

One of the given keywords must be defined to specify the class of field probe

Name

 

Type

 

Description

 

Default

set

 

STRING

 

Specifies the user defined identifier of the set in the Flex model.

 

single_point (release)

 

SUB OBJECT

 

See linked documentation

 

along_line (release)

 

SUB OBJECT

 

See linked documentation

 

along_curve (release)

 

SUB OBJECT

 

See linked documentation

 

extremum (release)

 

SUB OBJECT

 

See linked documentation

 

6.5.1.2 single_point (release)

Define a probe at a coordinate location

Name

 

Type

 

Description

 

Default

location

 

[ DOUBLE, DOUBLE, DOUBLE ]

 

The coordinate location of the probe.

 

Example Usage:

single_point: { location: [ 0, -1.5, -4.25 ] }

6.5.1.3 along_line (release)

Define a series of probes along a straight line

Name

 

Type

 

Description

 

Default

start_location

 

[ DOUBLE, DOUBLE, DOUBLE ]

 

The coordinate location of the first probe.

 

stop_location

 

[ DOUBLE, DOUBLE, DOUBLE ]

 

The coordinate location of the last probe.

 

num_points

 

NONNEGATIVE INTEGER

 

The number of probes between the first and last probe location (minimum 2).

 

6.5.1.4 along_curve (release)

Define a series of probes at arbitrary coordinate locations

Name

 

Type

 

Description

 

Default

locations

 

[ [ DOUBLE, ... ], ... ]

 

The evaluated coordinate locations of all probes along the curve

 

6.5.1.5 extremum (release)

Name

 

Type

 

Description

 

Default

set [optional]

 

STRING

 

Specifies the user defined identifier of the set in the Flex model in which the extremum value is to be found. If not defined then the entire model will be used.

 

minimum (release) | maximum (release)

 

SUB OBJECT | SUB OBJECT

 

One of the given keywords must be defined to specify the type of extremum probe

 

6.5.1.6 minimum (release)

The variable to track for the extremum.

Name

 

Type

 

Description

 

Default

displacement | velocity (beta) | acceleration (beta) | stress | plastic_strain (beta) | deformation_gradient (alpha) | failure_indicator (alpha)

 

“x” | “y” | “z” | “magnitude” | “x” | “y” | “z” | “magnitude” | “x” | “y” | “z” | “magnitude” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz” | “von_mises” | “tresca” | “pressure” | “triaxiality” | “octahedral” | “total_measure” | “min_principal” | “mid_principal” | “max_principal” | “invariant_I1” | “invariant_I2” | “invariant_I3” | “invariant_J2” | “invariant_J3” | “equivalent” | “xx” | “xy” | “xz” | “yx” | “yy” | “yz” | “zx” | “zy” | “zz” | “determinant” | “value”

 

Only one of the given keywords my be defined

 

6.5.1.7 displacement | velocity | acceleration | stress | plastic_strain | deformation_gradient | failure_indicator

Only one of the given keywords my be defined

Name

 

Type

 

Description

 

Default

displacement

 

“x” | “y” | “z” | “magnitude”

 

 

velocity (beta)

 

“x” | “y” | “z” | “magnitude”

 

 

acceleration (beta)

 

“x” | “y” | “z” | “magnitude”

 

 

stress

 

“xx” | “yy” | “zz” | “xy” | “yz” | “xz” | “von_mises” | “tresca” | “pressure” | “triaxiality” | “octahedral” | “total_measure” | “min_principal” | “mid_principal” | “max_principal” | “invariant_I1” | “invariant_I2” | “invariant_I3” | “invariant_J2” | “invariant_J3”

 

 

plastic_strain (beta)

 

“equivalent”

 

 

deformation_gradient (alpha)

 

“xx” | “xy” | “xz” | “yx” | “yy” | “yz” | “zx” | “zy” | “zz” | “determinant”

 

 

failure_indicator (alpha)

 

“value”

 

 

6.5.1.8 maximum (release)

The variable to track for the extremum.

Name

 

Type

 

Description

 

Default

displacement | velocity (beta) | acceleration (beta) | stress | plastic_strain (beta) | deformation_gradient (alpha) | failure_indicator (alpha)

 

“x” | “y” | “z” | “magnitude” | “x” | “y” | “z” | “magnitude” | “x” | “y” | “z” | “magnitude” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz” | “von_mises” | “tresca” | “pressure” | “triaxiality” | “octahedral” | “total_measure” | “min_principal” | “mid_principal” | “max_principal” | “invariant_I1” | “invariant_I2” | “invariant_I3” | “invariant_J2” | “invariant_J3” | “equivalent” | “xx” | “xy” | “xz” | “yx” | “yy” | “yz” | “zx” | “zy” | “zz” | “determinant” | “value”

 

Only one of the given keywords my be defined

 

6.5.1.9 displacement | velocity | acceleration | stress | plastic_strain | deformation_gradient | failure_indicator

Only one of the given keywords my be defined

Name

 

Type

 

Description

 

Default

displacement

 

“x” | “y” | “z” | “magnitude”

 

 

velocity (beta)

 

“x” | “y” | “z” | “magnitude”

 

 

acceleration (beta)

 

“x” | “y” | “z” | “magnitude”

 

 

stress

 

“xx” | “yy” | “zz” | “xy” | “yz” | “xz” | “von_mises” | “tresca” | “pressure” | “triaxiality” | “octahedral” | “total_measure” | “min_principal” | “mid_principal” | “max_principal” | “invariant_I1” | “invariant_I2” | “invariant_I3” | “invariant_J2” | “invariant_J3”

 

 

plastic_strain (beta)

 

“equivalent”

 

 

deformation_gradient (alpha)

 

“xx” | “xy” | “xz” | “yx” | “yy” | “yz” | “zx” | “zy” | “zz” | “determinant”

 

 

failure_indicator (alpha)

 

“value”

 

 

6.5.1.10 variables

The variable to output.

Name

 

Type

 

Description

 

Default

displacement | velocity (beta) | acceleration (beta) | stress | nominal_strain (beta) | plastic_strain (beta) | deformation_gradient (alpha) | failure_indicator (alpha)

 

[ “all” | “x” | “y” | “z” | “magnitude”, ... ] | [ “all” | “x” | “y” | “z” | “magnitude”, ... ] | [ “all” | “x” | “y” | “z” | “magnitude”, ... ] | [ “all” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz” | “von_mises” | “tresca” | “pressure” | “triaxiality” | “octahedral” | “total_measure” | “min_principal” | “mid_principal” | “max_principal” | “invariant_I1” | “invariant_I2” | “invariant_I3” | “invariant_J2” | “invariant_J3”, ... ] | [ “all” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz”, ... ] | [ “equivalent”, ... ] | [ “all” | “xx” | “xy” | “xz” | “yx” | “yy” | “yz” | “zx” | “zy” | “zz” | “determinant”, ... ] | [ “value”, ... ]

 

Any of the given options can be defined

 

Example Usage:

variable: { stress: [ "xx", "yy", "zz" ] }

6.5.1.11 displacement | velocity | acceleration | stress | nominal_strain | plastic_strain | deformation_gradient | failure_indicator

Any of the given options can be defined

Name

 

Type

 

Description

 

Default

displacement

 

[ “all” | “x” | “y” | “z” | “magnitude”, ... ]

 

 

velocity (beta)

 

[ “all” | “x” | “y” | “z” | “magnitude”, ... ]

 

 

acceleration (beta)

 

[ “all” | “x” | “y” | “z” | “magnitude”, ... ]

 

 

stress

 

[ “all” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz” | “von_mises” | “tresca” | “pressure” | “triaxiality” | “octahedral” | “total_measure” | “min_principal” | “mid_principal” | “max_principal” | “invariant_I1” | “invariant_I2” | “invariant_I3” | “invariant_J2” | “invariant_J3”, ... ]

 

 

nominal_strain (beta)

 

[ “all” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz”, ... ]

 

 

plastic_strain (beta)

 

[ “equivalent”, ... ]

 

 

deformation_gradient (alpha)

 

[ “all” | “xx” | “xy” | “xz” | “yx” | “yy” | “yz” | “zx” | “zy” | “zz” | “determinant”, ... ]

 

 

failure_indicator (alpha)

 

[ “value”, ... ]

 

 

6.5.2 integrated_surface_quantity (release)

Sum a variable on a specified surface.

Name

 

Type

 

Description

 

Default

variables (release)

 

SUB OBJECT

 

See linked documentation

 

part [optional]

 

STRING

 

Specifies the user-defined label of the part in the FRM model in which the surface for integrating is on.

 

use_set_from_boundary_condition | use_set_from_load_condition | use_set_from_interaction (beta)

 

STRING | STRING | STRING

 

The set for this probe must come from a user defined boundary condition, load condition or interaction.

 

Example Usage:

integrated_surface_quantity: { variables: { reaction_force: [ "x", "y", "z" ] }, part: "cframe", use_set_from_load_condition: "push_top" }

6.5.2.1 variables (release)

The variables to integrate.

Name

 

Type

 

Description

 

Default

reaction_force

 

[ “x” | “y” | “z” | “magnitude”, ... ]

 

Definitions of the type of variables to integrate.

 

Example Usage:

variables: { reaction_force: [ "x", "y", "z" ] }

6.5.2.2 reaction_force

Definitions of the type of variables to integrate.

Name

 

Type

 

Description

 

Default

reaction_force

 

[ “x” | “y” | “z” | “magnitude”, ... ]

 

 

6.5.2.3 use_set_from_boundary_condition | use_set_from_load_condition | use_set_from_interaction

The set for this probe must come from a user defined boundary condition, load condition or interaction.

Name

 

Type

 

Description

 

Default

use_set_from_boundary_condition

 

STRING

 

Specifies the set used in the boundary condition with this user-defined label. Used to get reaction forces associated with boundary conditions.

 

use_set_from_load_condition

 

STRING

 

Specifies the set used in the load condition with this user-defined label. Used to get net forces from load conditions.

 

use_set_from_interaction (beta)

 

STRING

 

Specifies the set used in the interaction with this user-defined label. Used to get contact reaction forces.

 

6.5.3 integrated_volume_quantity (beta)

Sum a variable on a specified volume.

Name

 

Type

 

Description

 

Default

variables (beta)

 

SUB OBJECT

 

See linked documentation

 

part [optional] (beta)

 

STRING

 

Specifies the part with this user-defined label. If not defined, all the parts are selected.

 

6.5.3.1 variables (beta)

The variables to integrate.

Name

 

Type

 

Description

 

Default

momentum (beta) | energy (alpha)

 

[ “x” | “y” | “z” | “magnitude”, ... ] | [ “plastic_work”, ... ]

 

Definitions of the type of variable to integrate

 

6.5.3.2 momentum | energy

Definitions of the type of variable to integrate

Name

 

Type

 

Description

 

Default

momentum (beta)

 

[ “x” | “y” | “z” | “magnitude”, ... ]

 

 

energy (alpha)

 

[ “plastic_work”, ... ]

 

Specifies the type of energy to integrate. Currently, only the plastic work is available for neo-Hookean isotropic plasticity. The plastic work is define as , where and denote the plastic strain rate and Cauchy stress, respectively.

 

6.5.4 l2_error_norm (release)

Calculate an L2 error norm, over a given set, between the computed solution and a user-provided solution. The error is calculated from the difference between a given user function and the computed values for stress or displacement components. The error is defined as the square root of the sum of the squares of the given components.

Name

 

Type

 

Description

 

Default

part | set

 

STRING | STRING

 

Defines the set or part to be operated on

 

function

 

STRING

 

The user defined identifier of the function to use for this error calculation. The function should return the reference values that the solution will be compared with in an array ordered to match the provided components of displacement or stress.

 

variable

 

SUB OBJECT

 

See linked documentation

 

Example Usage:

l2_error_norm: { part: "plate_with_hole", function: "stress", variable: { stress: [ "xx", "yy", "zz" ] } }

6.5.4.1 part | set

Defines the set or part to be operated on

Name

 

Type

 

Description

 

Default

part

 

STRING

 

The user defined label of the part that defines the set.

 

set

 

STRING

 

The user defined identifier of the geometric set.

 

6.5.4.2 variable

The variable to output.

Name

 

Type

 

Description

 

Default

displacement | velocity (beta) | acceleration (beta) | stress | nominal_strain (beta) | plastic_strain (beta) | deformation_gradient (alpha) | failure_indicator (alpha)

 

[ “all” | “x” | “y” | “z” | “magnitude”, ... ] | [ “all” | “x” | “y” | “z” | “magnitude”, ... ] | [ “all” | “x” | “y” | “z” | “magnitude”, ... ] | [ “all” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz” | “von_mises” | “tresca” | “pressure” | “triaxiality” | “octahedral” | “total_measure” | “min_principal” | “mid_principal” | “max_principal” | “invariant_I1” | “invariant_I2” | “invariant_I3” | “invariant_J2” | “invariant_J3”, ... ] | [ “all” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz”, ... ] | [ “equivalent”, ... ] | [ “all” | “xx” | “xy” | “xz” | “yx” | “yy” | “yz” | “zx” | “zy” | “zz” | “determinant”, ... ] | [ “value”, ... ]

 

Only one of the given keywords my be defined

 

Example Usage:

variable: { stress: [ "xx", "yy", "zz" ] }

6.5.4.3 displacement | velocity | acceleration | stress | nominal_strain | plastic_strain | deformation_gradient | failure_indicator

Only one of the given keywords my be defined

Name

 

Type

 

Description

 

Default

displacement

 

[ “all” | “x” | “y” | “z” | “magnitude”, ... ]

 

 

velocity (beta)

 

[ “all” | “x” | “y” | “z” | “magnitude”, ... ]

 

 

acceleration (beta)

 

[ “all” | “x” | “y” | “z” | “magnitude”, ... ]

 

 

stress

 

[ “all” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz” | “von_mises” | “tresca” | “pressure” | “triaxiality” | “octahedral” | “total_measure” | “min_principal” | “mid_principal” | “max_principal” | “invariant_I1” | “invariant_I2” | “invariant_I3” | “invariant_J2” | “invariant_J3”, ... ]

 

 

nominal_strain (beta)

 

[ “all” | “xx” | “yy” | “zz” | “xy” | “yz” | “xz”, ... ]

 

 

plastic_strain (beta)

 

[ “equivalent”, ... ]

 

 

deformation_gradient (alpha)

 

[ “all” | “xx” | “xy” | “xz” | “yx” | “yy” | “yz” | “zx” | “zy” | “zz” | “determinant”, ... ]

 

 

failure_indicator (alpha)

 

[ “value”, ... ]

 

 

6.6 interactions (release)

Each object in the interaction definitions array defines an interaction for the procedure. Currently the supported interactions are mechanical_contact and tied_constraint.

Name

 

Type

 

Description

 

Default

label

 

STRING

 

User defined identifier for this interaction definition.

 

quadrature_options (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

tied_constraint (release) | material_interface (release) | mechanical_contact (beta) | interference_fit (beta) | rotational_constraint (alpha)

 

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

 

One of the given keywords must be defined to specify the type of interaction

 

Example Usage:

interactions: [ { label: "all_interfaces", quadrature_options: { quadrature: "QP1"}, material_interface: { interface: "all_interfaces", penalty: {value: 28000000000, dimensionless: false} } } ]

6.6.1 quadrature_options (beta)

Name

 

Type

 

Description

 

Default

quadrature [optional] (beta)

 

“QP1” | “QP0” | “Q1” | “Q2” | “Q3” | “Q4” | “Q5” | “Q6” | “Q7” | “Q8” | “Q9” | “Q10”

 

Quadrature type enumeration. The quadrature type determines the point layout over a patch or patch element. The schemes following the pattern “Q#” specify that a Gauss quadrature scheme with #-points will be used. The schemes following the pattern “QP#” specify that a Gauss quadrature scheme with -points will be used, where is the degree of the patch's or patch element's basis.

 

QP1

optimized_cut_quadrature_strategy [optional] (beta)

 

“match_uncut” | “reduce_from_uncut” | “match_basis”

 

Strategy to choose the degree of accuracy for quadrature on cut cells. The default strategy of reduce_from_uncut chooses quadrature rules with similar numbers of points as those used on uncut cells, as specified by quadrature; it has lower formal accuracy (integrating tensor products of monomials up to degree for uncut quadrature Q), but is a good default choice for practical calculations. The strategy match_uncut matches the formal accuracy of the quadrature on uncut cells, but is significantly more costly. The strategy match_basis chooses a rule that exactly integrates the basis functions; this is equivalent to reduce_from_uncut if the uncut cells use the default quadrature of QP1, but may differ for other choices of uncut quadrature.

 

reduce_from_uncut

optimized_cut_quadrature_degree [optional] (beta)

 

NONNEGATIVE INTEGER

 

If provided, this value overrides optimized_cut_quadrature_strategy by specifying an explicit polynomial degree of accuracy for optimized quadrature rules on cut cells.

 

optimization_method [optional] (beta)

 

“tet_pruning” | “grid_doubling” | “linear_programming”

 

Specifies the preferred method of quadrature generation for cut cells. If the preferred method fails on a particular cell, the other methods will be used in an attempt to recover.

 

tet_pruning

optimization_residual_tolerance [optional] (beta)

 

DOUBLE

 

The absolute residual tolerance used in quadrature optimization on cut cells. A smaller value will result in a more accurate quadrature rule, but may increase the time to compute quadrature rules for cut cells.

 

1e-12

optimization_lawson_hanson_solve_completion [optional]

 

true|false

 

An experimental option that controls the convergence behavior of quadrature optimization. For best results it is recommended to set this value to true. If set to true this causes each iteration of quadrature optimization to solve to the highest accuracy possible. The results at each iteration are then checked against the optimization_residual_tolerance to determine if a sufficient rule has been found. If this value is set to false then the optimization_residual_tolerance is passed to the solve at each iteration and can cause the solve step to terminate more quickly which can result in faster execution and a lower number of quadrature points. However the quality and accuracy of the resulting rule may be suspect.

 

true

6.6.2 tied_constraint (release)

Defines interaction properties for a surface to surface tied constraint.

Name

 

Type

 

Description

 

Default

target_set

 

STRING

 

Specifies the target interaction surface.

 

source_set

 

STRING

 

Specifies the source interaction surface.

 

region_search_method

 

STRING

 

Specifies the object in interaction-search-parameters to define the constraint search method.

 

penalty (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

offset [optional]

 

true|false

 

A tied constraint property that, if true, will use a formulation that approximately maintains the initial gap distance. If false, the tied constraint formulation will not maintain gap distances under rotation, but is less expensive to compute.

 

true

6.6.2.1 penalty (beta)

Options for penalty enforcement of a boundary condition or other type of constraint. When penalty values are calculated from a dimensionless scale using material properties and element size on two sides of a material or contact interface, the smaller of the two values is selected.

Name

 

Type

 

Description

 

Default

value (beta)

 

DOUBLE

 

The value of the penalty parameter, in the range , determining how strongly the constraint is enforced. The precise interpretation of this value depends on the choice of the parameter dimensionless, whose documentation provides a more detailed discussion. Note that the default value assumes that dimensionless is also set to its default value of true.

 

1e1

dimensionless (beta)

 

true|false

 

If this parameter is true, then the penalty value is interpreted as the dimensionless constant in the formula , where is a scalar estimate of the material stiffness (i.e., the Young's modulus in elasticity or the thermal conductivity in heat conduction), is a measure of element size (with units of length), and is the co-dimension of the constrained set, i.e., 0 for volumes, 1 for surfaces, 2 for curves, or 3 for points. If this parameter is false, then the penalty value is instead interpreted as the dimensional value of directly. The dimensionless option is recommended for most use cases. To interpret the dimensionless penalty value for the common case of constrained boundaries and interfaces () in elasticity, it is roughly the ratio of a single element's change in length under a given tensile load to the error allowed in the consraint. Note that, for any positive value, the constraint error will go to zero as the mesh is refined, since the specimen's overall change in length is distributed over more elements. Selecting too large of a penalty value makes the discrete problem harder to solve. The default value represents a good balance between accuracy and efficiency for most practical applications, but higher values may be appropriate for certain situations, such as calibrating material models with single-element patch tests.

 

true

6.6.3 material_interface (release)

Name

 

Type

 

Description

 

Default

interface

 

STRING

 

The label of the interaction in the geometry/interactions array.

 

penalty (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

region_search_method [optional] (beta)

 

STRING

 

The search paramaters to use.

 

offset [optional] (beta)

 

true|false

 

A material interface property that, if true, will use a formulation that approximately maintains any initial gap due to a small geometric mismatch at the material interface. If false, the tied constraint formulation may be less robust to geometry error, but is less expensive to compute.

 

true

Example Usage:

material_interface: { interface: "all_interfaces", penalty: {value: 28000000000, dimensionless: false} }

6.6.3.1 penalty (beta)

Options for penalty enforcement of a boundary condition or other type of constraint. When penalty values are calculated from a dimensionless scale using material properties and element size on two sides of a material or contact interface, the smaller of the two values is selected.

Name

 

Type

 

Description

 

Default

value (beta)

 

DOUBLE

 

The value of the penalty parameter, in the range , determining how strongly the constraint is enforced. The precise interpretation of this value depends on the choice of the parameter dimensionless, whose documentation provides a more detailed discussion. Note that the default value assumes that dimensionless is also set to its default value of true.

 

1e1

dimensionless (beta)

 

true|false

 

If this parameter is true, then the penalty value is interpreted as the dimensionless constant in the formula , where is a scalar estimate of the material stiffness (i.e., the Young's modulus in elasticity or the thermal conductivity in heat conduction), is a measure of element size (with units of length), and is the co-dimension of the constrained set, i.e., 0 for volumes, 1 for surfaces, 2 for curves, or 3 for points. If this parameter is false, then the penalty value is instead interpreted as the dimensional value of directly. The dimensionless option is recommended for most use cases. To interpret the dimensionless penalty value for the common case of constrained boundaries and interfaces () in elasticity, it is roughly the ratio of a single element's change in length under a given tensile load to the error allowed in the consraint. Note that, for any positive value, the constraint error will go to zero as the mesh is refined, since the specimen's overall change in length is distributed over more elements. Selecting too large of a penalty value makes the discrete problem harder to solve. The default value represents a good balance between accuracy and efficiency for most practical applications, but higher values may be appropriate for certain situations, such as calibrating material models with single-element patch tests.

 

true

6.6.4 mechanical_contact (beta)

A physics based contact between two surfaces (paired) or in a single surface (self).

Name

 

Type

 

Description

 

Default

base_contact (beta) | sets (beta)

 

SUB OBJECT | [ STRING, ... ]

 

 

interaction_properties [optional] (beta)

 

STRING

 

The name of the user defined interaction property to use for this interaction.

 

unintentional_overclosures (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

activation_distance (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

penalty (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

tessellation_subdivision_count [optional] (beta)

 

NONNEGATIVE INTEGER

 

An integration cell is subdivided by the maximum of this value and the degree of spline. When aiming to achieve better accuracy in contact, it is recommended to consider increasing this value. However, the larger the value, the greater the memory usage and the slower the computation. Therefore, it is generally recommended that this value not exceed 4.

 

2

effective_distance_smoothing (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

collision_search_filter (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

contact_force_scaling (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

6.6.4.1 base_contact | sets

Name

 

Type

 

Description

 

Default

base_contact (beta)

 

SUB OBJECT

 

See linked documentation

 

sets (beta)

 

[ STRING, ... ]

 

Specifies the interaction part, volume or surface sets that will participate in surface to surface contact. Will overrides the base_contact interaction.

 

6.6.4.2 base_contact (beta)

Specifies the general contact interactions. Any base interaction is overriden by any other set interactions. Only one interaction of this type should be defined.

Name

 

Type

 

Description

 

Default

sets [optional] (beta)

 

[ STRING, ... ]

 

Specifies the part, volume, or surface sets to be included in general contact interactions.

 

complement (beta)

 

true|false

 

Takes the complement of the sets of the part, volume, or surface sets specified by base_contact so they are excluded from base contact interactions.

 

false

6.6.4.3 unintentional_overclosures (beta)

Name

 

Type

 

Description

 

Default

offset (beta)

 

SUB OBJECT

 

 

6.6.4.4 offset (beta)

Name

 

Type

 

Description

 

Default

distance (beta)

 

DOUBLE

 

 

6.6.4.5 distance

Name

 

Type

 

Description

 

Default

distance (beta)

 

DOUBLE

 

The signed effective distance is offset by this value in a unit of length. It is recommended to consider increasing this value when unintentional initial overclosures produce nonnegligible stress, leading to difficulty in the initial nonlinear convergence. This value should not exceed half of the activation distance.

 

6.6.4.6 activation_distance (beta)

Specifies the distance within which to search for contacting points. When it is observed that some contact surfaces lose interaction, a larger-than-default value may be required.

Name

 

Type

 

Description

 

Default

value (beta)

 

DOUBLE

 

Specifies the distance within which to search for contacting points. Larger values are more robust, but also potentially more expensive. The precise interpretation of this depends on the value of dimensionless, with more detail given in its documentation. Note that the default value assumes that dimensionless is also set to its default value of true.

 

0.5

dimensionless (beta)

 

true|false

 

If this is set to true, then value is understood as a dimensionless fraction of the element size. If it is set to false, then value is interpreted as a length scale, and must be selected in a way that is consistent with the length units used elsewhere. When manually specifying an activation distance, it is recommended to keep it on the same order as element size, as reflected in the default dimensionless value.

 

true

6.6.4.7 penalty (beta)

Options for penalty enforcement of a boundary condition or other type of constraint. When penalty values are calculated from a dimensionless scale using material properties and element size on two sides of a material or contact interface, the smaller of the two values is selected.

Name

 

Type

 

Description

 

Default

value (beta)

 

DOUBLE

 

The value of the penalty parameter, in the range , determining how strongly the constraint is enforced. The precise interpretation of this value depends on the choice of the parameter dimensionless, whose documentation provides a more detailed discussion. Note that the default value assumes that dimensionless is also set to its default value of true.

 

1e1

dimensionless (beta)

 

true|false

 

If this parameter is true, then the penalty value is interpreted as the dimensionless constant in the formula , where is a scalar estimate of the material stiffness (i.e., the Young's modulus in elasticity or the thermal conductivity in heat conduction), is a measure of element size (with units of length), and is the co-dimension of the constrained set, i.e., 0 for volumes, 1 for surfaces, 2 for curves, or 3 for points. If this parameter is false, then the penalty value is instead interpreted as the dimensional value of directly. The dimensionless option is recommended for most use cases. To interpret the dimensionless penalty value for the common case of constrained boundaries and interfaces () in elasticity, it is roughly the ratio of a single element's change in length under a given tensile load to the error allowed in the consraint. Note that, for any positive value, the constraint error will go to zero as the mesh is refined, since the specimen's overall change in length is distributed over more elements. Selecting too large of a penalty value makes the discrete problem harder to solve. The default value represents a good balance between accuracy and efficiency for most practical applications, but higher values may be appropriate for certain situations, such as calibrating material models with single-element patch tests.

 

true

6.6.4.8 effective_distance_smoothing (beta)

Name

 

Type

 

Description

 

Default

distance_smoothing_factor (beta)

 

DOUBLE

 

Specifies a fraction of the user-specified activation distance. The discontinuity in the effective signed distance gradients at a distance of zero is regularized over an interval equal to the activation distance multiplied by this factor. While this option aids in nonlinear convergence, it allows more penetration because the effective contact stiffness becomes smaller near the effective distance of zero. When less penetration is desired, it is suggested to reduce this value. When experiencing difficulty in achieving nonlinear convergence, it is suggested to try increasing this value. It is generally not recommended for this value to exceed 1.0.

 

0.25

edge_smoothing_factor [optional] (beta)

 

DOUBLE

 

Specifies a fraction of the user-specified activation distance. The discontinuities in the effective signed distance gradients around the edges of the contact surface integration cells are regularized over an interval equal to the activation distance multiplied by this factor. While this option facilitates easier nonlinear convergence, it can increase unintentional overclosures. Therefore, it is recommended to use this option with caution, particularly when bodies are initially touching each other.

 

corner_smoothing [optional] (beta)

 

true|false

 

The signed effective distance is additionally smoothed around the vertices of the contact surface integration cells. While this option facilitates easier nonlinear convergence, it can increase unintentional overclosures. Therefore, it is recommended to use this option with caution, particularly when bodies are initially touching each other.

 

6.6.4.9 collision_search_filter (beta)

Name

 

Type

 

Description

 

Default

angle_filter (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

area_filter (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

spurious_self_contact_filter (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

6.6.4.10 angle_filter (beta)

Name

 

Type

 

Description

 

Default

threshold_angle (beta)

 

DOUBLE

 

In order to improve performance for continuation/implicit dynamics, A pair of triangles will be removed from the collision candidate set if the angle between their surface normals is under this threshold that, in degrees, ranges from 0 to 90, with a recommended value of approximately 30 degrees. This option is automatically turned off for explicit dynamics.

 

30

6.6.4.11 area_filter (beta)

Name

 

Type

 

Description

 

Default

threshold_area_ratio (beta)

 

DOUBLE

 

In order to improve performance for continuation/implicit dynamics by avoiding an excessive amount of collision candidates when solution is diverging, the collision search will be skipped if the ratio of the surface triangle's current area to its area at the last successful time step exceeds this value. This option is automatically turned off for explicit dynamics.

 

2

6.6.4.12 spurious_self_contact_filter (beta)

Name

 

Type

 

Description

 

Default

use (beta)

 

true|false

 

If true, will not consider the interaction between integration cells from the same body when they are initially penetrate each other to avoid spurious self-contact. When this option is turned on, intentional self-overclosures cannot be applied.

 

true

6.6.4.13 contact_force_scaling (beta)

Name

 

Type

 

Description

 

Default

closest_point_penetration_based (beta)

 

SUB OBJECT

 

 

6.6.4.14 closest_point_penetration_based (beta)

The contact force is adjusted using a multiplicative scaling factor, which is a function of the penetration depth from the closest point on a contact surface. This adjustment helps avoid the development of spurious contact forces under certain geometry.

Name

 

Type

 

Description

 

Default

regularization_factor (beta)

 

DOUBLE

 

Specifies a fraction of the user-specified activation distance. The scaling factor is zero at the contact surface and ramps up to one over the interval of the activation distance multiplied by this value. This option allows more penetration because the effective contact stiffness becomes smaller near the effective distance of zero. It is recommended to use a value between 0.05 and 0.1 to avoid excessive penetration.

 

6.6.5 interference_fit (beta)

A physics based contact between two surfaces (paired) or in a single surface (self).

Name

 

Type

 

Description

 

Default

sets

 

[ STRING, ... ]

 

Specifies the interaction part, volume or surface sets that will participate in surface to surface interference fit. Will overrides the base_contact interaction defined in mechanical_contact.

 

interaction_properties [optional]

 

STRING

 

The name of the user defined interaction property to use for this interaction.

 

activation_distance (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

penalty (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

initial_activation_distance

 

DOUBLE

 

Specifies the initial activation distance for interference fit resolution. The initial activation distance should be large enough for the contact surfaces can see each other with an initially large overclosure. It is suggested that this value be chosen 2 to 4 times larger than the maximum overclosure initially present. The activation distance is then linearly ramped down to activation_distance within ramp_time_interval with a ramp function where , , , and denote the activation distance at time , initial_activation_distance, activation_distance, and ramp_time_interval. If this value is smaller than the activation_distance, it will be set to activation_distance.

 

initial_penalty_ratio [optional]

 

DOUBLE

 

Specifies the ratio of the penalty to penalty. This value should be small enough compared to penalty to ensure nonlinear convergence, especially with large initial overclosure. The penalty value is exponentially ramped up to penaly within ramp_time_interval with a ramp function where , , , and denote the penalty value at time , penalty, initial_penalty_ratio, and ramp_time_interval. If the nonlinear calculation diverges, it is recommended to lower this value. If the solution converges but the interaction is lost during the simulation, it is recommended to increase this value.

 

1e-5

ramp_time_interval

 

DOUBLE

 

The activation distance and the contact stiffness are ramped over this time interval. If you set initial_penalty_ratio to a fairly small number but still experience nonlinear divergence, it may be due to the ramping occurring over too few time steps. In that case, it is recommended to either increase the ramp_time_interval or ensure there are at least 5 time steps within this interval.

 

tessellation_subdivision_count [optional]

 

NONNEGATIVE INTEGER

 

An integration cell is subdivided by the maximum of this value and the degree of spline.

 

2

effective_distance_smoothing (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

collision_search_filter (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

contact_force_scaling (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

6.6.5.1 activation_distance (beta)

Specifies the distance within which to search for contacting points. When it is observed that some contact surfaces lose interaction, a larger-than-default value may be required.

Name

 

Type

 

Description

 

Default

value [optional] (beta)

 

DOUBLE

 

Specifies the distance within which to search for contacting points. Larger values are more robust, but also potentially more expensive. The precise interpretation of this depends on the value of dimensionless, with more detail given in its documentation. Note that the default value assumes that dimensionless is also set to its default value of true.

 

0.5

dimensionless [optional] (beta)

 

true|false

 

If this is set to true, then value is understood as a dimensionless fraction of the element size. If it is set to false, then value is interpreted as a length scale, and must be selected in a way that is consistent with the length units used elsewhere. When manually specifying an activation distance, it is recommended to keep it on the same order as element size, as reflected in the default dimensionless value.

 

true

6.6.5.2 penalty (beta)

Options for penalty enforcement of a boundary condition or other type of constraint. When penalty values are calculated from a dimensionless scale using material properties and element size on two sides of a material or contact interface, the smaller of the two values is selected.

Name

 

Type

 

Description

 

Default

value (beta)

 

DOUBLE

 

The value of the penalty parameter, in the range , determining how strongly the constraint is enforced. The precise interpretation of this value depends on the choice of the parameter dimensionless, whose documentation provides a more detailed discussion. Note that the default value assumes that dimensionless is also set to its default value of true.

 

1e1

dimensionless (beta)

 

true|false

 

If this parameter is true, then the penalty value is interpreted as the dimensionless constant in the formula , where is a scalar estimate of the material stiffness (i.e., the Young's modulus in elasticity or the thermal conductivity in heat conduction), is a measure of element size (with units of length), and is the co-dimension of the constrained set, i.e., 0 for volumes, 1 for surfaces, 2 for curves, or 3 for points. If this parameter is false, then the penalty value is instead interpreted as the dimensional value of directly. The dimensionless option is recommended for most use cases. To interpret the dimensionless penalty value for the common case of constrained boundaries and interfaces () in elasticity, it is roughly the ratio of a single element's change in length under a given tensile load to the error allowed in the consraint. Note that, for any positive value, the constraint error will go to zero as the mesh is refined, since the specimen's overall change in length is distributed over more elements. Selecting too large of a penalty value makes the discrete problem harder to solve. The default value represents a good balance between accuracy and efficiency for most practical applications, but higher values may be appropriate for certain situations, such as calibrating material models with single-element patch tests.

 

true

6.6.5.3 effective_distance_smoothing (beta)

Name

 

Type

 

Description

 

Default

distance_smoothing_factor (beta)

 

DOUBLE

 

Specifies a fraction of the user-specified activation distance. The discontinuity in the effective signed distance gradients at a distance of zero is regularized over an interval equal to the activation distance multiplied by this factor. While this option aids in nonlinear convergence, it allows more penetration because the effective contact stiffness becomes smaller near the effective distance of zero. When less penetration is desired, it is suggested to reduce this value. When experiencing difficulty in achieving nonlinear convergence, it is suggested to try increasing this value. It is generally not recommended for this value to exceed 1.0.

 

0.25

edge_smoothing_factor [optional] (beta)

 

DOUBLE

 

Specifies a fraction of the user-specified activation distance. The discontinuities in the effective signed distance gradients around the edges of the contact surface integration cells are regularized over an interval equal to the activation distance multiplied by this factor. While this option facilitates easier nonlinear convergence, it can increase unintentional overclosures. Therefore, it is recommended to use this option with caution, particularly when bodies are initially touching each other.

 

corner_smoothing [optional] (beta)

 

true|false

 

The signed effective distance is additionally smoothed around the vertices of the contact surface integration cells. While this option facilitates easier nonlinear convergence, it can increase unintentional overclosures. Therefore, it is recommended to use this option with caution, particularly when bodies are initially touching each other.

 

6.6.5.4 collision_search_filter (beta)

Name

 

Type

 

Description

 

Default

angle_filter (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

area_filter (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

spurious_self_contact_filter (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

6.6.5.5 angle_filter (beta)

Name

 

Type

 

Description

 

Default

threshold_angle (beta)

 

DOUBLE

 

In order to improve performance for continuation/implicit dynamics, A pair of triangles will be removed from the collision candidate set if the angle between their surface normals is under this threshold that, in degrees, ranges from 0 to 90, with a recommended value of approximately 30 degrees. This option is automatically turned off for explicit dynamics.

 

30

6.6.5.6 area_filter (beta)

Name

 

Type

 

Description

 

Default

threshold_area_ratio (beta)

 

DOUBLE

 

In order to improve performance for continuation/implicit dynamics by avoiding an excessive amount of collision candidates when solution is diverging, the collision search will be skipped if the ratio of the surface triangle's current area to its area at the last successful time step exceeds this value. This option is automatically turned off for explicit dynamics.

 

2

6.6.5.7 spurious_self_contact_filter (beta)

Name

 

Type

 

Description

 

Default

use (beta)

 

true|false

 

If true, will not consider the interaction between integration cells from the same body when they are initially penetrate each other to avoid spurious self-contact. When this option is turned on, intentional self-overclosures cannot be applied.

 

true

6.6.5.8 contact_force_scaling (beta)

Name

 

Type

 

Description

 

Default

closest_point_penetration_based (beta)

 

SUB OBJECT

 

 

6.6.5.9 closest_point_penetration_based (beta)

The contact force is adjusted using a multiplicative scaling factor, which is a function of the penetration depth from the closest point on a contact surface. This adjustment helps avoid the development of spurious contact forces under certain geometry.

Name

 

Type

 

Description

 

Default

regularization_factor (beta)

 

DOUBLE

 

Specifies a fraction of the user-specified activation distance. The scaling factor is zero at the contact surface and ramps up to one over the interval of the activation distance multiplied by this value. This option allows more penetration because the effective contact stiffness becomes smaller near the effective distance of zero. It is recommended to use a value between 0.05 and 0.1 to avoid excessive penetration.

 

6.6.6 rotational_constraint (alpha)

Name

 

Type

 

Description

 

Default

penalty (beta) [optional]

 

SUB OBJECT

 

See linked documentation

 

reference_axis_origin (alpha)

 

[ DOUBLE, ... ]

 

 

axis_orientation (alpha)

 

[ DOUBLE, ... ]

 

 

axis_origin_displacement (alpha)

 

SUB OBJECT

 

See linked documentation

 

part | set

 

STRING | STRING

 

Defines the set or part to be operated on

 

6.6.6.1 penalty (beta)

Options for penalty enforcement of a boundary condition or other type of constraint. When penalty values are calculated from a dimensionless scale using material properties and element size on two sides of a material or contact interface, the smaller of the two values is selected.

Name

 

Type

 

Description

 

Default

value (beta)

 

DOUBLE

 

The value of the penalty parameter, in the range , determining how strongly the constraint is enforced. The precise interpretation of this value depends on the choice of the parameter dimensionless, whose documentation provides a more detailed discussion. Note that the default value assumes that dimensionless is also set to its default value of true.

 

1e1

dimensionless (beta)

 

true|false

 

If this parameter is true, then the penalty value is interpreted as the dimensionless constant in the formula , where is a scalar estimate of the material stiffness (i.e., the Young's modulus in elasticity or the thermal conductivity in heat conduction), is a measure of element size (with units of length), and is the co-dimension of the constrained set, i.e., 0 for volumes, 1 for surfaces, 2 for curves, or 3 for points. If this parameter is false, then the penalty value is instead interpreted as the dimensional value of directly. The dimensionless option is recommended for most use cases. To interpret the dimensionless penalty value for the common case of constrained boundaries and interfaces () in elasticity, it is roughly the ratio of a single element's change in length under a given tensile load to the error allowed in the consraint. Note that, for any positive value, the constraint error will go to zero as the mesh is refined, since the specimen's overall change in length is distributed over more elements. Selecting too large of a penalty value makes the discrete problem harder to solve. The default value represents a good balance between accuracy and efficiency for most practical applications, but higher values may be appropriate for certain situations, such as calibrating material models with single-element patch tests.

 

true

6.6.6.2 axis_origin_displacement (alpha)

Name

 

Type

 

Description

 

Default

components (alpha)

 

[ “x” | “y” | “z”, ... ]

 

Specifies which degrees-of-freedom components are active.

 

scale_factor [optional] (alpha)

 

[ DOUBLE, ... ]

 

A scalar value or vector of the same length as components which scales the function.

 

1.0

function (alpha)

 

STRING

 

The user defined identifier of the temporal function.

 

6.6.6.3 part | set

Defines the set or part to be operated on

Name

 

Type

 

Description

 

Default

part

 

STRING

 

The user defined label of the part that defines the set.

 

set

 

STRING

 

The user defined identifier of the geometric set.

 

6.7 interaction_search_parameters (beta)

Each object in the interaction search definitions array defines search parameters to be used in an interaction. Currently the supported search definitions is a sensor-based layout.

Name

 

Type

 

Description

 

Default

label (beta)

 

STRING

 

User defined identifier for this interaction search definition.

 

sensor_based (beta)

 

SUB OBJECT

 

See linked documentation

 

6.7.1 sensor_based (beta)

Defines properties for sensor-based interaction search method. The layout of sensors is determined by the quadrature rule specified in the material interface or tied constraint using these search parameters. For each sensor (quadrature point) on the source surface, the nearest point is found on the target surface using the given parameters.

Name

 

Type

 

Description

 

Default

max_iterations (beta)

 

NONNEGATIVE INTEGER

 

Specifies the maximum iterations for the search.

 

10

relative_tolerance (beta)

 

DOUBLE

 

Specifies the relative search tolerance.

 

1e-8

bounding_box_extension (beta)

 

DOUBLE

 

Specifies the extension of the bounding box for the interaction search.

 

1e-3

6.8 interaction_properties (beta)

The interaction property definition allows the user to define the type of friction and movement that occurs once contact is initiated.

Name

 

Type

 

Description

 

Default

label (beta)

 

STRING

 

The user defined identifier for this interaction property definition.

 

frictionless (beta) | coulomb_friction (beta)

 

SUB OBJECT | SUB OBJECT

 

One of the given keywords must be defined to specify the class of interaction property

 

6.8.1 frictionless (beta)

A tangential interaction property, signifying no friction will be enforced. This object has no input variables.

Name

 

Type

 

Description

 

Default

6.8.2 coulomb_friction (beta)

A tangential interaction occurs, governed by the coulomb friction.

Name

 

Type

 

Description

 

Default

coefficient_with_regularization (beta)

 

SUB OBJECT

 

Defines how the friction is described.

 

6.8.2.1 coefficient_with_regularization (beta)

A constant friction coefficient is applied with regularization.

Name

 

Type

 

Description

 

Default

friction_coefficient (beta)

 

DOUBLE

 

Friction coefficient.

 

regularization_velocity (beta)

 

DOUBLE

 

The friction_coefficient is multiplied by a regularization factor. The regularization factor is zero when the tangential velocity is zero. It monotomically increases and reaches to one when the magnitude of the tangential velocity becomes regularization_velocity. regularization_velocity can be interpreted as the maximum slip velocity allowed during what should nominally be static friction.