NEML2 2.0.0
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
[Models]

Table of Contents

Note
Clicking on the option with a triangle bullet ▸ next to it will expand/collapse its detailed information.
Type name written in PascalCase typically refer to a NEML2 object type, oftentimes a primitive tensor type.
The 🔗 symbol means that the tensor value can be cross-reference another object. See Model parameters (revisited) for details.
You can always use Ctrl+F or Cmd+F to search the entire page.

The following symbols are used throughout the documentation to denote different components of function definition.

  • 🇮: input variable
  • 🇴: output variable
  • 🇵: parameter
  • 🇧: buffer

Available objects and their input file syntax

Refer to System Documentation for detailed explanation about this system.

ArrheniusParameter

Define the variable as a function of temperature according to the Arrhenius law p=p0exp(QRT), where p0 is the reference value, Q is the activation energy, R is the ideal gas constant, and T is the temperature.

activation_energy 🇵 Activation energy

  • Type: Scalar 🔗
ideal_gas_constant The ideal gas constant

  • Type: number
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
parameter 🇴 The output parameter

  • Type: variable name
  • Default: parameters/p
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
reference_value 🇵 Reference value

  • Type: Scalar 🔗
temperature 🇮 Temperature

  • Type: variable name
  • Default: forces/T

Detailed documentation link

AssociativeIsotropicPlasticHardening

Map the flow rate (i.e., the consistency parameter in the KKT conditions) to the rate of internal variables. This object calculates the rate of equivalent plastic strain following associative flow rule, i.e. ε˙p=γ˙fk, where ε˙p is the equivalent plastic strain, γ˙ is the flow rate, f is the yield function, and k is the isotropic hardening.

equivalent_plastic_strain_rate 🇴 Rate of equivalent plastic strain

  • Type: variable name
  • Default: state/internal/ep_rate
flow_rate 🇮 Flow rate

  • Type: variable name
  • Default: state/internal/gamma_rate
isotropic_hardening_direction 🇮 Direction of associative isotropic hardening which can be calculated using Normality.

  • Type: variable name
  • Default: state/internal/Nk
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

AssociativeJ2FlowDirection

The plastic flow direction assuming an associative J2 flow.

flow_direction Flow direction

  • Type: variable name
  • Default: state/NM
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
mandel_stress Mandel stress

  • Type: variable name
  • Default: state/M
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

AssociativeKinematicPlasticHardening

Map the flow rate (i.e., the consistency parameter in the KKT conditions) to the rate of internal variables. This object calculates the rate of kinematic plastic strain following associative flow rule, i.e. K˙p=γ˙fX, where K˙p is the kinematic plastic strain, γ˙ is the flow rate, f is the yield function, and X is the kinematic hardening.

flow_rate 🇮 Flow rate

  • Type: variable name
  • Default: state/internal/gamma_rate
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
kinematic_hardening_direction 🇮 Direction of associative kinematic hardening which can be calculated using Normality.

  • Type: variable name
  • Default: state/internal/NX
kinematic_plastic_strain_rate 🇴 Rate of kinematic plastic strain

  • Type: variable name
  • Default: state/internal/Kp_rate
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

AssociativePlasticFlow

Map the flow rate (i.e., the consistency parameter in the KKT conditions) to the rate of internal variables. This object calculates the rate of plastic strain following associative flow rule, i.e. ε˙p=γ˙fM, where ε˙p is the plastic strain, γ˙ is the flow rate, f is the yield function, and M is the Mandel stress.

flow_direction 🇮 Flow direction which can be calculated using Normality

  • Type: variable name
  • Default: state/internal/NM
flow_rate 🇮 Flow rate

  • Type: variable name
  • Default: state/internal/gamma_rate
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
plastic_strain_rate 🇴 Rate of plastic strain

  • Type: variable name
  • Default: state/internal/Ep_rate
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

AvramiErofeevNucleation

Define the nucleation reaction model, takes the form of f=k(1a)(ln(1a))n, where k is the scaling constant, n is the reaction order, and a is the reaction amount

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
reaction_amount 🇮 Variable involes in the reaction, a

  • Type: variable name
  • Default: state/reaction_amount
reaction_order 🇵 Reaction order, n

  • Type: Scalar 🔗
reaction_out 🇴 Mechanism reaction output, f.

  • Type: variable name
  • Default: state/out
scaling_constant 🇵 Scaling constant, k

  • Type: Scalar 🔗

Detailed documentation link

ChabochePlasticHardening

Map the flow rate (i.e., the consistency parameter in the KKT conditions) to the rate of internal variables. This object defines the non-associative Fredrick-Armstrong kinematic hardening. In the model, back stress is directly treated as an internal variable. Rate of back stress is given as X˙=(23CfMgX)γ˙. fM is the flow direction, γ˙ is the flow rate, and C and g are material parameters. The complete Chaboche model adds static recovery terms AXa1X, so the model includes kinematic hardening, dynamic recovery, and static recovery. A and a are additional material parameters.

A 🇵 Static recovery prefactor

  • Type: Scalar 🔗
C 🇵 Kinematic hardening coefficient

  • Type: Scalar 🔗
a 🇵 Static recovery exponent

  • Type: Scalar 🔗
back_stress 🇮 Back stress

  • Type: variable name
  • Default: state/internal/X
back_stress_rate 🇴 Back stress rate, defaults to back_stress + _rate

  • Type: variable name
flow_direction 🇮 Flow direction

  • Type: variable name
  • Default: state/internal/NM
flow_rate 🇮 Flow rate

  • Type: variable name
  • Default: state/internal/gamma_rate
g 🇵 Dynamic recovery coefficient

  • Type: Scalar 🔗
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

ChemicalReactionMechanism

Define the chemical reaction model, takes the form of f=k(1a)n, where k is the scaling constant, n is the reaction order, and a is the reaction amount

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
reaction_amount 🇮 Variable involes in the reaction, a

  • Type: variable name
  • Default: state/reaction_amount
reaction_order 🇵 Reaction order, n

  • Type: Scalar 🔗
reaction_out 🇴 Mechanism reaction output, f.

  • Type: variable name
  • Default: state/out
scaling_constant 🇵 Scaling constant, k

  • Type: Scalar 🔗

Detailed documentation link

ComposedModel

Compose multiple models together to form a single model. The composed model can then be treated as a new model and composed with others. The system documentation provides in-depth explanation on how the models are composed together.

additional_outputs Extra output variables to be extracted from the composed model in addition to the ones identified through dependency resolution.

  • Type: list of variable name
automatic_nonlinear_parameter Whether to automatically add dependent nonlinear parameters

  • Type: bool
  • Default: true
automatic_scaling Whether to perform automatic scaling. See neml2::NonlinearSystem::init_scaling for implementation details.

  • Type: bool
  • Default: false
automatic_scaling_miter Maximum number of automatic scaling iterations. No error is produced upon reaching the maximum number of scaling iterations, and the scaling matrices obtained at the last iteration are used to scale the nonlinear system.

  • Type: number
  • Default: 20
automatic_scaling_tol Tolerance used in iteratively updating the scaling matrices.

  • Type: number
  • Default: 0.01
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
models Models being composed together

  • Type: list of string
priority Priorities of models in decreasing order. A model with higher priority will be evaluated first. This is useful for breaking cyclic dependency.

  • Type: list of string
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

