|
musica (C++)
|
Base class for elastoplastic models. More...
#include <elastoplasticmodel.hpp>


Public Member Functions | |
| ElastoplasticModel (const std::unordered_map< std::string, T > &props) | |
| constructor | |
| ElastoplasticModel ()=default | |
| default constructor | |
| T | phi (const StateVariable< T > &sv0, const StateVariable< T > &sv, bool dilatancy=false) const |
| Lode angle dependent friction angle. | |
| T | phir (const StateVariable< T > &sv0, const StateVariable< T > &sv, bool dilatancy=false) const |
| Lode angle dependent friction angle in radians. | |
| T | CSR (T phir, const StateVariable< T > &sv0, const StateVariable< T > &sv) |
| Critical stress ratio considering fabric anisotropy. | |
| Public Member Functions inherited from constitutive::ElastoplasticModelBase< T > | |
| 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::shared_ptr< FabricTensor< T > > | fabric = std::make_shared<FabricTensor<T>>("chang1990-ext", "li2012") |
| std::shared_ptr< ElastoplasticMaterial< T > > | material |
| Public Attributes inherited from constitutive::ElastoplasticModelBase< T > | |
| 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 | |
| void | fromAbaqus (StateVariable< T > &sv0, T *statev) override |
| Sync the state variables sv0 from abaqus statev. | |
| void | toAbaqus (const StateVariable< T > &sv0, StateVariable< T > &sv, T *statev) override |
| Sync the state variables sv to abaqus statev. | |
| StateVariable< T > | createStateVariable () override |
| Create a new state variable object. | |
| void | initialize (StateVariable< T > &sv) override |
| Initialize the state variables. | |
| void | preIncrement (const StateVariable< T > &sv0, StateVariable< T > &sv) override |
| Pre-processing before the increment. | |
| void | postIncrement (const StateVariable< T > &sv0, StateVariable< T > &sv) override |
| Post-processing after the increment. | |
| void | postProcess (StateVariable< T > &sv) override |
| Post-process the state variables. | |
| bool | converged (const StateVariable< T > &sv0, StateVariable< T > &sv) override |
| Whether the current stress state can be accepted as converged, used for elastoplastic substepping. | |
| virtual T | stateParameter (const StateVariable< T > &sv0, StateVariable< T > &sv, std::optional< T > e=std::nullopt, std::optional< T > ec=std::nullopt) const |
| State parameter. | |
| virtual T | densityEffectOnStrength (const StateVariable< T > &sv0, StateVariable< T > &sv, std::optional< T > e=std::nullopt, std::optional< T > ec=std::nullopt) const |
| Density effect on strength. | |
| virtual T | densityEffectOnDilatancy (const StateVariable< T > &sv0, StateVariable< T > &sv, std::optional< T > e=std::nullopt, std::optional< T > ec=std::nullopt) const |
| Density effect on dilatancy. | |
| virtual T | Mp (const StateVariable< T > &sv0, StateVariable< T > &sv, std::optional< T > e=std::nullopt, std::optional< T > ec=std::nullopt) |
| T | dMpde (const StateVariable< T > &sv0, StateVariable< T > &sv) |
| T | dMpdec (const StateVariable< T > &sv0, StateVariable< T > &sv) |
| virtual T | Mpt (const StateVariable< T > &sv0, StateVariable< T > &sv, std::optional< T > e=std::nullopt, std::optional< T > ec=std::nullopt) |
| T | dMptde (const StateVariable< T > &sv0, StateVariable< T > &sv) |
| T | dMptdec (const StateVariable< T > &sv0, StateVariable< T > &sv) |
| virtual Eigen::Matrix< T, 6, 1 > | dCSRdsig (const StateVariable< T > &sv0, StateVariable< T > &sv) |
| Derivative of the critical stress ratio with respect to the stress. | |
| virtual Eigen::Matrix< T, 6, 1 > | dMpdsig (const StateVariable< T > &sv0, StateVariable< T > &sv) |
| Derivative of the peak stress ratio with respect to the stress. | |
| Protected Member Functions inherited from constitutive::ElastoplasticModelBase< T > | |
| 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. | |
| 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. | |
| 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 | 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. | |
| 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 | |
Additional Inherited Members | |
| Protected Attributes inherited from constitutive::ElastoplasticModelBase< T > | |
| 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 | |
Base class for elastoplastic models.
|
inlineexplicit |
|
default |
default constructor
|
inlineoverrideprotectedvirtual |
Whether the current stress state can be accepted as converged, used for elastoplastic substepping.
| sv0 | initial state variable |
| sv | current state variable |
Reimplemented from constitutive::ElastoplasticModelBase< T >.
References constitutive::ConstitutiveModelBase< T >::options, phi(), PI, and constitutive::StateVariable< T >::siga33().

