CappedMohrCoulombStressUpdate implements rate-independent nonassociative Mohr-Coulomb plus tensile plus compressive plasticity with hardening/softening. More...
#include <CappedMohrCoulombStressUpdate.h>
Public Member Functions | |
CappedMohrCoulombStressUpdate (const InputParameters ¶meters) | |
bool | requiresIsotropicTensor () override |
Does the model require the elasticity tensor to be isotropic? More... | |
bool | isIsotropic () override |
Is the implmented model isotropic? The safe default is 'false'. More... | |
void | setQp (unsigned int qp) |
Sets the value of the global variable _qp for inheriting classes. More... | |
virtual Real | computeTimeStepLimit () |
void | resetQpProperties () final |
Retained as empty methods to avoid a warning from Material.C in framework. These methods are unused in all inheriting classes and should not be overwritten. More... | |
void | resetProperties () final |
Static Public Member Functions | |
static InputParameters | validParams () |
Protected Member Functions | |
void | computeStressParams (const RankTwoTensor &stress, std::vector< Real > &stress_params) const override |
Computes stress_params, given stress. More... | |
std::vector< RankTwoTensor > | dstress_param_dstress (const RankTwoTensor &stress) const override |
d(stress_param[i])/d(stress) at given stress More... | |
std::vector< RankFourTensor > | d2stress_param_dstress (const RankTwoTensor &stress) const override |
d2(stress_param[i])/d(stress)/d(stress) at given stress More... | |
virtual void | setStressAfterReturnV (const RankTwoTensor &stress_trial, const std::vector< Real > &stress_params, Real gaE, const std::vector< Real > &intnl, const yieldAndFlow &smoothed_q, const RankFourTensor &Eijkl, RankTwoTensor &stress) const override |
Sets stress from the admissible parameters. More... | |
virtual void | preReturnMapV (const std::vector< Real > &trial_stress_params, const RankTwoTensor &stress_trial, const std::vector< Real > &intnl_old, const std::vector< Real > &yf, const RankFourTensor &Eijkl) override |
Derived classes may employ this function to record stuff or do other computations prior to the return-mapping algorithm. More... | |
void | setEffectiveElasticity (const RankFourTensor &Eijkl) override |
Sets _Eij and _En and _Cij. More... | |
void | yieldFunctionValuesV (const std::vector< Real > &stress_params, const std::vector< Real > &intnl, std::vector< Real > &yf) const override |
Computes the values of the yield functions, given stress_params and intnl parameters. More... | |
void | computeAllQV (const std::vector< Real > &stress_params, const std::vector< Real > &intnl, std::vector< yieldAndFlow > &all_q) const override |
Completely fills all_q with correct values. More... | |
void | initializeVarsV (const std::vector< Real > &trial_stress_params, const std::vector< Real > &intnl_old, std::vector< Real > &stress_params, Real &gaE, std::vector< Real > &intnl) const override |
Sets (stress_params, intnl) at "good guesses" of the solution to the Return-Map algorithm. More... | |
void | setIntnlValuesV (const std::vector< Real > &trial_stress_params, const std::vector< Real > ¤t_stress_params, const std::vector< Real > &intnl_old, std::vector< Real > &intnl) const override |
Sets the internal parameters based on the trial values of stress_params, their current values, and the old values of the internal parameters. More... | |
void | setIntnlDerivativesV (const std::vector< Real > &trial_stress_params, const std::vector< Real > ¤t_stress_params, const std::vector< Real > &intnl, std::vector< std::vector< Real >> &dintnl) const override |
Sets the derivatives of internal parameters, based on the trial values of stress_params, their current values, and the current values of the internal parameters. More... | |
virtual void | consistentTangentOperatorV (const RankTwoTensor &stress_trial, const std::vector< Real > &trial_stress_params, const RankTwoTensor &stress, const std::vector< Real > &stress_params, Real gaE, const yieldAndFlow &smoothed_q, const RankFourTensor &Eijkl, bool compute_full_tangent_operator, const std::vector< std::vector< Real >> &dvar_dtrial, RankFourTensor &cto) override |
Calculates the consistent tangent operator. More... | |
virtual void | initQpStatefulProperties () override |
virtual void | updateState (RankTwoTensor &strain_increment, RankTwoTensor &inelastic_strain_increment, const RankTwoTensor &rotation_increment, RankTwoTensor &stress_new, const RankTwoTensor &stress_old, const RankFourTensor &elasticity_tensor, const RankTwoTensor &elastic_strain_old, bool compute_full_tangent_operator, RankFourTensor &tangent_operator) override |
Given a strain increment that results in a trial stress, perform some procedure (such as an iterative return-mapping process) to produce an admissible stress, an elastic strain increment and an inelastic strain increment. More... | |
virtual void | propagateQpStatefulProperties () override |
If updateState is not called during a timestep, this will be. More... | |
virtual TangentCalculationMethod | getTangentCalculationMethod () override |
Real | yieldF (const std::vector< Real > &stress_params, const std::vector< Real > &intnl) const |
Computes the smoothed yield function. More... | |
Real | yieldF (const std::vector< Real > &yfs) const |
Computes the smoothed yield function. More... | |
Real | ismoother (Real f_diff) const |
Smooths yield functions. More... | |
Real | smoother (Real f_diff) const |
Derivative of ismoother. More... | |
Real | dsmoother (Real f_diff) const |
Derivative of smoother. More... | |
yieldAndFlow | smoothAllQuantities (const std::vector< Real > &stress_params, const std::vector< Real > &intnl) const |
Calculates all yield functions and derivatives, and then performs the smoothing scheme. More... | |
int | lineSearch (Real &res2, std::vector< Real > &stress_params, Real &gaE, const std::vector< Real > &trial_stress_params, yieldAndFlow &smoothed_q, const std::vector< Real > &intnl_ok, std::vector< Real > &intnl, std::vector< Real > &rhs, Real &linesearch_needed) const |
Performs a line-search to find stress_params and gaE Upon entry: More... | |
int | nrStep (const yieldAndFlow &smoothed_q, const std::vector< Real > &trial_stress_params, const std::vector< Real > &stress_params, const std::vector< Real > &intnl, Real gaE, std::vector< Real > &rhs) const |
Performs a Newton-Raphson step to attempt to zero rhs Upon return, rhs will contain the solution. More... | |
Real | calculateRes2 (const std::vector< Real > &rhs) const |
Calculates the residual-squared for the Newton-Raphson + line-search. More... | |
void | calculateRHS (const std::vector< Real > &trial_stress_params, const std::vector< Real > &stress_params, Real gaE, const yieldAndFlow &smoothed_q, std::vector< Real > &rhs) const |
Calculates the RHS in the following 0 = rhs[0] = S[0] - S[0]^trial + ga * E[0, j] * dg/dS[j] 0 = rhs[1] = S[1] - S[1]^trial + ga * E[1, j] * dg/dS[j] ... More... | |
void | dnRHSdVar (const yieldAndFlow &smoothed_q, const std::vector< std::vector< Real >> &dintnl, const std::vector< Real > &stress_params, Real gaE, std::vector< double > &jac) const |
Derivative of -RHS with respect to the stress_params and gaE, placed into an array ready for solving the linear system using LAPACK gsev. More... | |
virtual void | errorHandler (const std::string &message) const |
Performs any necessary cleaning-up, then throw MooseException(message) More... | |
virtual void | initializeReturnProcess () |
Derived classes may use this to perform calculations before any return-map process is performed, for instance, to initialize variables. More... | |
virtual void | finalizeReturnProcess (const RankTwoTensor &rotation_increment) |
Derived classes may use this to perform calculations after the return-map process has completed successfully in stress_param space but before the returned stress tensor has been calculcated. More... | |
virtual void | setInelasticStrainIncrementAfterReturn (const RankTwoTensor &stress_trial, Real gaE, const yieldAndFlow &smoothed_q, const RankFourTensor &elasticity_tensor, const RankTwoTensor &returned_stress, RankTwoTensor &inelastic_strain_increment) const |
Sets inelastic strain increment from the returned configuration This is called after the return-map process has completed successfully in stress_param space, just after finalizeReturnProcess has been called. More... | |
void | dVardTrial (bool elastic_only, const std::vector< Real > &trial_stress_params, const std::vector< Real > &stress_params, Real gaE, const std::vector< Real > &intnl, const yieldAndFlow &smoothed_q, Real step_size, bool compute_full_tangent_operator, std::vector< std::vector< Real >> &dvar_dtrial) const |
Calculates derivatives of the stress_params and gaE with repect to the trial values of the stress_params for the (sub)strain increment. More... | |
bool | precisionLoss (const std::vector< Real > &solution, const std::vector< Real > &stress_params, Real gaE) const |
Check whether precision loss has occurred. More... | |
Protected Attributes | |
const TensorMechanicsHardeningModel & | _tensile_strength |
Hardening model for tensile strength. More... | |
const TensorMechanicsHardeningModel & | _compressive_strength |
Hardening model for compressive strength. More... | |
const TensorMechanicsHardeningModel & | _cohesion |
Hardening model for cohesion. More... | |
const TensorMechanicsHardeningModel & | _phi |
Hardening model for friction angle. More... | |
const TensorMechanicsHardeningModel & | _psi |
Hardening model for dilation angle. More... | |
const bool | _perfect_guess |
Whether to provide an estimate of the returned stress, based on perfect plasticity. More... | |
Real | _poissons_ratio |
Poisson's ratio. More... | |
const Real | _shifter |
When equal-eigenvalues are predicted from the stress initialization routine, shift them by this amount. More... | |
RankTwoTensor | _eigvecs |
Eigenvectors of the trial stress as a RankTwoTensor, in order to rotate the returned stress back to stress space. More... | |
const unsigned | _num_sp |
Number of stress parameters. More... | |
const std::vector< Real > | _definitely_ok_sp |
An admissible value of stress_params at the initial time. More... | |
std::vector< std::vector< Real > > | _Eij |
E[i, j] in the system of equations to be solved. More... | |
Real | _En |
normalising factor More... | |
std::vector< std::vector< Real > > | _Cij |
_Cij[i, j] * _Eij[j, k] = 1 iff j == k More... | |
const unsigned | _num_yf |
Number of yield functions. More... | |
const unsigned | _num_intnl |
Number of internal parameters. More... | |
const unsigned | _max_nr_its |
Maximum number of Newton-Raphson iterations allowed in the return-map process. More... | |
const bool | _perform_finite_strain_rotations |
Whether to perform finite-strain rotations. More... | |
const Real | _smoothing_tol |
Smoothing tolerance: edges of the yield surface get smoothed by this amount. More... | |
const Real | _smoothing_tol2 |
Square of the smoothing tolerance. More... | |
const Real | _f_tol |
The yield-function tolerance. More... | |
const Real | _f_tol2 |
Square of the yield-function tolerance. More... | |
const Real | _min_step_size |
In order to help the Newton-Raphson procedure, the applied strain increment may be applied in sub-increments of size greater than this value. More... | |
bool | _step_one |
handles case of initial_stress that is inadmissible being supplied More... | |
const bool | _warn_about_precision_loss |
Output a warning message if precision loss is encountered during the return-map process. More... | |
MaterialProperty< RankTwoTensor > & | _plastic_strain |
plastic strain More... | |
const MaterialProperty< RankTwoTensor > & | _plastic_strain_old |
Old value of plastic strain. More... | |
MaterialProperty< std::vector< Real > > & | _intnl |
internal parameters More... | |
const MaterialProperty< std::vector< Real > > & | _intnl_old |
old values of internal parameters More... | |
MaterialProperty< std::vector< Real > > & | _yf |
yield functions More... | |
MaterialProperty< Real > & | _iter |
Number of Newton-Raphson iterations used in the return-map. More... | |
MaterialProperty< Real > & | _max_iter_used |
Maximum number of Newton-Raphson iterations used in the return-map during the course of the entire simulation. More... | |
const MaterialProperty< Real > & | _max_iter_used_old |
Old value of maximum number of Newton-Raphson iterations used in the return-map during the course of the entire simulation. More... | |
MaterialProperty< Real > & | _linesearch_needed |
Whether a line-search was needed in the latest Newton-Raphson process (1 if true, 0 otherwise) More... | |
const std::string | _base_name |
Name used as a prefix for all material properties related to the stress update model. More... | |
Static Protected Attributes | |
constexpr static unsigned | _tensor_dimensionality = 3 |
Internal dimensionality of tensors (currently this is 3 throughout tensor_mechanics) More... | |
Private Types | |
enum | SmootherFunctionType { SmootherFunctionType::cos, SmootherFunctionType::poly1, SmootherFunctionType::poly2, SmootherFunctionType::poly3 } |
The type of smoother function. More... | |
Private Attributes | |
std::vector< Real > | _trial_sp |
"Trial" value of stress_params that initializes the return-map process This is derived from stress = stress_old + Eijkl * strain_increment. More... | |
RankTwoTensor | _stress_trial |
"Trial" value of stress that is set at the beginning of the return-map process. More... | |
std::vector< Real > | _rhs |
0 = rhs[0] = S[0] - S[0]^trial + ga * E[0, i] * dg/dS[i] 0 = rhs[1] = S[1] - S[1]^trial + ga * E[1, i] * dg/dS[i] ... More... | |
std::vector< std::vector< Real > > | _dvar_dtrial |
d({stress_param[i], gaE})/d(trial_stress_param[j]) More... | |
std::vector< Real > | _ok_sp |
The state (ok_sp, ok_intnl) is known to be admissible, so ok_sp are stress_params that are "OK". More... | |
std::vector< Real > | _ok_intnl |
The state (ok_sp, ok_intnl) is known to be admissible. More... | |
std::vector< Real > | _del_stress_params |
_del_stress_params = trial_stress_params - ok_sp This is fixed at the beginning of the return-map process, irrespective of substepping. More... | |
std::vector< Real > | _current_sp |
The current values of the stress params during the Newton-Raphson. More... | |
std::vector< Real > | _current_intnl |
The current values of the internal params during the Newton-Raphson. More... | |
enum MultiParameterPlasticityStressUpdate::SmootherFunctionType | _smoother_function_type |
CappedMohrCoulombStressUpdate implements rate-independent nonassociative Mohr-Coulomb plus tensile plus compressive plasticity with hardening/softening.
Definition at line 24 of file CappedMohrCoulombStressUpdate.h.
|
strongprivateinherited |
The type of smoother function.
Enumerator | |
---|---|
cos | |
poly1 | |
poly2 | |
poly3 |
Definition at line 743 of file MultiParameterPlasticityStressUpdate.h.
CappedMohrCoulombStressUpdate::CappedMohrCoulombStressUpdate | ( | const InputParameters & | parameters | ) |
Definition at line 53 of file CappedMohrCoulombStressUpdate.C.
|
protectedinherited |
Calculates the residual-squared for the Newton-Raphson + line-search.
rhs[in] | The RHS vector |
Definition at line 802 of file MultiParameterPlasticityStressUpdate.C.
Referenced by MultiParameterPlasticityStressUpdate::lineSearch(), and MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
Calculates the RHS in the following 0 = rhs[0] = S[0] - S[0]^trial + ga * E[0, j] * dg/dS[j] 0 = rhs[1] = S[1] - S[1]^trial + ga * E[1, j] * dg/dS[j] ...
0 = rhs[N-1] = S[N-1] - S[N-1]^trial + ga * E[N-1, j] * dg/dS[j] 0 = rhs[N] = f(S, intnl) where N = _num_sp
trial_stress_params[in] | The trial stress parameters for this (sub)strain increment, S[:]^trial |
stress_params[in] | The current stress parameters, S[:] |
gaE[in] | ga*_En (the normalisation with _En is so that gaE is of similar magnitude to S) |
smoothed_q[in] | Holds the current value of yield function and derivatives evaluated at the current stress parameters and the current internal parameters |
rhs[out] | The result |
Definition at line 811 of file MultiParameterPlasticityStressUpdate.C.
Referenced by MultiParameterPlasticityStressUpdate::lineSearch(), and MultiParameterPlasticityStressUpdate::updateState().
|
overrideprotectedvirtual |
Completely fills all_q with correct values.
These values are: (1) the yield function values, yf[i] (2) d(yf[i])/d(stress_params[j]) (3) d(yf[i])/d(intnl[j]) (4) d(flowPotential[i])/d(stress_params[j]) (5) d2(flowPotential[i])/d(stress_params[j])/d(stress_params[k]) (6) d2(flowPotential[i])/d(stress_params[j])/d(intnl[k])
stress_params[in] | The stress parameters | |
intnl[in] | The internal parameters | |
[out] | all_q | All the desired quantities |
Implements MultiParameterPlasticityStressUpdate.
Definition at line 150 of file CappedMohrCoulombStressUpdate.C.
|
overrideprotectedvirtual |
Computes stress_params, given stress.
Derived classes must override this
stress[in] | Stress tensor |
stress_params[out] | The compute stress_params |
Implements MultiParameterPlasticityStressUpdate.
Definition at line 71 of file CappedMohrCoulombStressUpdate.C.
|
virtualinherited |
Reimplemented in RadialReturnStressUpdate.
Definition at line 56 of file StressUpdateBase.C.
|
overrideprotectedvirtual |
Calculates the consistent tangent operator.
Derived classes may choose to override this for computational efficiency. The implementation in this class is quite expensive, even though it looks compact and clean, because of all the manipulations of RankFourTensors involved.
stress_trial[in] | the trial value of the stress tensor for this strain increment | |
trial_stress_params[in] | the trial values of the stress_params for this strain increment | |
stress[in] | the returned value of the stress tensor for this strain increment | |
stress_params[in] | the returned value of the stress_params for this strain increment | |
gaE[in] | the total value of that came from this strain increment | |
smoothed_q[in] | contains the yield function and derivatives evaluated at (p, q) | |
Eijkl[in] | The elasticity tensor | |
compute_full_tangent_operator[in] | true if the full consistent tangent operator is needed, otherwise false | |
dvar_dtrial[in] | dvar_dtrial[i][j] = d({stress_param[i],gaE})/d(trial_stress_param[j]) for this strain increment | |
[out] | cto | The consistent tangent operator |
Reimplemented from MultiParameterPlasticityStressUpdate.
Reimplemented in CappedMohrCoulombCosseratStressUpdate.
Definition at line 793 of file CappedMohrCoulombStressUpdate.C.
Referenced by CappedMohrCoulombCosseratStressUpdate::consistentTangentOperatorV().
|
overrideprotectedvirtual |
d2(stress_param[i])/d(stress)/d(stress) at given stress
stress | stress tensor |
Implements MultiParameterPlasticityStressUpdate.
Definition at line 88 of file CappedMohrCoulombStressUpdate.C.
|
protectedinherited |
Derivative of -RHS with respect to the stress_params and gaE, placed into an array ready for solving the linear system using LAPACK gsev.
smoothed_q[in] | Holds the current value of yield function and derivatives evaluated at the current values of the stress_params and the internal parameters |
dintnl[in] | The derivatives of the internal parameters wrt the stress_params |
stress_params[in] | The current value of the stress_params during the Newton-Raphson process |
gaE[in] | The current value of gaE |
jac[out] | The outputted derivatives |
Definition at line 828 of file MultiParameterPlasticityStressUpdate.C.
Referenced by MultiParameterPlasticityStressUpdate::dVardTrial(), and MultiParameterPlasticityStressUpdate::nrStep().
|
protectedinherited |
Derivative of smoother.
Definition at line 533 of file MultiParameterPlasticityStressUpdate.C.
Referenced by MultiParameterPlasticityStressUpdate::smoothAllQuantities().
|
overrideprotectedvirtual |
d(stress_param[i])/d(stress) at given stress
stress | stress tensor |
Implements MultiParameterPlasticityStressUpdate.
Definition at line 79 of file CappedMohrCoulombStressUpdate.C.
Referenced by consistentTangentOperatorV().
|
protectedinherited |
Calculates derivatives of the stress_params and gaE with repect to the trial values of the stress_params for the (sub)strain increment.
After the strain increment has been fully applied, dvar_dtrial will contain the result appropriate to the full strain increment. Before that time (if applying in sub-strain increments) it will contain the result appropriate to the amount of strain increment applied successfully.
elastic_only[in] | whether this was an elastic step: if so then the updates to dvar_dtrial are fairly trivial |
trial_stress_params[in] | Trial values of stress_params for this (sub)strain increment |
stress_params[in] | Returned values of stress_params for this (sub)strain increment |
gaE[in] | the value of gaE that came from this (sub)strain increment |
intnl[in] | the value of the internal parameters at the returned position |
smoothed_q[in] | contains the yield function and derivatives evaluated at (stress_params, intnl) |
step_size[in] | size of this (sub)strain increment |
compute_full_tangent_operator[in] | true if the full consistent tangent operator is needed, otherwise false |
dvar_dtrial[out] | dvar_dtrial[i][j] = d({stress_param[i],gaE})/d(trial_stress_param[j]) |
Definition at line 873 of file MultiParameterPlasticityStressUpdate.C.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
protectedvirtualinherited |
Performs any necessary cleaning-up, then throw MooseException(message)
message | The message to using in MooseException |
Definition at line 661 of file MultiParameterPlasticityStressUpdate.C.
Referenced by MultiParameterPlasticityStressUpdate::dVardTrial(), and MultiParameterPlasticityStressUpdate::updateState().
|
protectedvirtualinherited |
Derived classes may use this to perform calculations after the return-map process has completed successfully in stress_param space but before the returned stress tensor has been calculcated.
rotation_increment[in] | The large-strain rotation increment |
Reimplemented in CappedDruckerPragerStressUpdate, CappedWeakPlaneStressUpdate, and CappedWeakInclinedPlaneStressUpdate.
Definition at line 672 of file MultiParameterPlasticityStressUpdate.C.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
inlineoverrideprotectedvirtualinherited |
Reimplemented from StressUpdateBase.
Definition at line 123 of file MultiParameterPlasticityStressUpdate.h.
|
protectedvirtualinherited |
Derived classes may use this to perform calculations before any return-map process is performed, for instance, to initialize variables.
This is called at the very start of updateState, even before any checking for admissible stresses, etc, is performed
Reimplemented in CappedDruckerPragerStressUpdate, CappedWeakPlaneStressUpdate, and CappedWeakInclinedPlaneStressUpdate.
Definition at line 667 of file MultiParameterPlasticityStressUpdate.C.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
overrideprotectedvirtual |
Sets (stress_params, intnl) at "good guesses" of the solution to the Return-Map algorithm.
The purpose of these "good guesses" is to speed up the Newton-Raphson process by providing it with a good initial guess. Derived classes may choose to override this if their plastic models are easy enough to solve approximately. The default values, provided by this class, are simply gaE = 0, stress_params = trial_stress_params, that is, the "good guess" is just the trial point for this (sub)strain increment.
trial_stress_params[in] | The stress_params at the trial point |
intnl_old[in] | The internal parameters before applying the (sub)strain increment |
stress_params[out] | The "good guess" value of the stress_params |
gaE[out] | The "good guess" value of gaE |
intnl[out] | The "good guess" value of the internal parameters |
For CappedMohrCoulomb there are a number of possibilities for the returned stress configuration:
Reimplemented from MultiParameterPlasticityStressUpdate.
Definition at line 267 of file CappedMohrCoulombStressUpdate.C.
|
overrideprotectedvirtualinherited |
Reimplemented in CappedWeakInclinedPlaneStressUpdate.
Definition at line 141 of file MultiParameterPlasticityStressUpdate.C.
Referenced by CappedWeakInclinedPlaneStressUpdate::initQpStatefulProperties(), and MultiParameterPlasticityStressUpdate::updateState().
|
inlineoverridevirtual |
Is the implmented model isotropic? The safe default is 'false'.
Reimplemented from StressUpdateBase.
Definition at line 36 of file CappedMohrCoulombStressUpdate.h.
|
protectedinherited |
Smooths yield functions.
The returned value must be zero if abs(f_diff) >= _smoothing_tol and otherwise must satisfy, over -_smoothing_tol <= f_diff <= _smoothing_tol: (1) C2 (2) zero at f_diff = +/- _smoothing_tol (3) derivative is +/-0.5 at f_diff = +/- _smoothing_tol (4) derivative must be in [-0.5, 0.5] (5) second derivative is zero at f_diff = +/- _smoothing_tol (6) second derivative must be non-negative in order to ensure C2 differentiability and convexity of the smoothed yield surface.
Definition at line 484 of file MultiParameterPlasticityStressUpdate.C.
Referenced by MultiParameterPlasticityStressUpdate::smoothAllQuantities(), and MultiParameterPlasticityStressUpdate::yieldF().
|
protectedinherited |
Performs a line-search to find stress_params and gaE Upon entry:
res2[in,out] | the residual-squared, both as an input and output |
stress_params[in,out] | Upon input the value of the stress_params before the current Newton-Raphson process was initiated. Upon exit this will hold the values coming from the line search. |
trial_stress_params[in] | Trial value for the stress_params for this (sub)strain increment |
gaE[in,out] | Upon input the value of gaE before the current Newton-Raphson iteration was initiated. Upon exit this will hold the value coming from the line-search |
smoothed_q[in,out] | Upon input, the value of the smoothed yield function and derivatives at the prior-to-Newton configuration. Upon exit this is evaluated at the new (stress_params, intnl) |
intnl_ok[in] | The value of the internal parameters from the start of this (sub)strain increment |
intnl[in,out] | The value of the internal parameters after the line-search has converged |
rhs[in,out] | Upon entry this contains the solution to the Newton-Raphson. Upon exit this contains the updated rhs values |
Definition at line 553 of file MultiParameterPlasticityStressUpdate.C.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
Performs a Newton-Raphson step to attempt to zero rhs Upon return, rhs will contain the solution.
smoothed_q[in] | The value of the smoothed yield function and derivatives prior to this Newton-Raphson step |
trial_stress_params[in] | Trial value for the stress_params for this (sub)strain increment |
stress_params[in] | The current value of the stress_params |
intnl[in] | The current value of the internal parameters |
gaE[in] | The current value of gaE |
rhs[in,out] | Upon entry, the rhs to zero using Newton-Raphson. Upon exit, the solution to the Newton-Raphson problem |
Definition at line 637 of file MultiParameterPlasticityStressUpdate.C.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
Check whether precision loss has occurred.
[in] | solution | The solution to the Newton-Raphson system |
[in] | stress_params | The currect values of the stress_params for this (sub)strain increment |
[in] | gaE | The currenct value of gaE for this (sub)strain increment |
Definition at line 983 of file MultiParameterPlasticityStressUpdate.C.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
overrideprotectedvirtual |
Derived classes may employ this function to record stuff or do other computations prior to the return-mapping algorithm.
We know that (trial_stress_params, intnl_old) is inadmissible when this is called
trial_stress_params[in] | The trial values of the stress parameters |
stress_trial[in] | Trial stress tensor |
intnl_old[in] | Old value of the internal parameters. |
yf[in] | The yield functions at (p_trial, q_trial, intnl_old) |
Eijkl[in] | The elasticity tensor |
Reimplemented from MultiParameterPlasticityStressUpdate.
Reimplemented in CappedMohrCoulombCosseratStressUpdate.
Definition at line 96 of file CappedMohrCoulombStressUpdate.C.
|
overrideprotectedvirtualinherited |
If updateState is not called during a timestep, this will be.
This method allows derived classes to set internal parameters from their Old values, for instance
Reimplemented from StressUpdateBase.
Definition at line 152 of file MultiParameterPlasticityStressUpdate.C.
|
inlineoverridevirtual |
Does the model require the elasticity tensor to be isotropic?
Implements StressUpdateBase.
Definition at line 34 of file CappedMohrCoulombStressUpdate.h.
|
inlinefinalinherited |
Definition at line 123 of file StressUpdateBase.h.
|
inlinefinalinherited |
Retained as empty methods to avoid a warning from Material.C in framework. These methods are unused in all inheriting classes and should not be overwritten.
Definition at line 122 of file StressUpdateBase.h.
|
overrideprotectedvirtual |
Sets _Eij and _En and _Cij.
Implements MultiParameterPlasticityStressUpdate.
Definition at line 249 of file CappedMohrCoulombStressUpdate.C.
|
protectedvirtualinherited |
Sets inelastic strain increment from the returned configuration This is called after the return-map process has completed successfully in stress_param space, just after finalizeReturnProcess has been called.
Derived classes may override this function
stress_trial[in] | The trial value of stress |
gaE[in] | The value of gaE after the return-map process has completed successfully |
smoothed_q[in] | Holds the current value of yield function and derivatives evaluated at the returned configuration |
elasticity_tensor[in] | The elasticity tensor |
returned_stress[in] | The stress after the return-map process |
inelastic_strain_increment[out] | The inelastic strain increment resulting from this return-map |
Reimplemented in TwoParameterPlasticityStressUpdate.
Definition at line 786 of file MultiParameterPlasticityStressUpdate.C.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
overrideprotectedvirtual |
Sets the derivatives of internal parameters, based on the trial values of stress_params, their current values, and the current values of the internal parameters.
Derived classes must override this.
trial_stress_params[in] | The trial stress parameters |
current_stress_params[in] | The current stress parameters |
intnl[in] | The current value of the internal parameters |
dintnl[out] | The derivatives dintnl[i][j] = d(intnl[i])/d(stress_param j) |
Implements MultiParameterPlasticityStressUpdate.
Definition at line 756 of file CappedMohrCoulombStressUpdate.C.
|
overrideprotectedvirtual |
Sets the internal parameters based on the trial values of stress_params, their current values, and the old values of the internal parameters.
Derived classes must override this.
trial_stress_params[in] | The trial stress parameters (eg trial_p and trial_q) |
current_stress_params[in] | The current stress parameters (eg p and q) |
intnl_old[out] | Old value of internal parameters |
intnl[out] | The value of internal parameters to be set |
Implements MultiParameterPlasticityStressUpdate.
Definition at line 734 of file CappedMohrCoulombStressUpdate.C.
Referenced by initializeVarsV().
|
inherited |
Sets the value of the global variable _qp for inheriting classes.
Definition at line 43 of file StressUpdateBase.C.
|
overrideprotectedvirtual |
Sets stress from the admissible parameters.
This is called after the return-map process has completed successfully in stress_param space, just after finalizeReturnProcess has been called. Derived classes must override this function
stress_trial[in] | The trial value of stress |
stress_params[in] | The value of the stress_params after the return-map process has completed successfully |
gaE[in] | The value of gaE after the return-map process has completed successfully |
intnl[in] | The value of the internal parameters after the return-map process has completed successfully |
smoothed_q[in] | Holds the current value of yield function and derivatives evaluated at the returned state |
Eijkl[in] | The elasticity tensor |
stress[out] | The returned value of the stress tensor |
Implements MultiParameterPlasticityStressUpdate.
Reimplemented in CappedMohrCoulombCosseratStressUpdate.
Definition at line 108 of file CappedMohrCoulombStressUpdate.C.
|
protectedinherited |
Calculates all yield functions and derivatives, and then performs the smoothing scheme.
stress_params[in] | The stress parameters (eg stress_params[0] = stress_zz and stress_params[1] = sqrt(stress_zx^2 + stress_zy^2)) |
intnl[in] | Internal parameters |
Definition at line 400 of file MultiParameterPlasticityStressUpdate.C.
Referenced by MultiParameterPlasticityStressUpdate::lineSearch(), and MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
Derivative of ismoother.
Definition at line 510 of file MultiParameterPlasticityStressUpdate.C.
Referenced by MultiParameterPlasticityStressUpdate::smoothAllQuantities().
|
overrideprotectedvirtualinherited |
Given a strain increment that results in a trial stress, perform some procedure (such as an iterative return-mapping process) to produce an admissible stress, an elastic strain increment and an inelastic strain increment.
If _fe_problem.currentlyComputingJacobian() = true, then updateState also computes d(stress)/d(strain) (or some approximation to it).
This method is called by ComputeMultipleInelasticStress. This method is pure virutal: all inheriting classes must overwrite this method.
strain_increment | Upon input: the strain increment. Upon output: the elastic strain increment |
inelastic_strain_increment | The inelastic_strain resulting from the interative procedure |
rotation_increment | The finite-strain rotation increment |
stress_new | Upon input: the trial stress that results from applying strain_increment as an elastic strain. Upon output: the admissible stress |
stress_old | The old value of stress |
elasticity_tensor | The elasticity tensor |
compute_full_tangent_operator | The calling routine would like the full consistent tangent operator to be placed in tangent_operator, if possible. This is irrelevant if _fe_problem.currentlyComputingJacobian() = false |
tangent_operator | d(stress)/d(strain), or some approximation to it If compute_full_tangent_operator=false, then tangent_operator=elasticity_tensor is an appropriate choice. tangent_operator is only computed if _fe_problem.currentlyComputingJacobian() = true |
Implements StressUpdateBase.
Definition at line 160 of file MultiParameterPlasticityStressUpdate.C.
|
static |
Definition at line 19 of file CappedMohrCoulombStressUpdate.C.
Referenced by CappedMohrCoulombCosseratStressUpdate::validParams().
|
protectedinherited |
Computes the smoothed yield function.
stress_params | The stress parameters (eg stress_params[0] = stress_zz and stress_params[1] = sqrt(stress_zx^2 + stress_zy^2)) |
intnl | The internal parameters (eg intnl[0] is shear, intnl[1] is tensile) |
Definition at line 688 of file MultiParameterPlasticityStressUpdate.C.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
Computes the smoothed yield function.
yfs | The values of the individual yield functions |
Definition at line 697 of file MultiParameterPlasticityStressUpdate.C.
|
overrideprotectedvirtual |
Computes the values of the yield functions, given stress_params and intnl parameters.
Derived classes must override this, to provide the values of the yield functions in yf.
stress_params[in] | The stress parameters | |
intnl[in] | The internal parameters | |
[out] | yf | The yield function values |
Implements MultiParameterPlasticityStressUpdate.
Definition at line 123 of file CappedMohrCoulombStressUpdate.C.
|
protectedinherited |
Name used as a prefix for all material properties related to the stress update model.
Definition at line 128 of file StressUpdateBase.h.
|
protectedinherited |
_Cij[i, j] * _Eij[j, k] = 1 iff j == k
Definition at line 144 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::consistentTangentOperatorV(), CappedMohrCoulombCosseratStressUpdate::setEffectiveElasticity(), TensileStressUpdate::setEffectiveElasticity(), setEffectiveElasticity(), and TwoParameterPlasticityStressUpdate::setEffectiveElasticity().
|
protected |
Hardening model for cohesion.
Definition at line 46 of file CappedMohrCoulombStressUpdate.h.
Referenced by computeAllQV(), initializeVarsV(), and yieldFunctionValuesV().
|
protected |
Hardening model for compressive strength.
Definition at line 43 of file CappedMohrCoulombStressUpdate.h.
Referenced by computeAllQV(), initializeVarsV(), and yieldFunctionValuesV().
|
privateinherited |
The current values of the internal params during the Newton-Raphson.
Definition at line 737 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
privateinherited |
The current values of the stress params during the Newton-Raphson.
Definition at line 732 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
An admissible value of stress_params at the initial time.
Definition at line 135 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::MultiParameterPlasticityStressUpdate(), and MultiParameterPlasticityStressUpdate::updateState().
|
privateinherited |
_del_stress_params = trial_stress_params - ok_sp This is fixed at the beginning of the return-map process, irrespective of substepping.
The return-map problem is: apply del_stress_params to stress_prams, and then find an admissible (returned) stress_params and gaE
Definition at line 727 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
privateinherited |
d({stress_param[i], gaE})/d(trial_stress_param[j])
Definition at line 703 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
protected |
Eigenvectors of the trial stress as a RankTwoTensor, in order to rotate the returned stress back to stress space.
Definition at line 68 of file CappedMohrCoulombStressUpdate.h.
Referenced by consistentTangentOperatorV(), CappedMohrCoulombCosseratStressUpdate::preReturnMapV(), preReturnMapV(), CappedMohrCoulombCosseratStressUpdate::setStressAfterReturnV(), and setStressAfterReturnV().
|
protectedinherited |
E[i, j] in the system of equations to be solved.
Definition at line 138 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::calculateRHS(), MultiParameterPlasticityStressUpdate::dnRHSdVar(), MultiParameterPlasticityStressUpdate::dVardTrial(), initializeVarsV(), CappedMohrCoulombCosseratStressUpdate::setEffectiveElasticity(), TensileStressUpdate::setEffectiveElasticity(), setEffectiveElasticity(), TwoParameterPlasticityStressUpdate::setEffectiveElasticity(), TensileStressUpdate::setIntnlDerivativesV(), setIntnlDerivativesV(), TensileStressUpdate::setIntnlValuesV(), and setIntnlValuesV().
|
protectedinherited |
normalising factor
Definition at line 141 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::calculateRHS(), MultiParameterPlasticityStressUpdate::consistentTangentOperatorV(), MultiParameterPlasticityStressUpdate::dnRHSdVar(), MultiParameterPlasticityStressUpdate::dVardTrial(), CappedMohrCoulombCosseratStressUpdate::setEffectiveElasticity(), TensileStressUpdate::setEffectiveElasticity(), setEffectiveElasticity(), TwoParameterPlasticityStressUpdate::setEffectiveElasticity(), and MultiParameterPlasticityStressUpdate::setInelasticStrainIncrementAfterReturn().
|
protectedinherited |
The yield-function tolerance.
Definition at line 165 of file MultiParameterPlasticityStressUpdate.h.
Referenced by initializeVarsV(), and MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
Square of the yield-function tolerance.
Definition at line 168 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
internal parameters
Definition at line 190 of file MultiParameterPlasticityStressUpdate.h.
Referenced by CappedWeakPlaneCosseratStressUpdate::consistentTangentOperator(), CappedWeakPlaneStressUpdate::consistentTangentOperator(), MultiParameterPlasticityStressUpdate::initQpStatefulProperties(), MultiParameterPlasticityStressUpdate::propagateQpStatefulProperties(), and MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
old values of internal parameters
Definition at line 193 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::propagateQpStatefulProperties(), and MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
Number of Newton-Raphson iterations used in the return-map.
Definition at line 199 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::initQpStatefulProperties(), and MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
Whether a line-search was needed in the latest Newton-Raphson process (1 if true, 0 otherwise)
Definition at line 208 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::initQpStatefulProperties(), and MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
Maximum number of Newton-Raphson iterations used in the return-map during the course of the entire simulation.
Definition at line 202 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::initQpStatefulProperties(), MultiParameterPlasticityStressUpdate::propagateQpStatefulProperties(), and MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
Old value of maximum number of Newton-Raphson iterations used in the return-map during the course of the entire simulation.
Definition at line 205 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::propagateQpStatefulProperties(), and MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
Maximum number of Newton-Raphson iterations allowed in the return-map process.
Definition at line 153 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
In order to help the Newton-Raphson procedure, the applied strain increment may be applied in sub-increments of size greater than this value.
Definition at line 175 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
Number of internal parameters.
Definition at line 150 of file MultiParameterPlasticityStressUpdate.h.
Referenced by computeAllQV(), MultiParameterPlasticityStressUpdate::dnRHSdVar(), MultiParameterPlasticityStressUpdate::dVardTrial(), MultiParameterPlasticityStressUpdate::initQpStatefulProperties(), MultiParameterPlasticityStressUpdate::nrStep(), MultiParameterPlasticityStressUpdate::smoothAllQuantities(), and MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
Number of stress parameters.
Definition at line 132 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::calculateRHS(), TensileStressUpdate::computeAllQV(), computeAllQV(), TensileStressUpdate::consistentTangentOperatorV(), consistentTangentOperatorV(), MultiParameterPlasticityStressUpdate::consistentTangentOperatorV(), MultiParameterPlasticityStressUpdate::dnRHSdVar(), MultiParameterPlasticityStressUpdate::dVardTrial(), TensileStressUpdate::initializeVarsV(), initializeVarsV(), MultiParameterPlasticityStressUpdate::lineSearch(), MultiParameterPlasticityStressUpdate::MultiParameterPlasticityStressUpdate(), MultiParameterPlasticityStressUpdate::nrStep(), MultiParameterPlasticityStressUpdate::precisionLoss(), CappedMohrCoulombCosseratStressUpdate::setEffectiveElasticity(), TensileStressUpdate::setEffectiveElasticity(), setEffectiveElasticity(), MultiParameterPlasticityStressUpdate::setInelasticStrainIncrementAfterReturn(), setIntnlDerivativesV(), MultiParameterPlasticityStressUpdate::smoothAllQuantities(), and MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
Number of yield functions.
Definition at line 147 of file MultiParameterPlasticityStressUpdate.h.
Referenced by TensileStressUpdate::computeAllQV(), computeAllQV(), MultiParameterPlasticityStressUpdate::initQpStatefulProperties(), MultiParameterPlasticityStressUpdate::smoothAllQuantities(), MultiParameterPlasticityStressUpdate::updateState(), and MultiParameterPlasticityStressUpdate::yieldF().
|
privateinherited |
The state (ok_sp, ok_intnl) is known to be admissible.
Definition at line 718 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
privateinherited |
The state (ok_sp, ok_intnl) is known to be admissible, so ok_sp are stress_params that are "OK".
If the strain_increment is applied in substeps then ok_sp is updated after each sub strain_increment is applied and the return-map is successful. At the end of the entire return-map process _ok_sp will contain the stress_params where (_ok_sp, _intnl) is admissible.
Definition at line 713 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
protected |
Whether to provide an estimate of the returned stress, based on perfect plasticity.
Definition at line 55 of file CappedMohrCoulombStressUpdate.h.
Referenced by initializeVarsV().
|
protectedinherited |
Whether to perform finite-strain rotations.
Definition at line 156 of file MultiParameterPlasticityStressUpdate.h.
Referenced by CappedWeakInclinedPlaneStressUpdate::finalizeReturnProcess(), and CappedWeakInclinedPlaneStressUpdate::initializeReturnProcess().
|
protected |
Hardening model for friction angle.
Definition at line 49 of file CappedMohrCoulombStressUpdate.h.
Referenced by CappedMohrCoulombStressUpdate(), computeAllQV(), initializeVarsV(), and yieldFunctionValuesV().
|
protectedinherited |
plastic strain
Definition at line 184 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::initQpStatefulProperties(), MultiParameterPlasticityStressUpdate::propagateQpStatefulProperties(), and MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
Old value of plastic strain.
Definition at line 187 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::propagateQpStatefulProperties(), and MultiParameterPlasticityStressUpdate::updateState().
|
protected |
Poisson's ratio.
Definition at line 58 of file CappedMohrCoulombStressUpdate.h.
Referenced by CappedMohrCoulombCosseratStressUpdate::preReturnMapV(), preReturnMapV(), setIntnlDerivativesV(), and setIntnlValuesV().
|
protected |
Hardening model for dilation angle.
Definition at line 52 of file CappedMohrCoulombStressUpdate.h.
Referenced by CappedMohrCoulombStressUpdate(), computeAllQV(), initializeVarsV(), setIntnlDerivativesV(), and setIntnlValuesV().
|
privateinherited |
0 = rhs[0] = S[0] - S[0]^trial + ga * E[0, i] * dg/dS[i] 0 = rhs[1] = S[1] - S[1]^trial + ga * E[1, i] * dg/dS[i] ...
0 = rhs[N-1] = S[N-1] - S[N-1]^trial + ga * E[N-1, i] * dg/dS[i] 0 = rhs[N] = f(S, intnl) Here N = num_sp
Definition at line 698 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
protected |
When equal-eigenvalues are predicted from the stress initialization routine, shift them by this amount.
This avoids equal-eigenvalue problems, but also accounts for the smoothing of the yield surface
Definition at line 65 of file CappedMohrCoulombStressUpdate.h.
Referenced by initializeVarsV().
|
privateinherited |
|
protectedinherited |
Smoothing tolerance: edges of the yield surface get smoothed by this amount.
Definition at line 159 of file MultiParameterPlasticityStressUpdate.h.
Referenced by CappedDruckerPragerStressUpdate::CappedDruckerPragerStressUpdate(), CappedWeakPlaneStressUpdate::CappedWeakPlaneStressUpdate(), MultiParameterPlasticityStressUpdate::dsmoother(), MultiParameterPlasticityStressUpdate::ismoother(), MultiParameterPlasticityStressUpdate::smoothAllQuantities(), MultiParameterPlasticityStressUpdate::smoother(), and MultiParameterPlasticityStressUpdate::yieldF().
|
protectedinherited |
Square of the smoothing tolerance.
Definition at line 162 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::ismoother().
|
protectedinherited |
handles case of initial_stress that is inadmissible being supplied
Definition at line 178 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
privateinherited |
"Trial" value of stress that is set at the beginning of the return-map process.
It is fixed at stress_old + Eijkl * strain_increment irrespective of any sub-stepping
Definition at line 688 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
protected |
Hardening model for tensile strength.
Definition at line 36 of file CappedMohrCoulombStressUpdate.h.
Referenced by computeAllQV(), initializeVarsV(), and yieldFunctionValuesV().
|
staticconstexprprotectedinherited |
Internal dimensionality of tensors (currently this is 3 throughout tensor_mechanics)
Definition at line 129 of file MultiParameterPlasticityStressUpdate.h.
Referenced by CappedWeakPlaneCosseratStressUpdate::consistentTangentOperator(), CappedDruckerPragerCosseratStressUpdate::consistentTangentOperator(), CappedWeakPlaneStressUpdate::consistentTangentOperator(), CappedDruckerPragerStressUpdate::consistentTangentOperator(), TwoParameterPlasticityStressUpdate::consistentTangentOperator(), CappedMohrCoulombCosseratStressUpdate::consistentTangentOperatorV(), TensileStressUpdate::consistentTangentOperatorV(), consistentTangentOperatorV(), and CappedWeakPlaneStressUpdate::d2qdstress2().
|
privateinherited |
"Trial" value of stress_params that initializes the return-map process This is derived from stress = stress_old + Eijkl * strain_increment.
However, since the return-map process can fail and be restarted by applying strain_increment in multiple substeps, _trial_sp can vary from substep to substep.
Definition at line 681 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
Output a warning message if precision loss is encountered during the return-map process.
Definition at line 181 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::updateState().
|
protectedinherited |
yield functions
Definition at line 196 of file MultiParameterPlasticityStressUpdate.h.
Referenced by MultiParameterPlasticityStressUpdate::initQpStatefulProperties(), and MultiParameterPlasticityStressUpdate::updateState().