![]() |
NeoPZ
|
#include <TPZYCModifiedMohrCoulomb.h>
Public Types | |
| enum | { NYield } |
Public Member Functions | |
| virtual int | ClassId () const override |
| Define the class id associated with the class. More... | |
| const char * | Name () const |
| void | Print (std::ostream &out) const override |
| int | GetForceYield () |
| void | SetForceYield (const int forceYield) |
| 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... | |
| void | SetYieldStatusMode (const TPZTensor< REAL > &sigma, const REAL &A) |
| void | SetUp (const REAL &phi) |
| template<class T > | |
| void | Compute (const TPZTensor< T > &sigma, const T &A, TPZVec< T > &result, int checkForcedYield=0) const |
| template<class T > | |
| void | N (const TPZTensor< T > &sigma, const T &A, TPZVec< TPZTensor< T > > &Ndir, int checkForcedYield=0) const |
| template<class T > | |
| void | H (const TPZTensor< T > &sigma, const T &A, TPZVec< T > &h, int checkForcedYield=0) const |
| template<class T > | |
| void | AlphaMultiplier (const T &A, T &multiplier) const |
| void | YieldFunction (const TPZVec< STATE > &sigma, STATE kprev, TPZVec< STATE > &yield) const override |
| virtual int | GetNYield () const override |
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 | |
Public Attributes | |
| REAL | fPhi |
Protected Attributes | |
| REAL | fCoesion |
| REAL | fPi |
Additional Inherited Members | |
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) |
Definition at line 17 of file TPZYCModifiedMohrCoulomb.h.
| anonymous enum |
| Enumerator | |
|---|---|
| NYield | |
Definition at line 21 of file TPZYCModifiedMohrCoulomb.h.
|
inline |
Multiplicador para o caso onde utilizamos uma variavel de dano modificada
Definition at line 120 of file TPZYCModifiedMohrCoulomb.h.
|
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 12 of file TPZYCModifiedMohrCoulomb.cpp.
References Hash().
| void TPZYCModifiedMohrCoulomb::Compute | ( | const TPZTensor< T > & | sigma, |
| const T & | A, | ||
| TPZVec< T > & | result, | ||
| int | checkForcedYield = 0 |
||
| ) | const |
Evaluate the yield criteria
| [in] | sigma | current stress tensor |
| [in] | A | current thermodynamical force |
| [out] | result | Derivative |
| [in] | checkForcedYield | indicates wether to force post-peak failure behavior |
Definition at line 153 of file TPZYCModifiedMohrCoulomb.h.
References cos(), DebugStop, TPZTensor< T >::Eigenvalue(), fFlag, fFlag1, fFlag2, fPhi, TPZTensor< T >::I1(), TPZTensor< T >::J2(), sin, sqrt, TPZExtractVal::val(), TPZTensor< T >::XX(), TPZTensor< T >::YY(), and TPZTensor< T >::ZZ().
Referenced by SetUp(), and YieldFunction().
|
inline |
Definition at line 36 of file TPZYCModifiedMohrCoulomb.h.
|
inlineoverridevirtual |
Implements TPZPlasticCriterion.
Definition at line 133 of file TPZYCModifiedMohrCoulomb.h.
References as_integer(), and NYield.
| void TPZYCModifiedMohrCoulomb::H | ( | const TPZTensor< T > & | sigma, |
| const T & | A, | ||
| TPZVec< T > & | h, | ||
| int | checkForcedYield = 0 |
||
| ) | const |
Derivative of the yield function with respect to the thermodynamical force
| [in] | sigma | current stress tensor |
| [in] | A | current thermodynamical force |
| [out] | h | Derivative with respect to thermodynamical force |
| [in] | checkForcedYield | indicates wether to force post-peak failure behavior |
Definition at line 354 of file TPZYCModifiedMohrCoulomb.h.
References cos(), fFlag, fFlag1, fFlag2, fPhi, sin, and sqrt.
Referenced by SetUp().
| void TPZYCModifiedMohrCoulomb::N | ( | const TPZTensor< T > & | sigma, |
| const T & | A, | ||
| TPZVec< TPZTensor< T > > & | Ndir, | ||
| int | checkForcedYield = 0 |
||
| ) | const |
Derivative of the yield function
| [in] | sigma | current stress tensor |
| [in] | A | current thermodynamical force |
| [out] | Ndir | Stress derivative |
| [in] | checkForcedYield | indicates wether to force post-peak failure behavior |
Definition at line 260 of file TPZYCModifiedMohrCoulomb.h.
References TPZTensor< T >::Add(), TPZTensor< T >::Eigenvalue(), fFlag, fFlag1, fFlag2, fPhi, TPZTensor< T >::J2(), TPZTensor< T >::S(), sin, sqrt, TPZTensor< T >::XX(), TPZTensor< T >::YY(), and TPZTensor< T >::ZZ().
Referenced by SetUp().
|
inline |
Definition at line 26 of file TPZYCModifiedMohrCoulomb.h.
Referenced by Print().
|
inlineoverridevirtual |
Reimplemented from TPZPlasticCriterion.
Definition at line 31 of file TPZYCModifiedMohrCoulomb.h.
References Name().
|
inlineoverridevirtual |
read objects from the stream
Reimplemented from TPZSavable.
Definition at line 52 of file TPZYCModifiedMohrCoulomb.h.
References fCoesion, fPhi, fPi, and TPZStream::Read().
|
inline |
Definition at line 41 of file TPZYCModifiedMohrCoulomb.h.
|
inline |
Setup of material parameters
| [in] | phi | Mohr Coulomb's internal friction angle VERY IMPORTANT!! The ThermoForceA parameters should be set as: fk: Herdening slope for the cohesion fYield0 : equivalent Mohr Coulomb cohesion C |
Definition at line 78 of file TPZYCModifiedMohrCoulomb.h.
|
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 65 of file TPZYCModifiedMohrCoulomb.h.
|
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 46 of file TPZYCModifiedMohrCoulomb.h.
References fCoesion, fPhi, fPi, and TPZStream::Write().
|
inlineoverridevirtual |
Implements TPZPlasticCriterion.
Definition at line 125 of file TPZYCModifiedMohrCoulomb.h.
References Compute(), TPZTensor< T >::XX(), TPZTensor< T >::YY(), and TPZTensor< T >::ZZ().
|
protected |
Definition at line 144 of file TPZYCModifiedMohrCoulomb.h.
| REAL TPZYCModifiedMohrCoulomb::fPhi |
|
protected |
Definition at line 144 of file TPZYCModifiedMohrCoulomb.h.
1.8.13