NeoPZ
|
Implementa as funções de potencial plástico e yield criterium do modelo constitutivo de Lade Kim para solo e rochas brandas. More...
#include <TPZYCLadeKim.h>
Public Types | |
enum | { NYield } |
Public Member Functions | |
virtual int | ClassId () const override |
Define the class id associated with the class. More... | |
TPZYCLadeKim () | |
TPZYCLadeKim (const TPZYCLadeKim &source) | |
TPZYCLadeKim & | operator= (const TPZYCLadeKim &source) |
void | Write (TPZStream &buf, int withclassid) const override |
Writes this object to the TPZStream buffer. Include the classid if withclassid = true. More... | |
void | Read (TPZStream &buf, void *context) override |
read objects from the stream More... | |
const char * | Name () const |
void | Print (std::ostream &out) const override |
int | GetForceYield () |
void | SetForceYield (const int forceYield) |
template<class T > | |
void | Compute (const TPZTensor< T > &sigma, const T &A, TPZVec< T > &res, int checkForcedYield) const |
Calculo do criterio de plastificacao. More... | |
template<class T > | |
void | ComputePlasticPotential (const TPZTensor< T > &sigma, const T &A, T &PlasticPot, int checkForcedYield) const |
Calculo da função de potencial plástico. More... | |
template<class T > | |
void | N (const TPZTensor< T > &sigma, const T &A, TPZVec< TPZTensor< T > > &Ndir, int checkForcedYield) const |
Derivada da derivada da funcao de potencial plastico (direção de plastificação) More... | |
template<class T > | |
void | H (const TPZTensor< T > &sigma, const T &A, TPZVec< T > &h, int checkForcedYield) const |
Derivada da funcao de plastificacao com respeito a forca termodinamica. More... | |
void | SetUp (REAL Ksi1, REAL Ksi2, REAL h, REAL Alpha, REAL Mu, REAL neta1, REAL m, REAL pa) |
template<class T > | |
void | AlphaMultiplier (const T &A, T &multiplier) const |
void | SetYieldStatusMode (const TPZTensor< REAL > &sigma, const REAL &A) |
Checks if the proposed yield state leads to post-peak material behaviour. If so, the material is forced to behave in post-peak in order to avoid equation switching during Newton's method in the PlasticLoop routines. More... | |
void | YieldFunction (const TPZVec< STATE > &sigma, STATE kprev, TPZVec< STATE > &yield) const override |
virtual int | GetNYield () const override |
int | NumCases () |
number of types of residuals More... | |
void | LoadState (TPZFMatrix< REAL > &state) |
LoadState will keep a given state as static variable of the class. More... | |
void | ComputeTangent (TPZFMatrix< REAL > &tangent, TPZVec< REAL > &, int icase) |
void | Residual (TPZFMatrix< REAL > &res, int icase) |
Public Member Functions inherited from TPZSavable | |
TPZSavable () | |
virtual | ~TPZSavable () |
virtual std::list< std::map< std::string, uint64_t > > | VersionHistory () const |
virtual std::pair< std::string, uint64_t > | Version () const |
virtual bool | Compare (TPZSavable *copy, bool override=false) |
Compares the object for identity with the object pointed to, eventually copy the object. More... | |
virtual bool | Compare (TPZSavable *copy, bool override=false) const |
Compares the object for identity with the object pointed to, eventually copy the object. More... | |
Public Member Functions inherited from TPZRegisterClassId | |
template<typename T > | |
TPZRegisterClassId (int(T::*)() const) | |
TPZRegisterClassId ()=default | |
Static Public Member Functions | |
static void | CheckConv () |
Static Public Member Functions inherited from TPZSavable | |
static std::set< TPZRestoreClassBase * > & | RestoreClassSet () |
This static function guarantees that the gMap object is available when needed. More... | |
static std::map< int, TPZRestore_t > & | ClassIdMap () |
This static function guarantees that the gMap object is available when needed. More... | |
static std::pair< std::string, uint64_t > | NeoPZVersion () |
static void | Register (TPZRestoreClassBase *restore) |
static void | RegisterClassId (int classid, TPZRestore_t fun) |
static TPZSavable * | CreateInstance (const int &classId) |
Public Attributes | |
REAL | fKsi1 |
Parameter related to the YC and Plastic Potential Ksi1 models the shape of the yield funcition at the deviatoric planes by defining the relative influence of invariants I3 and I2. The I3 term leads to a triangular shaped YC at the deviatoric planes while the I2 term leads to a circular shaped YC. OBS: Ksi1 may be related to the m parameter (curvature of meridians for failure surface) through the expression: ksi1 = 0.00155 * m ^ -1.27. More... | |
REAL | fh |
Parameter related to the YC The h constant models the curvature of the YC meridians, i.e., how the meridians vary along with the level of hydrostatic stress (I1/3). More... | |
REAL | m_hardening |
Parameter related to the YC Alpha models how the exponent q varies according to the proximity of the stress state to the failure surface (surface at which the material starts to soften). In the bibliography, q is defined as a function of the stress level only. During isotropic compression, q evaluates to null and the material is allowed to plastify and harden unlimitedly; Stress paths that lead to deviatoric stresses correspond to values of q between 0 and 1, assuming 1 when the material reaches the failure surface. Phisically one may say that the parameter Alpha (and therefore q too) is responsible for the material behavior of increasing rates of hardening with increasing deviatoric stresses. Notice that this alpha is not related to the Plastic Damage variable. More... | |
REAL | fKsi2 |
Parameter related to the Plastic Potential Ksi2 controls the intersection of the Plastic Potential with the Hydrostatic axis. More... | |
REAL | fMu |
Parameter related to the Plastic Potential Mu defines the curvature of the meridians. More... | |
REAL | fNeta1 |
Parameter related to the Failure Surface Neta1 is the value of the failure Surface for the material when it fails. More... | |
REAL | fm |
Parameter related to the Failure Surface m models the curvature of the meridians of the Failure Surface. More... | |
REAL | fPa |
Atmospheric pressure to input/remove dimensional effects. More... | |
int | fForceYield |
Post Peak material behavior. More... | |
Static Public Attributes | |
static TPZTensor< REAL > | gRefTension |
Implementa as funções de potencial plástico e yield criterium do modelo constitutivo de Lade Kim para solo e rochas brandas.
Definition at line 27 of file TPZYCLadeKim.h.
anonymous enum |
Enumerator | |
---|---|
NYield |
Definition at line 31 of file TPZYCLadeKim.h.
|
inline |
Definition at line 35 of file TPZYCLadeKim.h.
|
inline |
Definition at line 37 of file TPZYCLadeKim.h.
References fForceYield, fh, fKsi1, fKsi2, fm, fMu, fNeta1, fPa, and m_hardening.
|
inline |
Multiplicador para o caso onde utilizamos uma variavel de dano modificada
Definition at line 174 of file TPZYCLadeKim.h.
References SetYieldStatusMode().
|
inlinestatic |
|
overridevirtual |
Define the class id associated with the class.
This id has to be unique for all classes A non unique id is flagged at the startup of the program
Implements TPZSavable.
Definition at line 4 of file TPZYCLadeKim.cpp.
References Hash().
|
inline |
Calculo do criterio de plastificacao.
[in] | sigma | tensao atual |
res | vector | |
[in] | A | forca thermodinamica atual |
[in] | checkForcedYield | indicates wether to force post-peak failure behavior |
Definition at line 320 of file TPZYCLadeKim.h.
References exp, fabs, fForceYield, fh, fKsi1, fm, fNeta1, fPa, TPZTensor< T >::I1(), TPZTensor< T >::I2(), TPZTensor< T >::I3(), log, LOGPZ_INFO, LOGPZ_WARN, m_hardening, and TPZExtractVal::val().
Referenced by SetForceYield(), and YieldFunction().
|
inline |
Calculo da função de potencial plástico.
[in] | sigma | tensao atual |
[in] | A | forca thermodinamica atual |
[out] | PlasticPot | Derivada com respeito a tensao |
[in] | checkForcedYield | indicates wether to force post-peak failure behavior |
Definition at line 445 of file TPZYCLadeKim.h.
References exp, fabs, fKsi1, fKsi2, fMu, fPa, TPZTensor< T >::I1(), TPZTensor< T >::I2(), TPZTensor< T >::I3(), log, and TPZExtractVal::val().
Referenced by H(), Residual(), and SetForceYield().
|
inline |
Definition at line 594 of file TPZYCLadeKim.h.
References TPZTensor< T >::CopyTo(), gRefTension, LOGPZ_DEBUG, N(), and TPZFMatrix< TVar >::Redim().
|
inline |
Definition at line 107 of file TPZYCLadeKim.h.
References fForceYield.
|
inlineoverridevirtual |
Implements TPZPlasticCriterion.
Definition at line 196 of file TPZYCLadeKim.h.
References as_integer(), and NYield.
|
inline |
Derivada da funcao de plastificacao com respeito a forca termodinamica.
[in] | sigma | tensao atual |
[in] | A | forca termodinamica atual |
[out] | h | Derivada com respeito a forca termodinamica |
[in] | checkForcedYield | indicates wether to force post-peak failure behavior |
Definition at line 515 of file TPZYCLadeKim.h.
References ComputePlasticPotential(), and fMu.
Referenced by SetForceYield().
|
inline |
LoadState will keep a given state as static variable of the class.
Definition at line 580 of file TPZYCLadeKim.h.
References gRefTension, and LOGPZ_DEBUG.
|
inline |
Derivada da derivada da funcao de potencial plastico (direção de plastificação)
[in] | sigma | tensao atual |
[in] | A | forca termodinamica atual |
[out] | Ndir | Derivada com respeito a tensao |
[in] | checkForcedYield | indicates wether to force post-peak failure behavior |
Definition at line 463 of file TPZYCLadeKim.h.
References exp, fabs, fKsi1, fKsi2, fMu, fPa, TPZTensor< T >::I1(), TPZTensor< T >::I2(), TPZTensor< T >::I3(), log, TPZExtractVal::val(), TPZTensor< T >::XX(), TPZTensor< T >::XY(), TPZTensor< T >::XZ(), TPZTensor< T >::YY(), TPZTensor< T >::YZ(), and TPZTensor< T >::ZZ().
Referenced by ComputeTangent(), Residual(), and SetForceYield().
|
inline |
Definition at line 88 of file TPZYCLadeKim.h.
Referenced by Print().
|
inline |
number of types of residuals
Definition at line 575 of file TPZYCLadeKim.h.
|
inline |
Definition at line 50 of file TPZYCLadeKim.h.
References fForceYield, fh, fKsi1, fKsi2, fm, fMu, fNeta1, fPa, and m_hardening.
|
inlineoverridevirtual |
Reimplemented from TPZPlasticCriterion.
Definition at line 93 of file TPZYCLadeKim.h.
References fForceYield, fh, fKsi1, fKsi2, fm, fMu, fNeta1, fPa, m_hardening, and Name().
|
inlineoverridevirtual |
read objects from the stream
Reimplemented from TPZSavable.
Definition at line 76 of file TPZYCLadeKim.h.
References fForceYield, fh, fKsi1, fKsi2, fm, fMu, fNeta1, fPa, m_hardening, and TPZStream::Read().
|
inline |
Definition at line 639 of file TPZYCLadeKim.h.
References ComputePlasticPotential(), gRefTension, LOGPZ_DEBUG, N(), TPZFMatrix< TVar >::Redim(), and test::res.
|
inline |
Definition at line 112 of file TPZYCLadeKim.h.
References Compute(), ComputePlasticPotential(), fForceYield, h, H(), N(), and test::res.
|
inline |
Definition at line 157 of file TPZYCLadeKim.h.
References fh, fKsi1, fKsi2, fm, fMu, fNeta1, fPa, h, m, and m_hardening.
Referenced by CheckConv().
|
inline |
Checks if the proposed yield state leads to post-peak material behaviour. If so, the material is forced to behave in post-peak in order to avoid equation switching during Newton's method in the PlasticLoop routines.
[in] | sigma | stress state |
[in] | A | Thermo Force |
Definition at line 524 of file TPZYCLadeKim.h.
References fabs, fForceYield, fm, fNeta1, fPa, TPZTensor< T >::I1(), TPZTensor< T >::I3(), LOGPZ_INFO, pow(), and TPZExtractVal::val().
Referenced by AlphaMultiplier().
|
inlineoverridevirtual |
Writes this object to the TPZStream buffer. Include the classid if withclassid = true.
Writes this object to the TPZStream buffer. Include the classid if withclassid = true
Reimplemented from TPZSavable.
Definition at line 64 of file TPZYCLadeKim.h.
References fForceYield, fh, fKsi1, fKsi2, fm, fMu, fNeta1, fPa, m_hardening, and TPZStream::Write().
|
inlineoverridevirtual |
Implements TPZPlasticCriterion.
Definition at line 188 of file TPZYCLadeKim.h.
References Compute(), TPZTensor< T >::XX(), TPZTensor< T >::YY(), and TPZTensor< T >::ZZ().
int TPZYCLadeKim::fForceYield |
Post Peak material behavior.
Definition at line 262 of file TPZYCLadeKim.h.
Referenced by Compute(), GetForceYield(), operator=(), Print(), Read(), SetForceYield(), SetYieldStatusMode(), TPZYCLadeKim(), and Write().
REAL TPZYCLadeKim::fh |
Parameter related to the YC
The h constant models the curvature of the YC meridians, i.e., how the meridians vary along with the level of hydrostatic stress (I1/3).
Definition at line 216 of file TPZYCLadeKim.h.
Referenced by Compute(), operator=(), Print(), Read(), SetUp(), TPZYCLadeKim(), and Write().
REAL TPZYCLadeKim::fKsi1 |
Parameter related to the YC and Plastic Potential Ksi1 models the shape of the yield funcition at the deviatoric planes by defining the relative influence of invariants I3 and I2. The I3 term leads to a triangular shaped YC at the deviatoric planes while the I2 term leads to a circular shaped YC. OBS: Ksi1 may be related to the m parameter (curvature of meridians for failure surface) through the expression: ksi1 = 0.00155 * m ^ -1.27.
Definition at line 209 of file TPZYCLadeKim.h.
Referenced by Compute(), ComputePlasticPotential(), N(), operator=(), Print(), Read(), SetUp(), TPZYCLadeKim(), and Write().
REAL TPZYCLadeKim::fKsi2 |
Parameter related to the Plastic Potential
Ksi2 controls the intersection of the Plastic Potential with the Hydrostatic axis.
Definition at line 238 of file TPZYCLadeKim.h.
Referenced by ComputePlasticPotential(), N(), operator=(), Print(), Read(), SetUp(), TPZYCLadeKim(), and Write().
REAL TPZYCLadeKim::fm |
Parameter related to the Failure Surface
m models the curvature of the meridians of the Failure Surface.
Definition at line 256 of file TPZYCLadeKim.h.
Referenced by Compute(), operator=(), Print(), Read(), SetUp(), SetYieldStatusMode(), TPZYCLadeKim(), and Write().
REAL TPZYCLadeKim::fMu |
Parameter related to the Plastic Potential
Mu defines the curvature of the meridians.
Definition at line 244 of file TPZYCLadeKim.h.
Referenced by ComputePlasticPotential(), H(), N(), operator=(), Print(), Read(), SetUp(), TPZYCLadeKim(), and Write().
REAL TPZYCLadeKim::fNeta1 |
Parameter related to the Failure Surface
Neta1 is the value of the failure Surface for the material when it fails.
Definition at line 250 of file TPZYCLadeKim.h.
Referenced by Compute(), operator=(), Print(), Read(), SetUp(), SetYieldStatusMode(), TPZYCLadeKim(), and Write().
REAL TPZYCLadeKim::fPa |
Atmospheric pressure to input/remove dimensional effects.
Definition at line 259 of file TPZYCLadeKim.h.
Referenced by Compute(), ComputePlasticPotential(), N(), operator=(), Print(), Read(), SetUp(), SetYieldStatusMode(), TPZYCLadeKim(), and Write().
|
static |
Definition at line 270 of file TPZYCLadeKim.h.
Referenced by ComputeTangent(), LoadState(), and Residual().
REAL TPZYCLadeKim::m_hardening |
Parameter related to the YC
Alpha models how the exponent q varies according to the proximity of the stress state to the failure surface (surface at which the material starts to soften). In the bibliography, q is defined as a function of the stress level only. During isotropic compression, q evaluates to null and the material is allowed to plastify and harden unlimitedly; Stress paths that lead to deviatoric stresses correspond to values of q between 0 and 1, assuming 1 when the material reaches the failure surface. Phisically one may say that the parameter Alpha (and therefore q too) is responsible for the material behavior of increasing rates of hardening with increasing deviatoric stresses. Notice that this alpha is not related to the Plastic Damage variable.
Definition at line 232 of file TPZYCLadeKim.h.
Referenced by Compute(), operator=(), Print(), Read(), SetUp(), TPZYCLadeKim(), and Write().