CopyMillerIndex

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopyQuaternion

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopyR2

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopyR3

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopyR4

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopyR5

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopyR8

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopyRot

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopySFFR4

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopySFR3

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopySFR4

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopySR2

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopySSFR5

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopySSR4

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopySSSSR8

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopySWR4

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopyScalar

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopyVec

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopyWFR4

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopyWR2

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopyWSR4

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CopyWWR4

Copy the value from one variable to another.

from 🇮 Variable to copy value from

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 Variable to copy value to

  • Type: variable name

Detailed documentation link

CubicElasticityTensor

This class defines a cubic anisotropic elasticity tensor using three parameters. Various options are available for which three parameters to provide.

coefficient_as_parameter Whether to treat the coefficients as (trainable) parameters. Default is true. Setting this option to false will treat the coefficients as buffers.

  • Type: list of bool
  • Default: 1
coefficient_types Types for each parameter, options are: INVALID P_WAVE_MODULUS POISSONS_RATIO YOUNGS_MODULUS SHEAR_MODULUS BULK_MODULUS LAME_LAMBDA

  • Type: MultiEnumSelection
  • Default: (INVALID)
coefficients 🇵 Coefficients used to define the elasticity tensor

  • Type: list of Scalar 🔗
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

DiffusionLimitedReaction

Calculate the void fraction rate of change

diffusion_coefficient 🇵 Diffusion coefficient of the rate-limiting species in the product phase

  • Type: Scalar 🔗
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
liquid_reactivity 🇮 Reactivity of the liquid phase, between 0 and 1

  • Type: variable name
  • Default: state/R_l
molar_volume Molar volume of the rate-limiting (liquid) species

  • Type: number
product_dummy_thickness Minimum product thickness to avoid division by 0

  • Type: number
  • Default: 0.01
product_inner_radius 🇮 Inner radius of the product phase

  • Type: variable name
  • Default: state/ri
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
reaction_rate 🇴 Product phase substance (mol/V) rate of change

  • Type: variable name
  • Default: state/alpha_rate
solid_inner_radius 🇮 Inner raidus of the solid phase

  • Type: variable name
  • Default: state/ro
solid_reactivity 🇮 Reactivity of the solid phase, between 0 and 1

  • Type: variable name
  • Default: state/R_s

Detailed documentation link

ElasticStrainRate

Calculates the elastic strain rate as ε˙=ddpεw+wε where d is the deformation rate, dp is the plastic deformation rate, w is the vorticity, and ε is the elastic strain.

deformation_rate 🇮 Name of the deformation rate

  • Type: variable name
  • Default: forces/deformation_rate
elastic_strain 🇮 Name of the elastic strain

  • Type: variable name
  • Default: state/elastic_strain
elastic_strain_rate 🇴 Name of the elastic strain rate

  • Type: variable name
  • Default: state/elastic_strain_rate
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
plastic_deformation_rate 🇮 Name of the plastic deformation rate

  • Type: variable name
  • Default: state/internal/plastic_deformation_rate
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
vorticity 🇮 Name of the vorticity

  • Type: variable name
  • Default: forces/vorticity

Detailed documentation link

FischerBurmeister

By default, if a0,b0,ab=0 then the Fischer Burmeister (FB) condition is: a+b(a2+b2), where a, b is the first_var and second_var respectively and first_inequality = second_inequality = 'GE'. One could set first_inequality = 'LE' (i.e. a0,b0,ab=0, FB conditions is a+b(a2+b2)). Same goes for second_inequality = 'LE'.

first_inequality Type of inequality for the first variable.Default: GE. Options are LE GE

  • Type: EnumSelection
  • Default: GE
first_var 🇮 First condition

  • Type: variable name
  • Default: state/a
fischer_burmeister 🇴 Fischer Burmeister condition

  • Type: variable name
  • Default: state/fb
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
second_inequality Type of inequality for the second variable.Default: GE. Options are LE GE

  • Type: EnumSelection
  • Default: GE
second_var 🇮 Second condition

  • Type: variable name
  • Default: state/b

Detailed documentation link

FixOrientation

Checks the value of the modified Rodrigues parameter by checking if r>t, with t a threshold value set to 1.0 by default and replacing all the orientations that exceed this limit with their shadow parameters values.

input_orientation 🇮 Name of input tensor of orientations to operate on.

  • Type: variable name
  • Default: state/orientation
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
output_orientation 🇴 Name of output tensor

  • Type: variable name
  • Default: state/orientation
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
threshold Threshold value for translating to the shadow parameters

  • Type: number
  • Default: 1

Detailed documentation link

FredrickArmstrongPlasticHardening

Map the flow rate (i.e., the consistency parameter in the KKT conditions) to the rate of internal variables. This object defines the non-associative Fredrick-Armstrong kinematic hardening. In the model, back stress is directly treated as an internal variable. Rate of back stress is given as X˙=(23CfMgX)γ˙. fM is the flow direction, γ˙ is the flow rate, and C and g are material parameters.

C 🇵 Kinematic hardening coefficient

  • Type: Scalar 🔗
back_stress 🇮 Back stress

  • Type: variable name
  • Default: state/internal/X
back_stress_rate 🇴 Back stress rate, defaults to back_stress + _rate

  • Type: variable name
flow_direction 🇮 Flow direction

  • Type: variable name
  • Default: state/internal/NM
flow_rate 🇮 Flow rate

  • Type: variable name
  • Default: state/internal/gamma_rate
g 🇵 Dynamic recovery coefficient

  • Type: Scalar 🔗
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

GTNYieldFunction

Gurson-Tvergaard-Needleman yield function for poroplasticity. The yield function is defined as f=(σ¯σy+k)2+2q1ϕcosh(12q23σhσsσy+k)(q3ϕ2+1), where σ¯ is the von Mises stress, σy is the yield stress, k is isotropic hardening, ϕ is the porosity, σh is the hydrostatic stress, and σs is the void growth back stress (sintering stress). q1, q2, and q3 are parameters controlling the yield mechanisms.

flow_invariant 🇮 Effective stress driving plastic flow

  • Type: variable name
  • Default: state/internal/se
isotropic_hardening 🇮 Isotropic hardening

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
poro_invariant 🇮 Effective stress driving porous flow

  • Type: variable name
  • Default: state/internal/sp
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
q1 🇵 Parameter controlling the balance/competition between plastic flow and void evolution.

  • Type: Scalar 🔗
q2 🇵 Void evolution rate

  • Type: Scalar 🔗
q3 🇵 Pore pressure

  • Type: Scalar 🔗
void_fraction 🇮 Void fraction (porosity)

  • Type: variable name
  • Default: state/internal/f
yield_function 🇴 Yield function

  • Type: variable name
  • Default: state/internal/fp
yield_stress 🇵 Yield stress

  • Type: Scalar 🔗

Detailed documentation link

GeneralElasticity

Relates elastic strain to stress with some non-isotropic tensor. This verion implements a general relation using the elasticity tensor, expressed as an SSR4 object

compliance Whether the model defines the compliance relationship, i.e., mapping from stress to elastic strain. When set to false (default), the model maps elastic strain to stress.

  • Type: bool
  • Default: false
elastic_stiffness_tensor 🇵 Elastic stiffness tensor

  • Type: SSR4 🔗
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
orientation 🇮 Active convention orientation from reference to current

  • Type: variable name
  • Default: state/orientation
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate_form Whether the model defines the stress-strain relationship in rate form. When set to true, the model maps elastic strain rate to stress rate.

  • Type: bool
  • Default: false
strain 🇮 Elastic strain

  • Type: variable name
  • Default: state/internal/Ee
stress 🇴 Stress

  • Type: variable name
  • Default: state/S

