micromechanical (C++)
|
State variables for micromechanical models. More...
#include <statevariable.hpp>
Public Member Functions | |
StateVariable (int size=37) | |
Constructor. | |
StateVariable (const StateVariable &sv) | |
Copy constructor. | |
StateVariable (StateVariable &&sv) noexcept | |
Move constructor. | |
virtual | ~StateVariable ()=default |
destructor | |
StateVariable & | operator= (const StateVariable &sv) |
Copy assignment operator. | |
StateVariable & | operator= (StateVariable &&sv) noexcept |
Move assignment operator. | |
void | revertSymmetricContactStateVariables (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, int idx, const int precision=15, 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 (int from_idx, int to_idx, 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 | copyToRawPointer (T *ptr, const bool dispp, const bool cscalars, const bool cvectors, const int nstatev) |
Copy state variables to a raw pointer for ABAQUS UMAT/VUMAT interfaces. | |
void | copyFromRawPointer (T *ptr, const bool dispp, const bool cscalars, const bool cvectors, const int nstatev) |
Copy state variables from a raw pointer for ABAQUS UMAT/VUMAT interfaces. | |
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 | 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. | |
Tensor2< T > | stressTensor () const |
Get the stress tensor. | |
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, 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 | lode () const |
Get the lode angle. | |
Tensor2< T > | anisotropicStressTensor () const |
anisotropic 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 | lodea () const |
Lode angle with anisotropy. | |
Tensor2< T > | strainTensor () 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. | |
Tensor2< T > | plasticStrainTensor () 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. | |
Tensor2< T > | plasticDisplacementStrainTensor () const |
Get the plastic strain tensor from displacements. | |
Eigen::Matrix< T, 3, 3 > | epspum () const |
Get the plastic strain tensor from displacements. | |
Eigen::Matrix< T, 3, 3 > | epspukk () const |
Get the mean plastic strain tensor from displacements. | |
Eigen::Matrix< T, 3, 3 > | epspuij () const |
Get the deviatoric plastic strain tensor from displacements. | |
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 | Mc () const |
Get the slope of the critical state line for extension. | |
T | Me () const |
Get the slope of the critical state line for extension. | |
T | M () const |
Get the slope of the critical state line. | |
T | eta () const |
Get the stress ratio. | |
T | epsva () const |
Get the volumetric strain approximation. | |
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. | |
T | epspv () const |
Get the plastic volumetric strain. | |
T | epspva () 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 | epspuv () const |
Get the plastic volumetric strain from displacements. | |
T | epspuva () const |
Get the plastic volumetric strain from displacements. | |
T | epspua () const |
Get the plastic axial strain from displacements. | |
T | epspud () const |
Get the general plastic shear strain from displacements. | |
T | pueeq () const |
Get the equivalent plastic strain from displacements. | |
T | fn (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 (int idx) const |
Get the shear force at the first direction. | |
Eigen::Matrix< T, Eigen::Dynamic, 1 > | fs () const |
T | ft (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 (int idx) const |
Get the shear force at both directions. | |
Eigen::Matrix< T, Eigen::Dynamic, 2 > | fst () const |
T | fr (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 (int idx) const |
Get the shear force direction. | |
T | ns (const int idx) const |
T | nt (int idx) const |
T | un (int idx) const |
Get the normal displacement. | |
Eigen::Matrix< T, Eigen::Dynamic, 1 > | un () const |
T | us (int idx) const |
Get the shear displacement at the first direction. | |
Eigen::Matrix< T, Eigen::Dynamic, 1 > | us () const |
T | ut (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 (int idx) const |
Get the shear displacement at both directions. | |
Eigen::Matrix< T, Eigen::Dynamic, 2 > | ust () const |
T | ur (int idx) const |
Get the shear displacement. | |
Eigen::Matrix< T, Eigen::Dynamic, 1 > | ur () const |
T | upn (int idx) const |
Get the plastic normal displacement. | |
Eigen::Matrix< T, Eigen::Dynamic, 1 > | upn () const |
T | ups (int idx) const |
Get the plastic shear displacement at the first direction. | |
Eigen::Matrix< T, Eigen::Dynamic, 1 > | ups () const |
T | upt (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 (int idx) const |
Get the plastic shear displacement at both directions. | |
Eigen::Matrix< T, Eigen::Dynamic, 2 > | upst () const |
T | upr (int idx) const |
Get the plastic shear displacement. | |
Eigen::Matrix< T, Eigen::Dynamic, 1 > | upr () const |
Eigen::Matrix< T, 3, 3 > | elasticStiffnessMatrix () |
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 (int size=37, const bool dispp=true, const int nstatev_custom=0) |
Get the names of the state variables. | |
Public Attributes | |
T | phi = 0.0 |
critical friction angle | |
int | phase = 0 |
load phase index | |
int | size = 37 |
number of the integration points | |
int | cached_num = 0 |
cached number of the integration pointsd | |
Eigen::Matrix< T, 6, 1 > | sig = Eigen::Matrix<T, 6, 1>::Zero() |
stress vector | |
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, 6, 1 > | epspu = Eigen::Matrix<T, 6, 1>::Zero() |
plastic strain vector from displacements | |
Eigen::Matrix< T, 6, 1 > | F = Eigen::Matrix<T, 6, 1>::Zero() |
fabric vector F | |
Eigen::Matrix< T, 6, 1 > | A = Eigen::Matrix<T, 6, 1>::Zero() |
fabric vector F | |
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 | ec = 0.0 |
critical void ratio | |
std::map< std::string, T > | scalars = {} |
custom scalars | |
std::map< std::string, Eigen::Matrix< T, Eigen::Dynamic, 1 > > | vectors = {} |
custom vectors | |
std::map< std::string, Eigen::Matrix< T, Eigen::Dynamic, 1 > > | cscalars = {} |
custom contact scalars | |
std::map< std::string, Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > > | cvectors = {} |
custom contact vectors | |
T | contact_min_normal_force = 1e-10 |
minimum normal force | |
State variables for micromechanical models.
|
inlineexplicit |
Constructor.
size | Number of integration points |
References size.
Referenced by operator=(), operator=(), StateVariable(), StateVariable(), and stateVariableNames().
|
inline |
|
inlinenoexcept |
Move constructor.
sv | State variable |
References StateVariable().
|
virtualdefault |
destructor
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Get the fabric tensor A as a matrix.
References micromechanical::math::vec2mat().
Referenced by anisotropicStressTensor().
|
inline |
Get the degree of fabric anisotropy of contact normal force.
References FNij().
|
inline |
|
inline |
|
inline |
Get the degree of fabric anisotropy of contact shear force.
References FTij().
|
inline |
|
inline |
|
inline |
Deep copy the contact state variables from one integration point to another.
from_idx | Index of the integration point to copy from |
to_idx | Index of the integration point to copy to |
symmetric | Whether to revert the symmetric contact state variables, by default False |
cscalars | Custom scalar fields to be multiplied by -1 |
cvectors | Custom vector fields to be multiplied by -1 |
References cscalars.
Referenced by micromechanical::core::MicromechanicalBase< T > *::contactIntegrates().
|
inline |
Copy state variables from a raw pointer for ABAQUS UMAT/VUMAT interfaces.
ptr | Raw pointer |
dispp | Include plastic displacements |
cscalars | Include custom scalars |
cvectors | Include custom vectors |
nstatev | Number of state variables |
References cscalars, cvectors, disp, dispp, eps, epsp, F, force, sig, and w.
|
inline |
Copy state variables to a raw pointer for ABAQUS UMAT/VUMAT interfaces.
ptr | Raw pointer |
dispp | Include plastic displacements |
cscalars | Include custom scalars |
cvectors | Include custom vectors |
nstatev | Number of state variables |
References cscalars, cvectors, disp, dispp, eps, epsp, F, force, peeq(), sig, and w.
Referenced by micromechanical::core::MicromechanicalBase< T > *::umat().
|
inline |
Get the equivalent strain.
References epsij().
|
inline |
Referenced by micromechanical::core::ElastoplasticContactLaw< T >::ExplicitCPA(), micromechanical::contacts::CoulombContactLaw< T >::stiffness(), micromechanical::contacts::ElasticContactLaw< T >::stiffness(), and micromechanical::core::ElastoplasticContactLaw< T >::stiffness().
|
inline |
|
inline |
Get the general shear strain.
References epsa().
|
inline |
Get the deviatoric strain tensor.
References epskk(), and epsm().
Referenced by eeq(), and micromechanical::core::FabricTensor< T >::evolve().
|
inline |
Get the mean strain tensor.
Referenced by epsij().
|
inline |
Get the strain tensor.
References micromechanical::math::vec2mat().
Referenced by epsa(), epsij(), epsva(), and micromechanical::core::FabricTensor< T >::evolve().
|
inline |
|
inline |
Get the general plastic shear strain.
References epspa().
|
inline |
Get the deviatoric plastic strain tensor.
References epspkk(), and epspm().
Referenced by micromechanical::core::FabricTensor< T >::evolve(), and peeq().
|
inline |
Get the mean plastic strain tensor.
Referenced by epspij().
|
inline |
Get the plastic strain tensor.
References micromechanical::math::vec2mat().
Referenced by epspij(), and epspva().
|
inline |
|
inline |
Get the general plastic shear strain from displacements.
References epspua().
|
inline |
|
inline |
Get the mean plastic strain tensor from displacements.
Referenced by epspuij().
|
inline |
Get the plastic strain tensor from displacements.
References micromechanical::math::vec2mat().
Referenced by epspuij(), and epspuva().
|
inline |
|
inline |
Get the plastic volumetric strain from displacements.
References epspum().
|
inline |
|
inline |
Get the plastic volumetric strain.
References epspm().
|
inline |
Get the volumetric strain.
References eps.
Referenced by micromechanical::ChangHicher< T >::macroMicroIntegrate().
|
inline |
Get the volumetric strain approximation.
References epsm().
Referenced by micromechanical::ChangHicher< T >::macroMicroIntegrate().
|
inline |
Get the stress ratio.
Referenced by micromechanical::core::FabricTensor< T >::evolve().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Get the shear force ratio.
idx | Index of the integration point |
Referenced by micromechanical::contacts::ExponentialContactLaw< T >::stiffness(), and micromechanical::contacts::HyperbolicContactLaw< T >::stiffness().
|
inline |
Get the fabric tensor as a matrix.
References micromechanical::math::vec2mat().
Referenced by ar().
|
inline |
|
inline |
Get the normal force.
idx | Index of the integration point |
References force.
Referenced by micromechanical::core::ElastoplasticContactLaw< T >::ExplicitCPA(), micromechanical::core::MicromechanicalBase< T > *::fabricEvolution(), and micromechanical::core::NonlinearElasticContactLaw< T >::postIncrement().
|
inline |
Get the fabric tensor of contact normal force component FN11.
|
inline |
Get the fabric tensor of contact normal force component FN12.
|
inline |
Get the fabric tensor of contact normal force component FN13.
|
inline |
Get the fabric tensor of contact normal force component FN22.
|
inline |
Get the fabric tensor of contact normal force component FN23.
|
inline |
Get the fabric tensor of contact normal force component FN33.
|
inline |
Get the normal force with minimal adhesive force.
idx | Index of the integration point |
cohesion | Cohesion, 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::contacts::MCCContactLaw< T >::dgdforce(), micromechanical::contacts::OSIMSANDContactLaw< T >::dgdforce(), micromechanical::contacts::SIMSANDContactLaw< T >::dgdforce(), micromechanical::core::ElastoplasticContactLaw< T >::ExplicitCPA(), feta(), fnc(), micromechanical::contacts::MCCContactLaw< T >::hardening(), micromechanical::contacts::OSIMSANDContactLaw< T >::hardening(), micromechanical::contacts::SANISANDContactLaw< T >::hardening(), micromechanical::core::NonlinearElasticContactLaw< T >::integrate(), micromechanical::contacts::SANISANDContactLaw< T >::maintainYieldSurface(), micromechanical::contacts::ExponentialContactLaw< T >::stiffness(), micromechanical::contacts::HyperbolicContactLaw< T >::stiffness(), and micromechanical::contacts::HypoplasticContactLaw< T >::stiffness().
|
inline |
|
inline |
Get the fabric tensor of contact normal force.
References micromechanical::math::vec2mat().
Referenced by an().
|
inline |
|
inline |
Get the shear force.
idx | Index of the integration point |
Referenced by micromechanical::contacts::MCCContactLaw< T >::checkConvergence(), micromechanical::contacts::MCCContactLaw< T >::dfdforce(), micromechanical::contacts::SANISANDContactLaw< T >::dfdforce(), micromechanical::contacts::SIMSANDContactLaw< T >::dfdforce(), micromechanical::contacts::MCCContactLaw< T >::dgdforce(), micromechanical::contacts::OSIMSANDContactLaw< T >::dgdforce(), micromechanical::contacts::SIMSANDContactLaw< T >::dgdforce(), micromechanical::core::ElastoplasticContactLaw< T >::ExplicitCPA(), micromechanical::core::MicromechanicalBase< T > *::fabricEvolution(), micromechanical::contacts::MCCContactLaw< T >::hardening(), micromechanical::contacts::SANISANDContactLaw< T >::maintainYieldSurface(), nst(), and micromechanical::core::NonlinearElasticContactLaw< T >::postIncrement().
|
inline |
|
inline |
Get the shear force at the first direction.
idx | Index of the integration point |
References force.
Referenced by micromechanical::contacts::HypoplasticContactLaw< T >::stiffness().
|
inline |
|
inline |
Get the shear force at both directions.
idx | Index of the integration point |
Referenced by nst().
|
inline |
|
inline |
Get the shear force at the second direction.
idx | Index of the integration point |
References force.
Referenced by micromechanical::contacts::HypoplasticContactLaw< T >::stiffness().
|
inline |
Get the fabric tensor of contact shear force component FT11.
|
inline |
Get the fabric tensor of contact shear force component FT12.
|
inline |
Get the fabric tensor of contact normal force component FT13.
|
inline |
Get the fabric tensor of contact shear force component FT22.
|
inline |
Get the fabric tensor of contact shear force component FT23.
|
inline |
Get the fabric tensor of contact shear force component FT33.
|
inline |
Get the fabric tensor of contact shear force.
References micromechanical::math::vec2mat().
Referenced by at().
|
inline |
Hash the state variables at the integration point with index idx.
dfi | Contact force increment |
idx | Index of the integration point |
precision | Precision of the hash value, by default 15 |
symmetric | Whether to revert the symmetric contact state variables, by default False |
cscalars | Custom scalar fields to be multiplied by -1 |
cvectors | Custom vector fields to be multiplied by -1 |
References cscalars.
Referenced by micromechanical::core::MicromechanicalBase< T > *::contactIntegrates().
|
inline |
Get the first invariant of the stress tensor.
Referenced by p().
|
inline |
Get the second invariant of the stress tensor.
References sigm().
|
inline |
Get the third invariant of the stress tensor.
References sigm().
|
inline |
|
inline |
Get the third invariant of the deviatoric stress tensor.
References tauij().
|
inline |
|
inline |
|
inline |
Get the slope of the critical state line.
References Mc(), Me(), and stressTensor().
|
inline |
|
inline |
|
inline |
References nst().
Referenced by micromechanical::core::MicromechanicalBase< T > *::fabricEvolution().
|
inline |
Get the shear force direction.
idx | Index of the integration point |
References fr(), fr(), fst(), and fst().
Referenced by micromechanical::contacts::MCCContactLaw< T >::dfdforce(), micromechanical::contacts::OSIMSANDContactLaw< T >::dfdforce(), micromechanical::contacts::SANISANDContactLaw< T >::dfdforce(), micromechanical::contacts::SIMSANDContactLaw< T >::dfdforce(), micromechanical::contacts::MCCContactLaw< T >::dgdforce(), micromechanical::contacts::OSIMSANDContactLaw< T >::dgdforce(), micromechanical::contacts::SANISANDContactLaw< T >::dgdforce(), micromechanical::contacts::SIMSANDContactLaw< T >::dgdforce(), micromechanical::contacts::OSIMSANDContactLaw< T >::hardening(), micromechanical::contacts::SIMSANDContactLaw< T >::hardening(), ns(), and nt().
|
inlinestatic |
Get the number of state variables.
size | Number of integration points |
dispp | Whether to include plastic displacement in the state variables |
nstatev_custom | Number of custom state variables |
Referenced by micromechanical::core::MicromechanicalBase< T > *::nstatev().
|
inline |
References nst().
Referenced by micromechanical::core::MicromechanicalBase< T > *::fabricEvolution().
|
inline |
|
inlinenoexcept |
Move assignment operator.
sv | State variable |
References StateVariable().
|
inline |
Get the mean stress.
References I1().
Referenced by micromechanical::core::ExponentialBreakageCSL< T >::CSL(), micromechanical::core::LogarithmicCSL< T >::CSL(), eta(), and micromechanical::core::FabricTensor< T >::evolve().
|
inline |
Get the equivalent plastic strain.
References epspij().
Referenced by copyToRawPointer().
|
inline |
Get the plastic strain tensor from displacements.
References micromechanical::core::Tensor2< T >::fromVector().
|
inline |
Get the plastic strain tensor.
References micromechanical::core::Tensor2< T >::fromVector().
|
inline |
Get the equivalent plastic strain from displacements.
References epspuij().
|
inline |
|
inline |
Major stress ratio siga1/siga3.
References e, siga11(), and siga33().
Referenced by micromechanical::core::ContactLawBase< T > *::frictionCoefficient().
|
inline |
Revert contact force, displacement and specified custom variables by multiplying them with -1.
idx | Index of the integration point |
cscalars | Custom scalar fields to be multiplied by -1 |
cvectors | Custom vector fields to be multiplied by -1 |
References cscalars.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Principal stresses with anisotropy.
References anisotropicStressTensor().
Referenced by siga11(), siga22(), and siga33().
|
inline |
|
inline |
|
inline |
Get the mean stress tensor.
Referenced by tauij().
|
inline |
Get the stress tensor.
References micromechanical::math::vec2mat().
Referenced by anisotropicStressTensor(), ar(), I2(), I3(), sig123(), and tauij().
|
inlinestatic |
Get the names of the state variables.
References dispp, size, and StateVariable().
|
inline |
Get the strain tensor.
References micromechanical::core::Tensor2< T >::fromVector().
|
inline |
Get the stress tensor.
References micromechanical::core::Tensor2< T >::fromVector().
Referenced by micromechanical::core::FabricTensor< T >::evolve(), and M().
|
inline |
Get the deviatoric stress tensor.
References sigkk(), and sigm().
Referenced by micromechanical::core::FabricTensor< T >::evolve(), J2(), and J3().
|
inline |
|
inline |
Get the normal displacement.
idx | Index of the integration point |
References disp.
|
inline |
|
inline |
Get the plastic normal displacement.
idx | Index of the integration point |
References dispp.
|
inline |
|
inline |
Get the plastic shear displacement.
idx | Index of the integration point |
Referenced by micromechanical::contacts::OSIMSANDContactLaw< T >::hardening(), and micromechanical::contacts::SIMSANDContactLaw< T >::hardening().
|
inline |
|
inline |
Get the plastic shear displacement at the first direction.
idx | Index of the integration point |
References dispp.
|
inline |
|
inline |
Get the plastic shear displacement at both directions.
idx | Index of the integration point |
|
inline |
|
inline |
Get the plastic shear displacement at the second direction.
idx | Index of the integration point |
References dispp.
|
inline |
|
inline |
Get the shear displacement.
idx | Index of the integration point |
Referenced by micromechanical::contacts::ExponentialContactLaw< T >::stiffness(), micromechanical::contacts::HyperbolicContactLaw< T >::stiffness(), micromechanical::contacts::OSIMSANDContactLaw< T >::yieldSurface(), and micromechanical::contacts::SIMSANDContactLaw< T >::yieldSurface().
|
inline |
|
inline |
Get the shear displacement at the first direction.
idx | Index of the integration point |
References disp.
|
inline |
|
inline |
Get the shear displacement at both directions.
idx | Index of the integration point |
|
inline |
|
inline |
Get the shear displacement at the second direction.
idx | Index of the integration point |
References disp.
Eigen::Matrix<T, 6, 1> micromechanical::core::StateVariable< T >::A = Eigen::Matrix<T, 6, 1>::Zero() |
fabric vector F
Referenced by A11(), A12(), A13(), A22(), A23(), A33(), anisotropicStressTensor(), micromechanical::core::MicromechanicalBase< T > *::fabricEvolution(), operator=(), and StateVariable().
int micromechanical::core::StateVariable< T >::cached_num = 0 |
cached number of the integration pointsd
Referenced by micromechanical::core::MicromechanicalBase< T > *::contactIntegrates(), operator=(), and StateVariable().
T micromechanical::core::StateVariable< T >::contact_min_normal_force = 1e-10 |
minimum normal force
Referenced by micromechanical::core::NonlinearElasticContactLaw< T >::integrate(), operator=(), StateVariable(), and micromechanical::contacts::CoulombContactLaw< T >::stiffness().
std::map<std::string, Eigen::Matrix<T, Eigen::Dynamic, 1> > micromechanical::core::StateVariable< T >::cscalars = {} |
custom contact scalars
Referenced by micromechanical::contacts::MCCContactLaw< T >::checkConvergence(), copyContactStateVariables(), copyFromRawPointer(), copyToRawPointer(), 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(), micromechanical::contacts::MCCContactLaw< T >::hardening(), micromechanical::contacts::SANISANDContactLaw< T >::hardening(), hash(), micromechanical::contacts::MCCContactLaw< T >::initialize(), micromechanical::contacts::SANISANDContactLaw< T >::initialize(), micromechanical::ChangHicher< T >::macroMicroIntegrate(), micromechanical::contacts::SANISANDContactLaw< T >::maintainYieldSurface(), operator=(), micromechanical::core::MicromechanicalBase< T > *::resetCustomStateVariables(), revertSymmetricContactStateVariables(), StateVariable(), micromechanical::contacts::MCCContactLaw< T >::updateHardeningVariables(), micromechanical::contacts::SANISANDContactLaw< T >::updateHardeningVariables(), micromechanical::contacts::MCCContactLaw< T >::yieldSurface(), and micromechanical::contacts::SANISANDContactLaw< T >::yieldSurface().
std::map<std::string, Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> > micromechanical::core::StateVariable< T >::cvectors = {} |
custom contact vectors
Referenced by copyFromRawPointer(), copyToRawPointer(), micromechanical::ChangHicher< T >::macroMicroIntegrate(), operator=(), micromechanical::core::MicromechanicalBase< T > *::resetCustomStateVariables(), and StateVariable().
Eigen::Matrix<T, Eigen::Dynamic, 3> micromechanical::core::StateVariable< T >::disp |
displacement
Referenced by micromechanical::ChangHicher< T >::adaptiveIntegrationSubstepping(), micromechanical::core::MicromechanicalBase< T > *::contactIntegrates(), copyFromRawPointer(), copyToRawPointer(), micromechanical::core::ElastoplasticContactLaw< T >::ExplicitCPA(), micromechanical::core::ContactLawBase< T > *::increment(), micromechanical::ChangHicher< T >::macroMicroIntegrate(), operator=(), StateVariable(), un(), us(), and ut().
Eigen::Matrix<T, Eigen::Dynamic, 3> micromechanical::core::StateVariable< T >::dispp |
plastic displacement
Referenced by copyFromRawPointer(), copyToRawPointer(), micromechanical::core::ElastoplasticContactLaw< T >::ExplicitCPA(), micromechanical::ChangHicher< T >::macroMicroIntegrate(), nStateVariables(), operator=(), StateVariable(), stateVariableNames(), upn(), ups(), and upt().
T micromechanical::core::StateVariable< T >::e = 0.0 |
void ratio
Referenced by b(), ba(), micromechanical::core::RichartStiffness< T >::elasticStiffness(), micromechanical::core::FabricTensor< T >::evolve(), micromechanical::contacts::MCCContactLaw< T >::hardening(), micromechanical::contacts::SANISANDContactLaw< T >::hardening(), micromechanical::ChangHicher< T >::macroMicroIntegrate(), operator=(), Ra(), StateVariable(), micromechanical::contacts::HypoplasticContactLaw< T >::stiffness(), micromechanical::core::CSLBase< T >::tanphip(), micromechanical::core::CSLBase< T >::tanphipt(), and micromechanical::contacts::SANISANDContactLaw< T >::yieldSurface().
T micromechanical::core::StateVariable< T >::ec = 0.0 |
critical void ratio
Referenced by micromechanical::core::ExponentialBreakageCSL< T >::CSL(), micromechanical::core::LogarithmicCSL< T >::CSL(), micromechanical::core::FabricTensor< T >::evolve(), operator=(), StateVariable(), micromechanical::core::ElastoplasticContactLaw< T >::stiffness(), micromechanical::core::CSLBase< T >::tanphip(), micromechanical::core::CSLBase< T >::tanphipt(), and micromechanical::contacts::SANISANDContactLaw< T >::yieldSurface().
Eigen::Matrix<T, 6, 1> micromechanical::core::StateVariable< T >::eps = Eigen::Matrix<T, 6, 1>::Zero() |
strain vector
Referenced by micromechanical::core::MixedLoadControl< T >::checkConvergence(), copyFromRawPointer(), copyToRawPointer(), epsv(), micromechanical::core::MixedLoadControl< T >::increment(), micromechanical::core::LoadPhase< T >::initialize(), micromechanical::ChangHicher< T >::macroMicroIntegrate(), operator=(), and StateVariable().
Eigen::Matrix<T, 6, 1> micromechanical::core::StateVariable< T >::epsp = Eigen::Matrix<T, 6, 1>::Zero() |
plastic strain vector
Referenced by copyFromRawPointer(), copyToRawPointer(), epspv(), micromechanical::ChangHicher< T >::macroMicroIntegrate(), operator=(), and StateVariable().
Eigen::Matrix<T, 6, 1> micromechanical::core::StateVariable< T >::epspu = Eigen::Matrix<T, 6, 1>::Zero() |
plastic strain vector from displacements
Referenced by epspuv(), micromechanical::ChangHicher< T >::macroMicroIntegrate(), operator=(), and StateVariable().
Eigen::Matrix<T, 6, 1> micromechanical::core::StateVariable< T >::F = Eigen::Matrix<T, 6, 1>::Zero() |
fabric vector F
Referenced by copyFromRawPointer(), copyToRawPointer(), F11(), F12(), F13(), F22(), F23(), F33(), micromechanical::core::MicromechanicalBase< T > *::fabricEvolution(), operator=(), and StateVariable().
Eigen::Matrix<T, Eigen::Dynamic, 3> micromechanical::core::StateVariable< T >::force |
force
Referenced by micromechanical::ChangHicher< T >::adaptiveIntegrationSubstepping(), micromechanical::ChangHicher< T >::contactIntegrate(), micromechanical::core::MicromechanicalBase< T > *::contactIntegrates(), copyFromRawPointer(), copyToRawPointer(), micromechanical::core::ElastoplasticContactLaw< T >::ExplicitCPA(), fn(), fs(), ft(), micromechanical::contacts::MCCContactLaw< T >::hardening(), micromechanical::core::ContactLawBase< T > *::increment(), micromechanical::ChangHicher< T >::macroMicroIntegrate(), micromechanical::contacts::SANISANDContactLaw< T >::maintainYieldSurface(), operator=(), StateVariable(), micromechanical::ChangHicher< T >::stiffness(), micromechanical::contacts::CoulombContactLaw< T >::stiffness(), micromechanical::contacts::ElasticContactLaw< T >::stiffness(), micromechanical::contacts::ExponentialContactLaw< T >::stiffness(), micromechanical::contacts::HyperbolicContactLaw< T >::stiffness(), micromechanical::contacts::HypoplasticContactLaw< T >::stiffness(), and micromechanical::core::ElastoplasticContactLaw< T >::stiffness().
int micromechanical::core::StateVariable< T >::phase = 0 |
load phase index
Referenced by operator=(), and StateVariable().
T micromechanical::core::StateVariable< T >::phi = 0.0 |
critical friction angle
Referenced by operator=(), and StateVariable().
std::map<std::string, T> micromechanical::core::StateVariable< T >::scalars = {} |
custom scalars
Referenced by micromechanical::ChangHicher< T >::contactIntegrate(), micromechanical::contacts::OSIMSANDContactLaw< T >::dfdforce(), micromechanical::contacts::SANISANDContactLaw< T >::dfdforce(), micromechanical::contacts::SANISANDContactLaw< T >::dgdforce(), micromechanical::core::FabricTensor< T >::evolve(), micromechanical::contacts::OSIMSANDContactLaw< T >::hardening(), micromechanical::contacts::SANISANDContactLaw< T >::hardening(), micromechanical::contacts::SANISANDContactLaw< T >::maintainYieldSurface(), operator=(), micromechanical::core::MicromechanicalBase< T > *::resetCustomStateVariables(), StateVariable(), micromechanical::contacts::ExponentialContactLaw< T >::stiffness(), micromechanical::contacts::HyperbolicContactLaw< T >::stiffness(), micromechanical::contacts::HypoplasticContactLaw< T >::stiffness(), micromechanical::contacts::SANISANDContactLaw< T >::updateHardeningVariables(), micromechanical::contacts::OSIMSANDContactLaw< T >::yieldSurface(), and micromechanical::contacts::SANISANDContactLaw< T >::yieldSurface().
Eigen::Matrix<T, 6, 1> micromechanical::core::StateVariable< T >::sig = Eigen::Matrix<T, 6, 1>::Zero() |
stress vector
Referenced by micromechanical::core::MixedLoadControl< T >::checkConvergence(), copyFromRawPointer(), copyToRawPointer(), micromechanical::core::MixedLoadControl< T >::increment(), micromechanical::core::LoadPhase< T >::initialize(), micromechanical::ChangHicher< T >::macroMicroIntegrate(), operator=(), StateVariable(), and micromechanical::core::MicromechanicalBase< T > *::umat().
int micromechanical::core::StateVariable< T >::size = 37 |
number of the integration points
Referenced by micromechanical::contacts::MCCContactLaw< T >::initialize(), micromechanical::contacts::SANISANDContactLaw< T >::initialize(), nStateVariables(), operator=(), StateVariable(), StateVariable(), and stateVariableNames().
std::map<std::string, Eigen::Matrix<T, Eigen::Dynamic, 1> > micromechanical::core::StateVariable< T >::vectors = {} |
custom vectors
Referenced by micromechanical::core::ElastoplasticContactLaw< T >::ExplicitCPA(), micromechanical::core::MicromechanicalBase< T > *::fabricEvolution(), micromechanical::contacts::MCCContactLaw< T >::hardening(), micromechanical::contacts::OSIMSANDContactLaw< T >::hardening(), micromechanical::contacts::SIMSANDContactLaw< T >::hardening(), operator=(), micromechanical::contacts::HypoplasticContactLaw< T >::preIntegration(), micromechanical::core::MicromechanicalBase< T > *::resetCustomStateVariables(), StateVariable(), micromechanical::contacts::HypoplasticContactLaw< T >::stiffness(), micromechanical::core::ElastoplasticContactLaw< T >::stiffness(), and micromechanical::contacts::MCCContactLaw< T >::updateHardeningVariables().
Eigen::Matrix<T, Eigen::Dynamic, 1> micromechanical::core::StateVariable< T >::w |
plastic work
Referenced by copyFromRawPointer(), copyToRawPointer(), micromechanical::core::ExponentialBreakageCSL< T >::CSL(), micromechanical::core::ElastoplasticContactLaw< T >::ExplicitCPA(), micromechanical::contacts::MCCContactLaw< T >::hardening(), micromechanical::ChangHicher< T >::macroMicroIntegrate(), operator=(), micromechanical::core::NonlinearElasticContactLaw< T >::postIncrement(), StateVariable(), and micromechanical::contacts::MCCContactLaw< T >::updateHardeningVariables().