|
inlineoverrideprotectedvirtual |
Create a new state variable object.
Implements constitutive::ConstitutiveModelBase< T >.
References constitutive::ElastoplasticModelBase< T >::CSL(), and constitutive::StateVariable< T >::StateVariable().

|
inline |
Critical stress ratio considering fabric anisotropy.
References constitutive::StateVariable< T >::b(), constitutive::StateVariable< T >::ba(), constitutive::StateVariable< T >::lode(), constitutive::StateVariable< T >::lodea(), constitutive::ConstitutiveModelBase< T >::options, phir(), and PI.
Referenced by elastoplastic::J2Yang< T >::beginConstantStressStateScope(), dCSRdsig(), elastoplastic::J2Yang< T >::dfdeps(), elastoplastic::J2Yang< T >::dfdsig(), dMpde(), dMpdec(), dMptde(), dMptdec(), initialize(), elastoplastic::J2Yang< T >::kp(), Mp(), Mpt(), postIncrement(), elastoplastic::J2Yang< T >::yieldFunction(), and elastoplastic::MohrCoulomb< T >::yieldFunction().


|
inlineprotectedvirtual |
Derivative of the critical stress ratio with respect to the stress.
References CSR(), dCSRdsig(), constitutive::ConstitutiveModelBase< T >::options, phir(), PI, constitutive::StateVariable< T >::sig, and constitutive::StateVariable< T >::sig_().
Referenced by dCSRdsig(), elastoplastic::J2Yang< T >::dfdsig(), and dMpdsig().


|
inlineprotectedvirtual |
Density effect on dilatancy.
References constitutive::ConstitutiveModelBase< T >::options, and stateParameter().
Referenced by dMptde(), dMptdec(), Mpt(), and elastoplastic::core::AnisotropicStrength< T >::Mpt0().


|
inlineprotectedvirtual |
Density effect on strength.
References constitutive::ConstitutiveModelBase< T >::options, and stateParameter().
Referenced by dMpde(), dMpdec(), dMpdsig(), Mp(), and elastoplastic::core::AnisotropicStrength< T >::Mp0().


|
inlineprotected |
References constitutive::ElastoplasticModelBase< T >::CSL(), CSR(), densityEffectOnStrength(), constitutive::StateVariable< T >::e, constitutive::StateVariable< T >::ec, constitutive::ConstitutiveModelBase< T >::options, and phir().

|
inlineprotected |
References constitutive::ElastoplasticModelBase< T >::CSL(), CSR(), densityEffectOnStrength(), constitutive::StateVariable< T >::e, constitutive::StateVariable< T >::ec, constitutive::ConstitutiveModelBase< T >::options, and phir().

|
inlineprotectedvirtual |
Derivative of the peak stress ratio with respect to the stress.
References dCSRdsig(), and densityEffectOnStrength().
Referenced by elastoplastic::SIMSAND< T >::dfdsig().


|
inlineprotected |
References constitutive::ElastoplasticModelBase< T >::CSL(), CSR(), densityEffectOnDilatancy(), constitutive::StateVariable< T >::e, constitutive::StateVariable< T >::ec, constitutive::ConstitutiveModelBase< T >::options, and phir().
Referenced by elastoplastic::J2Yang< T >::dfdeps().


|
inlineprotected |
References constitutive::ElastoplasticModelBase< T >::CSL(), CSR(), densityEffectOnDilatancy(), constitutive::StateVariable< T >::e, constitutive::StateVariable< T >::ec, constitutive::ConstitutiveModelBase< T >::options, and phir().