Detailed documentation link

GursonCavitation

Local mass balance used in conjunction with the GTNYieldFunction, ϕ˙=(1ϕ)ε˙p.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
plastic_strain_rate 🇮 Plastic strain rate

  • Type: variable name
  • Default: state/internal/Ep_rate
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
void_fraction 🇮 Void fraction (porosity)

  • Type: variable name
  • Default: state/internal/f
void_fraction_rate 🇴 Rate of void evolution

  • Type: variable name
  • Default: state/internal/f_rate

Detailed documentation link

HermiteSmoothStep

The smooth step function defined by Hermite polynomials

argument 🇮 Argument of the smooth step function

  • Type: variable name
complement_condition Whether takes 1 to subtract the function.

  • Type: bool
  • Default: false
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
lower_bound 🇧 Lower bound of the argument

  • Type: Scalar 🔗
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
upper_bound 🇧 Upper bound of the argument

  • Type: Scalar 🔗
value 🇴 Value of the smooth step function

  • Type: variable name

Detailed documentation link

ImplicitUpdate

Update an implicit model by solving the underlying implicit system of equations.

implicit_model The implicit model defining the implicit system of equations to be solved

  • Type: string
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
solver Solver used to solve the implicit system

  • Type: string

Detailed documentation link

IsotropicElasticityTensor

This class defines an isotropic elasticity tensor using two parameters. Various options are available for which two parameters to provide.

coefficient_as_parameter Whether to treat the coefficients as (trainable) parameters. Default is true. Setting this option to false will treat the coefficients as buffers.

  • Type: list of bool
  • Default: 1
coefficient_types Types for each parameter, options are: INVALID P_WAVE_MODULUS POISSONS_RATIO YOUNGS_MODULUS SHEAR_MODULUS BULK_MODULUS LAME_LAMBDA

  • Type: MultiEnumSelection
  • Default: (INVALID)
coefficients 🇵 Coefficients used to define the elasticity tensor

  • Type: list of Scalar 🔗
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

IsotropicMandelStress

Map Cauchy stress to Mandel stress For isotropic material under small deformation, the Mandel stress and the Cauchy stress coincide.

cauchy_stress 🇮 Cauchy stress

  • Type: variable name
  • Default: state/S
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
mandel_stress 🇴 Mandel stress

  • Type: variable name
  • Default: state/internal/M
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

KocksMeckingActivationEnergy

Calculates the Kocks-Mecking normalized activation as g=kTμb3logε˙0ε˙ with μ the shear modulus, k the Boltzmann constant, T the absolute temperature, b the Burgers vector length, ε˙0 a reference strain rate, and ε˙ the current strain rate.

activation_energy 🇴 Output name of the activation energy

  • Type: variable name
  • Default: forces/g
b Magnitude of the Burgers vector

  • Type: number
eps0 Reference strain rate

  • Type: number
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
k The Boltzmann constant

  • Type: number
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
shear_modulus 🇵 The shear modulus

  • Type: Scalar 🔗
strain_rate 🇮 Name of the effective strain rate

  • Type: variable name
  • Default: forces/effective_strain_rate
temperature 🇮 Absolute temperature

  • Type: variable name
  • Default: forces/T

Detailed documentation link

KocksMeckingFlowSwitch

Switches between rate independent and rate dependent flow rules based on the value of the Kocks-Mecking normalized activation energy. For activation energies less than the threshold use the rate independent flow rule, for values greater than the threshold use the rate dependent flow rule. This version uses a soft switch between the models, based on a tanh sigmoid function.

activation_energy 🇮 The input name of the activation energy

  • Type: variable name
  • Default: forces/g
flow_rate 🇴 Output name for the mixed flow rate

  • Type: variable name
  • Default: state/internal/gamma_rate
g0 🇵 Critical value of activation energy

  • Type: Scalar 🔗
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate_dependent_flow_rate 🇮 Input name of the rate dependent flow rate

  • Type: variable name
  • Default: state/internal/rd_rate
rate_independent_flow_rate 🇮 Input name of the rate independent flow rate

  • Type: variable name
  • Default: state/internal/ri_rate
sharpness A steepness parameter that controls the tanh mixing of the models. Higher values gives a sharper transition.

  • Type: number
  • Default: 1

Detailed documentation link

KocksMeckingFlowViscosity

Calculates the temperature-dependent flow viscosity for a Perzyna-type model using the Kocks-Mecking model. The value is η=expBμε˙0kTAμb3 with μ the shear modulus, ε˙0 a reference strain rate, b the Burgers vector, k the Boltzmann constant, T absolute temperature, A the Kocks-Mecking slope parameter, and B the Kocks-Mecking intercept parameter.

A 🇵 The Kocks-Mecking slope parameter

  • Type: Scalar 🔗
B 🇵 The Kocks-Mecking intercept parameter

  • Type: Scalar 🔗
b The Burgers vector

  • Type: number
eps0 The reference strain rate

  • Type: number
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
k Boltzmann constant

  • Type: number
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
shear_modulus 🇵 The shear modulus

  • Type: Scalar 🔗
temperature 🇮 Absolute temperature

  • Type: variable name
  • Default: forces/T

Detailed documentation link

KocksMeckingIntercept

The critical value of the normalized activation energy given by g0CBA

A 🇵 The Kocks-Mecking slope

  • Type: Scalar 🔗
B 🇵 The Kocks-Mecking intercept

  • Type: Scalar 🔗
C 🇵 The Kocks-Mecking horizontal value

  • Type: Scalar 🔗
intercept 🇴 The intercept

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

KocksMeckingRateSensitivity

Calculates the temperature-dependent rate sensitivity for a Perzyna-type model using the Kocks-Mecking model. The value is n=μb3kTA with μ the shear modulus, b the Burgers vector, k the Boltzmann constant, T absolute temperature, and A the Kocks-Mecking slope parameter.

A 🇵 The Kocks-Mecking slope parameter

  • Type: Scalar 🔗
b The Burgers vector

  • Type: number
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
k Boltzmann constant

  • Type: number
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
shear_modulus 🇵 The shear modulus

  • Type: Scalar 🔗
temperature 🇮 Absolute temperature

  • Type: variable name
  • Default: forces/T

Detailed documentation link

KocksMeckingYieldStress

The yield stress given by the Kocks-Mecking model. σy=expCμ with μ the shear modulus and C the horizontal intercept from the Kocks-Mecking diagram.

C 🇵 The Kocks-Mecking horizontal intercept

  • Type: Scalar 🔗
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
shear_modulus 🇵 The shear modulus

  • Type: Scalar 🔗

Detailed documentation link

LinearIsotropicElasticJ2TrialStressUpdate

Update the trial stress under the assumptions of J2 plasticity and isotropic linear elasticity

coefficient_as_parameter Whether to treat the coefficients as (trainable) parameters. Default is true. Setting this option to false will treat the coefficients as buffers.

  • Type: list of bool
  • Default: 1
coefficient_types Types for each parameter, options are: INVALID P_WAVE_MODULUS POISSONS_RATIO YOUNGS_MODULUS SHEAR_MODULUS BULK_MODULUS LAME_LAMBDA

  • Type: MultiEnumSelection
  • Default: (INVALID)
coefficients 🇵 Coefficients used to define the elasticity tensor

  • Type: list of Scalar 🔗
elastic_trial_stress 🇮 Initial trial stress assuming a purely elastic step

  • Type: variable name
  • Default: forces/s
