NEML2 1.4.0
Loading...
Searching...
No Matches
[Models]

Table of Contents

Available objects and their input file syntax

Refer to System Documentation for detailed explanation about this system.

ArrheniusParameter

Define the nonlinear parameter as a function of temperature according to the Arrhenius law \( p = p_0 \exp \left( -\frac{Q}{RT} \right) \), where \( p_0 \) 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: double
reference_value Reference value

  • Type: Scalar
temperature Temperature

  • Type: VariableName
  • 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. \( \dot{\varepsilon}_p = - \dot{\gamma} \frac{\partial f}{\partial k} \), where \( \dot{\varepsilon}_p \) is the equivalent plastic strain, \( \dot{\gamma} \) 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: VariableName
  • Default: state/internal/ep_rate
flow_rate Flow rate

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

  • Type: VariableName
  • Default: state/internal/Nk

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. \( \dot{\boldsymbol{K}}_p = - \dot{\gamma} \frac{\partial f}{\partial \boldsymbol{X}} \), where \( \dot{\boldsymbol{K}}_p \) is the kinematic plastic strain, \( \dot{\gamma} \) is the flow rate, \( f \) is the yield function, and \( \boldsymbol{X} \) is the kinematic hardening.

flow_rate Flow rate

  • Type: VariableName
  • Default: state/internal/gamma_rate
kinematic_hardening_direction Direction of associative kinematic hardening which can be calculated using Normality.

  • Type: VariableName
  • Default: state/internal/NX
kinematic_plastic_strain_rate Rate of kinematic plastic strain

  • Type: VariableName
  • Default: state/internal/Kp_rate

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. \( \dot{\boldsymbol{\varepsilon}}_p = - \dot{\gamma} \frac{\partial f}{\partial \boldsymbol{M}} \), where \( \dot{\boldsymbol{\varepsilon}}_p \) is the plastic strain, \( \dot{\gamma} \) is the flow rate, \( f \) is the yield function, and \( \boldsymbol{M} \) is the Mandel stress.

flow_direction Flow direction which can be calculated using Normality

  • Type: VariableName
  • Default: state/internal/NM
flow_rate Flow rate

  • Type: VariableName
  • Default: state/internal/gamma_rate
plastic_strain_rate Rate of plastic strain

  • Type: VariableName
  • Default: state/internal/Ep_rate

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 Chaboche kinematic hardening. In the Chaboche model, back stress is directly treated as an internal variable. Rate of back stress is given as \( \dot{\boldsymbol{X}} = \left( \frac{2}{3} C \frac{\partial f}{\partial \boldsymbol{M}} - g \boldsymbol{X} \right) \dot{\gamma} - A \lVert \boldsymbol{X} \rVert^{a - 1} \boldsymbol{X} \), including kinematic hardening, dynamic recovery, and static recovery. \( \frac{\partial f}{\partial \boldsymbol{M}} \) is the flow direction, \( \dot{\gamma} \) is the flow rate, and \( C \), \( g \), \( A \), and \( a \) are 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: VariableName
  • Default: state/internal/X
flow_direction Flow direction

  • Type: VariableName
  • Default: state/internal/NM
flow_rate Flow rate

  • Type: VariableName
  • Default: state/internal/gamma_rate
g Dynamic recovery coefficient

  • 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: vector<VariableName>
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: unsigned int
  • Default: 20
automatic_scaling_tol Tolerance used in iteratively updating the scaling matrices.

  • Type: double
  • Default: 0.01
models Models being composed together

  • Type: vector<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: vector<string>

Detailed documentation link

CopyMillerIndex

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopyQuaternion

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopyR2

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopyR3

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopyR4

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopyR5

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopyRot

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopySFFR4

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopySFR3

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopySR2

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopySSFR5

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopySSR4

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopySWR4

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopyScalar

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopyVec

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopyWR2

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopyWSR4

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

CopyWWR4

Copy the value from one variable to another.

from Variable to copy value from

  • Type: VariableName
to Variable to copy value to

  • Type: VariableName

Detailed documentation link

