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

State variables for constitutive models. More...

#include <statevariable.hpp>

Collaboration diagram for constitutive::StateVariable< T >:

Public Member Functions

 StateVariable (const int size=37)
 Constructor.
void addStrain (const Eigen::Matrix< T, 6, 1 > &deps, const bool update_void_ratio=true)
 Add strain and update void ratio.
void setStrain (const Eigen::Matrix< T, 6, 1 > &eps, const bool update_void_ratio=true)
 Set strain and update void ratio.
const Eigen::Matrix< T, 6, 1 > & sig_ () const
Eigen::Matrix< T, 6, 1 > & sig_ (const bool clear_caches=true)
const Eigen::Matrix< T, 6, 1 > & F_ () const
Eigen::Matrix< T, 6, 1 > & F_ (const bool clear_caches=true)
void clearCaches ()
 Clear caches.
void revertSymmetricContactStateVariables (const int idx, const std::vector< std::string > &cscalars={}, const std::vector< std::string > &cvectors={})
 Revert contact force, displacement and specified custom variables by multiplying them with -1.
std::size_t hash (const Eigen::Matrix< T, 3, 1 > &dfi, const Eigen::Matrix< T, 3, 1 > &dui, const int idx, const int precision=15, const bool symmetric=false, const std::vector< std::string > &cscalars={}, const std::vector< std::string > &cvectors={})
 Hash the state variables at the integration point with index idx.
void copyContactStateVariables (const int from_idx, const int to_idx, const bool symmetric=false, const std::vector< std::string > &cscalars={}, const std::vector< std::string > &cvectors={})
 Deep copy the contact state variables from one integration point to another.
void copyTo (T *ptr, int offset=0, const bool dispp=true, const bool cscalars=true, const bool cvectors=true)
 Copy state variables to a raw pointer for ABAQUS UMAT/VUMAT interfaces.
void copyTo (std::vector< T > data, const bool dispp=true, const bool cscalars=true, const bool cvectors=true)
 Copy state variables to a vector.
void copyTo (StateVariable &sv) const
 Copy state variables to another state variable.
void copyFrom (T *ptr, int offset=0, const bool dispp=true, const bool cscalars=true, const bool cvectors=true)
 Copy state variables from a raw pointer for ABAQUS UMAT/VUMAT interfaces.
void copyFrom (std::vector< T > &data, const bool dispp=true, const bool cscalars=true, const bool cvectors=true)
 Copy state variables from a vector.
void copyFrom (const StateVariable &sv)
 Copy state variables from another state variable.
Eigen::Matrix< T, 3, 3 > elasticStiffnessMatrix ()
bool elastic () const
 Whether the current state is elastic.
bool plastic () const
 Whether the current state is plastic.
const Tensor2< T > & stress () const
 Get the stress tensor.
const Eigen::Matrix< T, 3, 3 > & sigm () const
 Get the stress tensor.
Eigen::Matrix< T, 3, 3 > sigkk () const
 Get the mean stress tensor.
Eigen::Matrix< T, 3, 3 > tauij () const
 Get the deviatoric stress tensor.
Eigen::Matrix< T, 3, 3 > tauij_normalized () const
 Get the normalized deviatoric stress tensor.
Eigen::Matrix< T, 3, 1 > sig123 () const
 Get the principal stresses.
T sig11 () const
 Get the first principal stress.
T sig22 () const
 Get the second principal stress.
T sig33 () const
 Get the third principal stress.
T b () const
 Get the lode parameter.
T R () const
 Major stress ratio sig1/sig3.
T theta () const
 Get the lode angle (0, pi/3).
T lode () const
 Get the lode angle.
T I1 () const
 Get the first invariant of the stress tensor.
T I2 () const
 Get the second invariant of the stress tensor.
T I3 () const
 Get the third invariant of the stress tensor.
T J2 () const
 Get the second invariant of the deviatoric stress tensor.
T J3 () const
 Get the third invariant of the deviatoric stress tensor.
T p () const
 Get the mean stress.
T q () const
 Get the deviatoric stress.
T eta () const
 Get the stress ratio.
const Tensor2< T > & stressa () const
 anisotropic stress tensor
const Eigen::Matrix< T, 3, 3 > & sigam () const
 Get the anisotropic stress tensor.
Eigen::Matrix< T, 3, 3 > sigakk () const
 Get the anisotropic mean stress tensor.
Eigen::Matrix< T, 3, 3 > tauaij () const
 Get the anisotropic deviatoric stress tensor.
Eigen::Matrix< T, 3, 3 > tauaij_normalized () const
 Get the normalized anisotropic deviatoric stress tensor.
Eigen::Matrix< T, 3, 1 > siga123 () const
 Principal stresses with anisotropy.
T siga11 () const
 First principal stress with anisotropy.
T siga22 () const
 Second principal stress with anisotropy.
T siga33 () const
 Third principal stress with anisotropy.
T ba () const
 Lode parameter with anisotropy.
T Ra () const
 Major stress ratio siga1/siga3.
T thetaa () const
 Lode angle (0, pi/3) with anisotropy.
T lodea () const
 Lode angle with anisotropy.
T Ia1 () const
 Get the first invariant of the anisotropic stress tensor.
T Ia2 () const
 Get the second invariant of the anisotropic stress tensor.
T Ia3 () const
 Get the third invariant of the anisotropic stress tensor.
T Ja2 () const
 Get the second invariant of the anisotropic deviatoric stress tensor.
T Ja3 () const
 Get the third invariant of the anisotropic deviatoric stress tensor.
T pa () const
 Get the anisotropic mean stress.
T qa () const
 Get the anisotropic deviatoric stress.
T etaa () const
 Get the anisotropic stress ratio.
Tensor2< T > strain () const
 Get the strain tensor.
Eigen::Matrix< T, 3, 3 > epsm () const
 Get the strain tensor.
Eigen::Matrix< T, 3, 3 > epskk () const
 Get the mean strain tensor.
Eigen::Matrix< T, 3, 3 > epsij () const
 Get the deviatoric strain tensor.
Eigen::Matrix< T, 3, 3 > epsij_normalized () const
 Get the normalized deviatoric strain tensor.
T epsv () const
 Get the volumetric strain.
T epsa () const
 Get the axial strain.
T epsd () const
 Get the general shear strain.
T eeq () const
 Get the equivalent strain.
Tensor2< T > strainp () const
 Get the plastic strain tensor.
Eigen::Matrix< T, 3, 3 > epspm () const
 Get the plastic strain tensor.
Eigen::Matrix< T, 3, 3 > epspkk () const
 Get the mean plastic strain tensor.
Eigen::Matrix< T, 3, 3 > epspij () const
 Get the deviatoric plastic strain tensor.
Eigen::Matrix< T, 3, 3 > epspij_normalized () const
 Get the normalized deviatoric plastic strain tensor.
T epspv () const
 Get the plastic volumetric strain.
T epspa () const
 Get the plastic axial strain.
T epspd () const
 Get the general plastic shear strain.
T peeq () const
 Get the equivalent plastic strain.
T fn (const int idx) const
 Get the normal force.
Eigen::Matrix< T, Eigen::Dynamic, 1 > fn () const
T fnc (const int idx, T cohesion=0.0) const
 Get the normal force with minimal adhesive force.
Eigen::Matrix< T, Eigen::Dynamic, 1 > fnc (T cohesion=0.0) const
T fs (const int idx) const
 Get the shear force at the first direction.
Eigen::Matrix< T, Eigen::Dynamic, 1 > fs () const
T ft (const int idx) const
 Get the shear force at the second direction.
Eigen::Matrix< T, Eigen::Dynamic, 1 > ft () const
Eigen::Matrix< T, 2, 1 > fst (const int idx) const
 Get the shear force at both directions.
Eigen::Matrix< T, Eigen::Dynamic, 2 > fst () const
T fr (const int idx) const
 Get the shear force.
Eigen::Matrix< T, Eigen::Dynamic, 1 > fr () const
T feta (const int idx) const
 Get the shear force ratio.
Eigen::Matrix< T, Eigen::Dynamic, 1 > feta () const
Eigen::Matrix< T, 2, 1 > nst (const int idx) const
 Get the shear force direction.
T ns (const int idx) const
T nt (const int idx) const
T un (const int idx) const
 Get the normal displacement.
Eigen::Matrix< T, Eigen::Dynamic, 1 > un () const
T us (const int idx) const
 Get the shear displacement at the first direction.
Eigen::Matrix< T, Eigen::Dynamic, 1 > us () const
T ut (const int idx) const
 Get the shear displacement at the second direction.
Eigen::Matrix< T, Eigen::Dynamic, 1 > ut () const
Eigen::Matrix< T, 2, 1 > ust (const int idx) const
 Get the shear displacement at both directions.
Eigen::Matrix< T, Eigen::Dynamic, 2 > ust () const
T ur (const int idx) const
 Get the shear displacement.
Eigen::Matrix< T, Eigen::Dynamic, 1 > ur () const
T upn (const int idx) const
 Get the plastic normal displacement.
Eigen::Matrix< T, Eigen::Dynamic, 1 > upn () const
T ups (const int idx) const
 Get the plastic shear displacement at the first direction.
Eigen::Matrix< T, Eigen::Dynamic, 1 > ups () const
T upt (const int idx) const
 Get the plastic shear displacement at the second direction.
Eigen::Matrix< T, Eigen::Dynamic, 1 > upt () const
Eigen::Matrix< T, 2, 1 > upst (const int idx) const
 Get the plastic shear displacement at both directions.
Eigen::Matrix< T, Eigen::Dynamic, 2 > upst () const
T upr (const int idx) const
 Get the plastic shear displacement.
Eigen::Matrix< T, Eigen::Dynamic, 1 > upr () const
Eigen::Matrix< T, 3, 3 > Fij () const
 Get the fabric tensor as a matrix.
T F11 () const
 Get the fabric tensor component F11.
T F22 () const
 Get the fabric tensor component F22.
T F33 () const
 Get the fabric tensor component F33.
T F12 () const
 Get the fabric tensor component F12.
T F13 () const
 Get the fabric tensor component F13.
T F23 () const
 Get the fabric tensor component F23.
T Fnorm () const
 Norm of the fabric tensor.
Eigen::Matrix< T, 3, 3 > n () const
 Loading direction.
T FAV (std::optional< Eigen::Matrix< T, 3, 3 > > n=std::nullopt) const
 Fabric anisotropy variable.
T ar () const
 Get the degree of fabric anisotropy.
Eigen::Matrix< T, 3, 3 > Aij () const
 Get the fabric tensor A as a matrix.
T A11 () const
 Get the fabric tensor component A11.
T A22 () const
 Get the fabric tensor component A22.
T A33 () const
 Get the fabric tensor component A33.
T A12 () const
 Get the fabric tensor component A12.
T A13 () const
 Get the fabric tensor component A13.
T A23 () const
 Get the fabric tensor component A23.
Eigen::Matrix< T, 3, 3 > FNij ()
 Get the fabric tensor of contact normal force.
T FN11 ()
 Get the fabric tensor of contact normal force component FN11.
T FN22 ()
 Get the fabric tensor of contact normal force component FN22.
T FN33 ()
 Get the fabric tensor of contact normal force component FN33.
T FN12 ()
 Get the fabric tensor of contact normal force component FN12.
T FN13 ()
 Get the fabric tensor of contact normal force component FN13.
T FN23 ()
 Get the fabric tensor of contact normal force component FN23.
T an ()
 Get the degree of fabric anisotropy of contact normal force.
Eigen::Matrix< T, 3, 3 > FTij ()
 Get the fabric tensor of contact shear force.
T FT11 ()
 Get the fabric tensor of contact shear force component FT11.
T FT22 ()
 Get the fabric tensor of contact shear force component FT22.
T FT33 ()
 Get the fabric tensor of contact shear force component FT33.
T FT12 ()
 Get the fabric tensor of contact shear force component FT12.
T FT13 ()
 Get the fabric tensor of contact normal force component FT13.
T FT23 ()
 Get the fabric tensor of contact shear force component FT23.
T at ()
 Get the degree of fabric anisotropy of contact shear force.

Static Public Member Functions

static int nStateVariables (const int size=37, const bool dispp=false, const int nstatev_custom=0)
 Get the number of state variables.
static std::vector< std::string > stateVariableNames (const int size=37, const bool dispp=true, const int nstatev_custom=0)
 Get the names of the state variables.

Public Attributes

int phase = 0
 load phase index
int size = 37
 number of the integration points
int cached_num = 0
 cached number of the integration points
Eigen::Matrix< T, 6, 1 > sig = Eigen::Matrix<T, 6, 1>::Zero()
 stress vector
Eigen::Matrix< T, 6, 1 > F = Eigen::Matrix<T, 6, 1>::Zero()
 fabric vector F
Eigen::Matrix< T, 6, 1 > eps = Eigen::Matrix<T, 6, 1>::Zero()
 strain vector
Eigen::Matrix< T, 6, 1 > epsp = Eigen::Matrix<T, 6, 1>::Zero()
 plastic strain vector
Eigen::Matrix< T, Eigen::Dynamic, 3 > force
 force
Eigen::Matrix< T, Eigen::Dynamic, 3 > disp
 displacement
Eigen::Matrix< T, Eigen::Dynamic, 3 > dispp
 plastic displacement
Eigen::Matrix< T, Eigen::Dynamic, 1 > w
 plastic work
T e = 0.0
 void ratio
T e0 = 0.0
 initial void ratio
T ec = 0.0
 critical void ratio
std::unordered_map< std::string, T > scalars = {}
 custom scalars
std::unordered_map< std::string, Eigen::Matrix< T, Eigen::Dynamic, 1 > > vectors = {}
 custom vectors
std::unordered_map< std::string, Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > > matrices
 custom matrices
std::unordered_map< std::string, Eigen::Matrix< T, Eigen::Dynamic, 1 > > cscalars = {}
 custom contact scalars
std::unordered_map< std::string, Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > > cvectors
 custom contact vectors
T contact_min_normal_force = 1e-10
 minimum normal force

Detailed Description

template<typename T>
struct constitutive::StateVariable< T >

State variables for constitutive models.

Constructor & Destructor Documentation

◆ StateVariable()

template<typename T>
constitutive::StateVariable< T >::StateVariable ( const int size = 37)
inlineexplicit

Constructor.

Parameters
sizeNumber of integration points

References size.

Referenced by copyFrom(), copyTo(), elastoplastic::core::ElastoplasticModel< T >::createStateVariable(), micromechanical::core::MicromechanicalBase< T > *::createStateVariable(), and stateVariableNames().

Here is the caller graph for this function:

Member Function Documentation

◆ A11()

template<typename T>
T constitutive::StateVariable< T >::A11 ( ) const
inline

Get the fabric tensor component A11.

References Aij().

Here is the call graph for this function:

◆ A12()

template<typename T>
T constitutive::StateVariable< T >::A12 ( ) const
inline

Get the fabric tensor component A12.

References Aij().

Here is the call graph for this function:

◆ A13()

template<typename T>
T constitutive::StateVariable< T >::A13 ( ) const
inline

Get the fabric tensor component A13.

References Aij().

Here is the call graph for this function:

◆ A22()

template<typename T>
T constitutive::StateVariable< T >::A22 ( ) const
inline

Get the fabric tensor component A22.

References Aij().

Here is the call graph for this function:

◆ A23()

template<typename T>
T constitutive::StateVariable< T >::A23 ( ) const
inline

Get the fabric tensor component A23.

References Aij().

Here is the call graph for this function:

◆ A33()

template<typename T>
T constitutive::StateVariable< T >::A33 ( ) const
inline

Get the fabric tensor component A33.

References Aij().

Here is the call graph for this function:

◆ addStrain()

template<typename T>
void constitutive::StateVariable< T >::addStrain ( const Eigen::Matrix< T, 6, 1 > & deps,
const bool update_void_ratio = true )
inline

Add strain and update void ratio.

Parameters
depsStrain increment
update_void_ratioWhether to update void ratio

Referenced by constitutive::ElastoplasticModelBase< T >::elasticTrial(), constitutive::ElastoplasticModelBase< T >::revertElasticTrial(), constitutive::ElastoplasticModelBase< T >::RKn(), constitutive::ElastoplasticModelBase< T >::RungeKutta(), and setStrain().

Here is the caller graph for this function:

◆ Aij()

◆ an()

template<typename T>
T constitutive::StateVariable< T >::an ( )
inline

Get the degree of fabric anisotropy of contact normal force.

References FNij().

Here is the call graph for this function:

◆ ar()

template<typename T>
T constitutive::StateVariable< T >::ar ( ) const
inline

Get the degree of fabric anisotropy.

References Fij(), and sigm().

Here is the call graph for this function:

◆ at()

template<typename T>
T constitutive::StateVariable< T >::at ( )
inline

Get the degree of fabric anisotropy of contact shear force.

References FTij().

Here is the call graph for this function:

◆ b()

template<typename T>
T constitutive::StateVariable< T >::b ( ) const
inline

Get the lode parameter.

References stress().

Referenced by elastoplastic::core::ElastoplasticModel< T >::CSR(), elastoplastic::core::ElastoplasticModel< T >::postIncrement(), and micromechanical::core::MicromechanicalBase< T > *::postIncrement().

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

◆ ba()

template<typename T>
T constitutive::StateVariable< T >::ba ( ) const
inline

Lode parameter with anisotropy.

References stressa().

Referenced by elastoplastic::core::ElastoplasticModel< T >::CSR(), micromechanical::core::ContactLawBase< T > *::frictionCoefficient(), and elastoplastic::core::ElastoplasticModel< T >::phi().

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

◆ clearCaches()

template<typename T>
void constitutive::StateVariable< T >::clearCaches ( )
inline

Clear caches.

References constitutive::CachedVariable< T >::cached.

Referenced by copyFrom(), copyFrom(), copyTo(), F_(), and sig_().

Here is the caller graph for this function:

◆ copyContactStateVariables()

template<typename T>
void constitutive::StateVariable< T >::copyContactStateVariables ( const int from_idx,
const int to_idx,
const bool symmetric = false,
const std::vector< std::string > & cscalars = {},
const std::vector< std::string > & cvectors = {} )
inline

Deep copy the contact state variables from one integration point to another.

Parameters
from_idxIndex of the integration point to copy from
to_idxIndex of the integration point to copy to
symmetricWhether to revert the symmetric contact state variables, by default False
cscalarsCustom scalar fields to be multiplied by -1
cvectorsCustom vector fields to be multiplied by -1

References cscalars.

Referenced by micromechanical::core::MicromechanicalBase< T > *::contactIntegrates().

Here is the caller graph for this function:

◆ copyFrom() [1/3]

template<typename T>
void constitutive::StateVariable< T >::copyFrom ( const StateVariable< T > & sv)
inline

Copy state variables from another state variable.

Parameters
svState variable to copy from

References cached_num, clearCaches(), contact_min_normal_force, cscalars, cvectors, disp, dispp, e, ec, eps, epsp, F, force, matrices, phase, scalars, sig, size, StateVariable(), vectors, and w.

Here is the call graph for this function:

◆ copyFrom() [2/3]

template<typename T>
void constitutive::StateVariable< T >::copyFrom ( std::vector< T > & data,
const bool dispp = true,
const bool cscalars = true,
const bool cvectors = true )
inline

Copy state variables from a vector.

Parameters
dataVector of state variables
disppInclude plastic displacements
cscalarsInclude custom scalars
cvectorsInclude custom vectors

References copyFrom(), cscalars, cvectors, and dispp.

Here is the call graph for this function:

◆ copyFrom() [3/3]

template<typename T>
void constitutive::StateVariable< T >::copyFrom ( T * ptr,
int offset = 0,
const bool dispp = true,
const bool cscalars = true,
const bool cvectors = true )
inline

Copy state variables from a raw pointer for ABAQUS UMAT/VUMAT interfaces.

Parameters
ptrRaw pointer
offsetOffset
disppInclude plastic displacements
cscalarsInclude custom scalars
cvectorsInclude custom vectors

References clearCaches(), cscalars, cvectors, and dispp.

Referenced by copyFrom(), elastoplastic::core::ElastoplasticModel< T >::fromAbaqus(), and micromechanical::core::MicromechanicalBase< T > *::fromAbaqus().

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

◆ copyTo() [1/3]

template<typename T>
void constitutive::StateVariable< T >::copyTo ( StateVariable< T > & sv) const
inline

Copy state variables to another state variable.

Parameters
svState variable to copy to

References cached_num, clearCaches(), contact_min_normal_force, cscalars, cvectors, disp, dispp, e, ec, eps, epsp, F, force, matrices, phase, scalars, sig, size, StateVariable(), vectors, and w.

Here is the call graph for this function:

◆ copyTo() [2/3]

template<typename T>
void constitutive::StateVariable< T >::copyTo ( std::vector< T > data,
const bool dispp = true,
const bool cscalars = true,
const bool cvectors = true )
inline

Copy state variables to a vector.

Parameters
dataVector of state variables
disppInclude plastic displacements
cscalarsInclude custom scalars
cvectorsInclude custom vectors

References copyTo(), cscalars, cvectors, and dispp.

Here is the call graph for this function:

◆ copyTo() [3/3]

template<typename T>
void constitutive::StateVariable< T >::copyTo ( T * ptr,
int offset = 0,
const bool dispp = true,
const bool cscalars = true,
const bool cvectors = true )
inline

Copy state variables to a raw pointer for ABAQUS UMAT/VUMAT interfaces.

Parameters
ptrRaw pointer
offsetOffset
disppInclude plastic displacements
cscalarsInclude custom scalars
cvectorsInclude custom vectors

References cscalars, cvectors, and dispp.

Referenced by copyTo(), elastoplastic::core::ElastoplasticModel< T >::toAbaqus(), and micromechanical::core::MicromechanicalBase< T > *::toAbaqus().

Here is the caller graph for this function:

◆ eeq()

template<typename T>
T constitutive::StateVariable< T >::eeq ( ) const
inline

Get the equivalent strain.

References epsij().

Here is the call graph for this function:

◆ elastic()

◆ elasticStiffnessMatrix()

◆ epsa()

template<typename T>
T constitutive::StateVariable< T >::epsa ( ) const
inline

Get the axial strain.

References epsij().

Here is the call graph for this function:

◆ epsd()

template<typename T>
T constitutive::StateVariable< T >::epsd ( ) const
inline

Get the general shear strain.

References epsij().

Referenced by elastoplastic::J2Yang< T >::beginConstantStressStateScope(), elastoplastic::J2Yang< T >::dfdeps(), elastoplastic::J2Yang< T >::dfdsig(), elastoplastic::SIMSAND< T >::epsd(), and elastoplastic::J2Yang< T >::yieldFunction().

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

◆ epsij()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::epsij ( ) const
inline

Get the deviatoric strain tensor.

References epskk(), and epsm().

Referenced by eeq(), epsa(), epsd(), epsij_normalized(), constitutive::FabricTensor< T >::evolve(), and constitutive::ConstitutiveModelBase< T >::loadingDirection().

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

◆ epsij_normalized()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::epsij_normalized ( ) const
inline

Get the normalized deviatoric strain tensor.

References epsij().

Referenced by elastoplastic::J2Yang< T >::dfdeps(), and elastoplastic::SIMSAND< T >::dfdeps().

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

◆ epskk()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::epskk ( ) const
inline

Get the mean strain tensor.

Referenced by epsij().

Here is the caller graph for this function:

◆ epsm()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::epsm ( ) const
inline

Get the strain tensor.

References constitutive::vec2mat().

Referenced by epsij(), epsv(), and constitutive::FabricTensor< T >::evolve().

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

◆ epspa()

template<typename T>
T constitutive::StateVariable< T >::epspa ( ) const
inline

Get the plastic axial strain.

References epspij().

Here is the call graph for this function:

◆ epspd()

template<typename T>
T constitutive::StateVariable< T >::epspd ( ) const
inline

Get the general plastic shear strain.

References epspij().

Referenced by elastoplastic::SIMSAND< T >::epsd().

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

◆ epspij()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::epspij ( ) const
inline

Get the deviatoric plastic strain tensor.

References epspkk(), and epspm().

Referenced by epspa(), epspd(), epspij_normalized(), constitutive::FabricTensor< T >::evolve(), constitutive::ConstitutiveModelBase< T >::loadingDirection(), and peeq().

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

◆ epspij_normalized()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::epspij_normalized ( ) const
inline

Get the normalized deviatoric plastic strain tensor.

References epspij().

Here is the call graph for this function:

◆ epspkk()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::epspkk ( ) const
inline

Get the mean plastic strain tensor.

Referenced by epspij().

Here is the caller graph for this function:

◆ epspm()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::epspm ( ) const
inline

Get the plastic strain tensor.

References constitutive::vec2mat().

Referenced by epspij(), and epspv().

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

◆ epspv()

template<typename T>
T constitutive::StateVariable< T >::epspv ( ) const
inline

Get the plastic volumetric strain.

References epspm().

Here is the call graph for this function:

◆ epsv()

template<typename T>
T constitutive::StateVariable< T >::epsv ( ) const
inline

Get the volumetric strain.

References epsm().

Referenced by constitutive::ConstitutiveModelBase< T >::increment().

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

◆ eta()

template<typename T>
T constitutive::StateVariable< T >::eta ( ) const
inline

Get the stress ratio.

References stress().

Referenced by constitutive::FabricTensor< T >::evolve().

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

◆ etaa()

template<typename T>
T constitutive::StateVariable< T >::etaa ( ) const
inline

Get the anisotropic stress ratio.

References stressa().

Here is the call graph for this function:

◆ F11()

template<typename T>
T constitutive::StateVariable< T >::F11 ( ) const
inline

Get the fabric tensor component F11.

◆ F12()

template<typename T>
T constitutive::StateVariable< T >::F12 ( ) const
inline

Get the fabric tensor component F12.

◆ F13()

template<typename T>
T constitutive::StateVariable< T >::F13 ( ) const
inline

Get the fabric tensor component F13.

◆ F22()

template<typename T>
T constitutive::StateVariable< T >::F22 ( ) const
inline

Get the fabric tensor component F22.

◆ F23()

template<typename T>
T constitutive::StateVariable< T >::F23 ( ) const
inline

Get the fabric tensor component F23.

◆ F33()

template<typename T>
T constitutive::StateVariable< T >::F33 ( ) const
inline

Get the fabric tensor component F33.

◆ F_() [1/2]

◆ F_() [2/2]

template<typename T>
Eigen::Matrix< T, 6, 1 > & constitutive::StateVariable< T >::F_ ( const bool clear_caches = true)
inline

References clearCaches().

Here is the call graph for this function:

◆ FAV()

template<typename T>
T constitutive::StateVariable< T >::FAV ( std::optional< Eigen::Matrix< T, 3, 3 > > n = std::nullopt) const
inline

Fabric anisotropy variable.

References Fij(), and n().

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

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