|
inlineoverrideprotectedvirtual |
Sync the state variables sv0 from abaqus statev.
| sv0 | state variables |
| statev | abaqus state variables |
Implements constitutive::ConstitutiveModelBase< T >.
References constitutive::StateVariable< T >::copyFrom(), constitutive::StateVariable< T >::F_(), and constitutive::vec2mat().

|
inlineoverrideprotectedvirtual |
Initialize the state variables.
| sv | A StateVariable object to be initialized |
Implements constitutive::ConstitutiveModelBase< T >.
References CSR(), constitutive::ConstitutiveModelBase< T >::debugVariable, constitutive::StateVariable< T >::F_(), constitutive::ConstitutiveModelBase< T >::load, constitutive::mat2vec(), constitutive::ConstitutiveModelBase< T >::options, phir(), constitutive::ConstitutiveModelBase< T >::postInitialize(), constitutive::StateVariable< T >::scalars, constitutive::ConstitutiveModelBase< T >::updateVoidRatio(), and constitutive::StateVariable< T >::vectors.

|
inlineprotectedvirtual |
References CSR(), densityEffectOnStrength(), and phir().
Referenced by elastoplastic::SIMSAND< T >::beginConstantStressStateScope(), elastoplastic::SIMSAND< T >::dfdeps(), elastoplastic::SIMSAND< T >::dfdsig(), elastoplastic::SIMSAND< T >::kp(), elastoplastic::SIMSAND< T >::plasticModulus(), and elastoplastic::SIMSAND< T >::yieldFunction().


|
inlineprotectedvirtual |
References CSR(), densityEffectOnDilatancy(), and phir().
Referenced by elastoplastic::J2Yang< T >::beginConstantStressStateScope(), elastoplastic::SIMSAND< T >::beginConstantStressStateScope(), elastoplastic::J2Yang< T >::dfdeps(), elastoplastic::J2Yang< T >::dfdsig(), and elastoplastic::core::StressDilatancy< T >::dilatancy().


|
inline |
Lode angle dependent friction angle.
References constitutive::StateVariable< T >::ba(), constitutive::ConstitutiveModelBase< T >::options, phi(), and constitutive::StateVariable< T >::Ra().
Referenced by converged(), elastoplastic::J2Yang< T >::dfdeps(), elastoplastic::SIMSAND< T >::dfdeps(), elastoplastic::J2Yang< T >::dfdsig(), elastoplastic::SIMSAND< T >::dfdsig(), elastoplastic::core::StressDilatancy< T >::dilatancy(), elastoplastic::J2Yang< T >::kp(), elastoplastic::SIMSAND< T >::kp(), elastoplastic::core::CriticalStateLine< T >::p(), phi(), phir(), elastoplastic::SIMSAND< T >::plasticModulus(), postIncrement(), elastoplastic::MohrCoulomb< T >::potentialFunction(), elastoplastic::core::StiffnessBase< T >::stressFunction(), elastoplastic::J2Yang< T >::yieldFunction(), elastoplastic::MohrCoulomb< T >::yieldFunction(), and elastoplastic::SIMSAND< T >::yieldFunction().


|
inline |
Lode angle dependent friction angle in radians.
Referenced by elastoplastic::J2Yang< T >::beginConstantStressStateScope(), elastoplastic::SIMSAND< T >::beginConstantStressStateScope(), CSR(), elastoplastic::core::AnisotropicStrength< T >::CSR0(), dCSRdsig(), elastoplastic::J2Yang< T >::dfdeps(), elastoplastic::SIMSAND< T >::dfdeps(), elastoplastic::J2Yang< T >::dfdsig(), elastoplastic::SIMSAND< T >::dfdsig(), elastoplastic::core::StressDilatancy< T >::dilatancy(), dMpde(), dMpdec(), dMptde(), dMptdec(), initialize(), elastoplastic::J2Yang< T >::kp(), elastoplastic::SIMSAND< T >::kp(), Mp(), elastoplastic::core::AnisotropicStrength< T >::Mp0(), Mpt(), elastoplastic::core::AnisotropicStrength< T >::Mpt0(), elastoplastic::SIMSAND< T >::plasticModulus(), elastoplastic::MohrCoulomb< T >::potentialFunction(), elastoplastic::core::StiffnessBase< T >::stressFunction(), elastoplastic::J2Yang< T >::yieldFunction(), elastoplastic::MohrCoulomb< T >::yieldFunction(), and elastoplastic::SIMSAND< T >::yieldFunction().