equivalent_plastic_strain 🇮 Current guess for the equivalent plastic strain

  • Type: variable name
  • Default: state/ep
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
updated_trial_stress 🇴 Trial stress corrected for the current increment of plastic deformation

  • Type: variable name
  • Default: state/s

Detailed documentation link

LinearIsotropicElasticity

Relate elastic strain to stress for linear isotropic material. σ=Ktrεe+2Gdevεe, where K and G are bulk and shear moduli, respectively. Other pairs of Lame parameters are also supported.

coefficient_as_parameter Whether to treat the coefficients as (trainable) parameters. Default is true. Setting this option to false will treat the coefficients as buffers.

  • Type: list of bool
  • Default: 1
coefficient_types Types for each parameter, options are: INVALID P_WAVE_MODULUS POISSONS_RATIO YOUNGS_MODULUS SHEAR_MODULUS BULK_MODULUS LAME_LAMBDA

  • Type: MultiEnumSelection
  • Default: (INVALID)
coefficients 🇵 Coefficients used to define the elasticity tensor

  • Type: list of Scalar 🔗
compliance Whether the model defines the compliance relationship, i.e., mapping from stress to elastic strain. When set to false (default), the model maps elastic strain to stress.

  • Type: bool
  • Default: false
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate_form Whether the model defines the stress-strain relationship in rate form. When set to true, the model maps elastic strain rate to stress rate.

  • Type: bool
  • Default: false
strain 🇮 Elastic strain

  • Type: variable name
  • Default: state/internal/Ee
stress 🇴 Stress

  • Type: variable name
  • Default: state/S

Detailed documentation link

LinearIsotropicHardening

Map equivalent plastic strain to isotropic hardening following a linear relationship, i.e., h=Kεp where K is the hardening modulus.

equivalent_plastic_strain 🇮 Equivalent plastic strain

  • Type: variable name
  • Default: state/internal/ep
hardening_modulus 🇵 Hardening modulus

  • Type: Scalar 🔗
isotropic_hardening 🇴 Isotropic hardening

  • Type: variable name
  • Default: state/internal/k
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

LinearKinematicHardening

Map kinematic plastic strain to back stress following a linear relationship, i.e., X=HKp where H is the hardening modulus.

back_stress 🇴 Back stress

  • Type: variable name
  • Default: state/internal/X
hardening_modulus 🇵 Hardening modulus

  • Type: Scalar 🔗
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
kinematic_plastic_strain 🇮 Kinematic plastic strain

  • Type: variable name
  • Default: state/internal/Kp
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

LinearSingleSlipHardeningRule

Simple linear slip system hardening defined by τ˙=θi=1nslip|γ˙i| where θ is the hardening slope.

hardening_slope 🇵 Hardening rate

  • Type: Scalar 🔗
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
slip_hardening 🇮 Name of current values of slip hardening

  • Type: variable name
  • Default: state/internal/slip_hardening
slip_hardening_rate 🇴 Name of tensor to output the slip system hardening rates into

  • Type: variable name
  • Default: state/internal/slip_hardening_rate
sum_slip_rates 🇮 Name of tensor containing the sum of the slip rates

  • Type: variable name
  • Default: state/internal/sum_slip_rates

Detailed documentation link

MillerIndexConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: MillerIndex 🔗

Detailed documentation link

MillerIndexInputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

MixedControlSetup

Object to setup a model for mixed stress/strain control. Copies the values of the fixed_values (the input strain or stress) and the mixed_state (the conjugate stress or strain values) into the stress and strain tensors used by the model.

cauchy_stress 🇴 The name of the Cauchy stress tensor

  • Type: variable name
  • Default: state/S
control 🇮 The name of the control signal. Values less than the threshold are strain control, greater are stress control

  • Type: variable name
  • Default: forces/control
fixed_values 🇮 The name of the fixed values, i.e. the actual strain or stress values being imposed on the model

  • Type: variable name
  • Default: forces/fixed_values
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
mixed_state 🇮 The name of the mixed state tensor. This holds the conjugate values to those being controlled

  • Type: variable name
  • Default: state/mixed_state
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
strain 🇴 The name of the strain tensor

  • Type: variable name
  • Default: state/E
threshold The threshold to switch between strain and stress control

  • Type: Tensor 🔗
  • Default: 0.5

Detailed documentation link

Normality

Store the first derivatives of a scalar-valued function in given variables, i.e. ui=f(v)vi.

from Function arguments to take derivatives w.r.t.

  • Type: list of variable name
function Function to take derivative

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
model The model which evaluates the scalar-valued function

  • Type: string
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to Variables to store the first derivatives

  • Type: list of variable name

Detailed documentation link

OlevskySinteringStress

Define the Olevsky-Skorohod sintering stress to be used in conjunction with poroplasticity yield functions such as the GTNYieldFunction. The sintering stress is defined as σs=3γrϕ2, where γ is the surface tension, r is the size of the particles/powders, and ϕ is the void fraction.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
particle_radius 🇵 Particle radius

  • Type: Scalar 🔗
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
sintering_stress 🇴 Sintering stress

  • Type: variable name
  • Default: state/internal/ss
surface_tension 🇵 Surface tension

  • Type: Scalar 🔗
void_fraction 🇮 Void fraction

  • Type: variable name
  • Default: state/internal/f

Detailed documentation link

OrientationRate

Defines the rate of the crystal orientations as a spin given by Ωe=wwpεdp+dpε where Ωe=Q˙QT, Q is the orientation, w is the vorticity, wp is the plastic vorticity, dp is the plastic deformation rate, and ε is the elastic stretch.

elastic_strain 🇮 The name of the elastic strain tensor

  • Type: variable name
  • Default: state/elastic_strain
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
orientation_rate 🇴 The name of the orientation rate (spin)

  • Type: variable name
  • Default: state/orientation_rate
plastic_deformation_rate 🇮 The name of the plastic deformation rate

  • Type: variable name
  • Default: state/internal/plastic_deformation_rate
plastic_vorticity 🇮 The name of the plastic vorticity

  • Type: variable name
  • Default: state/internal/plastic_vorticity
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
vorticity 🇮 The name of the voriticty tensor

  • Type: variable name
  • Default: forces/vorticity

Detailed documentation link

PerzynaPlasticFlowRate

Perzyna's viscous approximation of the consistent yield envelope (with a power law), i.e. γ˙=(fη)n, where f is the yield function, η is the reference stress, and n is the power-law exponent.

exponent 🇵 Power-law exponent

  • Type: Scalar 🔗
flow_rate 🇴 Flow rate

  • Type: variable name
  • Default: state/internal/gamma_rate
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
reference_stress 🇵 Reference stress

  • Type: Scalar 🔗
yield_function 🇮 Yield function

  • Type: variable name
  • Default: state/internal/fp

Detailed documentation link

PhaseTransformationEigenstrain

Define the (cummulative, as opposed to instantaneous) linear isotropic phase transformation (from phase A to phase B) eigenstrain, i.e. εPT=dvfI, where dv is the volume fraction change when going from phase A to B, f is the phase fraction (0 to 1) where \f f=0 represent fully phase A.

eigenstrain 🇴 Eigenstrain

  • Type: variable name
  • Default: forces/Eg
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
phase_fraction 🇮 Phase fraction

  • Type: variable name
  • Default: state/f
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
volume_fraction_change 🇮 Change in volume fraction going from phase A to phase B

  • Type: variable name
  • Default: state/dv

Detailed documentation link

PlasticDeformationRate

