musica (C++)
Loading...
Searching...
No Matches
constitutive::ElastoplasticModelBase< T > Struct Template Reference

#include <elastoplasticmodelbase.hpp>

Inheritance diagram for constitutive::ElastoplasticModelBase< T >:
Collaboration diagram for constitutive::ElastoplasticModelBase< T >:

Public Member Functions

void setPlasticMethod (const std::string &method)
 set the plastic method
Eigen::Matrix< T, 6, 6 > continuumElastoplasticStiffness (const Eigen::Matrix< T, 6, 6 > &K, const StateVariable< T > &sv0, StateVariable< T > &sv, bool check_elastic_state=true, std::optional< bool > check_positive_definite=std::nullopt, std::optional< bool > check_non_singularity=std::nullopt) override
Eigen::Matrix< T, 6, 6 > symmetricContinuumElastoplasticStiffness (const Eigen::Matrix< T, 6, 6 > &K, const Eigen::Matrix< T, 6, 1 > &deps, const StateVariable< T > &sv0, StateVariable< T > &sv, bool check_elastic_state=true, std::optional< bool > check_positive_definite=std::nullopt, std::optional< bool > check_non_singularity=std::nullopt) override
Eigen::Matrix< T, 6, 6 > consistentElastoplasticStiffness (const Eigen::Matrix< T, 6, 6 > &K, const StateVariable< T > &sv0, StateVariable< T > &sv, bool check_elastic_state=true, std::optional< bool > check_positive_definite=std::nullopt, std::optional< bool > check_non_singularity=std::nullopt) override
virtual T yieldFunction (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Yield function for elastoplastic model.
Eigen::Matrix< T, 6, 1 > dfdsig0 (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Derivative of the yield function with respect to the stress.
virtual Eigen::Matrix< T, 6, 1 > dfdsig (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Derivative of the yield function with respect to the stress.
Eigen::Matrix< T, 6, 1 > dfdsig1 (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Derivative of the yield function with respect to the stress.
Eigen::Matrix< T, 6, 1 > dfdeps0 (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Derivative of the yield function with respect to the strain.
virtual Eigen::Matrix< T, 6, 1 > dfdeps (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Derivative of the yield function with respect to the strain.
Eigen::Matrix< T, 6, 1 > dfdeps1 (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Derivative of the yield function with respect to the strain.
Eigen::Matrix< T, 6, 1 > dfdepsp0 (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Derivative of the yield function with respect to the plastic strain.
virtual Eigen::Matrix< T, 6, 1 > dfdepsp (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Derivative of the yield function with respect to the plastic strain.
Eigen::Matrix< T, 6, 1 > dfdepsp1 (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Derivative of the yield function with respect to the plastic strain.
Public Member Functions inherited from constitutive::ConstitutiveModelBase< T >
 ConstitutiveModelBase ()=default
 default constructor
virtual ~ConstitutiveModelBase ()=default
 destructor
virtual std::vector< StateVariable< T > > run ()
 Run the model.
virtual Eigen::Matrix< T, 6, 1 > increment (const Eigen::Matrix< T, 6, 1 > &dx, Eigen::Matrix< T, 6, 1 > x, const Eigen::Matrix< T, 6, 6 > &S, const Eigen::Matrix< T, 6, 6 > &E, const Eigen::Matrix< T, 6, 6 > &G, const StateVariable< T > &sv0, StateVariable< T > &sv)
 Compute one increment.
void setElementType (const std::string &element_type)
 Set ABAQUS element type.
void setStressStrainComponents (const int ndi, const int nshr)
 Set number of stress/strain components.
std::tuple< StateVariable< T >, StateVariable< T > > umat (const T *dload, T *stress, T *statev, T *ddsdde=nullptr, T *sse=nullptr, T *spd=nullptr, T *scd=nullptr)
 ABAQUS UMAT interface.
void vumat (const int nBlock, const T *loadInc, const T *stressOld, T *stressNew, const T *stateOld, T *stateNew, const int nStatev)
 ABAQUS VUMAT interface.
virtual Eigen::Matrix< T, 6, 6 > stiffness (const StateVariable< T > &sv0, StateVariable< T > &sv)=0
 Compute the stiffness matrix.
Eigen::Matrix< T, 6, 6 > elastoplasticStiffness (const Eigen::Matrix< T, 6, 6 > &K, const Eigen::Matrix< T, 6, 1 > deps, const StateVariable< T > &sv0, StateVariable< T > &sv, bool check_elastic_state=true, std::optional< bool > check_positive_definite=std::nullopt, std::optional< bool > check_non_singularity=std::nullopt)
 Compute the elastoplastic stiffness matrix.

Public Attributes

std::string plasticMethod = "CPA"
 Plastic method.
Public Attributes inherited from constitutive::ConstitutiveModelBase< T >
std::string name = "Undefined"
 name of the model
std::shared_ptr< Load< T > > load = std::make_shared<Load<T>>()
 load
std::shared_ptr< Options< T > > options = std::make_shared<Options<T>>()
 options for the constitutive model
std::shared_ptr< DebugVariable< T > > debugVariable = std::make_shared<DebugVariable<T>>()
 debug variable
std::vector< StateVariable< T > > stateVars = {}
 state variables of the current run
Eigen::Matrix< T, 3, 3 > custom_loading_direction = Eigen::Matrix<T, 3, 3>::Zero()
 custom loading direction
bool abaqus_initialize = false
 Options for abaqus UMAT/VUMAT interfaces.
bool abaqus_normalize_ddsdde = true
 whether to normalize stiffness matrix
bool abaqus_strain_control = true
 the load is controlled by strain (true) or stress (false)
bool abaqus_disable_unused_components = false
 whether to disable unused components in the flow rule
int abaqus_ndi = 3
 number of direct stress/strain components
int abaqus_nshr = 3
 number of shear stress/strain components
std::string abaqus_stiffness_type = "elastic"
T abaqus_elastoplastic_stiffness_strain_increment_multiplier = 1.0
 multiplier for strain increment when computing elastoplastic stiffness matrix
bool abaqus_check_stiffness_matrix_positive_definite = true
 whether to check the positive definiteness of the stiffness matrix
bool abaqus_check_stiffness_matrix_non_singularity = true
 whether to check the non-singularity of the stiffness matrix
int _phase = 0
 index of the phase
int _step = 0
 current step
int _mixedLoad = 0
 number of mixed load steps

Protected Member Functions

bool isExplicit () const
 check if the plastic method is explicit
bool isCPA () const
 check if the plastic method is CPA
bool isCPPM () const
 check if the plastic method is CPPM
bool isRungeKutta () const
 check if the plastic method is RungeKutta
void stressStrainIntegrate (const Eigen::Matrix< T, 6, 6 > &K, const Eigen::Matrix< T, 6, 1 > &dsig, const Eigen::Matrix< T, 6, 1 > &deps, const StateVariable< T > &sv0, StateVariable< T > &sv) override
 Stress-strain integration.
void returnMapping (const Eigen::Matrix< T, 6, 6 > &K, const Eigen::Matrix< T, 6, 1 > &dsig, const Eigen::Matrix< T, 6, 1 > &deps, const StateVariable< T > &sv0, StateVariable< T > &sv)
 return mapping algorithm to solve plastic problem (plastic strain and stress)
T elasticTrial (const Eigen::Matrix< T, 6, 6 > &K, const Eigen::Matrix< T, 6, 1 > &deps, const StateVariable< T > &sv0, StateVariable< T > &sv)
 Perform the elastic trial.
void revertElasticTrial (const Eigen::Matrix< T, 6, 6 > &K, const Eigen::Matrix< T, 6, 1 > &deps, const StateVariable< T > &sv0, StateVariable< T > &sv)
 Revert the elastic trial.
virtual void beginConstantStressStateScope (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Begin the scope of a constant stress state which can be used to cache intermediate variables for the plastic correction, such as derivatives of the yield and plastic potential functions, and hardening law.
void beginConstantStressStateScope1 (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Begin the scope of a constant stress state which can be used to cache intermediate variables for the plastic correction, such as derivatives of the yield and plastic potential functions, and hardening law.
virtual void endConstantStressStateScope (const StateVariable< T > &sv0, StateVariable< T > &sv)
 End the scope of a constant stress state.
void endConstantStressStateScope1 (const StateVariable< T > &sv0, StateVariable< T > &sv)
 End the scope of a constant stress state.
virtual bool converged (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Whether the current stress state can be accepted as converged, used for elastoplastic substepping.
void ExplicitCPA (const Eigen::Matrix< T, 6, 6 > &K, const Eigen::Matrix< T, 6, 1 > &deps, const StateVariable< T > &sv0, StateVariable< T > &sv)
 Explicit/CPA methods for elastoplastic model.
void CPPM (const Eigen::Matrix< T, 6, 6 > &K, const Eigen::Matrix< T, 6, 1 > &deps, const StateVariable< T > &sv0, StateVariable< T > &sv)
 CPPM method for elastoplastic model.
std::tuple< bool, T > integrateToYieldSurface (const Eigen::Matrix< T, 6, 6 > &K, const Eigen::Matrix< T, 6, 1 > &deps, const StateVariable< T > &sv0, StateVariable< T > &sv)
 Integrate stress state to the yield surface elastically, solve f(sig0 + alpha * K * deps) = 0.
std::tuple< Eigen::Matrix< T, 6, 6 >, Eigen::Matrix< T, 6, 1 >, Eigen::Matrix< T, 6, 1 >, Eigen::Matrix< T, Eigen::Dynamic, 1 >, Eigen::Matrix< T, Eigen::Dynamic, 6 > > RKn (int n, const Eigen::Matrix< T, 6, 6 > &K, const Eigen::Matrix< T, 6, 1 > &deps, const StateVariable< T > &sv0, StateVariable< T > &sv, const bool revert=false)
 Perform a Runge-Kutta increment.
void RungeKutta (const Eigen::Matrix< T, 6, 6 > &K, const Eigen::Matrix< T, 6, 1 > &deps, const StateVariable< T > &sv0, StateVariable< T > &sv, std::optional< int > order=std::nullopt)
 Runge-Kutta method for elastoplastic model.
virtual T CSL (const StateVariable< T > &sv0, StateVariable< T > &sv) const
 calculate the critical state line
T yieldFunction1 (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Yield function for elastoplastic model.
Eigen::Matrix< T, 6, 6 > dsigadsig (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Derivative of the modified stress with respect to the stress.
virtual T potentialFunction (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Potential function for elastoplastic model.
Eigen::Matrix< T, 6, 1 > dgdsig0 (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Derivative of the potential function with respect to the stress.
virtual Eigen::Matrix< T, 6, 1 > dgdsig (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Derivative of the potential function with respect to the stress.
Eigen::Matrix< T, 6, 1 > dgdsig1 (const Eigen::Matrix< T, 6, 1 > &dfdsig, const StateVariable< T > &sv0, StateVariable< T > &sv, std::optional< bool > associated=std::nullopt)
 Derivative of the potential function with respect to the stress.
Eigen::Matrix< T, 6, 6 > d2gdsig20 (const Eigen::Matrix< T, 6, 1 > &dfdsig, const StateVariable< T > &sv0, StateVariable< T > &sv)
 Second-order derivative of the potential function with respect to the stress.
virtual Eigen::Matrix< T, 6, 6 > d2gdsig2 (const Eigen::Matrix< T, 6, 1 > &dfdsig, const StateVariable< T > &sv0, StateVariable< T > &sv)
 Second-order derivative of the potential function with respect to the stress.
Eigen::Matrix< T, 6, 6 > d2gdsig21 (const Eigen::Matrix< T, 6, 1 > &dfdsig, const StateVariable< T > &sv0, StateVariable< T > &sv)
 Second-order derivative of the potential function with respect to the stress.
virtual T plasticModulus (const Eigen::Matrix< T, 6, 1 > &dgdsig, const StateVariable< T > &sv0, StateVariable< T > &sv)
 Plastic modulus for elastoplastic model, including dgdsig.
T plasticModulus1 (const Eigen::Matrix< T, 6, 1 > &dgdsig, const StateVariable< T > &sv0, StateVariable< T > &sv)
 Plastic modulus for elastoplastic model, including dgdsig.
virtual void updateHardeningVariables (const T ddlambda, const Eigen::Matrix< T, 6, 1 > &ddepsp, const StateVariable< T > &sv0, StateVariable< T > &sv)
 Update the hardening variables.
virtual void yieldFunctionCorrection (const Eigen::Matrix< T, 6, 6 > &K, const Eigen::Matrix< T, 6, 1 > &deps, const StateVariable< T > &sv0, StateVariable< T > &sv)
 Yield surface correction to keep the force state on the yield surface.
Eigen::Matrix< T, 3, 3 > orthogonalDirection (const Eigen::Matrix< T, 3, 3 > &F, const Eigen::Matrix< T, 3, 3 > &n) const
 Orthogonal direction.
Eigen::Matrix< T, 3, 3 > nonCoaxialDirection (const Eigen::Matrix< T, 3, 3 > &F, const Eigen::Matrix< T, 3, 3 > &n, const Eigen::Matrix< T, 3, 3 > &m) const
 Non-coaxial direction.
void interpolateFabricTensor (const StateVariable< T > &sv0, StateVariable< T > &sv, const bool clear_caches=true, std::optional< std::string > combined_stress_tensor_type=std::nullopt)
 Interpolate fabric tensor towards critical state.
Protected Member Functions inherited from constitutive::ConstitutiveModelBase< T >
bool checkStiffnessMatrix (const Eigen::Matrix< T, 6, 6 > &K, std::optional< bool > check_positive_definite=std::nullopt, std::optional< bool > check_non_singularity=std::nullopt)
 Check whether the stiffness matrix is valid.
virtual void fromAbaqus (StateVariable< T > &sv0, T *statev)=0
 Sync the state variables sv0 from abaqus statev.
virtual void toAbaqus (const StateVariable< T > &sv0, StateVariable< T > &sv, T *statev)=0
 Sync the state variables sv to abaqus statev.
virtual StateVariable< T > createStateVariable ()=0
 Create a new state variable object.
virtual void initialize (StateVariable< T > &sv)=0
 Initialize the state variables.
T updateVoidRatio (T e0, StateVariable< T > &sv)
 Update the void ratio after the isotropic loading to the void ratio before the isotropic loading.
virtual void postInitialize (StateVariable< T > &sv)
 Post-initialize the state variables.
void saveElasticStiffnessMatrix (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Save elastic stiffness matrix.
virtual void postProcess (StateVariable< T > &sv)
 Post-process the state variables.
virtual void preStressStrainIntegrate (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Pre-processing before the stress-strain integration.
virtual void postStressStrainIntegrate (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Post-processing after the stress-strain integration.
virtual void preIncrement (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Pre-processing before the increment.
virtual void postIncrement (const StateVariable< T > &sv0, StateVariable< T > &sv)
 Post-processing after the increment.
std::tuple< Eigen::Matrix< T, 6, 1 >, Eigen::Matrix< T, 6, 1 > > linearize (const Eigen::Matrix< T, 6, 6 > &K, const Eigen::Matrix< T, 6, 1 > &dx, const Eigen::Matrix< T, 6, 6 > &S, const Eigen::Matrix< T, 6, 6 > &E, const Eigen::Matrix< T, 6, 6 > &G, const StateVariable< T > &sv0, StateVariable< T > &sv)
 Linearize the stress and strain increment.
void resetCustomStateVariables (StateVariable< T > &sv0, StateVariable< T > &sv)
 Reset the custom state variables to zeros existing in the current state variables but not in the initial state variables.
Eigen::Matrix< T, 3, 3 > loadingDirection (const StateVariable< T > &sv0, StateVariable< T > &sv) const
 loading direction

Protected Attributes

std::string state = "none"
bool cached_ = false
 whether the state variables have been cached
Eigen::Matrix< T, 1, 6 > dpadsiga = {-1.0 / 3.0, -1.0 / 3.0, -1.0 / 3.0, 0.0, 0.0, 0.0}
Eigen::Matrix< T, 1, 6 > dqadtaua = Eigen::Matrix<T, 1, 6>::Zero()
Eigen::Matrix< T, 6, 6 > dtauadsiga
Protected Attributes inherited from constitutive::ConstitutiveModelBase< T >
T _e0 = 0.0
 original void ratio

Member Function Documentation

◆ beginConstantStressStateScope()

template<typename T>
virtual void constitutive::ElastoplasticModelBase< T >::beginConstantStressStateScope ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotectedvirtual

Begin the scope of a constant stress state which can be used to cache intermediate variables for the plastic correction, such as derivatives of the yield and plastic potential functions, and hardening law.

Parameters
sv0initial state variable
svcurrent state variable

Reimplemented in elastoplastic::J2Yang< T >, and elastoplastic::SIMSAND< T >.

Referenced by beginConstantStressStateScope1().

Here is the caller graph for this function:

◆ beginConstantStressStateScope1()

template<typename T>
void constitutive::ElastoplasticModelBase< T >::beginConstantStressStateScope1 ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotected

Begin the scope of a constant stress state which can be used to cache intermediate variables for the plastic correction, such as derivatives of the yield and plastic potential functions, and hardening law.

Parameters
sv0initial state variable
svcurrent state variable

References beginConstantStressStateScope(), constitutive::StateVariable< T >::F, and constitutive::ConstitutiveModelBase< T >::options.

Referenced by consistentElastoplasticStiffness(), continuumElastoplasticStiffness(), CPPM(), symmetricContinuumElastoplasticStiffness(), and yieldFunctionCorrection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ consistentElastoplasticStiffness()

template<typename T>
Eigen::Matrix< T, 6, 6 > constitutive::ElastoplasticModelBase< T >::consistentElastoplasticStiffness ( const Eigen::Matrix< T, 6, 6 > & K,
const StateVariable< T > & sv0,
StateVariable< T > & sv,
bool check_elastic_state = true,
std::optional< bool > check_positive_definite = std::nullopt,
std::optional< bool > check_non_singularity = std::nullopt )
inlineoverridevirtual
Parameters
Kstiffness matrix
sv0initial state variable
svstate variable
check_elastic_stateWhether to check if the current stress state is elastic
check_positive_definiteWhether to check the positive definiteness of the elastoplastic stiffness matrix
check_non_singularityWhether to check the non-singularity of the elastoplastic stiffness matrix
Returns
consistent elastoplastic stiffness matrix

Reimplemented from constitutive::ConstitutiveModelBase< T >.

References beginConstantStressStateScope1(), constitutive::ConstitutiveModelBase< T >::checkStiffnessMatrix(), d2gdsig2(), d2gdsig21(), dfdsig(), dfdsig1(), dgdsig(), dgdsig1(), constitutive::StateVariable< T >::elastic(), endConstantStressStateScope1(), plasticModulus1(), and constitutive::StateVariable< T >::scalars.

Here is the call graph for this function:

◆ continuumElastoplasticStiffness()

template<typename T>
Eigen::Matrix< T, 6, 6 > constitutive::ElastoplasticModelBase< T >::continuumElastoplasticStiffness ( const Eigen::Matrix< T, 6, 6 > & K,
const StateVariable< T > & sv0,
StateVariable< T > & sv,
bool check_elastic_state = true,
std::optional< bool > check_positive_definite = std::nullopt,
std::optional< bool > check_non_singularity = std::nullopt )
inlineoverridevirtual
Parameters
Kstiffness matrix
sv0initial state variable
svstate variable
check_elastic_stateWhether to check if the current stress state is elastic
check_positive_definiteWhether to check the positive definiteness of the elastoplastic stiffness matrix
check_non_singularityWhether to check the non-singularity of the elastoplastic stiffness matrix
Returns
continuum elastoplastic stiffness matrix

Reimplemented from constitutive::ConstitutiveModelBase< T >.

References beginConstantStressStateScope1(), constitutive::ConstitutiveModelBase< T >::checkStiffnessMatrix(), dfdeps(), dfdeps1(), dfdsig(), dfdsig1(), dgdsig(), dgdsig1(), constitutive::StateVariable< T >::elastic(), endConstantStressStateScope1(), constitutive::ConstitutiveModelBase< T >::options, plasticModulus1(), and constitutive::StateVariable< T >::vectors.

Referenced by RKn(), and RungeKutta().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ converged()

template<typename T>
virtual bool constitutive::ElastoplasticModelBase< T >::converged ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotectedvirtual

Whether the current stress state can be accepted as converged, used for elastoplastic substepping.

Parameters
sv0initial state variable
svcurrent state variable

Reimplemented in elastoplastic::core::ElastoplasticModel< T >.

Referenced by CPPM(), integrateToYieldSurface(), RungeKutta(), stressStrainIntegrate(), micromechanical::ChangHicher< T >::stressStrainIntegrate1(), and yieldFunctionCorrection().

Here is the caller graph for this function:

◆ CPPM()

◆ CSL()

template<typename T>
virtual T constitutive::ElastoplasticModelBase< T >::CSL ( const StateVariable< T > & sv0,
StateVariable< T > & sv ) const
inlineprotectedvirtual

◆ d2gdsig2()

template<typename T>
virtual Eigen::Matrix< T, 6, 6 > constitutive::ElastoplasticModelBase< T >::d2gdsig2 ( const Eigen::Matrix< T, 6, 1 > & dfdsig,
const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotectedvirtual

Second-order derivative of the potential function with respect to the stress.

Parameters
dfdsigthe derivative of the yield function with respect to the stress
sv0initial state variable
svstate variable
Returns
the derivative of the potential function with respect to the stress

References d2gdsig20(), and dfdsig().

Referenced by consistentElastoplasticStiffness(), CPPM(), d2gdsig20(), and d2gdsig21().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ d2gdsig20()

template<typename T>
Eigen::Matrix< T, 6, 6 > constitutive::ElastoplasticModelBase< T >::d2gdsig20 ( const Eigen::Matrix< T, 6, 1 > & dfdsig,
const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotected

Second-order derivative of the potential function with respect to the stress.

Parameters
dfdsigthe derivative of the yield function with respect to the stress
sv0initial state variable
svstate variable
Returns
the derivative of the potential function with respect to the stress

References d2gdsig2(), dfdsig(), dgdsig0(), dgdsig1(), constitutive::ConstitutiveModelBase< T >::options, constitutive::StateVariable< T >::sig, and constitutive::StateVariable< T >::sig_().

Referenced by d2gdsig2(), and d2gdsig21().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ d2gdsig21()

template<typename T>
Eigen::Matrix< T, 6, 6 > constitutive::ElastoplasticModelBase< T >::d2gdsig21 ( const Eigen::Matrix< T, 6, 1 > & dfdsig,
const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotected

Second-order derivative of the potential function with respect to the stress.

Parameters
dfdsigthe derivative of the yield function with respect to the stress
sv0initial state variable
svstate variable
Returns
the derivative of the potential function with respect to the stress

References d2gdsig2(), d2gdsig20(), dfdsig(), and constitutive::ConstitutiveModelBase< T >::options.

Referenced by consistentElastoplasticStiffness(), and CPPM().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dfdeps()

template<typename T>
virtual Eigen::Matrix< T, 6, 1 > constitutive::ElastoplasticModelBase< T >::dfdeps ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlinevirtual

Derivative of the yield function with respect to the strain.

Parameters
sv0initial state variable
svstate variable
Returns
the derivative of the yield function with respect to the strain

Reimplemented in elastoplastic::J2Yang< T >, and elastoplastic::SIMSAND< T >.

References dfdeps0().

Referenced by continuumElastoplasticStiffness(), dfdeps0(), and dfdeps1().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dfdeps0()

template<typename T>
Eigen::Matrix< T, 6, 1 > constitutive::ElastoplasticModelBase< T >::dfdeps0 ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inline

Derivative of the yield function with respect to the strain.

Parameters
sv0initial state variable
svstate variable
Returns
the derivative of the yield function with respect to the strain

References dfdeps(), constitutive::StateVariable< T >::eps, constitutive::ConstitutiveModelBase< T >::options, constitutive::StateVariable< T >::setStrain(), and yieldFunction1().

Referenced by dfdeps(), and dfdeps1().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dfdeps1()

template<typename T>
Eigen::Matrix< T, 6, 1 > constitutive::ElastoplasticModelBase< T >::dfdeps1 ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inline

Derivative of the yield function with respect to the strain.

Parameters
sv0initial state variable
svstate variable
Returns
the derivative of the yield function with respect to the strain

References dfdeps(), dfdeps0(), constitutive::StateVariable< T >::F, and constitutive::ConstitutiveModelBase< T >::options.

Referenced by continuumElastoplasticStiffness().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dfdepsp()

template<typename T>
virtual Eigen::Matrix< T, 6, 1 > constitutive::ElastoplasticModelBase< T >::dfdepsp ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlinevirtual

Derivative of the yield function with respect to the plastic strain.

Parameters
sv0initial state variable
svstate variable
Returns
the derivative of the yield function with respect to the plastic strain

Reimplemented in micromechanical::ChangHicher< T >.

References dfdepsp0().

Referenced by dfdepsp0(), and dfdepsp1().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dfdepsp0()

template<typename T>
Eigen::Matrix< T, 6, 1 > constitutive::ElastoplasticModelBase< T >::dfdepsp0 ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inline

Derivative of the yield function with respect to the plastic strain.

Parameters
sv0initial state variable
svstate variable
Returns
the derivative of the yield function with respect to the plastic strain

References dfdepsp(), constitutive::StateVariable< T >::epsp, constitutive::ConstitutiveModelBase< T >::options, and yieldFunction1().

Referenced by dfdepsp(), and dfdepsp1().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dfdepsp1()

template<typename T>
Eigen::Matrix< T, 6, 1 > constitutive::ElastoplasticModelBase< T >::dfdepsp1 ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inline

Derivative of the yield function with respect to the plastic strain.

Parameters
sv0initial state variable
svstate variable
Returns
the derivative of the yield function with respect to the plastic strain

References dfdepsp(), dfdepsp0(), constitutive::StateVariable< T >::F, and constitutive::ConstitutiveModelBase< T >::options.

Referenced by plasticModulus().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dfdsig()

template<typename T>
virtual Eigen::Matrix< T, 6, 1 > constitutive::ElastoplasticModelBase< T >::dfdsig ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlinevirtual

Derivative of the yield function with respect to the stress.

Parameters
sv0initial state variable
svstate variable
Returns
the derivative of the yield function with respect to the stress

Reimplemented in elastoplastic::J2Yang< T >, elastoplastic::SIMSAND< T >, and micromechanical::ChangHicher< T >.

References dfdsig0().

Referenced by consistentElastoplasticStiffness(), continuumElastoplasticStiffness(), CPPM(), d2gdsig2(), d2gdsig20(), d2gdsig21(), dfdsig0(), dfdsig1(), dgdsig1(), symmetricContinuumElastoplasticStiffness(), and yieldFunctionCorrection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dfdsig0()

template<typename T>
Eigen::Matrix< T, 6, 1 > constitutive::ElastoplasticModelBase< T >::dfdsig0 ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inline

Derivative of the yield function with respect to the stress.

Parameters
sv0initial state variable
svstate variable
Returns
the derivative of the yield function with respect to the stress

References dfdsig(), constitutive::ConstitutiveModelBase< T >::options, constitutive::StateVariable< T >::sig, constitutive::StateVariable< T >::sig_(), and yieldFunction1().

Referenced by dfdsig(), and dfdsig1().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dfdsig1()

template<typename T>
Eigen::Matrix< T, 6, 1 > constitutive::ElastoplasticModelBase< T >::dfdsig1 ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inline

Derivative of the yield function with respect to the stress.

Parameters
sv0initial state variable
svstate variable
Returns
the derivative of the yield function with respect to the stress

References dfdsig(), dfdsig0(), constitutive::StateVariable< T >::F, and constitutive::ConstitutiveModelBase< T >::options.

Referenced by consistentElastoplasticStiffness(), continuumElastoplasticStiffness(), CPPM(), integrateToYieldSurface(), symmetricContinuumElastoplasticStiffness(), and yieldFunctionCorrection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dgdsig()

template<typename T>
virtual Eigen::Matrix< T, 6, 1 > constitutive::ElastoplasticModelBase< T >::dgdsig ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotectedvirtual

Derivative of the potential function with respect to the stress.

Parameters
sv0initial state variable
svstate variable
Returns
the derivative of the potential function with respect to the stress

Reimplemented in elastoplastic::core::StressDilatancy< T >, and micromechanical::ChangHicher< T >.

References dgdsig0().

Referenced by consistentElastoplasticStiffness(), continuumElastoplasticStiffness(), CPPM(), dgdsig0(), dgdsig1(), plasticModulus(), plasticModulus1(), RKn(), symmetricContinuumElastoplasticStiffness(), and yieldFunctionCorrection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dgdsig0()

template<typename T>
Eigen::Matrix< T, 6, 1 > constitutive::ElastoplasticModelBase< T >::dgdsig0 ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotected

Derivative of the potential function with respect to the stress.

Parameters
sv0initial state variable
svstate variable
Returns
the derivative of the potential function with respect to the stress

References dgdsig(), constitutive::ConstitutiveModelBase< T >::options, potentialFunction(), constitutive::StateVariable< T >::sig, and constitutive::StateVariable< T >::sig_().

Referenced by d2gdsig20(), dgdsig(), and dgdsig1().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dgdsig1()

template<typename T>
Eigen::Matrix< T, 6, 1 > constitutive::ElastoplasticModelBase< T >::dgdsig1 ( const Eigen::Matrix< T, 6, 1 > & dfdsig,
const StateVariable< T > & sv0,
StateVariable< T > & sv,
std::optional< bool > associated = std::nullopt )
inlineprotected

Derivative of the potential function with respect to the stress.

Parameters
dfdsigthe derivative of the yield function with respect to the stress
sv0initial state variable
svstate variable
associatedwhether to override the option to use associated flow rule
Returns
the derivative of the potential function with respect to the stress

References constitutive::ConstitutiveModelBase< T >::abaqus_disable_unused_components, constitutive::ConstitutiveModelBase< T >::abaqus_ndi, constitutive::ConstitutiveModelBase< T >::abaqus_nshr, dfdsig(), dgdsig(), dgdsig0(), and constitutive::ConstitutiveModelBase< T >::options.

Referenced by consistentElastoplasticStiffness(), continuumElastoplasticStiffness(), CPPM(), d2gdsig20(), symmetricContinuumElastoplasticStiffness(), and yieldFunctionCorrection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dsigadsig()

template<typename T>
Eigen::Matrix< T, 6, 6 > constitutive::ElastoplasticModelBase< T >::dsigadsig ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotected

Derivative of the modified stress with respect to the stress.

Parameters
sv0initial state variable
svstate variable

References constitutive::StateVariable< T >::Aij(), and constitutive::ConstitutiveModelBase< T >::options.

Referenced by elastoplastic::J2Yang< T >::dfdsig(), elastoplastic::SIMSAND< T >::dfdsig(), elastoplastic::core::StressDilatancy< T >::dgdsig(), and stressStrainIntegrate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ elasticTrial()

template<typename T>
T constitutive::ElastoplasticModelBase< T >::elasticTrial ( const Eigen::Matrix< T, 6, 6 > & K,
const Eigen::Matrix< T, 6, 1 > & deps,
const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotected

Perform the elastic trial.

Parameters
Kstiffness matrix
depsstrain increment
sv0initial state variable
svstate variable
Returns
yield function value after the elastic trial

References constitutive::ConstitutiveModelBase< T >::abaqus_disable_unused_components, constitutive::ConstitutiveModelBase< T >::abaqus_ndi, constitutive::ConstitutiveModelBase< T >::abaqus_nshr, constitutive::StateVariable< T >::addStrain(), constitutive::ConstitutiveModelBase< T >::options, constitutive::StateVariable< T >::scalars, constitutive::StateVariable< T >::sig_(), and yieldFunction1().

Referenced by CPPM(), ExplicitCPA(), and integrateToYieldSurface().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ endConstantStressStateScope()

template<typename T>
virtual void constitutive::ElastoplasticModelBase< T >::endConstantStressStateScope ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotectedvirtual

End the scope of a constant stress state.

Parameters
sv0initial state variable
svcurrent state variable

Referenced by endConstantStressStateScope1().

Here is the caller graph for this function:

◆ endConstantStressStateScope1()

template<typename T>
void constitutive::ElastoplasticModelBase< T >::endConstantStressStateScope1 ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotected

End the scope of a constant stress state.

Parameters
sv0initial state variable
svcurrent state variable

References endConstantStressStateScope(), and constitutive::ConstitutiveModelBase< T >::options.

Referenced by consistentElastoplasticStiffness(), continuumElastoplasticStiffness(), CPPM(), symmetricContinuumElastoplasticStiffness(), and yieldFunctionCorrection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ExplicitCPA()

template<typename T>
void constitutive::ElastoplasticModelBase< T >::ExplicitCPA ( const Eigen::Matrix< T, 6, 6 > & K,
const Eigen::Matrix< T, 6, 1 > & deps,
const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotected

Explicit/CPA methods for elastoplastic model.

Parameters
Kstiffness matrix
depsstrain increment
sv0initial state variable
svstate variable
Returns
the elastoplastic stiffness matrix

References elasticTrial(), constitutive::StateVariable< T >::vectors, and yieldFunctionCorrection().

Referenced by returnMapping().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ integrateToYieldSurface()

template<typename T>
std::tuple< bool, T > constitutive::ElastoplasticModelBase< T >::integrateToYieldSurface ( const Eigen::Matrix< T, 6, 6 > & K,
const Eigen::Matrix< T, 6, 1 > & deps,
const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotected

Integrate stress state to the yield surface elastically, solve f(sig0 + alpha * K * deps) = 0.

Parameters
Kstiffness matrix
depsstrain increment
sv0initial state variable
svstate variable
Returns
Whether the stress state is plastic, and the alpha parameter

References converged(), dfdsig1(), elasticTrial(), constitutive::StateVariable< T >::eps, constitutive::ConstitutiveModelBase< T >::options, constitutive::StateVariable< T >::setStrain(), constitutive::StateVariable< T >::sig, constitutive::StateVariable< T >::sig_(), and yieldFunction1().

Referenced by RungeKutta().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ interpolateFabricTensor()

template<typename T>
void constitutive::ElastoplasticModelBase< T >::interpolateFabricTensor ( const StateVariable< T > & sv0,
StateVariable< T > & sv,
const bool clear_caches = true,
std::optional< std::string > combined_stress_tensor_type = std::nullopt )
inlineprotected

◆ isCPA()

template<typename T>
bool constitutive::ElastoplasticModelBase< T >::isCPA ( ) const
inlineprotected

check if the plastic method is CPA

Returns
true if the plastic method is CPA, false otherwise

Referenced by returnMapping().

Here is the caller graph for this function:

◆ isCPPM()

template<typename T>
bool constitutive::ElastoplasticModelBase< T >::isCPPM ( ) const
inlineprotected

check if the plastic method is CPPM

Returns
true if the plastic method is CPPM, false otherwise

Referenced by returnMapping().

Here is the caller graph for this function:

◆ isExplicit()

template<typename T>
bool constitutive::ElastoplasticModelBase< T >::isExplicit ( ) const
inlineprotected

check if the plastic method is explicit

Returns
true if the plastic method is explicit, false otherwise

Referenced by returnMapping(), and yieldFunctionCorrection().

Here is the caller graph for this function:

◆ isRungeKutta()

template<typename T>
bool constitutive::ElastoplasticModelBase< T >::isRungeKutta ( ) const
inlineprotected

check if the plastic method is RungeKutta

Returns
true if the plastic method is RungeKutta, false otherwise

Referenced by returnMapping().

Here is the caller graph for this function:

◆ nonCoaxialDirection()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::ElastoplasticModelBase< T >::nonCoaxialDirection ( const Eigen::Matrix< T, 3, 3 > & F,
const Eigen::Matrix< T, 3, 3 > & n,
const Eigen::Matrix< T, 3, 3 > & m ) const
inlineprotected

Non-coaxial direction.

References constitutive::nonCoaxialDirection().

Referenced by interpolateFabricTensor(), and elastoplastic::core::ElastoplasticModel< T >::stateParameter().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ orthogonalDirection()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::ElastoplasticModelBase< T >::orthogonalDirection ( const Eigen::Matrix< T, 3, 3 > & F,
const Eigen::Matrix< T, 3, 3 > & n ) const
inlineprotected

Orthogonal direction.

References constitutive::orthogonalDirection().

Referenced by interpolateFabricTensor(), and elastoplastic::core::ElastoplasticModel< T >::stateParameter().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ plasticModulus()

template<typename T>
virtual T constitutive::ElastoplasticModelBase< T >::plasticModulus ( const Eigen::Matrix< T, 6, 1 > & dgdsig,
const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotectedvirtual

Plastic modulus for elastoplastic model, including dgdsig.

Parameters
dgdsigderivative of the potential function with respect to the stress
sv0initial state variable
svstate variable
Returns
the plastic modulus

Reimplemented in elastoplastic::J2Yang< T >, and elastoplastic::SIMSAND< T >.

References dfdepsp1(), and dgdsig().

Referenced by plasticModulus1().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ plasticModulus1()

template<typename T>
T constitutive::ElastoplasticModelBase< T >::plasticModulus1 ( const Eigen::Matrix< T, 6, 1 > & dgdsig,
const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotected

Plastic modulus for elastoplastic model, including dgdsig.

Parameters
dgdsigderivative of the potential function with respect to the stress
sv0initial state variable
svstate variable
Returns
the plastic modulus

References dgdsig(), constitutive::StateVariable< T >::F, constitutive::ConstitutiveModelBase< T >::options, and plasticModulus().

Referenced by consistentElastoplasticStiffness(), continuumElastoplasticStiffness(), CPPM(), symmetricContinuumElastoplasticStiffness(), and yieldFunctionCorrection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ potentialFunction()

template<typename T>
virtual T constitutive::ElastoplasticModelBase< T >::potentialFunction ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotectedvirtual

Potential function for elastoplastic model.

Parameters
sv0initial state variable
svstate variable
Returns
the potential function

Reimplemented in elastoplastic::core::StressDilatancy< T >, and elastoplastic::MohrCoulomb< T >.

References yieldFunction1().

Referenced by dgdsig0().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ returnMapping()

template<typename T>
void constitutive::ElastoplasticModelBase< T >::returnMapping ( const Eigen::Matrix< T, 6, 6 > & K,
const Eigen::Matrix< T, 6, 1 > & dsig,
const Eigen::Matrix< T, 6, 1 > & deps,
const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotected

◆ revertElasticTrial()

template<typename T>
void constitutive::ElastoplasticModelBase< T >::revertElasticTrial ( const Eigen::Matrix< T, 6, 6 > & K,
const Eigen::Matrix< T, 6, 1 > & deps,
const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotected

◆ RKn()

template<typename T>
std::tuple< Eigen::Matrix< T, 6, 6 >, Eigen::Matrix< T, 6, 1 >, Eigen::Matrix< T, 6, 1 >, Eigen::Matrix< T, Eigen::Dynamic, 1 >, Eigen::Matrix< T, Eigen::Dynamic, 6 > > constitutive::ElastoplasticModelBase< T >::RKn ( int n,
const Eigen::Matrix< T, 6, 6 > & K,
const Eigen::Matrix< T, 6, 1 > & deps,
const StateVariable< T > & sv0,
StateVariable< T > & sv,
const bool revert = false )
inlineprotected

Perform a Runge-Kutta increment.

Parameters
nOrder of the Runge-Kutta method
Kstiffness matrix
depsstrain increment
sv0initial state variable
svstate variable
revertWhether to revert the state variables after the increment for estimation
Returns
Elastoplastic stiffness matrix, stress, stress increment, plastic multiplier, and plastic strain increment matrix

References constitutive::StateVariable< T >::addStrain(), constitutive::butcherTableau(), continuumElastoplasticStiffness(), dgdsig(), constitutive::StateVariable< T >::eps, constitutive::StateVariable< T >::epsp, constitutive::ConstitutiveModelBase< T >::options, constitutive::StateVariable< T >::setStrain(), constitutive::StateVariable< T >::sig, constitutive::StateVariable< T >::sig_(), updateHardeningVariables(), and constitutive::StateVariable< T >::vectors.

Referenced by RungeKutta().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RungeKutta()

template<typename T>
void constitutive::ElastoplasticModelBase< T >::RungeKutta ( const Eigen::Matrix< T, 6, 6 > & K,
const Eigen::Matrix< T, 6, 1 > & deps,
const StateVariable< T > & sv0,
StateVariable< T > & sv,
std::optional< int > order = std::nullopt )
inlineprotected

◆ setPlasticMethod()

template<typename T>
void constitutive::ElastoplasticModelBase< T >::setPlasticMethod ( const std::string & method)
inline

set the plastic method

Parameters
methodplastic method, "Explicit", "CPA", "CPPM" or "RungeKutta"

◆ stressStrainIntegrate()

◆ symmetricContinuumElastoplasticStiffness()

template<typename T>
Eigen::Matrix< T, 6, 6 > constitutive::ElastoplasticModelBase< T >::symmetricContinuumElastoplasticStiffness ( const Eigen::Matrix< T, 6, 6 > & K,
const Eigen::Matrix< T, 6, 1 > & deps,
const StateVariable< T > & sv0,
StateVariable< T > & sv,
bool check_elastic_state = true,
std::optional< bool > check_positive_definite = std::nullopt,
std::optional< bool > check_non_singularity = std::nullopt )
inlineoverridevirtual
Parameters
Kstiffness matrix
depsstrain increment
sv0initial state variable
svstate variable
check_elastic_stateWhether to check if the current stress state is elastic
check_positive_definiteWhether to check the positive definiteness of the elastoplastic stiffness matrix
check_non_singularityWhether to check the non-singularity of the elastoplastic stiffness matrix
Returns
symmetric continuum elastoplastic stiffness matrix

Reimplemented from constitutive::ConstitutiveModelBase< T >.

References beginConstantStressStateScope1(), constitutive::ConstitutiveModelBase< T >::checkStiffnessMatrix(), dfdsig(), dfdsig1(), dgdsig(), dgdsig1(), constitutive::StateVariable< T >::elastic(), endConstantStressStateScope1(), and plasticModulus1().

Here is the call graph for this function:

◆ updateHardeningVariables()

template<typename T>
virtual void constitutive::ElastoplasticModelBase< T >::updateHardeningVariables ( const T ddlambda,
const Eigen::Matrix< T, 6, 1 > & ddepsp,
const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotectedvirtual

Update the hardening variables.

Parameters
ddlambdaplastic multiplier
ddepspplastic displacement increment
sv0initial state variable
svstate variable

Reimplemented in micromechanical::ChangHicher< T >.

Referenced by CPPM(), RKn(), RungeKutta(), and yieldFunctionCorrection().

Here is the caller graph for this function:

◆ yieldFunction()

template<typename T>
virtual T constitutive::ElastoplasticModelBase< T >::yieldFunction ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlinevirtual

Yield function for elastoplastic model.

Parameters
sv0initial state variable
svstate variable
Returns
the yield function

Reimplemented in elastoplastic::J2Yang< T >, elastoplastic::MohrCoulomb< T >, elastoplastic::SIMSAND< T >, and micromechanical::ChangHicher< T >.

Referenced by yieldFunction1().

Here is the caller graph for this function:

◆ yieldFunction1()

template<typename T>
T constitutive::ElastoplasticModelBase< T >::yieldFunction1 ( const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotected

Yield function for elastoplastic model.

Parameters
sv0initial state variable
svstate variable
Returns
the yield function

References constitutive::StateVariable< T >::F, constitutive::ConstitutiveModelBase< T >::options, and yieldFunction().

Referenced by CPPM(), dfdeps0(), dfdepsp0(), dfdsig0(), elasticTrial(), integrateToYieldSurface(), potentialFunction(), and yieldFunctionCorrection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yieldFunctionCorrection()

template<typename T>
virtual void constitutive::ElastoplasticModelBase< T >::yieldFunctionCorrection ( const Eigen::Matrix< T, 6, 6 > & K,
const Eigen::Matrix< T, 6, 1 > & deps,
const StateVariable< T > & sv0,
StateVariable< T > & sv )
inlineprotectedvirtual

Member Data Documentation

◆ cached_

◆ dpadsiga

template<typename T>
Eigen::Matrix<T, 1, 6> constitutive::ElastoplasticModelBase< T >::dpadsiga = {-1.0 / 3.0, -1.0 / 3.0, -1.0 / 3.0, 0.0, 0.0, 0.0}
protected

◆ dqadtaua

◆ dtauadsiga

◆ plasticMethod

template<typename T>
std::string constitutive::ElastoplasticModelBase< T >::plasticMethod = "CPA"

Plastic method.

◆ state

template<typename T>
std::string constitutive::ElastoplasticModelBase< T >::state = "none"
protected

State of the elastoplastic stress integration, "none", "elastic_trial", "elastic_to_yield", "elastoplastic", or "plastic_correction".


The documentation for this struct was generated from the following file: