NeoPZ
|
#include <TPZYCSandlerDimaggio.h>
Public Types | |
enum | { NYield } |
Public Member Functions | |
virtual int | ClassId () const override |
Define the class id associated with the class. More... | |
TPZYCSandlerDimaggio () | |
TPZYCSandlerDimaggio (const TPZYCSandlerDimaggio &source) | |
TPZYCSandlerDimaggio & | operator= (const TPZYCSandlerDimaggio &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... | |
virtual | ~TPZYCSandlerDimaggio () |
const char * | Name () const |
void | Print (std::ostream &out) const override |
int | GetForceYield () |
void | SetForceYield (const int forceYield) |
void | SetYieldStatusMode (const TPZTensor< REAL > &sigma, const REAL &A) |
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 | N (const TPZTensor< T > &sigma, const T &A, TPZVec< TPZTensor< T > > &Ndir, int checkForcedYield) const |
template<class T > | |
void | H (const TPZTensor< T > &sigma, const T &A, TPZVec< T > &h, int checkForcedYield) const |
void | SetUp (REAL A, REAL B, REAL C, REAL D, REAL R, REAL W) |
template<class T > | |
void | AlphaMultiplier (const T &A, T &multiplier) const |
REAL | InitialDamage () |
void | InitialGuess (const TPZElasticResponse &ER, REAL epsp, TPZTensor< REAL > &sigtrial, REAL &epspproj, TPZVec< REAL > &delgamma, TPZTensor< REAL > &sigproj) |
REAL | FZero () const |
REAL | LMax () const |
template<class T > | |
void | EpspFromL (const T &L, T &epsp) const |
template<class T > | |
void | DEpspDL (const T &L, T &depspdL) const |
template<class T > | |
void | D2EpspDL2 (const T &L, T &d2epspdL2) const |
void | YieldFunction (const TPZVec< STATE > &sigma, STATE kprev, TPZVec< STATE > &yield) const override |
virtual int | GetNYield () const override |
template<class T > | |
void | SolveL (const T &X, T &L, REAL relTol=1.e-10) const |
template<class T > | |
void | ComputeF (const T &L, T &F) const |
template<class T > | |
void | ComputedF (const T &L, T &dF) const |
template<class T > | |
void | ComputeX (const T &A, T &X) const |
int | NumCases () |
void | LoadState (TPZFMatrix< REAL > &state) |
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 void | TestSolveL () |
static void | McCormicRanchSand (TPZYCSandlerDimaggio &material) |
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 | fA |
REAL | fB |
REAL | fC |
REAL | fD |
REAL | fW |
REAL | fR |
bool | fIsonCap |
Static Public Attributes | |
static TPZTensor< REAL > | gRefTension |
Protected Member Functions | |
template<class T > | |
void | ComputeDL (const T &L, const T &A, T &DL) const |
template<class T > | |
void | LInitialGuess (const T &X, T &L) const |
void | ComputeD2F (REAL L, REAL &D2F) const |
REAL | Distance (const TPZElasticResponse &ER, REAL L, TPZVec< REAL > &sigtrialIJ) const |
compute the distance between the trial point and the point on the F1 curve More... | |
REAL | DDistance (const TPZElasticResponse &ER, REAL L, TPZVec< REAL > &sigtrialIJ) const |
compute the derivative of the distance with respect to L More... | |
REAL | D2Distance (const TPZElasticResponse &ER, REAL L, TPZVec< REAL > &sigtrialIJ) const |
compute the second derivative of the distance with respect to L More... | |
REAL | ComputeEpsp (const REAL L) const |
REAL | FuncEpsp (const TPZElasticResponse &ER, REAL theta, REAL epsp, REAL delepsp, TPZVec< REAL > &sigtrialIJ) |
REAL | FuncEpspUsingL (const TPZElasticResponse &ER, REAL theta, REAL epspini, REAL L, TPZVec< REAL > &sigtrialIJ) |
void | DFuncEpspUsingL (const TPZElasticResponse &ER, REAL theta, REAL L, TPZVec< REAL > &sigtrialIJ, TPZVec< REAL > &result) const |
void | DFuncEpsp (const TPZElasticResponse &ER, REAL theta, REAL epsp, REAL delepsp, TPZVec< REAL > &result) const |
REAL | FuncEpspL (const TPZElasticResponse &ER, REAL theta, REAL L, REAL deltaL, TPZVec< REAL > &sigtrialIJ) |
void | DFuncEpspL (const TPZElasticResponse &ER, REAL theta, REAL L, REAL deltaL, TPZVec< REAL > &sigtrialIJ, TPZVec< REAL > &result) const |
REAL | FuncThetaL (const TPZElasticResponse &ER, REAL theta, REAL L, TPZVec< REAL > &sigtrialIJ) const |
REAL | FuncTheta (const TPZElasticResponse &ER, REAL theta, REAL epsp, REAL delepsp, TPZVec< REAL > &sigtrialIJ) const |
REAL | FuncTheta2L (const TPZElasticResponse &ER, REAL theta, REAL L, TPZVec< REAL > &sigtrialIJ) const |
REAL | FuncTheta2 (const TPZElasticResponse &ER, REAL theta, REAL epsp, REAL delepsp, TPZVec< REAL > &sigtrialIJ) const |
REAL | DistThetaL (const TPZElasticResponse &ER, REAL theta, REAL L, TPZVec< REAL > &sigtrialIJ) const |
REAL | DistTheta (const TPZElasticResponse &ER, REAL theta, REAL epsp, REAL delepsp, TPZVec< REAL > &sigtrialIJ) const |
void | DFuncTheta (const TPZElasticResponse &ER, REAL theta, REAL epsp, REAL delepsp, TPZVec< REAL > &sigtrialIJ, TPZVec< REAL > &result) const |
void | DFuncTheta2 (const TPZElasticResponse &ER, REAL theta, REAL epsp, REAL delepsp, TPZVec< REAL > &sigtrialIJ, TPZVec< REAL > &result) const |
void | DFuncTheta2L (const TPZElasticResponse &ER, REAL theta, REAL L, TPZVec< REAL > &sigtrialIJ, TPZVec< REAL > &result) const |
void | UpdateSigtrialIJ (const TPZElasticResponse &ER, REAL epsp, REAL theta, TPZVec< REAL > &sigtrialIJ) |
void | UpdateSigtrialIJL (const TPZElasticResponse &ER, REAL L, REAL theta, TPZVec< REAL > &sigtrialIJ) |
void | NewtonF1 (const TPZElasticResponse &ER, REAL &L, TPZVec< REAL > &sigtrialIJ) |
Projeto o ponto sobre a superficie F1, atualiza o L. More... | |
void | NewtonF2 (const TPZElasticResponse &ER, REAL &epsp, TPZVec< REAL > &sigtrialIJ) |
void | NewtonF3 (const TPZElasticResponse &ER, REAL &epsp, TPZVec< REAL > &sigtrialIJ) |
void | NewtonF2L (const TPZElasticResponse &ER, REAL &L, TPZVec< REAL > &sigtrialIJ) |
Implementa as funções de potencial plástico e yield criterium do modelo constitutivo associativo de Sandler e Dimaggio (1971), desenvolvido inicialmente para arenitos (Ranch McCormic Sand)
Definition at line 31 of file TPZYCSandlerDimaggio.h.
anonymous enum |
Enumerator | |
---|---|
NYield |
Definition at line 34 of file TPZYCSandlerDimaggio.h.
|
inline |
Definition at line 40 of file TPZYCSandlerDimaggio.h.
|
inline |
|
inlinevirtual |
Definition at line 82 of file TPZYCSandlerDimaggio.h.
|
inline |
Multiplicador para o caso onde utilizamos uma variavel de dano modificada
Definition at line 164 of file TPZYCSandlerDimaggio.h.
|
inlinestatic |
Definition at line 1442 of file TPZYCSandlerDimaggio.h.
References _XX_, _XY_, _XZ_, _YY_, _ZZ_, CheckConvergence(), and McCormicRanchSand().
|
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.
Reimplemented in TPZYCSandlerDimaggioL, and TPZYCSandlerDimaggioL2.
Definition at line 4 of file TPZYCSandlerDimaggio.cpp.
References Hash().
Referenced by TPZYCSandlerDimaggioL::ClassId().
|
inline |
Calculo do criterio de plastificacao.
[in] | sigma | tensao atual |
[in] | A | forca thermodinamica atual |
[out] | res | Result |
[in] | checkForcedYield | indicates whether to force post-peak failure behavior |
Definition at line 1008 of file TPZYCSandlerDimaggio.h.
References ComputeF(), ComputeX(), fabs, FL, fR, TPZTensor< T >::I1(), TPZTensor< T >::J2(), LInitialGuess(), LOGPZ_INFO, LOGPZ_WARN, SolveL(), sqrt, and TPZExtractVal::val().
Referenced by InitialGuess(), Residual(), SetYieldStatusMode(), TestSolveL(), TPZPlasticTest::UndocumentedTest4(), and YieldFunction().
|
inlineprotected |
Compute the second derivative of F
Definition at line 1311 of file TPZYCSandlerDimaggio.h.
Referenced by D2Distance(), and GetNYield().
|
inline |
Evaluates the F(L) grouping total derivative
Definition at line 1307 of file TPZYCSandlerDimaggio.h.
Referenced by D2Distance(), DDistance(), DFuncEpsp(), DFuncEpspL(), DFuncEpspUsingL(), DFuncTheta(), DFuncTheta2(), DFuncTheta2L(), GetNYield(), SolveL(), and TestSolveL().
|
inlineprotected |
compute the derivative of the L function as a function of epsp (A)
[in] | L | value of the L function corresponding to A |
[in] | value | of the volumetric plastic strain |
[out] | derivative | of L with respect to A |
Definition at line 1292 of file TPZYCSandlerDimaggio.h.
References exp, fB, fC, fD, fR, fW, LMax(), and TPZExtractVal::val().
Referenced by DFuncEpsp(), DFuncTheta(), DFuncTheta2(), and GetNYield().
|
inlineprotected |
Computes the value of volumetric plastic strain as a function of L
Definition at line 303 of file TPZYCSandlerDimaggio.h.
References ComputeF(), exp, fD, FL, fR, and fW.
Referenced by FuncEpspUsingL(), NewtonF2(), and NewtonF3().
|
inline |
Evaluates the F(L) grouping
Definition at line 1302 of file TPZYCSandlerDimaggio.h.
References exp, fA, fB, and fC.
Referenced by TPZYCSandlerDimaggioL2::Compute(), TPZYCSandlerDimaggioL::Compute(), Compute(), ComputeEpsp(), D2Distance(), D2EpspDL2(), DDistance(), DEpspDL(), DFuncEpsp(), DFuncEpspL(), DFuncEpspUsingL(), DFuncTheta(), DFuncTheta2(), DFuncTheta2L(), Distance(), DistThetaL(), EpspFromL(), FuncEpsp(), FuncEpspL(), FuncEpspUsingL(), FuncTheta2L(), FuncThetaL(), GetNYield(), TPZYCSandlerDimaggioL2::H(), TPZYCSandlerDimaggioL::H(), H(), TPZYCSandlerDimaggioL2::InitialGuess(), TPZYCSandlerDimaggioL::InitialGuess(), LInitialGuess(), TPZYCSandlerDimaggioL2::N(), TPZYCSandlerDimaggioL::N(), N(), NewtonF1(), NewtonF2(), NewtonF2L(), NewtonF3(), TPZYCSandlerDimaggioL2::ProjectBorder(), SolveL(), TestSolveL(), and UpdateSigtrialIJL().
|
inline |
Definition at line 1363 of file TPZYCSandlerDimaggio.h.
References TPZTensor< T >::CopyTo(), TPZTensor< T >::fData, gRefTension, LOGPZ_DEBUG, N(), and TPZFMatrix< TVar >::Redim().
|
inline |
Evaluates X(EpsilonPvol), the value of the first invariant of an hydrostatic stress tensor at the cap yield surface. In this implementation X should negative in compression.
Definition at line 1316 of file TPZYCSandlerDimaggio.h.
References DebugStop, fD, fW, log, LOGPZ_WARN, and TPZExtractVal::val().
Referenced by Compute(), DFuncEpsp(), DFuncTheta(), DFuncTheta2(), DistTheta(), FuncEpsp(), FuncTheta(), FuncTheta2(), GetNYield(), H(), TPZYCSandlerDimaggioL2::InitialDamage(), TPZYCSandlerDimaggioL::InitialDamage(), N(), NewtonF2(), NewtonF3(), TestSolveL(), and UpdateSigtrialIJ().
|
inlineprotected |
compute the second derivative of the distance with respect to L
Definition at line 1850 of file TPZYCSandlerDimaggio.h.
References ComputeD2F(), ComputedF(), ComputeF(), TPZElasticResponse::G(), and TPZElasticResponse::K().
Referenced by GetNYield(), and NewtonF1().
void TPZYCSandlerDimaggio::D2EpspDL2 | ( | const T & | L, |
T & | d2epspdL2 | ||
) | const |
compute the second derivative of epsp as a function from L
Definition at line 1726 of file TPZYCSandlerDimaggio.h.
References ComputeF(), exp, fB, fC, fD, FL, fR, and fW.
Referenced by TPZYCSandlerDimaggioL::ComputeLatIntersectionLeft(), DFuncEpspL(), LMax(), NewtonF1(), and TPZYCSandlerDimaggioL2::ProjectBorder().
|
inlineprotected |
compute the derivative of the distance with respect to L
Definition at line 1832 of file TPZYCSandlerDimaggio.h.
References ComputedF(), ComputeF(), TPZElasticResponse::G(), and TPZElasticResponse::K().
Referenced by GetNYield(), and NewtonF1().
void TPZYCSandlerDimaggio::DEpspDL | ( | const T & | L, |
T & | depspdL | ||
) | const |
compute the derivative of epsp as a function from L
Definition at line 1714 of file TPZYCSandlerDimaggio.h.
References ComputeF(), exp, fB, fC, fD, FL, fR, and fW.
Referenced by TPZYCSandlerDimaggioL::AlphaMultiplier(), TPZYCSandlerDimaggioL::ComputeLatIntersectionLeft(), DFuncEpspL(), DFuncEpspUsingL(), FuncEpspL(), LMax(), NewtonF1(), and TPZYCSandlerDimaggioL2::ProjectBorder().
|
inlineprotected |
compute the derivative of the function FuncEpsp with respect to theta and delepsp
Definition at line 365 of file TPZYCSandlerDimaggio.h.
References ComputedF(), ComputeDL(), ComputeF(), ComputeX(), cos(), fR, TPZElasticResponse::Lambda(), LInitialGuess(), TPZElasticResponse::Mu(), sin, and SolveL().
Referenced by NewtonF2().
|
inlineprotected |
compute the derivative of the function FuncEpsp with respect to theta and delepsp
Definition at line 414 of file TPZYCSandlerDimaggio.h.
References ComputedF(), ComputeF(), cos(), D2EpspDL2(), DEpspDL(), fR, TPZElasticResponse::Lambda(), TPZElasticResponse::Mu(), and sin.
Referenced by NewtonF2L().
|
inlineprotected |
compute the derivative of the function FuncEpsp with respect to theta and delepsp
Definition at line 348 of file TPZYCSandlerDimaggio.h.
References ComputedF(), ComputeF(), cos(), DEpspDL(), fR, TPZElasticResponse::Lambda(), TPZElasticResponse::Mu(), and sin.
Referenced by NewtonF3().
|
inlineprotected |
compute the derivative of the function FuncTheta with respect to theta and delepsp
Definition at line 518 of file TPZYCSandlerDimaggio.h.
References ComputedF(), ComputeDL(), ComputeF(), ComputeX(), cos(), fR, TPZElasticResponse::Lambda(), LInitialGuess(), TPZElasticResponse::Mu(), sin, and SolveL().
|
inlineprotected |
compute the derivative of the function FuncTheta with respect to theta and delepsp
Definition at line 547 of file TPZYCSandlerDimaggio.h.
References ComputedF(), ComputeDL(), ComputeF(), ComputeX(), cos(), fR, TPZElasticResponse::Lambda(), LInitialGuess(), TPZElasticResponse::Mu(), sin, and SolveL().
Referenced by NewtonF2().
|
inlineprotected |
compute the derivative of the function FuncTheta with respect to theta and delepsp
Definition at line 575 of file TPZYCSandlerDimaggio.h.
References ComputedF(), ComputeF(), cos(), fR, TPZElasticResponse::Lambda(), TPZElasticResponse::Mu(), and sin.
Referenced by NewtonF2L(), and NewtonF3().
|
inlineprotected |
compute the distance between the trial point and the point on the F1 curve
Definition at line 1817 of file TPZYCSandlerDimaggio.h.
References ComputeF(), dist(), TPZElasticResponse::G(), and TPZElasticResponse::K().
Referenced by GetNYield().
|
inlineprotected |
compute the value of the distance which determines the orthogonality of the projection
Definition at line 508 of file TPZYCSandlerDimaggio.h.
References ComputeX(), DistThetaL(), and SolveL().
Referenced by NewtonF2().
|
inlineprotected |
compute the value of the distance which determines the orthogonality of the projection
Definition at line 492 of file TPZYCSandlerDimaggio.h.
References ComputeF(), cos(), dist(), fR, TPZElasticResponse::Lambda(), TPZElasticResponse::Mu(), and sin.
Referenced by DistTheta(), NewtonF2L(), and NewtonF3().
void TPZYCSandlerDimaggio::EpspFromL | ( | const T & | L, |
T & | epsp | ||
) | const |
compute epsp as a function from L
Definition at line 1703 of file TPZYCSandlerDimaggio.h.
References ComputeF(), exp, fD, FL, fR, and fW.
Referenced by FuncEpspL(), and LMax().
|
inlineprotected |
Compute the value of the equation which equates the evolution of the plastic deformation
Definition at line 314 of file TPZYCSandlerDimaggio.h.
References ComputeF(), ComputeX(), cos(), fR, TPZElasticResponse::Lambda(), LInitialGuess(), TPZElasticResponse::Mu(), and SolveL().
Referenced by NewtonF2().
|
inlineprotected |
Compute the value of the equation which equates the evolution of the plastic deformation
Definition at line 384 of file TPZYCSandlerDimaggio.h.
References ComputeF(), cos(), DEpspDL(), EpspFromL(), fR, TPZElasticResponse::Lambda(), LOGPZ_DEBUG, and TPZElasticResponse::Mu().
Referenced by NewtonF2L().
|
inlineprotected |
Compute the value of the equation which equates the evolution of the plastic deformation
Definition at line 332 of file TPZYCSandlerDimaggio.h.
References ComputeEpsp(), ComputeF(), cos(), fR, TPZElasticResponse::Lambda(), and TPZElasticResponse::Mu().
Referenced by NewtonF3().
|
inlineprotected |
compute the value of the equation which determines the orthogonality of the projection
Definition at line 448 of file TPZYCSandlerDimaggio.h.
References ComputeX(), FuncThetaL(), test::res, and SolveL().
|
inlineprotected |
compute the value of the equation which determines the orthogonality of the projection
Definition at line 482 of file TPZYCSandlerDimaggio.h.
References ComputeX(), FuncTheta2L(), and SolveL().
Referenced by NewtonF2().
|
inlineprotected |
compute the value of the equation which determines the orthogonality of the projection
Definition at line 459 of file TPZYCSandlerDimaggio.h.
References ComputeF(), cos(), fR, TPZElasticResponse::Lambda(), LOGPZ_DEBUG, TPZElasticResponse::Mu(), test::res, and sin.
Referenced by FuncTheta2(), TPZYCSandlerDimaggioL2::InitialGuess(), TPZYCSandlerDimaggioL::InitialGuess(), NewtonF2L(), and NewtonF3().
|
inlineprotected |
compute the value of the equation which determines the orthogonality of the projection
Definition at line 432 of file TPZYCSandlerDimaggio.h.
References atan2(), ComputeF(), cos(), fR, TPZElasticResponse::Lambda(), TPZElasticResponse::Mu(), test::res, and sin.
Referenced by FuncTheta().
|
inline |
value of x for which F(x)=0.1 fA
Definition at line 188 of file TPZYCSandlerDimaggio.h.
References fA, fB, fC, and log.
Referenced by LMax(), TPZYCSandlerDimaggioL2::N(), TPZYCSandlerDimaggioL::N(), and N().
|
inline |
Definition at line 101 of file TPZYCSandlerDimaggio.h.
|
inlineoverridevirtual |
Implements TPZPlasticCriterion.
Reimplemented in TPZYCSandlerDimaggioL, and TPZYCSandlerDimaggioL2.
Definition at line 225 of file TPZYCSandlerDimaggio.h.
References as_integer(), ComputeD2F(), ComputedF(), ComputeDL(), ComputeF(), ComputeX(), D2Distance(), DDistance(), Distance(), LInitialGuess(), NYield, and SolveL().
|
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 whether to force post-peak failure behavior |
Definition at line 1202 of file TPZYCSandlerDimaggio.h.
References ComputeF(), ComputeX(), exp, fB, fC, FL, fR, TPZTensor< T >::I1(), LInitialGuess(), LOGPZ_INFO, SolveL(), and TPZExtractVal::val().
Referenced by SetYieldStatusMode(), and TestSolveL().
|
inline |
Definition at line 168 of file TPZYCSandlerDimaggio.h.
References InitialGuess().
|
inline |
Projeto o ponto sigtrial sobre a superficie de plastificacao (se precisar) e atualiza a variavel de dano Este metodo utiliza backtracking
[in] | ER | resposta elastica |
[in] | variavel | de dano atual |
[in] | tensao | da resposta elastica |
[out] | epspproj | dano apos a projecao |
[out] | delgamma | fatores multiplicadores para projetar o ponto sobre a superficie |
Definition at line 1627 of file TPZYCSandlerDimaggio.h.
References TPZTensor< T >::Add(), TPZTensor< T >::Adjust(), Compute(), TPZElasticResponse::ComputeStrain(), DebugStop, fabs, TPZVec< T >::Fill(), TPZTensor< T >::I1(), LOGPZ_DEBUG, N(), NewtonF3(), TPZTensor< T >::Norm(), TPZTensor< T >::S(), and sqrt.
Referenced by InitialDamage().
|
inlineprotected |
Might be a reasonable initial guess for L when no better data is available. In this implementation L should be negative in compression.
Definition at line 1280 of file TPZYCSandlerDimaggio.h.
References ComputeF(), and fR.
Referenced by Compute(), DFuncEpsp(), DFuncTheta(), DFuncTheta2(), FuncEpsp(), GetNYield(), H(), N(), NewtonF2(), NewtonF3(), TestSolveL(), and UpdateSigtrialIJ().
|
inline |
maximum value of L allowed
Definition at line 195 of file TPZYCSandlerDimaggio.h.
References D2EpspDL2(), DEpspDL(), EpspFromL(), and FZero().
Referenced by TPZYCSandlerDimaggioL2::Compute(), TPZYCSandlerDimaggioL::Compute(), ComputeDL(), TPZYCSandlerDimaggioL2::InitialGuess(), TPZYCSandlerDimaggioL::InitialGuess(), and SolveL().
|
inline |
LoadState will keep a given state as static variable of the class
Definition at line 1347 of file TPZYCSandlerDimaggio.h.
References TPZTensor< T >::fData, gRefTension, and LOGPZ_DEBUG.
|
inlinestatic |
Definition at line 1593 of file TPZYCSandlerDimaggio.h.
References LOGPZ_INFO, and SetUp().
Referenced by CheckConv(), TPZSandlerDimaggio< SANDLERDIMAGGIOPARENT >::McCormicRanchSand(), TPZSandlerDimaggio< SANDLERDIMAGGIOPARENT >::McCormicRanchSandMod(), TestSolveL(), and TPZPlasticTest::UndocumentedTest4().
|
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 whether to force post-peak failure behavior |
Definition at line 1073 of file TPZYCSandlerDimaggio.h.
References ComputeF(), ComputeX(), DebugStop, exp, fB, fC, FL, fR, FZero(), TPZTensor< T >::I1(), TPZTensor< T >::J2(), LInitialGuess(), LOGPZ_DEBUG, LOGPZ_INFO, LOGPZ_WARN, SolveL(), sqrt, TPZExtractVal::val(), TPZTensor< T >::XX(), TPZTensor< T >::XY(), TPZTensor< T >::XZ(), TPZTensor< T >::YY(), TPZTensor< T >::YZ(), and TPZTensor< T >::ZZ().
Referenced by ComputeTangent(), InitialGuess(), Residual(), SetYieldStatusMode(), TestSolveL(), and TPZPlasticTest::UndocumentedTest4().
|
inline |
Definition at line 86 of file TPZYCSandlerDimaggio.h.
Referenced by Print().
|
inlineprotected |
Projeto o ponto sobre a superficie F1, atualiza o L.
Projeto o ponto sobre a superficie F1, atualiza o L e sigtrialIJ.
Definition at line 1739 of file TPZYCSandlerDimaggio.h.
References ComputeF(), D2Distance(), D2EpspDL2(), DDistance(), DEpspDL(), EMathematicaInput, fabs, TPZElasticResponse::K(), TPZMatrix< TVar >::Print(), and TPZFMatrix< TVar >::Resize().
Referenced by TPZYCSandlerDimaggioL2::InitialGuess(), TPZYCSandlerDimaggioL::InitialGuess(), and UpdateSigtrialIJL().
|
inlineprotected |
Definition at line 615 of file TPZYCSandlerDimaggio.h.
References asin, ComputeEpsp(), ComputeF(), ComputeX(), cos(), DFuncEpsp(), DFuncTheta2(), DistTheta(), ELU, error(), fabs, fR, FuncEpsp(), FuncTheta2(), fW, LInitialGuess(), LOGPZ_DEBUG, TPZMatrix< TVar >::Print(), TPZMatrix< TVar >::SolveDirect(), SolveL(), sqrt, and UpdateSigtrialIJ().
|
inlineprotected |
Definition at line 832 of file TPZYCSandlerDimaggio.h.
References asin, ComputeF(), cos(), DFuncEpspL(), DFuncTheta2L(), DistThetaL(), ELU, error(), fabs, fB, fC, fR, FuncEpspL(), FuncTheta2L(), log, LOGPZ_DEBUG, TPZMatrix< TVar >::Print(), TPZMatrix< TVar >::SolveDirect(), sqrt, and UpdateSigtrialIJL().
Referenced by TPZYCSandlerDimaggioL2::InitialGuess(), and TPZYCSandlerDimaggioL::InitialGuess().
|
inlineprotected |
Definition at line 725 of file TPZYCSandlerDimaggio.h.
References asin, ComputeEpsp(), ComputeF(), ComputeX(), cos(), DFuncEpspUsingL(), DFuncTheta2L(), DistThetaL(), ELU, error(), fabs, fR, FuncEpspUsingL(), FuncTheta2L(), LInitialGuess(), LOGPZ_DEBUG, TPZMatrix< TVar >::Print(), TPZMatrix< TVar >::SolveDirect(), SolveL(), sqrt, and UpdateSigtrialIJL().
Referenced by InitialGuess().
|
inline |
number of types of residuals
Definition at line 1343 of file TPZYCSandlerDimaggio.h.
|
inline |
Definition at line 53 of file TPZYCSandlerDimaggio.h.
References fA, fB, fC, fD, fIsonCap, fR, and fW.
Referenced by TPZYCSandlerDimaggioL::operator=().
|
inlineoverridevirtual |
Reimplemented from TPZPlasticCriterion.
Reimplemented in TPZYCSandlerDimaggioL, and TPZYCSandlerDimaggioL2.
Definition at line 90 of file TPZYCSandlerDimaggio.h.
References fA, fB, fC, fD, fIsonCap, fR, fW, and Name().
Referenced by TPZYCSandlerDimaggioL::Print().
|
inlineoverridevirtual |
read objects from the stream
Reimplemented from TPZSavable.
Definition at line 73 of file TPZYCSandlerDimaggio.h.
|
inline |
Definition at line 1406 of file TPZYCSandlerDimaggio.h.
References Compute(), gRefTension, LOGPZ_DEBUG, N(), TPZFMatrix< TVar >::Redim(), and test::res.
|
inline |
Definition at line 105 of file TPZYCSandlerDimaggio.h.
|
inline |
Definition at line 150 of file TPZYCSandlerDimaggio.h.
References fA, fB, fC, fD, fIsonCap, fR, and fW.
Referenced by McCormicRanchSand().
|
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 116 of file TPZYCSandlerDimaggio.h.
|
inline |
Solves for the invariant I1 value at the intersection of shear and hardening cap yield criteria. The current value of L when entering the function is assumed to be the initial guess. In this implementation L should be negative in compression.
Definition at line 1252 of file TPZYCSandlerDimaggio.h.
References ComputedF(), ComputeF(), fabs, fR, LMax(), test::res, and TPZExtractVal::val().
Referenced by Compute(), DFuncEpsp(), DFuncTheta(), DFuncTheta2(), DistTheta(), FuncEpsp(), FuncTheta(), FuncTheta2(), GetNYield(), H(), TPZYCSandlerDimaggioL2::InitialDamage(), TPZYCSandlerDimaggioL::InitialDamage(), N(), NewtonF2(), NewtonF3(), TestSolveL(), and UpdateSigtrialIJ().
|
inlinestatic |
Definition at line 1471 of file TPZYCSandlerDimaggio.h.
References Compute(), ComputedF(), ComputeF(), ComputeX(), h, H(), LInitialGuess(), LOGPZ_DEBUG, LOGPZ_INFO, McCormicRanchSand(), N(), NYield, SolveL(), TPZExtractVal::val(), TPZTensor< T >::XX(), TPZTensor< T >::XY(), TPZTensor< T >::XZ(), TPZTensor< T >::YY(), TPZTensor< T >::YZ(), and TPZTensor< T >::ZZ().
|
inlineprotected |
Definition at line 596 of file TPZYCSandlerDimaggio.h.
References ComputeX(), LInitialGuess(), SolveL(), and UpdateSigtrialIJL().
Referenced by NewtonF2().
|
inlineprotected |
Definition at line 604 of file TPZYCSandlerDimaggio.h.
References ComputeF(), cos(), fR, NewtonF1(), and sin.
Referenced by NewtonF2L(), NewtonF3(), and UpdateSigtrialIJ().
|
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 TPZYCSandlerDimaggio.h.
|
inlineoverridevirtual |
Implements TPZPlasticCriterion.
Definition at line 217 of file TPZYCSandlerDimaggio.h.
References Compute(), TPZTensor< T >::XX(), TPZTensor< T >::YY(), and TPZTensor< T >::ZZ().
REAL TPZYCSandlerDimaggio::fA |
Parameter related to the YC and Plastic Potential A, B and C are constants in the modified Drucker-Prager shear yield criteria.
Definition at line 952 of file TPZYCSandlerDimaggio.h.
Referenced by ComputeF(), FZero(), operator=(), Print(), Read(), SetUp(), TPZYCSandlerDimaggio(), and Write().
REAL TPZYCSandlerDimaggio::fB |
Definition at line 952 of file TPZYCSandlerDimaggio.h.
Referenced by ComputeD2F(), ComputedF(), ComputeDL(), ComputeF(), D2EpspDL2(), DEpspDL(), FZero(), TPZYCSandlerDimaggioL2::H(), TPZYCSandlerDimaggioL::H(), H(), TPZYCSandlerDimaggioL2::N(), TPZYCSandlerDimaggioL::N(), N(), NewtonF2L(), operator=(), Print(), Read(), SetUp(), TPZYCSandlerDimaggio(), and Write().
REAL TPZYCSandlerDimaggio::fC |
Definition at line 952 of file TPZYCSandlerDimaggio.h.
Referenced by ComputeD2F(), ComputedF(), ComputeDL(), ComputeF(), D2EpspDL2(), DEpspDL(), FZero(), TPZYCSandlerDimaggioL2::H(), TPZYCSandlerDimaggioL::H(), H(), TPZYCSandlerDimaggioL2::N(), TPZYCSandlerDimaggioL::N(), N(), NewtonF2L(), operator=(), Print(), Read(), SetUp(), TPZYCSandlerDimaggio(), and Write().
REAL TPZYCSandlerDimaggio::fD |
Parameters related to the YC and Plastic Potential The D and W parameters correlate the total plastic strain to the hydrostatic loading level. It is thus related to the cap hardening/softening.
Definition at line 960 of file TPZYCSandlerDimaggio.h.
Referenced by ComputeDL(), ComputeEpsp(), ComputeX(), D2EpspDL2(), DEpspDL(), EpspFromL(), operator=(), Print(), Read(), SetUp(), TPZYCSandlerDimaggio(), and Write().
bool TPZYCSandlerDimaggio::fIsonCap |
Flag indicating whether the point is projected on the cap or not
Definition at line 972 of file TPZYCSandlerDimaggio.h.
Referenced by TPZYCSandlerDimaggioL2::Compute(), TPZYCSandlerDimaggioL::Compute(), TPZYCSandlerDimaggioL2::H(), TPZYCSandlerDimaggioL::H(), TPZYCSandlerDimaggioL2::InitialGuess(), TPZYCSandlerDimaggioL::InitialGuess(), TPZYCSandlerDimaggioL2::N(), TPZYCSandlerDimaggioL::N(), operator=(), Print(), SetUp(), and TPZYCSandlerDimaggio().
REAL TPZYCSandlerDimaggio::fR |
Parameter related to the YC and Plastic Potential half-axis ratio for the ellipsoidal hardening/softening cap.
Definition at line 967 of file TPZYCSandlerDimaggio.h.
Referenced by TPZYCSandlerDimaggioL2::Compute(), TPZYCSandlerDimaggioL::Compute(), Compute(), ComputeDL(), ComputeEpsp(), D2EpspDL2(), DEpspDL(), DFuncEpsp(), DFuncEpspL(), DFuncEpspUsingL(), DFuncTheta(), DFuncTheta2(), DFuncTheta2L(), DistThetaL(), EpspFromL(), FuncEpsp(), FuncEpspL(), FuncEpspUsingL(), FuncTheta2L(), FuncThetaL(), TPZYCSandlerDimaggioL2::H(), TPZYCSandlerDimaggioL::H(), H(), TPZYCSandlerDimaggioL2::InitialGuess(), TPZYCSandlerDimaggioL::InitialGuess(), LInitialGuess(), TPZYCSandlerDimaggioL2::N(), TPZYCSandlerDimaggioL::N(), N(), NewtonF2(), NewtonF2L(), NewtonF3(), operator=(), Print(), Read(), SetUp(), SolveL(), TPZYCSandlerDimaggio(), UpdateSigtrialIJL(), and Write().
REAL TPZYCSandlerDimaggio::fW |
Definition at line 960 of file TPZYCSandlerDimaggio.h.
Referenced by ComputeDL(), ComputeEpsp(), ComputeX(), D2EpspDL2(), DEpspDL(), EpspFromL(), NewtonF2(), operator=(), Print(), Read(), SetUp(), TPZYCSandlerDimaggio(), and Write().
|
static |
Definition at line 983 of file TPZYCSandlerDimaggio.h.
Referenced by ComputeTangent(), LoadState(), and Residual().