Caclulates the plastic deformation rate as dp=i=1nslipγ˙iQsym(dini)QT with dp the plastic deformation rate, γ˙i the slip rate on the ith slip system, Q the orientation, di the slip system direction, and ni the slip system normal.

crystal_geometry_name The name of the Data object containing the crystallographic information for the material

  • Type: string
  • Default: crystal_geometry
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
orientation 🇮 The name of the orientation matrix tensor

  • Type: variable name
  • Default: state/orientation_matrix
plastic_deformation_rate 🇴 The name of the plastic deformation rate tensor

  • Type: variable name
  • Default: state/internal/plastic_deformation_rate
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
slip_rates 🇮 The name of the tensor containg the current slip rates

  • Type: variable name
  • Default: state/internal/slip_rates

Detailed documentation link

PlasticVorticity

Caclulates the plastic vorcitity as wp=i=1nslipγ˙iQskew(dini)QT with dp the plastic deformation rate, γ˙i the slip rate on the ith slip system, Q the orientation, di the slip system direction, and ni the slip system normal.

crystal_geometry_name The name of the Data object containing the crystallographic information for the material

  • Type: string
  • Default: crystal_geometry
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
orientation 🇮 The name of the orientation matrix tensor

  • Type: variable name
  • Default: state/orientation_matrix
plastic_vorticity 🇴 The name of the plastic vorticity tensor

  • Type: variable name
  • Default: state/internal/plastic_vorticity
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
slip_rates 🇮 The name of the tensor containg the current slip rates

  • Type: variable name
  • Default: state/internal/slip_rates

Detailed documentation link

PowerLawIsotropicHardeningStaticRecovery

This particular model implements a power law recovery of the type k˙=(kτ)n1kτ

isotropic_hardening 🇮 Isotropic hardening variable

  • Type: variable name
  • Default: state/internal/k
isotropic_hardening_rate 🇮 Rate of isotropic hardening, defaults to isotropic_hardening + _recovery_rate

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
n 🇵 Recovery exponent

  • Type: Scalar 🔗
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
tau 🇵 Recovery rate

  • Type: Scalar 🔗

Detailed documentation link

PowerLawKinematicHardeningStaticRecovery

This object defines kinematic hardening static recovery on a backstress term. This particular model uses a power law for recovery X˙=(Xτ)n1Xτwhere n is the power law recovery exponent and τ is the recovery rate.

back_stress 🇮 Back stress

  • Type: variable name
  • Default: state/internal/X
back_stress_rate 🇴 Back stress rate, defaults to back_stress + _recovery_rate

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
n 🇵 Static recovery exponent

  • Type: Scalar 🔗
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
tau 🇵 Static recovery rate

  • Type: Scalar 🔗

Detailed documentation link

PowerLawSlipRule

Power law slip rule defined as γ˙i=γ˙0|τiτ^i|n1τiτ^i with γ˙i the slip rate on system i, τi the resolved shear, τ^i the slip system strength, n the rate senstivity, and γ˙0 a reference slip rate.

crystal_geometry_name Name of the Data object containing the crystallographic information

  • Type: string
  • Default: crystal_geometry
gamma0 🇵 Reference slip rate

  • Type: Scalar 🔗
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
n 🇵 Rate sensitivity exponent

  • Type: Scalar 🔗
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
resolved_shears 🇮 Name of the resolved shear tensor

  • Type: variable name
  • Default: state/internal/resolved_shears
slip_rates 🇴 Name of the slip rate tensor

  • Type: variable name
  • Default: state/internal/slip_rates
slip_strengths 🇮 Name of the tensor containing the slip system strengths

  • Type: variable name
  • Default: state/internal/slip_strengths

Detailed documentation link

ProductGeometry

Calculate the dimensionless inner and outer radii of the reaction product

inner_radius 🇴 Dimensionless inner radius of the product phase

  • Type: variable name
  • Default: state/ri
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
outer_radius 🇴 Dimensionless outer radius of the product phase

  • Type: variable name
  • Default: state/ro
product_fraction 🇮 Volume fraction of the product phase

  • Type: variable name
  • Default: state/phi_p
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
solid_fraction 🇮 Volume fraction of the solid phase

  • Type: variable name
  • Default: state/phi_s

Detailed documentation link

PyrolysisConversionAmount

Calculate the conversion amount from the pyrolysis process, defined by the ratio between the mass loss and the total possible mass loss from the pyrolysis.

initial_mass_binder 🇵 The binder's initial mas before the pyrolysis

  • Type: Scalar 🔗
initial_mass_solid 🇵 The solid's initial mass before the pyrolysis

  • Type: Scalar 🔗
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
mass_solid 🇮 The solid's mass.

  • Type: variable name
  • Default: state/mass_solid
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
reaction_amount 🇴 The amount of converted mass from the pyrolysis.

  • Type: variable name
  • Default: state/reaction_amount
reaction_yield 🇵 The final reaction yield from the pyrolysis process (between 0 and 1)

  • Type: Scalar 🔗

Detailed documentation link

PyrolysisKinetics

Governing Pyrolysis Kinetics equations, takes the form of x=Aexp(EaRT)f, where A is the kinetics constant, Ea is the activation energy, R is the ideal gas constant, T is the temperature, and f is the reaction models

activation_energy 🇵 Activation energy, Ea

  • Type: Scalar 🔗
ideal_gas_constant 🇵 Ideal gas constant, R

  • Type: Scalar 🔗
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
kinetic_constant 🇵 Kinetic constant, A

  • Type: Scalar 🔗
out 🇴 Kinetics output, x.

  • Type: variable name
  • Default: state/out
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
reaction 🇮 Reaction function, f

  • Type: variable name
  • Default: state/reaction
temperature 🇮 Temperature of the reactions

  • Type: variable name
  • Default: forces/temperature

Detailed documentation link

QuaternionConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: Quaternion 🔗

Detailed documentation link

QuaternionInputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

R2ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: R2 🔗

Detailed documentation link

R2IncrementToRate

Calculate the first order discrete time derivative of a variable as f˙=Δfttn, where Δf is the variable with the increment, and t is time.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate 🇴 The variable's rate of change

  • Type: variable name
time 🇮 Time

  • Type: variable name
  • Default: forces/t
variable 🇮 The incremental value

  • Type: variable name

Detailed documentation link

R2InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

R2toSR2

Extract the symmetric part of a R2 tensor

input 🇮 Rank two tensor to split

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
output 🇴 Output symmetric rank two tensor

  • Type: variable name
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

R2toWR2

Extract the skew symmetric part of a R2 tensor

input 🇮 Rank two tensor to split

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
output 🇴 Output skew symmetric rank two tensor

  • Type: variable name
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

R3ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: R3 🔗

Detailed documentation link

R3InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

R4ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: R4 🔗

Detailed documentation link

R4InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

R5ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: R5 🔗

Detailed documentation link

R5InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

R8ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: R8 🔗

Detailed documentation link

R8InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

RateIndependentPlasticFlowConstraint

Solve the consistent plasticity yield envelope by solving the equivalent complementarity condition

r=γ˙fpγ˙2+fp2

flow_rate 🇮 Flow rate

  • Type: variable name
  • Default: state/internal/gamma_rate
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
yield_function 🇮 Yield function

  • Type: variable name
  • Default: state/internal/fp

Detailed documentation link

ResolvedShear

Calculates the resolved shears as τi=σ:Qsym(dini)QT where τi is the resolved shear on slip system i, σ is the Cauchy stress Q is the orientation matrix, di is the slip direction, and ni is the slip system normal.