ElasticStrain

Calculate elastic strain given total and plastic strain (assuming additive decomposition), i.e. \( \boldsymbol{\varepsilon}_e = \boldsymbol{\varepsilon} - \boldsymbol{\varepsilon}_p \).

elastic_strain Elastic strain

  • Type: VariableName
  • Default: state/internal/Ee
plastic_strain Plastic strain

  • Type: VariableName
  • Default: state/internal/Ep
rate_form Whether the model defines the relationship in rate form

  • Type: bool
  • Default: false
total_strain Total strain

  • Type: VariableName
  • Default: forces/E

Detailed documentation link

ElasticStrainRate

Calculates the elastic strain rate as \(\dot{\varepsilon} = d - d^p - \varepsilon w + w \varepsilon \) where \( d \) is the deformation rate, \( d^p \) is the plastic deformation rate, \( w \) is the vorticity, and \( \varepsilon \) is the elastic strain.

deformation_rate Name of the deformation rate

  • Type: VariableName
  • Default: forces/deformation_rate
elastic_strain Name of the elastic strain

  • Type: VariableName
  • Default: state/elastic_strain
elastic_strain_rate Name of the elastic strain rate

  • Type: VariableName
  • Default: state/elastic_strain_rate
plastic_deformation_rate Name of the plastic deformation rate

  • Type: VariableName
  • Default: state/internal/plastic_deformation_rate
vorticity Name of the vorticity

  • Type: VariableName
  • Default: forces/vorticity

Detailed documentation link

FixOrientation