◆ feta() [1/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 1 > constitutive::StateVariable< T >::feta ( ) const
inline

References feta().

Here is the call graph for this function:

◆ feta() [2/2]

template<typename T>
T constitutive::StateVariable< T >::feta ( const int idx) const
inline

Get the shear force ratio.

Parameters
idxIndex of the integration point

References fnc(), and fr().

Referenced by feta(), micromechanical::contacts::ExponentialContactLaw< T >::stiffness(), and micromechanical::contacts::HyperbolicContactLaw< T >::stiffness().

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

◆ Fij()

◆ fn() [1/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 1 > constitutive::StateVariable< T >::fn ( ) const
inline

References fn().

Here is the call graph for this function:

◆ fn() [2/2]

◆ FN11()

template<typename T>
T constitutive::StateVariable< T >::FN11 ( )
inline

Get the fabric tensor of contact normal force component FN11.

◆ FN12()

template<typename T>
T constitutive::StateVariable< T >::FN12 ( )
inline

Get the fabric tensor of contact normal force component FN12.

◆ FN13()

template<typename T>
T constitutive::StateVariable< T >::FN13 ( )
inline

Get the fabric tensor of contact normal force component FN13.

◆ FN22()

template<typename T>
T constitutive::StateVariable< T >::FN22 ( )
inline

Get the fabric tensor of contact normal force component FN22.

◆ FN23()

template<typename T>
T constitutive::StateVariable< T >::FN23 ( )
inline

Get the fabric tensor of contact normal force component FN23.

◆ FN33()

template<typename T>
T constitutive::StateVariable< T >::FN33 ( )
inline

Get the fabric tensor of contact normal force component FN33.

◆ fnc() [1/2]

template<typename T>
T constitutive::StateVariable< T >::fnc ( const int idx,
T cohesion = 0.0 ) const
inline

Get the normal force with minimal adhesive force.

Parameters
idxIndex of the integration point
cohesionCohesion, value less than contact_min_normal_force will be ignored

References fn().

Referenced by micromechanical::contacts::MCCContactLaw< T >::checkConvergence(), micromechanical::core::MCCCSL< T >::CSL(), micromechanical::contacts::MCCContactLaw< T >::dfdforce(), micromechanical::contacts::SANISANDContactLaw< T >::dfdforce(), micromechanical::contacts::SIMSANDContactLaw< T >::dfdforce(), micromechanical::core::ContactLawBase< T > *::dfdforce0(), micromechanical::contacts::MCCContactLaw< T >::dgdforce(), micromechanical::contacts::OSIMSANDContactLaw< T >::dgdforce(), micromechanical::contacts::SIMSANDContactLaw< T >::dgdforce(), micromechanical::core::ContactLawBase< T > *::dgdforce0(), micromechanical::core::ElastoplasticContactLaw< T >::ExplicitCPA(), feta(), fnc(), micromechanical::core::ContactLawBase< T > *::forceDisplacement(), micromechanical::core::ContactLawBase< T > *::integrate(), micromechanical::contacts::SANISANDContactLaw< T >::maintainYieldSurface(), micromechanical::contacts::SANISANDContactLaw< T >::plasticModulus(), micromechanical::contacts::MCCContactLaw< T >::plasticModulus0(), micromechanical::contacts::OSIMSANDContactLaw< T >::plasticModulus0(), micromechanical::contacts::ExponentialContactLaw< T >::stiffness(), micromechanical::contacts::HyperbolicContactLaw< T >::stiffness(), and micromechanical::contacts::HypoplasticContactLaw< T >::stiffness().

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

◆ fnc() [2/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 1 > constitutive::StateVariable< T >::fnc ( T cohesion = 0.0) const
inline

References fnc().

Here is the call graph for this function:

◆ FNij()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::FNij ( )
inline

Get the fabric tensor of contact normal force.

References constitutive::vec2mat().

Referenced by an().

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

◆ Fnorm()

template<typename T>
T constitutive::StateVariable< T >::Fnorm ( ) const
inline

Norm of the fabric tensor.

References Fij().

Here is the call graph for this function:

◆ fr() [1/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 1 > constitutive::StateVariable< T >::fr ( ) const
inline

References fr().

Here is the call graph for this function:

◆ fr() [2/2]

◆ fs() [1/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 1 > constitutive::StateVariable< T >::fs ( ) const
inline

References fs().

Here is the call graph for this function:

◆ fs() [2/2]

template<typename T>
T constitutive::StateVariable< T >::fs ( const int idx) const
inline

Get the shear force at the first direction.

Parameters
idxIndex of the integration point

Referenced by fs(), and micromechanical::contacts::HypoplasticContactLaw< T >::stiffness().

Here is the caller graph for this function:

◆ fst() [1/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 2 > constitutive::StateVariable< T >::fst ( ) const
inline

References fst().

Here is the call graph for this function:

◆ fst() [2/2]

template<typename T>
Eigen::Matrix< T, 2, 1 > constitutive::StateVariable< T >::fst ( const int idx) const
inline

Get the shear force at both directions.

Parameters
idxIndex of the integration point

Referenced by fst(), and nst().

Here is the caller graph for this function:

◆ ft() [1/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 1 > constitutive::StateVariable< T >::ft ( ) const
inline

References ft().

Here is the call graph for this function:

◆ ft() [2/2]

template<typename T>
T constitutive::StateVariable< T >::ft ( const int idx) const
inline

Get the shear force at the second direction.

Parameters
idxIndex of the integration point

Referenced by ft(), and micromechanical::contacts::HypoplasticContactLaw< T >::stiffness().

Here is the caller graph for this function:

◆ FT11()

template<typename T>
T constitutive::StateVariable< T >::FT11 ( )
inline

Get the fabric tensor of contact shear force component FT11.

◆ FT12()

template<typename T>
T constitutive::StateVariable< T >::FT12 ( )
inline

Get the fabric tensor of contact shear force component FT12.

◆ FT13()

template<typename T>
T constitutive::StateVariable< T >::FT13 ( )
inline

Get the fabric tensor of contact normal force component FT13.

◆ FT22()

template<typename T>
T constitutive::StateVariable< T >::FT22 ( )
inline

Get the fabric tensor of contact shear force component FT22.

◆ FT23()

template<typename T>
T constitutive::StateVariable< T >::FT23 ( )
inline

Get the fabric tensor of contact shear force component FT23.

◆ FT33()

template<typename T>
T constitutive::StateVariable< T >::FT33 ( )
inline

Get the fabric tensor of contact shear force component FT33.

◆ FTij()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::FTij ( )
inline

Get the fabric tensor of contact shear force.

References constitutive::vec2mat().

Referenced by at().

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

◆ hash()

template<typename T>
std::size_t constitutive::StateVariable< T >::hash ( const Eigen::Matrix< T, 3, 1 > & dfi,
const Eigen::Matrix< T, 3, 1 > & dui,
const int idx,
const int precision = 15,
const bool symmetric = false,
const std::vector< std::string > & cscalars = {},
const std::vector< std::string > & cvectors = {} )
inline

Hash the state variables at the integration point with index idx.

Parameters
dfiContact force increment
duiContact displacement increment
idxIndex of the integration point
precisionPrecision of the hash value, by default 15
symmetricWhether to revert the symmetric contact state variables, by default False
cscalarsCustom scalar fields to be multiplied by -1
cvectorsCustom vector fields to be multiplied by -1

References cscalars.

Referenced by micromechanical::core::MicromechanicalBase< T > *::contactIntegrates().

Here is the caller graph for this function:

◆ I1()

template<typename T>
T constitutive::StateVariable< T >::I1 ( ) const
inline

Get the first invariant of the stress tensor.

References stress().

Here is the call graph for this function:

◆ I2()

template<typename T>
T constitutive::StateVariable< T >::I2 ( ) const
inline

Get the second invariant of the stress tensor.

References stress().

Here is the call graph for this function:

◆ I3()

template<typename T>
T constitutive::StateVariable< T >::I3 ( ) const
inline

Get the third invariant of the stress tensor.

References stress().

Here is the call graph for this function:

◆ Ia1()

template<typename T>
T constitutive::StateVariable< T >::Ia1 ( ) const
inline

Get the first invariant of the anisotropic stress tensor.

References stressa().

Here is the call graph for this function:

◆ Ia2()

template<typename T>
T constitutive::StateVariable< T >::Ia2 ( ) const
inline

Get the second invariant of the anisotropic stress tensor.

References stressa().

Here is the call graph for this function:

◆ Ia3()

template<typename T>
T constitutive::StateVariable< T >::Ia3 ( ) const
inline

Get the third invariant of the anisotropic stress tensor.

References stressa().

Here is the call graph for this function:

◆ J2()

template<typename T>
T constitutive::StateVariable< T >::J2 ( ) const
inline

Get the second invariant of the deviatoric stress tensor.

References stress().

Here is the call graph for this function:

◆ J3()

template<typename T>
T constitutive::StateVariable< T >::J3 ( ) const
inline

Get the third invariant of the deviatoric stress tensor.

References stress().

Here is the call graph for this function:

◆ Ja2()

template<typename T>
T constitutive::StateVariable< T >::Ja2 ( ) const
inline

Get the second invariant of the anisotropic deviatoric stress tensor.

References stressa().

Here is the call graph for this function:

◆ Ja3()

template<typename T>
T constitutive::StateVariable< T >::Ja3 ( ) const
inline

Get the third invariant of the anisotropic deviatoric stress tensor.

References stressa().

Here is the call graph for this function:

◆ lode()

template<typename T>
T constitutive::StateVariable< T >::lode ( ) const
inline

Get the lode angle.

References stress().

Referenced by elastoplastic::core::ElastoplasticModel< T >::CSR().

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

◆ lodea()

template<typename T>
T constitutive::StateVariable< T >::lodea ( ) const
inline

Lode angle with anisotropy.

References stressa().

Referenced by elastoplastic::core::ElastoplasticModel< T >::CSR(), and elastoplastic::MohrCoulomb< T >::potentialFunction().

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

◆ n()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::n ( ) const
inline

Loading direction.

Referenced by FAV().

Here is the caller graph for this function:

◆ ns()

template<typename T>
T constitutive::StateVariable< T >::ns ( const int idx) const
inline

References nst().

Referenced by micromechanical::core::MicromechanicalBase< T > *::postIncrement().

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

◆ nst()

◆ nStateVariables()

template<typename T>
int constitutive::StateVariable< T >::nStateVariables ( const int size = 37,
const bool dispp = false,
const int nstatev_custom = 0 )
inlinestatic

Get the number of state variables.

Parameters
sizeNumber of integration points
disppWhether to include plastic displacement in the state variables
nstatev_customNumber of custom state variables

References dispp, size, and stateVariableNames().

Referenced by micromechanical::core::MicromechanicalBase< T > *::nstatev().

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

◆ nt()

template<typename T>
T constitutive::StateVariable< T >::nt ( const int idx) const
inline

References nst().

Referenced by micromechanical::core::MicromechanicalBase< T > *::postIncrement().

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

◆ p()

template<typename T>
T constitutive::StateVariable< T >::p ( ) const
inline

◆ pa()

◆ peeq()

template<typename T>
T constitutive::StateVariable< T >::peeq ( ) const
inline

Get the equivalent plastic strain.

References epspij().

Here is the call graph for this function:

◆ plastic()

template<typename T>
bool constitutive::StateVariable< T >::plastic ( ) const
inline

Whether the current state is plastic.

Referenced by elastic().

Here is the caller graph for this function:

◆ q()

template<typename T>
T constitutive::StateVariable< T >::q ( ) const
inline

Get the deviatoric stress.

References stress().

Here is the call graph for this function:

◆ qa()

◆ R()

template<typename T>
T constitutive::StateVariable< T >::R ( ) const
inline

Major stress ratio sig1/sig3.

References stress().

Here is the call graph for this function:

◆ Ra()

template<typename T>
T constitutive::StateVariable< T >::Ra ( ) const
inline

Major stress ratio siga1/siga3.

References stressa().

Referenced by micromechanical::core::ContactLawBase< T > *::frictionCoefficient(), and elastoplastic::core::ElastoplasticModel< T >::phi().

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

◆ revertSymmetricContactStateVariables()

template<typename T>
void constitutive::StateVariable< T >::revertSymmetricContactStateVariables ( const int idx,
const std::vector< std::string > & cscalars = {},
const std::vector< std::string > & cvectors = {} )
inline

Revert contact force, displacement and specified custom variables by multiplying them with -1.

Parameters
idxIndex of the integration point
cscalarsCustom scalar fields to be multiplied by -1
cvectorsCustom vector fields to be multiplied by -1

References cscalars.

◆ setStrain()

template<typename T>
void constitutive::StateVariable< T >::setStrain ( const Eigen::Matrix< T, 6, 1 > & eps,
const bool update_void_ratio = true )
inline

Set strain and update void ratio.

Parameters
epsstrain
update_void_ratioWhether to update void ratio

References addStrain(), and eps.

Referenced by constitutive::ElastoplasticModelBase< T >::dfdeps0(), constitutive::ElastoplasticModelBase< T >::integrateToYieldSurface(), and constitutive::ElastoplasticModelBase< T >::RKn().

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

◆ sig11()

template<typename T>
T constitutive::StateVariable< T >::sig11 ( ) const
inline

Get the first principal stress.

References stress().

Referenced by sigm().

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

◆ sig123()

template<typename T>
Eigen::Matrix< T, 3, 1 > constitutive::StateVariable< T >::sig123 ( ) const
inline

Get the principal stresses.

References stress().

Here is the call graph for this function:

◆ sig22()

template<typename T>
T constitutive::StateVariable< T >::sig22 ( ) const
inline

Get the second principal stress.

References stress().

Referenced by sigm().

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

◆ sig33()

template<typename T>
T constitutive::StateVariable< T >::sig33 ( ) const
inline

Get the third principal stress.

References stress().

Referenced by sigm().

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

◆ sig_() [1/2]

◆ sig_() [2/2]

template<typename T>
Eigen::Matrix< T, 6, 1 > & constitutive::StateVariable< T >::sig_ ( const bool clear_caches = true)
inline

References clearCaches().

Here is the call graph for this function:

◆ siga11()

template<typename T>
T constitutive::StateVariable< T >::siga11 ( ) const
inline

First principal stress with anisotropy.

References stressa().

Here is the call graph for this function:

◆ siga123()

template<typename T>
Eigen::Matrix< T, 3, 1 > constitutive::StateVariable< T >::siga123 ( ) const
inline

Principal stresses with anisotropy.

References stressa().

Here is the call graph for this function:

◆ siga22()

template<typename T>
T constitutive::StateVariable< T >::siga22 ( ) const
inline

Second principal stress with anisotropy.

References stressa().

Here is the call graph for this function:

◆ siga33()

template<typename T>
T constitutive::StateVariable< T >::siga33 ( ) const
inline

Third principal stress with anisotropy.

References stressa().

Referenced by elastoplastic::core::ElastoplasticModel< T >::converged().

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

◆ sigakk()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::sigakk ( ) const
inline

Get the anisotropic mean stress tensor.

References stressa().

Here is the call graph for this function:

◆ sigam()

◆ sigkk()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::sigkk ( ) const
inline

Get the mean stress tensor.

References stress().

Here is the call graph for this function:

◆ sigm()

template<typename T>
const Eigen::Matrix< T, 3, 3 > & constitutive::StateVariable< T >::sigm ( ) const
inline

Get the stress tensor.

References constitutive::CachedVariable< T >::cached, constitutive::CachedMatrix33< T >::initialize(), sig11(), sig22(), sig33(), and constitutive::CachedVariable< T >::value().

Referenced by ar(), elastoplastic::core::AnisotropicStrength< T >::CSR0(), sigam(), and stress().

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

◆ stateVariableNames()

template<typename T>
std::vector< std::string > constitutive::StateVariable< T >::stateVariableNames ( const int size = 37,
const bool dispp = true,
const int nstatev_custom = 0 )
inlinestatic

Get the names of the state variables.

References dispp, size, and StateVariable().

Referenced by nStateVariables().

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

◆ strain()

template<typename T>
Tensor2< T > constitutive::StateVariable< T >::strain ( ) const
inline

Get the strain tensor.

References constitutive::Tensor2< T >::fromVector().

Here is the call graph for this function:

◆ strainp()

template<typename T>
Tensor2< T > constitutive::StateVariable< T >::strainp ( ) const
inline

Get the plastic strain tensor.

References constitutive::Tensor2< T >::fromVector().

Here is the call graph for this function:

◆ stress()

template<typename T>
const Tensor2< T > & constitutive::StateVariable< T >::stress ( ) const
inline

Get the stress tensor.

References constitutive::CachedVariable< T >::cached, constitutive::CachedTensor2< T >::initialize(), sigm(), and constitutive::CachedVariable< T >::value().

Referenced by b(), eta(), constitutive::FabricTensor< T >::evolve(), I1(), I2(), I3(), J2(), J3(), lode(), p(), q(), R(), sig11(), sig123(), sig22(), sig33(), sigkk(), tauij(), and theta().

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

◆ stressa()

template<typename T>
const Tensor2< T > & constitutive::StateVariable< T >::stressa ( ) const
inline

anisotropic stress tensor

References constitutive::CachedVariable< T >::cached, constitutive::CachedTensor2< T >::initialize(), sigam(), and constitutive::CachedVariable< T >::value().

Referenced by ba(), etaa(), Ia1(), Ia2(), Ia3(), Ja2(), Ja3(), lodea(), pa(), qa(), Ra(), siga11(), siga123(), siga22(), siga33(), sigakk(), tauaij(), and thetaa().

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

◆ tauaij()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::tauaij ( ) const
inline

Get the anisotropic deviatoric stress tensor.

References stressa().

Referenced by constitutive::ConstitutiveModelBase< T >::loadingDirection(), and tauaij_normalized().

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

◆ tauaij_normalized()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::tauaij_normalized ( ) const
inline

Get the normalized anisotropic deviatoric stress tensor.

References e, and tauaij().

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

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

◆ tauij()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::tauij ( ) const
inline

Get the deviatoric stress tensor.

References stress().

Referenced by constitutive::FabricTensor< T >::evolve(), constitutive::ConstitutiveModelBase< T >::loadingDirection(), and tauij_normalized().

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

◆ tauij_normalized()

template<typename T>
Eigen::Matrix< T, 3, 3 > constitutive::StateVariable< T >::tauij_normalized ( ) const
inline

Get the normalized deviatoric stress tensor.

References e, and tauij().

Here is the call graph for this function:

◆ theta()

template<typename T>
T constitutive::StateVariable< T >::theta ( ) const
inline

Get the lode angle (0, pi/3).

References stress().

Here is the call graph for this function:

◆ thetaa()

template<typename T>
T constitutive::StateVariable< T >::thetaa ( ) const
inline

Lode angle (0, pi/3) with anisotropy.

References stressa().

Here is the call graph for this function:

◆ un() [1/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 1 > constitutive::StateVariable< T >::un ( ) const
inline

References un().

Here is the call graph for this function:

◆ un() [2/2]

template<typename T>
T constitutive::StateVariable< T >::un ( const int idx) const
inline

Get the normal displacement.

Parameters
idxIndex of the integration point

Referenced by un().

Here is the caller graph for this function:

◆ upn() [1/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 1 > constitutive::StateVariable< T >::upn ( ) const
inline

References upn().

Here is the call graph for this function:

◆ upn() [2/2]

template<typename T>
T constitutive::StateVariable< T >::upn ( const int idx) const
inline

Get the plastic normal displacement.

Parameters
idxIndex of the integration point

Referenced by upn().

Here is the caller graph for this function:

◆ upr() [1/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 1 > constitutive::StateVariable< T >::upr ( ) const
inline

References upr().

Here is the call graph for this function:

◆ upr() [2/2]

template<typename T>
T constitutive::StateVariable< T >::upr ( const int idx) const
inline

◆ ups() [1/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 1 > constitutive::StateVariable< T >::ups ( ) const
inline

References ups().

Here is the call graph for this function:

◆ ups() [2/2]

template<typename T>
T constitutive::StateVariable< T >::ups ( const int idx) const
inline

Get the plastic shear displacement at the first direction.

Parameters
idxIndex of the integration point

Referenced by ups().

Here is the caller graph for this function:

◆ upst() [1/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 2 > constitutive::StateVariable< T >::upst ( ) const
inline

References upst().

Here is the call graph for this function:

◆ upst() [2/2]

template<typename T>
Eigen::Matrix< T, 2, 1 > constitutive::StateVariable< T >::upst ( const int idx) const
inline

Get the plastic shear displacement at both directions.

Parameters
idxIndex of the integration point

Referenced by upst().

Here is the caller graph for this function:

◆ upt() [1/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 1 > constitutive::StateVariable< T >::upt ( ) const
inline

References upt().

Here is the call graph for this function:

◆ upt() [2/2]

template<typename T>
T constitutive::StateVariable< T >::upt ( const int idx) const
inline

Get the plastic shear displacement at the second direction.

Parameters
idxIndex of the integration point

Referenced by upt().

Here is the caller graph for this function:

◆ ur() [1/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 1 > constitutive::StateVariable< T >::ur ( ) const
inline

References ur().

Here is the call graph for this function:

◆ ur() [2/2]

◆ us() [1/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 1 > constitutive::StateVariable< T >::us ( ) const
inline

References us().

Here is the call graph for this function:

◆ us() [2/2]

template<typename T>
T constitutive::StateVariable< T >::us ( const int idx) const
inline

Get the shear displacement at the first direction.

Parameters
idxIndex of the integration point

Referenced by us().

Here is the caller graph for this function:

◆ ust() [1/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 2 > constitutive::StateVariable< T >::ust ( ) const
inline

References ust().

Here is the call graph for this function:

◆ ust() [2/2]

template<typename T>
Eigen::Matrix< T, 2, 1 > constitutive::StateVariable< T >::ust ( const int idx) const
inline

Get the shear displacement at both directions.

Parameters
idxIndex of the integration point

Referenced by ust().

Here is the caller graph for this function:

◆ ut() [1/2]

template<typename T>
Eigen::Matrix< T, Eigen::Dynamic, 1 > constitutive::StateVariable< T >::ut ( ) const
inline

References ut().

Here is the call graph for this function:

◆ ut() [2/2]

template<typename T>
T constitutive::StateVariable< T >::ut ( const int idx) const
inline

Get the shear displacement at the second direction.

Parameters
idxIndex of the integration point

Referenced by ut().

Here is the caller graph for this function:

Member Data Documentation

◆ cached_num

template<typename T>
int constitutive::StateVariable< T >::cached_num = 0

cached number of the integration points

Referenced by micromechanical::core::MicromechanicalBase< T > *::contactIntegrates(), copyFrom(), and copyTo().

◆ contact_min_normal_force

template<typename T>
T constitutive::StateVariable< T >::contact_min_normal_force = 1e-10

◆ cscalars

template<typename T>
std::unordered_map<std::string, Eigen::Matrix<T, Eigen::Dynamic, 1> > constitutive::StateVariable< T >::cscalars = {}

custom contact scalars

Referenced by micromechanical::contacts::MCCContactLaw< T >::checkConvergence(), micromechanical::core::MicromechanicalBase< T > *::contactIntegrates(), copyContactStateVariables(), copyFrom(), copyFrom(), copyFrom(), copyTo(), copyTo(), copyTo(), micromechanical::core::MCCCSL< T >::CSL(), micromechanical::contacts::MCCContactLaw< T >::dfdforce(), micromechanical::contacts::SANISANDContactLaw< T >::dfdforce(), micromechanical::contacts::MCCContactLaw< T >::dgdforce(), micromechanical::contacts::SANISANDContactLaw< T >::dgdforce(), micromechanical::core::ElastoplasticContactLaw< T >::ExplicitCPA(), hash(), micromechanical::contacts::MCCContactLaw< T >::initialize(), micromechanical::contacts::SANISANDContactLaw< T >::initialize(), micromechanical::core::MicromechanicalBase< T > *::initialize(), micromechanical::contacts::SANISANDContactLaw< T >::maintainYieldSurface(), micromechanical::contacts::SANISANDContactLaw< T >::plasticModulus(), micromechanical::contacts::MCCContactLaw< T >::plasticModulus0(), constitutive::ConstitutiveModelBase< T >::resetCustomStateVariables(), revertSymmetricContactStateVariables(), micromechanical::ChangHicher< T >::stressStrainIntegrate1(), micromechanical::contacts::MCCContactLaw< T >::updateHardeningVariables(), micromechanical::contacts::SANISANDContactLaw< T >::updateHardeningVariables(), micromechanical::contacts::MCCContactLaw< T >::yieldFunction(), and micromechanical::contacts::SANISANDContactLaw< T >::yieldFunction().

◆ cvectors

template<typename T>
std::unordered_map<std::string, Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> > constitutive::StateVariable< T >::cvectors

◆ disp

◆ dispp

◆ e

◆ e0

◆ ec

◆ eps

◆ epsp

◆ F

◆ force

◆ matrices

◆ phase

template<typename T>
int constitutive::StateVariable< T >::phase = 0

load phase index

Referenced by copyFrom(), and copyTo().

◆ scalars

template<typename T>
std::unordered_map<std::string, T> constitutive::StateVariable< T >::scalars = {}

custom scalars

Referenced by constitutive::ElastoplasticModelBase< T >::consistentElastoplasticStiffness(), copyFrom(), copyTo(), constitutive::ElastoplasticModelBase< T >::CPPM(), micromechanical::contacts::OSIMSANDContactLaw< T >::dfdforce(), micromechanical::contacts::SANISANDContactLaw< T >::dfdforce(), micromechanical::contacts::SANISANDContactLaw< T >::dgdforce(), micromechanical::contacts::HypoplasticContactLaw< T >::elasticStiffness(), micromechanical::core::ChangStiffness< T >::elasticStiffness(), micromechanical::core::ConstantStiffness< T >::elasticStiffness(), micromechanical::core::RichartStiffness< T >::elasticStiffness(), constitutive::ElastoplasticModelBase< T >::elasticTrial(), constitutive::FabricTensor< T >::evolve(), micromechanical::core::ElastoplasticContactLaw< T >::ExplicitCPA(), constitutive::ConstitutiveModelBase< T >::increment(), elastoplastic::core::ElastoplasticModel< T >::initialize(), micromechanical::core::Integration< T >::initialize(), micromechanical::core::MicromechanicalBase< T > *::initialize(), constitutive::ElastoplasticModelBase< T >::interpolateFabricTensor(), micromechanical::contacts::SANISANDContactLaw< T >::maintainYieldSurface(), micromechanical::contacts::SANISANDContactLaw< T >::plasticModulus(), micromechanical::contacts::OSIMSANDContactLaw< T >::plasticModulus0(), constitutive::ConstitutiveModelBase< T >::resetCustomStateVariables(), constitutive::ElastoplasticModelBase< T >::RungeKutta(), constitutive::ConstitutiveModelBase< T >::saveElasticStiffnessMatrix(), micromechanical::contacts::ExponentialContactLaw< T >::stiffness(), micromechanical::contacts::HyperbolicContactLaw< T >::stiffness(), micromechanical::contacts::HypoplasticContactLaw< T >::stiffness(), constitutive::ElastoplasticModelBase< T >::stressStrainIntegrate(), micromechanical::contacts::SANISANDContactLaw< T >::updateHardeningVariables(), elastoplastic::J2Yang< T >::yieldFunction(), micromechanical::contacts::OSIMSANDContactLaw< T >::yieldFunction(), micromechanical::contacts::SANISANDContactLaw< T >::yieldFunction(), and constitutive::ElastoplasticModelBase< T >::yieldFunctionCorrection().

◆ sig

◆ size

◆ vectors

◆ w


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