crystal_geometry_name The name of the data object with the crystallographic information

  • Type: string
  • Default: crystal_geometry
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
orientation 🇮 The name of the orientation matrix

  • Type: variable name
  • Default: state/orientation_matrix
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
resolved_shears 🇴 The name of the resolved shears

  • Type: variable name
  • Default: state/internal/resolved_shears
stress 🇮 The name of the Cauchy stress tensor

  • Type: variable name
  • Default: state/internal/cauchy_stress

Detailed documentation link

RotConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: Rot 🔗

Detailed documentation link

RotInputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

RotationMatrix

Convert a Rot (rotation represented in Rodrigues format) to R2 (a full rotation matrix).

from 🇮 Rot to convert

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 R2 to store the resulting rotation matrix

  • Type: variable name

Detailed documentation link

SFFR4ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: SFFR4 🔗

Detailed documentation link

SFFR4InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

SFR3ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: SFR3 🔗

Detailed documentation link

SFR3InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

SFR4ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: SFR4 🔗

Detailed documentation link

SFR4InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

SR2BackwardEulerTimeIntegration

Define the backward Euler time integration residual r=ssn(ttn)s˙, where s is the variable being integrated, s˙ is the variable rate, and t is time. Subscripts n denote quantities from the previous time step.

automatic_scaling Whether to perform automatic scaling. See neml2::NonlinearSystem::init_scaling for implementation details.

  • Type: bool
  • Default: false
automatic_scaling_miter Maximum number of automatic scaling iterations. No error is produced upon reaching the maximum number of scaling iterations, and the scaling matrices obtained at the last iteration are used to scale the nonlinear system.

  • Type: number
  • Default: 20
automatic_scaling_tol Tolerance used in iteratively updating the scaling matrices.

  • Type: number
  • Default: 0.01
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate 🇮 Variable rate

  • Type: variable name
time 🇮 Time

  • Type: variable name
  • Default: forces/t
variable 🇮 Variable being integrated

  • Type: variable name

Detailed documentation link

SR2ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: SR2 🔗

Detailed documentation link

SR2CrystalMean

Average the variable over all crystals.

crystal_geometry_name The name of the Data object containing the crystallographic information

  • Type: string
  • Default: crystal_geometry
from 🇮 Variable to average

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The averaged variable

  • Type: variable name

Detailed documentation link

SR2ForwardEulerTimeIntegration

Perform forward Euler time integration defined as s=sn+(ttn)s˙, where s is the variable being integrated, s˙ is the variable rate, and t is time. Subscripts n denote quantities from the previous time step.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate 🇮 Variable rate of change

  • Type: variable name
time 🇮 Time

  • Type: variable name
  • Default: forces/t
variable 🇴 Variable being integrated

  • Type: variable name

Detailed documentation link

SR2IncrementToRate

Calculate the first order discrete time derivative of a variable as f˙=Δfttn, where Δf is the variable with the increment, and t is time.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate 🇴 The variable's rate of change

  • Type: variable name
time 🇮 Time

  • Type: variable name
  • Default: forces/t
variable 🇮 The incremental value

  • Type: variable name

Detailed documentation link

SR2InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

SR2Invariant

Calculate the invariant of a symmetric second order tensor (of type SR2).

invariant 🇴 Invariant

  • Type: variable name
invariant_type Type of invariant. Options are: INVALID EFFECTIVE_STRAIN VONMISES I2 I1

  • Type: EnumSelection
  • Default: INVALID
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
tensor 🇮 SR2 which is used to calculate the invariant of

  • Type: variable name

Detailed documentation link

SR2LinearCombination

Calculate linear combination of multiple SR2 tensors as u=civi (Einstein summation assumed), where ci are the coefficients, and vi are the variables to be summed.

coefficient_as_parameter By default, the coefficients are declared as buffers. Set this option to true to declare them as (trainable) parameters. This option takes a list of booleans, one for each coefficient. When the length of this list is 1, the boolean applies to all coefficients.

  • Type: list of bool
coefficients 🇵 Weights associated with each variable. This option takes a list of weights, one for each coefficient. When the length of this list is 1, the same weight applies to all coefficients.

  • Type: list of Scalar 🔗
  • Default: 1
from_var SR2 tensors to be summed

  • Type: list of variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to_var 🇴 The sum

  • Type: variable name

Detailed documentation link

SR2LinearInterpolation

Interpolate a SR2 as a function of the given argument. See neml2::Interpolation for rules on shapes of the interpolant and the argument. This object performs a linear interpolation.

abscissa Scalar defining the abscissa values of the interpolant

  • Type: Scalar 🔗
argument 🇮 Argument used to query the interpolant

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
ordinate SR2 defining the ordinate values of the interpolant

  • Type: SR2 🔗
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

SR2TwoStageThermalAnnealing

Thermal annealing recovery for a hardening variable of type SR2.For temperatures below T1 the model keeps the base model hardenign rate.For temperatures above T1 but below T2 the model zeros the hardening rate.For temperatures above T2 the model replaces the hardening rate with h˙=hτ where τ is the rate of recovery.

T1 🇵 First stage annealing temperature

  • Type: Scalar 🔗
T2 🇵 Second stage annealing temperature

  • Type: Scalar 🔗
base 🇮 Underlying base hardening variable

  • Type: variable name
base_rate 🇮 Base hardening rate

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
modified_rate 🇴 Output for the modified hardening rate.

  • Type: variable name
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
tau 🇵 Recovery rate for second stage annealing.

  • Type: Scalar 🔗
temperature 🇮 Temperature

  • Type: variable name
  • Default: forces/T

Detailed documentation link

SR2VariableRate

Calculate the first order discrete time derivative of a variable as f˙=ffnttn, where f is the force variable, and t is time.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate 🇴 The variable's rate of change

  • Type: variable name
time 🇮 Time

  • Type: variable name
  • Default: forces/t
variable 🇮 The variable to take time derivative with

  • Type: variable name

Detailed documentation link

SR2toR2

Convert a symmetric rank two tensor to a full tensor

input 🇮 Symmetric tensor to convert

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
output 🇴 Output full rank two tensor

  • Type: variable name
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

SSFR5ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: SSFR5 🔗

Detailed documentation link

SSFR5InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

SSR4ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: SSR4 🔗

Detailed documentation link

SSR4InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

SSSSR8ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: SSSSR8 🔗

Detailed documentation link

SSSSR8InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

SWR4ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: SWR4 🔗

Detailed documentation link

SWR4InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

ScalarBackwardEulerTimeIntegration

Define the backward Euler time integration residual r=ssn(ttn)s˙, where s is the variable being integrated, s˙ is the variable rate, and t is time. Subscripts n denote quantities from the previous time step.

automatic_scaling Whether to perform automatic scaling. See neml2::NonlinearSystem::init_scaling for implementation details.

  • Type: bool
  • Default: false
automatic_scaling_miter Maximum number of automatic scaling iterations. No error is produced upon reaching the maximum number of scaling iterations, and the scaling matrices obtained at the last iteration are used to scale the nonlinear system.

  • Type: number
  • Default: 20
automatic_scaling_tol Tolerance used in iteratively updating the scaling matrices.

  • Type: number
  • Default: 0.01
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate 🇮 Variable rate

  • Type: variable name
time 🇮 Time

  • Type: variable name
  • Default: forces/t
variable 🇮 Variable being integrated

  • Type: variable name

Detailed documentation link

ScalarConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: Scalar 🔗

