NEML2 1.4.0
|
Refer to System Documentation for detailed explanation about this system.
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 energyideal_gas_constant
The ideal gas constantreference_value
Reference valuetemperature
TemperatureDetailed documentation link
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 strainflow_rate
Flow rateisotropic_hardening_direction
Direction of associative isotropic hardening which can be calculated using Normality.Detailed documentation link
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 ratekinematic_hardening_direction
Direction of associative kinematic hardening which can be calculated using Normality.kinematic_plastic_strain_rate
Rate of kinematic plastic strainDetailed documentation link
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 Normalityflow_rate
Flow rateplastic_strain_rate
Rate of plastic strainDetailed documentation link
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 prefactorC
Kinematic hardening coefficienta
Static recovery exponentback_stress
Back stressflow_direction
Flow directionflow_rate
Flow rateg
Dynamic recovery coefficientDetailed documentation link
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.automatic_scaling
Whether to perform automatic scaling. See neml2::NonlinearSystem::init_scaling for implementation details.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.automatic_scaling_tol
Tolerance used in iteratively updating the scaling matrices.models
Models being composed togetherpriority
Priorities of models in decreasing order. A model with higher priority will be evaluated first. This is useful for breaking cyclic dependency.Detailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Copy the value from one variable to another.
from
Variable to copy value fromto
Variable to copy value toDetailed documentation link
Calculate elastic strain given total and plastic strain (assuming additive decomposition), i.e. \( \boldsymbol{\varepsilon}_e = \boldsymbol{\varepsilon} - \boldsymbol{\varepsilon}_p \).
elastic_strain
Elastic strainplastic_strain
Plastic strainrate_form
Whether the model defines the relationship in rate formtotal_strain
Total strainDetailed documentation link
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 rateelastic_strain
Name of the elastic strainelastic_strain_rate
Name of the elastic strain rateplastic_deformation_rate
Name of the plastic deformation ratevorticity
Name of the vorticityDetailed documentation link
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.output_orientation
Name of output tensorthreshold
Threshold value for translating to the shadow parametersDetailed documentation link
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 flowisotropic_hardening
Isotropic hardeningporo_invariant
Effective stress driving porous flowq1
Parameter controlling the balance/competition between plastic flow and void evolution.q2
Void evolution rateq3
Pore pressurevoid_fraction
Void fraction (porosity)yield_function
Yield functionyield_stress
Yield stressDetailed documentation link
Local mass balance used in conjunction with the GTNYieldFunction, \( \dot{\phi} = (1-\phi) \dot{\varepsilon}_p \).
plastic_strain_rate
Plastic strain ratevoid_fraction
Void fraction (porosity)void_fraction_rate
Rate of void evolutionDetailed documentation link
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 solvedsolver
Solver used to solve the implicit systemDetailed documentation link
Map Cauchy stress to Mandel stress For isotropic material under small deformation, the Mandel stress and the Cauchy stress coincide.
cauchy_stress
Cauchy stressmandel_stress
Mandel stressDetailed documentation link
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 energyb
Magnitude of the Burgers vectoreps0
Reference strain ratek
The Boltzmann constantshear_modulus
The shear modulusstrain_rate
Name of the effective strain ratetemperature
Absolute temperatureDetailed documentation link
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 energyflow_rate
Output name for the mixed flow rateg0
Critical value of activation energyrate_dependent_flow_rate
Input name of the rate dependent flow raterate_independent_flow_rate
Input name of the rate independent flow ratesharpness
A steepness parameter that controls the tanh mixing of the models. Higher values gives a sharper transition.Detailed documentation link
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 parameterB
The Kocks-Mecking intercept parameterb
The Burgers vectoreps0
The reference strain ratek
Boltzmann constantshear_modulus
The shear modulustemperature
Absolute temperatureDetailed documentation link
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 parameterb
The Burgers vectork
Boltzmann constantshear_modulus
The shear modulustemperature
Absolute temperatureDetailed documentation link
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 interceptshear_modulus
The shear modulusDetailed documentation link
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.poisson_ratio
Poisson's ratiorate_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.strain
Elastic strainstress
Stressyoungs_modulus
Young's modulusDetailed documentation link
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 strainhardening_modulus
Hardening modulusisotropic_hardening
Isotropic hardeningDetailed documentation link
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 stresshardening_modulus
Hardening moduluskinematic_plastic_strain
Kinematic plastic strainDetailed documentation link
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 rateslip_hardening
Name of current values of slip hardeningslip_hardening_rate
Name of tensor to output the slip system hardening rates intosum_slip_rates
Name of tensor containing the sum of the slip ratesDetailed documentation link
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 parameterDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
MillerIndex defining the ordinate values of the interpolantDetailed documentation link
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 tensorcontrol
The name of the control signal. Values less than the threshold are strain control, greater are stress controlfixed_values
The name of the fixed values, i.e. the actual strain or stress values being imposed on the modelmixed_state
The name of the mixed state tensor. This holds the conjugate values to those being controlledstrain
The name of the strain tensorthreshold
The threshold to switch between strain and stress controlDetailed documentation link
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.function
Function to take derivativemodel
The model which evaluates the scalar-valued functionto
Variables to store the first derivativesDetailed documentation link
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 radiussintering_stress
Sintering stresssurface_tension
Surface tensionvoid_fraction
Void fractionDetailed documentation link
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 tensororientation_rate
The name of the orientation rate (spin)plastic_deformation_rate
The name of the plastic deformation rateplastic_vorticity
The name of the plastic vorticityvorticity
The name of the voriticty tensorDetailed documentation link
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 stressmandel_stress
Mandel stressover_stress
Over stressDetailed documentation link
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 exponentflow_rate
Flow ratereference_stress
Reference stressyield_function
Yield functionDetailed documentation link
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 materialorientation
The name of the orientation matrix tensorplastic_deformation_rate
The name of the plastic deformation rate tensorslip_rates
The name of the tensor containg the current slip ratesDetailed documentation link
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 materialorientation
The name of the orientation matrix tensorplastic_vorticity
The name of the plastic vorticity tensorslip_rates
The name of the tensor containg the current slip ratesDetailed documentation link
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 informationgamma0
Reference slip raten
Rate sensitivity exponentresolved_shears
Name of the resolved shear tensorslip_rates
Name of the slip rate tensorslip_strengths
Name of the tensor containing the slip system strengthsDetailed documentation link
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 parameterDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
Quaternion defining the ordinate values of the interpolantDetailed documentation link
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 parameterDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
R2 defining the ordinate values of the interpolantDetailed documentation link
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 parameterDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
R3 defining the ordinate values of the interpolantDetailed documentation link
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 parameterDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
R4 defining the ordinate values of the interpolantDetailed documentation link
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 parameterDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
R5 defining the ordinate values of the interpolantDetailed documentation link
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 rateyield_function
Yield functionDetailed documentation link
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 informationorientation
The name of the orientation matrixresolved_shears
The name of the resolved shearsstress
The name of the Cauchy stress tensorDetailed documentation link
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 parameterDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
Rot defining the ordinate values of the interpolantDetailed documentation link
Convert a Rot (rotation represented in Rodrigues format) to R2 (a full rotation matrix).
from
Rot to convertto
R2 to store the resulting rotation matrixDetailed documentation link
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 parameterDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
SFFR4 defining the ordinate values of the interpolantDetailed documentation link
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 parameterDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
SFR3 defining the ordinate values of the interpolantDetailed documentation link
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.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.automatic_scaling_tol
Tolerance used in iteratively updating the scaling matrices.time
Timevariable
Variable being integratedvariable_rate
Variable rateDetailed documentation link
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 parameterDetailed documentation link
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 withtime
TimeDetailed documentation link
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
Timevariable
Variable being integratedDetailed documentation link
Calculate the invariant of a symmetric second order tensor (of type SR2).
invariant
Invariantinvariant_type
Type of invariant. Options are I1, I2, and VONMISES.tensor
SR2 which is used to calculate the invariant ofDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
SR2 defining the ordinate values of the interpolantDetailed documentation link
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 withtime
TimeDetailed documentation link
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 variablefrom_var
SR2 tensors to be summedto_var
The sumDetailed documentation link
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 parameterDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
SSFR5 defining the ordinate values of the interpolantDetailed documentation link
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 parameterDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
SSR4 defining the ordinate values of the interpolantDetailed documentation link
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 parameterDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
SWR4 defining the ordinate values of the interpolantDetailed documentation link
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.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.automatic_scaling_tol
Tolerance used in iteratively updating the scaling matrices.time
Timevariable
Variable being integratedvariable_rate
Variable rateDetailed documentation link
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 parameterDetailed documentation link
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 withtime
TimeDetailed documentation link
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
Timevariable
Variable being integratedDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
Scalar defining the ordinate values of the interpolantDetailed documentation link
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 withtime
TimeDetailed documentation link
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 variablefrom_var
Scalar tensors to be summedto_var
The sumDetailed documentation link
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 strengthcrystal_geometry_name
Name of the Data object containing the crystallographic informationslip_hardening
The name of the evovling, scalar strengthslip_strengths
Name of the slip system strengthsDetailed documentation link
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 informationslip_rates
The name of individual slip ratessum_slip_rates
The outut name for the scalar sum of the slip ratesDetailed documentation link
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 expansioneigenstrain
Eigenstrainreference_temperature
Reference (stress-free) temperaturetemperature
TemperatureDetailed documentation link
Calculate the total strain by summing the elastic and plastic strain.
elastic_strain
Elastic strainplastic_strain
Plastic strainrate_form
Whether to define the relationship in rate formtotal_strain
Total strainDetailed documentation link
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.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.automatic_scaling_tol
Tolerance used in iteratively updating the scaling matrices.time
Timevariable
Variable being integratedvariable_rate
Variable rateDetailed documentation link
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 parameterDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
Vec defining the ordinate values of the interpolantDetailed documentation link
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 strainisotropic_hardening
Isotropic hardeningsaturated_hardening
Saturated isotropic hardeningsaturation_rate
Hardening saturation rateDetailed documentation link
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 hardeningsaturated_hardening
The final, saturated value of the slip system strengthslip_hardening
Name of current values of slip hardeningslip_hardening_rate
Name of tensor to output the slip system hardening rates intosum_slip_rates
Name of tensor containing the sum of the slip ratesDetailed documentation link
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 parameterDetailed documentation link
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
Timevariable
Variable being integratedDetailed documentation link
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.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.automatic_scaling_tol
Tolerance used in iteratively updating the scaling matrices.time
Timevariable
Variable being integratedDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
WR2 defining the ordinate values of the interpolantDetailed documentation link
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 parameterDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
WSR4 defining the ordinate values of the interpolantDetailed documentation link
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 parameterDetailed documentation link
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 interpolantargument
Argument used to query the interpolantordinate
WWR4 defining the ordinate values of the interpolantDetailed documentation link
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 stressisotropic_hardening
Isotropic hardeningyield_function
Yield functionyield_stress
Yield stressDetailed documentation link