Checks the value of the modified Rodrigues parameter by checking if \( \left\lVert r \right\rVert > 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: VariableName
  • Default: state/orientation
output_orientation Name of output tensor

  • Type: VariableName
  • Default: state/orientation
threshold Threshold value for translating to the shadow parameters

  • Type: double
  • Default: 1

Detailed documentation link

GTNYieldFunction

Gurson-Tvergaard-Needleman yield function for poroplasticity. The yield function is defined as \( f = \left( \frac{\bar{\sigma}}{\sigma_y + k} \right)^2 + 2 q_1 \phi \cosh \left( \frac{1}{2} q_2 \frac{3\sigma_h-\sigma_s}{\sigma_y + k} \right) - \left( q_3 \phi^2 + 1 \right) \), where \( \bar{\sigma} \) is the von Mises stress, \( \sigma_y \) is the yield stress, \( k \) is isotropic hardening, \( \phi \) is the porosity, \( \sigma_h \) is the hydrostatic stress, and \( \sigma_s \) is the void growth back stress (sintering stress). \( q_1 \), \( q_2 \), and \( q_3 \) are parameters controlling the yield mechanisms.

flow_invariant Effective stress driving plastic flow

  • Type: VariableName
  • Default: state/internal/se
isotropic_hardening Isotropic hardening

  • Type: VariableName
poro_invariant Effective stress driving porous flow

  • Type: VariableName
  • Default: state/internal/sp
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: VariableName
  • Default: state/internal/f
yield_function Yield function

  • Type: VariableName
  • Default: state/internal/fp
yield_stress Yield stress

  • Type: Scalar

Detailed documentation link

GursonCavitation

Local mass balance used in conjunction with the GTNYieldFunction, \( \dot{\phi} = (1-\phi) \dot{\varepsilon}_p \).

plastic_strain_rate Plastic strain rate

  • Type: VariableName
  • Default: state/internal/Ep_rate
void_fraction Void fraction (porosity)

  • Type: VariableName
  • Default: state/internal/f
void_fraction_rate Rate of void evolution

  • Type: VariableName
  • Default: state/internal/f_rate

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
solver Solver used to solve the implicit system

  • Type: string

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: VariableName
  • Default: state/S
mandel_stress Mandel stress

  • Type: VariableName
  • Default: state/internal/M

Detailed documentation link

KocksMeckingActivationEnergy

Calculates the Kocks-Mecking normalized activation as \(g = \frac{kT}{\mu b^3} \log \frac{\dot{\varepsilon}_0}{\dot{\varepsilon}} \) with \( \mu \) the shear modulus, \( k \) the Boltzmann constant, \( T \) the absolute temperature, \( b \) the Burgers vector length, \( \dot{\varepsilon}_0 \) a reference strain rate, and \( \dot{\varepsilon} \) the current strain rate.

activation_energy Output name of the activation energy

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

  • Type: double
eps0 Reference strain rate

  • Type: double
k The Boltzmann constant

  • Type: double
shear_modulus The shear modulus

  • Type: Scalar
strain_rate Name of the effective strain rate

  • Type: VariableName
  • Default: forces/effective_strain_rate
temperature Absolute temperature

  • Type: VariableName
  • 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: VariableName
  • Default: forces/g
flow_rate Output name for the mixed flow rate

  • Type: VariableName
  • Default: state/internal/gamma_rate
g0 Critical value of activation energy

  • Type: Scalar
rate_dependent_flow_rate Input name of the rate dependent flow rate

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

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

  • Type: double
  • 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 \( \eta = \exp{B} \mu \dot{\varepsilon}_0^\frac{-k T A}{\mu b^3} \) with \( \mu \) the shear modulus, \( \dot{\varepsilon}_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: double
eps0 The reference strain rate

  • Type: double
k Boltzmann constant

  • Type: double
shear_modulus The shear modulus

  • Type: Scalar
temperature Absolute temperature

  • Type: VariableName
  • Default: forces/T

Detailed documentation link

KocksMeckingRateSensitivity

Calculates the temperature-dependent rate sensitivity for a Perzyna-type model using the Kocks-Mecking model. The value is \( n = \frac{\mu b^3}{k T A} \) with \( \mu \) 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: double
k Boltzmann constant

  • Type: double
shear_modulus The shear modulus

  • Type: Scalar
temperature Absolute temperature

  • Type: VariableName
  • Default: forces/T

Detailed documentation link

KocksMeckingYieldStress

The yield stress given by the Kocks-Mecking model. \( \sigma_y = \exp{C} \mu \) with \( \mu \) the shear modulus and \( C \) the horizontal intercept from the Kocks-Mecking diagram.

C The Kocks-Mecking horizontal intercept

  • Type: Scalar
shear_modulus The shear modulus

  • Type: Scalar

Detailed documentation link

LinearIsotropicElasticity

Relate elastic strain to stress for linear isotropic material. \( \boldsymbol{\sigma} = K \tr \boldsymbol{\varepsilon}_e + 2 G \text{dev} \boldsymbol{\varepsilon}_e \), where \( K \) and \( G \) are bulk and shear moduli, respectively. For convenience, this object only requests Young's modulus and Poisson's ratio, and handles the Lame parameter conversion behind the scenes.

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
poisson_ratio Poisson's ratio

  • Type: Scalar
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: VariableName
  • Default: state/internal/Ee
stress Stress

  • Type: VariableName
  • Default: state/S
youngs_modulus Young's modulus

  • Type: Scalar

Detailed documentation link

LinearIsotropicHardening

Map equivalent plastic strain to isotropic hardening following a linear relationship, i.e., \( k = H \varepsilon_p \) where \( H \) is the hardening modulus.

equivalent_plastic_strain Equivalent plastic strain

  • Type: VariableName
  • Default: state/internal/ep
hardening_modulus Hardening modulus

  • Type: Scalar
isotropic_hardening Isotropic hardening

  • Type: VariableName
  • Default: state/internal/k

Detailed documentation link

LinearKinematicHardening

Map kinematic plastic strain to back stress following a linear relationship, i.e., \( \boldsymbol{X} = H \boldsymbol{K}_p \) where \( H \) is the hardening modulus.

back_stress Back stress

  • Type: VariableName
  • Default: state/internal/X
hardening_modulus Hardening modulus

  • Type: Scalar
kinematic_plastic_strain Kinematic plastic strain

  • Type: VariableName
  • Default: state/internal/Kp

Detailed documentation link

LinearSingleSlipHardeningRule

Simple linear slip system hardening defined by \( \dot{\tau} = \theta \sum_{i=1}^{n_{slip}} \left| \dot{\gamma}_i \right| \) where \( \theta \) is the hardening slope.

hardening_slope Hardening rate

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

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

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

  • Type: VariableName
  • 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.

value The constant value of the parameter

  • Type: MillerIndex

Detailed documentation link

MillerIndexLinearInterpolation

Interpolate a MillerIndex 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: VariableName
ordinate MillerIndex defining the ordinate values of the interpolant

  • Type: MillerIndex

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: VariableName
  • Default: state/S
control The name of the control signal. Values less than the threshold are strain control, greater are stress control

  • Type: VariableName
  • 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: VariableName
  • Default: forces/fixed_values
mixed_state The name of the mixed state tensor. This holds the conjugate values to those being controlled

  • Type: VariableName
  • Default: state/mixed_state
strain The name of the strain tensor

  • Type: VariableName
  • Default: forces/E
threshold The threshold to switch between strain and stress control

  • Type: BatchTensor
  • Default: 0.5

Detailed documentation link

Normality

Store the first derivatives of a scalar-valued function in given variables, i.e. \( u_i = \dfrac{f(\boldsymbol{v})}{v_i} \).

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

  • Type: vector<VariableName>
function Function to take derivative

  • Type: VariableName
model The model which evaluates the scalar-valued function

  • Type: string
to Variables to store the first derivatives

  • Type: vector<VariableName>

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 \( \sigma_s = 3 \dfrac{\gamma}{r} \phi^2 \), where \( \gamma \) is the surface tension, \( r \) is the size of the particles/powders, and \( \phi \) is the void fraction.

particle_radius Particle radius

  • Type: Scalar
sintering_stress Sintering stress

  • Type: VariableName
  • Default: state/internal/ss
surface_tension Surface tension

  • Type: Scalar
void_fraction Void fraction

  • Type: VariableName
  • Default: state/internal/f

Detailed documentation link

OrientationRate

Defines the rate of the crystal orientations as a spin given by \( \Omega^e = w - w^p - \varepsilon d^p + d^p \varepsilon \) where \( \Omega^e = \dot{Q} Q^T \), \( Q \) is the orientation, \( w \) is the vorticity, \( w^p \) is the plastic vorticity, \( d^p \) is the plastic deformation rate, and \( \varepsilon \) is the elastic stretch.

elastic_strain The name of the elastic strain tensor

  • Type: VariableName
  • Default: state/elastic_strain
orientation_rate The name of the orientation rate (spin)

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

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

  • Type: VariableName
  • Default: state/internal/plastic_vorticity
vorticity The name of the voriticty tensor

  • Type: VariableName
  • Default: forces/vorticity

Detailed documentation link

OverStress

Calculate the over stress \( \boldsymbol{O} = \boldsymbol{M} - \boldsymbol{X} \), where \( \boldsymbol{M} \) is the Mandel stress and \( \boldsymbol{X} \) is the back stress.

back_stress Back stress

  • Type: VariableName
  • Default: state/internal/X
mandel_stress Mandel stress

  • Type: VariableName
  • Default: state/internal/M
over_stress Over stress

  • Type: VariableName
  • Default: state/internal/O

Detailed documentation link

PerzynaPlasticFlowRate

Perzyna's viscous approximation of the consistent yield envelope (with a power law), i.e. \( \dot{\gamma} = \left( \frac{\left< f \right>}{\eta} \right)^n \), where \( f \) is the yield function, \( \eta \) is the reference stress, and \( n \) is the power-law exponent.

exponent Power-law exponent

  • Type: Scalar
flow_rate Flow rate

  • Type: VariableName
  • Default: state/internal/gamma_rate
reference_stress Reference stress

  • Type: Scalar
yield_function Yield function

  • Type: VariableName
  • Default: state/internal/fp

Detailed documentation link

PlasticDeformationRate

Caclulates the plastic deformation rate as \( d^p = \sum_{i=1}^{n_{slip}} \dot{\gamma}_i Q \operatorname{sym}{\left(d_i \otimes n_i \right)} Q^T \) with \( d^p \) the plastic deformation rate, \( \dot{\gamma}_i \) the slip rate on the ith slip system, \(Q \) the orientation, \( d_i \) the slip system direction, and \( n_i \) 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
orientation The name of the orientation matrix tensor

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

  • Type: VariableName
  • Default: state/internal/plastic_deformation_rate
slip_rates The name of the tensor containg the current slip rates

  • Type: VariableName
  • Default: state/internal/slip_rates

Detailed documentation link

PlasticVorticity

Caclulates the plastic vorcitity as \( w^p = \sum_{i=1}^{n_{slip}} \dot{\gamma}_i Q \operatorname{skew}{\left(d_i \otimes n_i \right)} Q^T \) with \( d^p \) the plastic deformation rate, \( \dot{\gamma}_i \) the slip rate on the ith slip system, \(Q \) the orientation, \( d_i \) the slip system direction, and \( n_i \) 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
orientation The name of the orientation matrix tensor

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

  • Type: VariableName
  • Default: state/internal/plastic_vorticity
slip_rates The name of the tensor containg the current slip rates

  • Type: VariableName
  • Default: state/internal/slip_rates

Detailed documentation link

PowerLawSlipRule

Power law slip rule defined as \( \dot{\gamma}_i = \dot{\gamma}_0 \left| \frac{\tau_i}{\hat{\tau}_i} \right|^{n-1} \frac{\tau_i}{\hat{\tau}_i} \) with \( \dot{\gamma}_i \) the slip rate on system \( i \), \( \tau_i \) the resolved shear, \( \hat{\tau}_i \) the slip system strength, \( n \) the rate senstivity, and \( \dot{\gamma}_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
n Rate sensitivity exponent

  • Type: Scalar
resolved_shears Name of the resolved shear tensor

  • Type: VariableName
  • Default: state/internal/resolved_shears
slip_rates Name of the slip rate tensor

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

  • Type: VariableName
  • Default: state/internal/slip_strengths

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.

value The constant value of the parameter

  • Type: Quaternion

Detailed documentation link

QuaternionLinearInterpolation

Interpolate a Quaternion 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: VariableName
ordinate Quaternion defining the ordinate values of the interpolant

  • Type: Quaternion

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.

value The constant value of the parameter

  • Type: R2

Detailed documentation link

R2LinearInterpolation

Interpolate a R2 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: VariableName
ordinate R2 defining the ordinate values of the interpolant

  • Type: R2

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.

value The constant value of the parameter

  • Type: R3

Detailed documentation link

R3LinearInterpolation

Interpolate a R3 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: VariableName
ordinate R3 defining the ordinate values of the interpolant

  • Type: R3

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.

value The constant value of the parameter

  • Type: R4

Detailed documentation link

R4LinearInterpolation

Interpolate a R4 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: VariableName
ordinate R4 defining the ordinate values of the interpolant

  • Type: R4

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.

value The constant value of the parameter

  • Type: R5

Detailed documentation link

R5LinearInterpolation

Interpolate a R5 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: VariableName
ordinate R5 defining the ordinate values of the interpolant

  • Type: R5

Detailed documentation link

RateIndependentPlasticFlowConstraint

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

\[ r = \dot{\gamma} - f^p - \sqrt{{\dot{\gamma}}^2 + {f^p}^2} \]

flow_rate Flow rate

  • Type: VariableName
  • Default: state/internal/gamma_rate
yield_function Yield function

  • Type: VariableName
  • Default: state/internal/fp

Detailed documentation link

ResolvedShear

Calculates the resolved shears as \( \tau_i = \sigma : Q \operatorname{sym}\left(d_i \otimes n_i \right) Q^T \) where \( \tau_i \) is the resolved shear on slip system i, \( \sigma \) is the Cauchy stress \( Q \) is the orientation matrix, \( d_i \) is the slip direction, and \( n_i \) is the slip system normal.

crystal_geometry_name The name of the data object with the crystallographic information

  • Type: string
  • Default: crystal_geometry
orientation The name of the orientation matrix

  • Type: VariableName
  • Default: state/orientation_matrix
resolved_shears The name of the resolved shears

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

  • Type: VariableName
  • 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.

value The constant value of the parameter

  • Type: Rot

Detailed documentation link

RotLinearInterpolation

Interpolate a Rot 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: VariableName
ordinate Rot defining the ordinate values of the interpolant

  • Type: Rot

Detailed documentation link

RotationMatrix

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

from Rot to convert

  • Type: VariableName
to R2 to store the resulting rotation matrix

  • Type: VariableName

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.

value The constant value of the parameter

  • Type: SFFR4

Detailed documentation link

SFFR4LinearInterpolation

Interpolate a SFFR4 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: VariableName
ordinate SFFR4 defining the ordinate values of the interpolant

  • Type: SFFR4

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.

value The constant value of the parameter

  • Type: SFR3

Detailed documentation link

SFR3LinearInterpolation

Interpolate a SFR3 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: VariableName
ordinate SFR3 defining the ordinate values of the interpolant

  • Type: SFR3

Detailed documentation link

SR2BackwardEulerTimeIntegration

Define the backward Euler time integration residual \( r = s - s_n - (t - t_n) \dot{s} \), where \(s\) is the variable being integrated, \(\dot{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: unsigned int
  • Default: 20
automatic_scaling_tol Tolerance used in iteratively updating the scaling matrices.

  • Type: double
  • Default: 0.01
time Time

  • Type: VariableName
  • Default: t
variable Variable being integrated

  • Type: VariableName
variable_rate Variable rate

  • Type: VariableName

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.

value The constant value of the parameter

  • Type: SR2

Detailed documentation link

SR2ForceRate

Calculate the first order discrete time derivative of a force variable as \( \dot{f} = \frac{f-f_n}{t-t_n} \), where \( f \) is the force variable, and \( t \) is time.

force The force variable to take time derivative with

  • Type: VariableName
time Time

  • Type: VariableName
  • Default: t

Detailed documentation link

SR2ForwardEulerTimeIntegration

Perform forward Euler time integration defined as \( s = s_n + (t - t_n) \dot{s} \), where \(s\) is the variable being integrated, \(\dot{s}\) is the variable rate, and \(t\) is time. Subscripts \(n\) denote quantities from the previous time step.

time Time

  • Type: VariableName
  • Default: t
variable Variable being integrated

  • Type: VariableName

Detailed documentation link

SR2Invariant

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

invariant Invariant

  • Type: VariableName
invariant_type Type of invariant. Options are I1, I2, and VONMISES.

  • Type: string
tensor SR2 which is used to calculate the invariant of

  • Type: VariableName

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: VariableName
ordinate SR2 defining the ordinate values of the interpolant

  • Type: SR2

Detailed documentation link

SR2StateRate

Calculate the first order discrete time derivative of a state variable as \( \dot{s} = \frac{s-s_n}{t-t_n} \), where \( s \) is the state variable, and \( t \) is time.

state The state variable to take time derivative with

  • Type: VariableName
time Time

  • Type: VariableName
  • Default: t

Detailed documentation link

SR2SumModel

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

coefficients Weights associated with each variable

  • Type: vector<Scalar>
from_var SR2 tensors to be summed

  • Type: vector<VariableName>
to_var The sum

  • Type: VariableName

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.

value The constant value of the parameter

  • Type: SSFR5

Detailed documentation link

SSFR5LinearInterpolation

Interpolate a SSFR5 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: VariableName
ordinate SSFR5 defining the ordinate values of the interpolant

  • Type: SSFR5

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.

value The constant value of the parameter

  • Type: SSR4

Detailed documentation link

SSR4LinearInterpolation

Interpolate a SSR4 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: VariableName
ordinate SSR4 defining the ordinate values of the interpolant

  • Type: SSR4

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.

value The constant value of the parameter

  • Type: SWR4

Detailed documentation link

SWR4LinearInterpolation

Interpolate a SWR4 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: VariableName
ordinate SWR4 defining the ordinate values of the interpolant

  • Type: SWR4

Detailed documentation link

ScalarBackwardEulerTimeIntegration

Define the backward Euler time integration residual \( r = s - s_n - (t - t_n) \dot{s} \), where \(s\) is the variable being integrated, \(\dot{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: unsigned int
  • Default: 20
automatic_scaling_tol Tolerance used in iteratively updating the scaling matrices.

  • Type: double
  • Default: 0.01
time Time

  • Type: VariableName
  • Default: t
variable Variable being integrated

  • Type: VariableName
variable_rate Variable rate

  • Type: VariableName

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.

value The constant value of the parameter

  • Type: Scalar

Detailed documentation link

ScalarForceRate

Calculate the first order discrete time derivative of a force variable as \( \dot{f} = \frac{f-f_n}{t-t_n} \), where \( f \) is the force variable, and \( t \) is time.

force The force variable to take time derivative with

  • Type: VariableName
time Time

  • Type: VariableName
  • Default: t

Detailed documentation link

ScalarForwardEulerTimeIntegration

Perform forward Euler time integration defined as \( s = s_n + (t - t_n) \dot{s} \), where \(s\) is the variable being integrated, \(\dot{s}\) is the variable rate, and \(t\) is time. Subscripts \(n\) denote quantities from the previous time step.

time Time

  • Type: VariableName
  • Default: t
variable Variable being integrated

  • Type: VariableName

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: VariableName
ordinate Scalar defining the ordinate values of the interpolant

  • Type: Scalar

Detailed documentation link

ScalarStateRate

Calculate the first order discrete time derivative of a state variable as \( \dot{s} = \frac{s-s_n}{t-t_n} \), where \( s \) is the state variable, and \( t \) is time.

state The state variable to take time derivative with

  • Type: VariableName
time Time

  • Type: VariableName
  • Default: t

Detailed documentation link

ScalarSumModel

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

coefficients Weights associated with each variable

  • Type: vector<Scalar>
from_var Scalar tensors to be summed

  • Type: vector<VariableName>
to_var The sum

  • Type: VariableName

Detailed documentation link

SingleSlipStrengthMap

Calculates the slip system strength for all slip systems as \( \hat{\tau}_i = \bar{\tau} + \tau_0 \) where \( \hat{\tau}_i \) is the strength for slip system i, \( \bar{\tau} \) is an evolving slip system strength (one value of all systems), defined by another object, and \( \tau_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
slip_hardening The name of the evovling, scalar strength

  • Type: VariableName
  • Default: state/internal/slip_hardening
slip_strengths Name of the slip system strengths

  • Type: VariableName
  • Default: state/internal/slip_strengths

Detailed documentation link

SumSlipRates

Calculates the sum of the absolute value of all the slip rates as \( \sum_{i=1}^{n_{slip}} \left| \dot{\gamma}_i \right| \).

crystal_geometry_name The name of the Data object containing the crystallographic information

  • Type: string
  • Default: crystal_geometry
slip_rates The name of individual slip rates

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

  • Type: VariableName
  • Default: state/internal/sum_slip_rates

Detailed documentation link

ThermalEigenstrain

Define the (cummulative, as opposed to instantaneous) linear isotropic thermal eigenstrain, i.e. \( \boldsymbol{\varepsilon}_T = \alpha (T - T_0) \boldsymbol{I} \), where \( \alpha \) is the coefficient of thermal expansion (CTE), \( T \) is the temperature, and \( T_0 \) is the reference (stress-free) temperature.

CTE Coefficient of thermal expansion

  • Type: Scalar
eigenstrain Eigenstrain

  • Type: VariableName
  • Default: forces/Eg
reference_temperature Reference (stress-free) temperature

  • Type: Scalar
temperature Temperature

  • Type: VariableName
  • Default: forces/T

Detailed documentation link

TotalStrain

Calculate the total strain by summing the elastic and plastic strain.

elastic_strain Elastic strain

  • Type: VariableName
  • Default: state/internal/Ee
plastic_strain Plastic strain

  • Type: VariableName
  • Default: state/internal/Ep
rate_form Whether to define the relationship in rate form

  • Type: bool
  • Default: false
total_strain Total strain

  • Type: VariableName
  • Default: state/E

Detailed documentation link

VecBackwardEulerTimeIntegration

Define the backward Euler time integration residual \( r = s - s_n - (t - t_n) \dot{s} \), where \(s\) is the variable being integrated, \(\dot{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: unsigned int
  • Default: 20
automatic_scaling_tol Tolerance used in iteratively updating the scaling matrices.

  • Type: double
  • Default: 0.01
time Time

  • Type: VariableName
  • Default: t
variable Variable being integrated

  • Type: VariableName
variable_rate Variable rate

  • Type: VariableName

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.

value The constant value of the parameter

  • Type: Vec

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: VariableName
ordinate Vec defining the ordinate values of the interpolant

  • Type: Vec

Detailed documentation link

VoceIsotropicHardening

Voce isotropic hardening model, \( h = R \left[ 1 - \exp(-d \varepsilon_p) \right] \), where \( R \) is the isotropic hardening upon saturation, and \( d \) is the hardening rate.

equivalent_plastic_strain Equivalent plastic strain

  • Type: VariableName
  • Default: state/internal/ep
isotropic_hardening Isotropic hardening

  • Type: VariableName
  • Default: state/internal/k
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 \( \dot{\tau} = \theta_0 \left( 1 - \frac{\tau}{\tau_f} \right) \sum_{i=1}^{n_{slip}} \left| \dot{\gamma}_i \right| \) where \( \theta_0 \) is the initial rate of work hardening, \( \tau_f \) is the saturated, maximum value of the slip system strength, and \( \dot{\gamma}_i \) is the slip rate on each system.

initial_slope The initial rate of hardening

  • Type: Scalar
saturated_hardening The final, saturated value of the slip system strength

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

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

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

  • Type: VariableName
  • Default: state/internal/sum_slip_rates

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.

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\left[ (t-t_n)\dot{s}\right] \circ s_n \), where \( \circ \) denotes the rotation operator.

time Time

  • Type: VariableName
  • Default: t
variable Variable being integrated

  • Type: VariableName

Detailed documentation link

WR2ImplicitExponentialTimeIntegration

Define the implicit discrete exponential time integration residual of a rotation variable. The residual can be written as \( r = s - \exp\left[ (t-t_n)\dot{s}\right] \circ s_n \), where \( \circ \) 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: unsigned int
  • Default: 20
automatic_scaling_tol Tolerance used in iteratively updating the scaling matrices.

  • Type: double
  • Default: 0.01
time Time

  • Type: VariableName
  • Default: t
variable Variable being integrated

  • Type: VariableName

Detailed documentation link

WR2LinearInterpolation

Interpolate a WR2 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: VariableName
ordinate WR2 defining the ordinate values of the interpolant

  • Type: WR2

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.

value The constant value of the parameter

  • Type: WSR4

Detailed documentation link

WSR4LinearInterpolation

Interpolate a WSR4 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: VariableName
ordinate WSR4 defining the ordinate values of the interpolant

  • Type: WSR4

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.

value The constant value of the parameter

  • Type: WWR4

Detailed documentation link

WWR4LinearInterpolation

Interpolate a WWR4 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: VariableName
ordinate WWR4 defining the ordinate values of the interpolant

  • Type: WWR4

Detailed documentation link

YieldFunction

Classical macroscale plasticity yield function, \( f = \bar{\sigma} - \sigma_y - h \), where \( \bar{\sigma} \) is the effective stress, \( \sigma_y \) is the yield stress, and \( h \) is the isotropic hardening.

effective_stress Effective stress

  • Type: VariableName
  • Default: state/internal/s
isotropic_hardening Isotropic hardening

  • Type: VariableName
yield_function Yield function

  • Type: VariableName
  • Default: state/internal/fp
yield_stress Yield stress

  • Type: Scalar

Detailed documentation link