Detailed documentation link

ScalarForwardEulerTimeIntegration

Perform forward Euler time integration defined as s=sn+(ttn)s˙, where s is the variable being integrated, s˙ is the variable rate, and t is time. Subscripts n denote quantities from the previous time step.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate 🇮 Variable rate of change

  • Type: variable name
time 🇮 Time

  • Type: variable name
  • Default: forces/t
variable 🇴 Variable being integrated

  • Type: variable name

Detailed documentation link

ScalarIncrementToRate

Calculate the first order discrete time derivative of a variable as f˙=Δfttn, where Δf is the variable with the increment, and t is time.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate 🇴 The variable's rate of change

  • Type: variable name
time 🇮 Time

  • Type: variable name
  • Default: forces/t
variable 🇮 The incremental value

  • Type: variable name

Detailed documentation link

ScalarInputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

ScalarLinearCombination

Calculate linear combination of multiple Scalar tensors as u=civi (Einstein summation assumed), where ci are the coefficients, and vi are the variables to be summed.

coefficient_as_parameter By default, the coefficients are declared as buffers. Set this option to true to declare them as (trainable) parameters. This option takes a list of booleans, one for each coefficient. When the length of this list is 1, the boolean applies to all coefficients.

  • Type: list of bool
coefficients 🇵 Weights associated with each variable. This option takes a list of weights, one for each coefficient. When the length of this list is 1, the same weight applies to all coefficients.

  • Type: list of Scalar 🔗
  • Default: 1
from_var Scalar tensors to be summed

  • Type: list of variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to_var 🇴 The sum

  • Type: variable name

Detailed documentation link

ScalarLinearInterpolation

Interpolate a Scalar as a function of the given argument. See neml2::Interpolation for rules on shapes of the interpolant and the argument. This object performs a linear interpolation.

abscissa Scalar defining the abscissa values of the interpolant

  • Type: Scalar 🔗
argument 🇮 Argument used to query the interpolant

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
ordinate Scalar defining the ordinate values of the interpolant

  • Type: Scalar 🔗
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

ScalarTwoStageThermalAnnealing

Thermal annealing recovery for a hardening variable of type Scalar.For temperatures below T1 the model keeps the base model hardenign rate.For temperatures above T1 but below T2 the model zeros the hardening rate.For temperatures above T2 the model replaces the hardening rate with h˙=hτ where τ is the rate of recovery.

T1 🇵 First stage annealing temperature

  • Type: Scalar 🔗
T2 🇵 Second stage annealing temperature

  • Type: Scalar 🔗
base 🇮 Underlying base hardening variable

  • Type: variable name
base_rate 🇮 Base hardening rate

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
modified_rate 🇴 Output for the modified hardening rate.

  • Type: variable name
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
tau 🇵 Recovery rate for second stage annealing.

  • Type: Scalar 🔗
temperature 🇮 Temperature

  • Type: variable name
  • Default: forces/T

Detailed documentation link

ScalarVariableMultiplication

Calculate the multiplication (product) of multiple Scalar variable with a constant coefficient. Using reciprocal, one can have the reciprocity of variable 'a', aka. '1/a'

constant_coefficient 🇵 The constant coefficient multiply to the final product

  • Type: Scalar 🔗
  • Default: 1
from_var Scalar variables to be multiplied

  • Type: list of variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
reciprocal List of boolens, one for each variable, in which the reciprocity of a the corresponding variable is taken. When the length of this list is 1, the same reciprocal condition applies to all variables.

  • Type: list of bool
to_var 🇴 The multiplicative product

  • Type: variable name

Detailed documentation link

ScalarVariableRate

Calculate the first order discrete time derivative of a variable as f˙=ffnttn, where f is the force variable, and t is time.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate 🇴 The variable's rate of change

  • Type: variable name
time 🇮 Time

  • Type: variable name
  • Default: forces/t
variable 🇮 The variable to take time derivative with

  • Type: variable name

Detailed documentation link

SingleSlipStrengthMap

Calculates the slip system strength for all slip systems as τ^i=τ¯+τ0 where τ^i is the strength for slip system i, τ¯ is an evolving slip system strength (one value of all systems), defined by another object, and τ0 is a constant strength.

constant_strength 🇵 The constant slip system strength

  • Type: Scalar 🔗
crystal_geometry_name Name of the Data object containing the crystallographic information

  • Type: string
  • Default: crystal_geometry
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
slip_hardening 🇮 The name of the evovling, scalar strength

  • Type: variable name
  • Default: state/internal/slip_hardening
slip_strengths 🇴 Name of the slip system strengths

  • Type: variable name
  • Default: state/internal/slip_strengths

Detailed documentation link

SlopeSaturationVoceIsotropicHardening

SlopeSaturationVoce isotropic hardening model, h˙=θ0(1hR)εp, where R is the isotropic hardening upon saturation, and θ0 is the initial hardening rate. In addition to the reparameterization, this model differences from the VoceIsotropicHardening model in that it defines the hardening rate in a non-assocative manner. This is sometimes handy, for example in supplementing the model with static recovery.

flow_rate 🇮 Flow rate

  • Type: variable name
  • Default: state/internal/gamma_rate
initial_hardening_rate 🇵 Initial hardening rate

  • Type: Scalar 🔗
isotropic_hardening 🇮 Isotropic hardening variable

  • Type: variable name
  • Default: state/internal/k
isotropic_hardening_rate 🇮 Rate of isotropic hardening, defaults to isotropic_hardening + _rate

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
saturated_hardening 🇵 Saturated isotropic hardening

  • Type: Scalar 🔗

Detailed documentation link

SumSlipRates

Calculates the sum of the absolute value of all the slip rates as i=1nslip|γ˙i|.

crystal_geometry_name The name of the Data object containing the crystallographic information

  • Type: string
  • Default: crystal_geometry
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
slip_rates 🇮 The name of individual slip rates

  • Type: variable name
  • Default: state/internal/slip_rates
sum_slip_rates 🇴 The outut name for the scalar sum of the slip rates

  • Type: variable name
  • Default: state/internal/sum_slip_rates

Detailed documentation link

ThermalEigenstrain

Define the (cummulative, as opposed to instantaneous) linear isotropic thermal eigenstrain, i.e. εT=α(TT0)I, where α is the coefficient of thermal expansion (CTE), T is the temperature, and T0 is the reference (stress-free) temperature.

CTE 🇵 Coefficient of thermal expansion

  • Type: Scalar 🔗
eigenstrain 🇴 Eigenstrain

  • Type: variable name
  • Default: forces/Eg
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
reference_temperature 🇧 Reference (stress-free) temperature

  • Type: Scalar 🔗
temperature 🇮 Temperature

  • Type: variable name
  • Default: forces/T

Detailed documentation link

VecBackwardEulerTimeIntegration

Define the backward Euler time integration residual r=ssn(ttn)s˙, where s is the variable being integrated, s˙ is the variable rate, and t is time. Subscripts n denote quantities from the previous time step.

automatic_scaling Whether to perform automatic scaling. See neml2::NonlinearSystem::init_scaling for implementation details.

  • Type: bool
  • Default: false
automatic_scaling_miter Maximum number of automatic scaling iterations. No error is produced upon reaching the maximum number of scaling iterations, and the scaling matrices obtained at the last iteration are used to scale the nonlinear system.

  • Type: number
  • Default: 20
automatic_scaling_tol Tolerance used in iteratively updating the scaling matrices.

  • Type: number
  • Default: 0.01
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate 🇮 Variable rate

  • Type: variable name
time 🇮 Time

  • Type: variable name
  • Default: forces/t
variable 🇮 Variable being integrated

  • Type: variable name

Detailed documentation link

VecConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: Vec 🔗

Detailed documentation link

VecForwardEulerTimeIntegration

Perform forward Euler time integration defined as s=sn+(ttn)s˙, where s is the variable being integrated, s˙ is the variable rate, and t is time. Subscripts n denote quantities from the previous time step.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate 🇮 Variable rate of change

  • Type: variable name
time 🇮 Time

  • Type: variable name
  • Default: forces/t
variable 🇴 Variable being integrated

  • Type: variable name

Detailed documentation link

VecIncrementToRate

Calculate the first order discrete time derivative of a variable as f˙=Δfttn, where Δf is the variable with the increment, and t is time.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate 🇴 The variable's rate of change

  • Type: variable name
time 🇮 Time

  • Type: variable name
  • Default: forces/t
variable 🇮 The incremental value

  • Type: variable name

Detailed documentation link

VecInputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

VecLinearCombination

Calculate linear combination of multiple Vec tensors as u=civi (Einstein summation assumed), where ci are the coefficients, and vi are the variables to be summed.

coefficient_as_parameter By default, the coefficients are declared as buffers. Set this option to true to declare them as (trainable) parameters. This option takes a list of booleans, one for each coefficient. When the length of this list is 1, the boolean applies to all coefficients.

  • Type: list of bool
coefficients 🇵 Weights associated with each variable. This option takes a list of weights, one for each coefficient. When the length of this list is 1, the same weight applies to all coefficients.

  • Type: list of Scalar 🔗
  • Default: 1
from_var Vec tensors to be summed

  • Type: list of variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to_var 🇴 The sum

  • Type: variable name

Detailed documentation link

VecLinearInterpolation

Interpolate a Vec as a function of the given argument. See neml2::Interpolation for rules on shapes of the interpolant and the argument. This object performs a linear interpolation.

abscissa Scalar defining the abscissa values of the interpolant

  • Type: Scalar 🔗
argument 🇮 Argument used to query the interpolant

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
ordinate Vec defining the ordinate values of the interpolant

  • Type: Vec 🔗
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false

Detailed documentation link

VecVariableRate

Calculate the first order discrete time derivative of a variable as f˙=ffnttn, where f is the force variable, and t is time.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate 🇴 The variable's rate of change

  • Type: variable name
time 🇮 Time

  • Type: variable name
  • Default: forces/t
variable 🇮 The variable to take time derivative with

  • Type: variable name

Detailed documentation link

VoceIsotropicHardening

Voce isotropic hardening model, h=R[1exp(dεp)], where R is the isotropic hardening upon saturation, and d is the hardening rate.

equivalent_plastic_strain 🇮 Equivalent plastic strain

  • Type: variable name
  • Default: state/internal/ep
isotropic_hardening 🇴 Isotropic hardening

  • Type: variable name
  • Default: state/internal/k
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
saturated_hardening 🇵 Saturated isotropic hardening

  • Type: Scalar 🔗
saturation_rate 🇵 Hardening saturation rate

  • Type: Scalar 🔗

Detailed documentation link

VoceSingleSlipHardeningRule

Voce hardening for a SingleSlipStrength type model defined by τ˙=θ0(1ττf)i=1nslip|γ˙i| where θ0 is the initial rate of work hardening, τf is the saturated, maximum value of the slip system strength, and γ˙i is the slip rate on each system.

initial_slope 🇵 The initial rate of hardening

  • Type: Scalar 🔗
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
saturated_hardening 🇵 The final, saturated value of the slip system strength

  • Type: Scalar 🔗
slip_hardening 🇮 Name of current values of slip hardening

  • Type: variable name
  • Default: state/internal/slip_hardening
slip_hardening_rate 🇴 Name of tensor to output the slip system hardening rates into

  • Type: variable name
  • Default: state/internal/slip_hardening_rate
sum_slip_rates 🇮 Name of tensor containing the sum of the slip rates

  • Type: variable name
  • Default: state/internal/sum_slip_rates

Detailed documentation link

VolumeChangeEigenstrain

Define the (cummulative, as opposed to instantaneous) linear isotropic volume expansion eigenstrain, i.e. εV=\(V/V0)(1/3)1I, where V is the current volume, and V0 is the reference (initial) volume.

eigenstrain 🇴 Eigenstrain

  • Type: variable name
  • Default: forces/Eg
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
reference_volume 🇧 Reference (initial) volume

  • Type: Scalar 🔗
volume 🇮 Volume

  • Type: variable name
  • Default: state/V

Detailed documentation link

WFR4ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: WFR4 🔗

Detailed documentation link

WFR4InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

WR2ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: WR2 🔗

Detailed documentation link

WR2ExplicitExponentialTimeIntegration

Perform explicit discrete exponential time integration of a rotation. The update can be written as s=exp[(ttn)s˙]sn, where denotes the rotation operator.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate 🇮 Variable rate of change

  • Type: variable name
time 🇮 Time

  • Type: variable name
  • Default: forces/t
variable 🇴 Variable being integrated

  • Type: variable name

Detailed documentation link

WR2ImplicitExponentialTimeIntegration

Define the implicit discrete exponential time integration residual of a rotation variable. The residual can be written as r=sexp[(ttn)s˙]sn, where denotes the rotation operator.

automatic_scaling Whether to perform automatic scaling. See neml2::NonlinearSystem::init_scaling for implementation details.

  • Type: bool
  • Default: false
automatic_scaling_miter Maximum number of automatic scaling iterations. No error is produced upon reaching the maximum number of scaling iterations, and the scaling matrices obtained at the last iteration are used to scale the nonlinear system.

  • Type: number
  • Default: 20
automatic_scaling_tol Tolerance used in iteratively updating the scaling matrices.

  • Type: number
  • Default: 0.01
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
rate 🇮 Variable rate

  • Type: variable name
time 🇮 Time

  • Type: variable name
  • Default: forces/t
variable 🇮 Variable being integrated

  • Type: variable name

Detailed documentation link

WR2InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

WSR4ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: WSR4 🔗

Detailed documentation link

WSR4InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

WWR4ConstantParameter

A parameter that is just a constant value, generally used to refer to a parameter in more than one downstream object.

jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
value 🇵 The constant value of the parameter

  • Type: WWR4 🔗

Detailed documentation link

WWR4InputParameter

A parameter that is defined through an input variable. This object is not intended to be used directly in the input file.

from 🇮 The input variable that defines this parameter

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
to 🇴 The name of the parameter, default to 'parameters/object_name'

  • Type: variable name

Detailed documentation link

YieldFunction

Classical macroscale plasticity yield function, f=σ¯σyh, where σ¯ is the effective stress, σy is the yield stress, and h is the isotropic hardening.

effective_stress 🇮 Effective stress

  • Type: variable name
  • Default: state/internal/s
isotropic_hardening 🇮 Isotropic hardening

  • Type: variable name
jit Use JIT compilation for the forward operator

  • Type: bool
  • Default: true
production Production mode. This option is used to disable features like function graph tracking and tensor version tracking which are useful for training (i.e., calibrating model parameters) but are not necessary in production runs.

  • Type: bool
  • Default: false
yield_function 🇴 Yield function

  • Type: variable name
  • Default: state/internal/fp
yield_stress 🇵 Yield stress

  • Type: Scalar 🔗

Detailed documentation link