|
inlineoverrideprotectedvirtual |
Post-processing after the increment.
Reimplemented from constitutive::ConstitutiveModelBase< T >.
References constitutive::StateVariable< T >::b(), CSR(), constitutive::StateVariable< T >::F_(), constitutive::ConstitutiveModelBase< T >::loadingDirection(), constitutive::mat2vec(), constitutive::ConstitutiveModelBase< T >::options, phi(), PI, and constitutive::StateVariable< T >::vectors.

|
inlineoverrideprotectedvirtual |
Post-process the state variables.
| sv | state variables |
Reimplemented from constitutive::ConstitutiveModelBase< T >.
References constitutive::ConstitutiveModelBase< T >::_e0, and constitutive::ConstitutiveModelBase< T >::load.
|
inlineoverrideprotectedvirtual |
Pre-processing before the increment.
Reimplemented from constitutive::ConstitutiveModelBase< T >.
References constitutive::StateVariable< T >::F, constitutive::ElastoplasticModelBase< T >::interpolateFabricTensor(), constitutive::ConstitutiveModelBase< T >::loadingDirection(), constitutive::StateVariable< T >::matrices, constitutive::ConstitutiveModelBase< T >::options, and constitutive::StateVariable< T >::vectors.

|
inlineprotectedvirtual |
State parameter.
References constitutive::ElastoplasticModelBase< T >::CSL(), constitutive::StateVariable< T >::e, constitutive::StateVariable< T >::ec, constitutive::StateVariable< T >::FAV(), constitutive::StateVariable< T >::Fij(), constitutive::ConstitutiveModelBase< T >::loadingDirection(), constitutive::ElastoplasticModelBase< T >::nonCoaxialDirection(), constitutive::ConstitutiveModelBase< T >::options, and constitutive::ElastoplasticModelBase< T >::orthogonalDirection().
Referenced by densityEffectOnDilatancy(), and densityEffectOnStrength().


|
inlineoverrideprotectedvirtual |
Sync the state variables sv to abaqus statev.
| sv0 | initial state variables |
| sv | state variables |
| statev | abaqus state variables |
Implements constitutive::ConstitutiveModelBase< T >.
References constitutive::StateVariable< T >::copyTo().

| std::shared_ptr<FabricTensor<T> > elastoplastic::core::ElastoplasticModel< T >::fabric = std::make_shared<FabricTensor<T>>("chang1990-ext", "li2012") |
| std::shared_ptr<ElastoplasticMaterial<T> > elastoplastic::core::ElastoplasticModel< T >::material |
Referenced by elastoplastic::J2Yang< T >::beginConstantStressStateScope(), elastoplastic::SIMSAND< T >::beginConstantStressStateScope(), elastoplastic::core::CriticalStateLine< T >::CSL(), elastoplastic::core::CriticalStateLine< T >::decdp(), elastoplastic::J2Yang< T >::dfdeps(), elastoplastic::SIMSAND< T >::dfdeps(), elastoplastic::J2Yang< T >::dfdsig(), elastoplastic::SIMSAND< T >::dfdsig(), elastoplastic::core::StressDilatancy< T >::dilatancy(), elastoplastic::core::StiffnessBase< T >::E(), ElastoplasticModel(), elastoplastic::J2Yang< T >::kp(), elastoplastic::SIMSAND< T >::kp(), elastoplastic::core::StiffnessBase< T >::nu(), elastoplastic::core::CriticalStateLine< T >::p(), elastoplastic::SIMSAND< T >::plasticModulus(), elastoplastic::MohrCoulomb< T >::potentialFunction(), elastoplastic::core::StiffnessBase< T >::processStiffness(), elastoplastic::core::StiffnessBase< T >::stressFunction(), elastoplastic::core::StiffnessBase< T >::voidRatioFunction(), elastoplastic::J2Yang< T >::yieldFunction(), elastoplastic::MohrCoulomb< T >::yieldFunction(), and elastoplastic::SIMSAND< T >::yieldFunction().