![]() |
NeoPZ
|
#include <TPZYCSandlerDimaggioL2.h>
Public Types | |
| enum | { NYield } |
Public Types inherited from TPZYCSandlerDimaggioL | |
| enum | { NYield } |
Public Types inherited from TPZYCSandlerDimaggio | |
| enum | { NYield } |
Public Member Functions | |
| int | ClassId () const override |
| Define the class id associated with the class. More... | |
| TPZYCSandlerDimaggioL2 () | |
| TPZYCSandlerDimaggioL2 (const TPZYCSandlerDimaggioL2 &source) | |
| TPZYCSandlerDimaggioL2 & | operator= (const TPZYCSandlerDimaggioL2 &source) |
| virtual | ~TPZYCSandlerDimaggioL2 () |
| const char * | Name () const |
| void | Print (std::ostream &out) const override |
| 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 | InitialGuess (const TPZElasticResponse &ER, REAL L, TPZTensor< REAL > &sigtrial, REAL &epspproj, TPZVec< REAL > &delgamma, TPZTensor< REAL > &sigproj) |
| REAL | InitialDamage () |
| void | ProjectBorder (const TPZElasticResponse &ER, REAL &L, TPZVec< STATE > &sigtrialIJ) |
| project the point on the intersection of the F1 and F2 surface More... | |
| virtual int | GetNYield () const override |
Public Member Functions inherited from TPZYCSandlerDimaggioL | |
| TPZYCSandlerDimaggioL () | |
| TPZYCSandlerDimaggioL (const TPZYCSandlerDimaggioL &source) | |
| TPZYCSandlerDimaggioL & | operator= (const TPZYCSandlerDimaggioL &source) |
| virtual | ~TPZYCSandlerDimaggioL () |
| const char * | Name () const |
| 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 |
| template<class T > | |
| void | AlphaMultiplier (const T &A, T &multiplier) const |
| void | InitialGuess (const TPZElasticResponse &ER, REAL L, TPZTensor< REAL > &sigtrial, REAL &epspproj, TPZVec< REAL > &delgamma, TPZTensor< REAL > &sigproj) |
| REAL | InitialDamage () |
| void | ComputeLatIntersectionLeft (const TPZElasticResponse &ER, REAL &L, TPZVec< REAL > &sigtrialIJ) const |
| void | ComputeLatIntersectionRight (const TPZElasticResponse &ER, REAL &L, TPZVec< REAL > &sigtrialIJ) 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 TPZYCSandlerDimaggio | |
| 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 |
| 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 |
| 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 | McCormicRanchSand (TPZYCSandlerDimaggio &material) |
Static Public Member Functions inherited from TPZYCSandlerDimaggioL | |
| static void | CheckConv () |
| static void | TestSolveL () |
| static void | McCormicRanchSand (TPZYCSandlerDimaggio &material) |
Static Public Member Functions inherited from TPZYCSandlerDimaggio | |
| 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) |
Additional Inherited Members | |
Public Attributes inherited from TPZYCSandlerDimaggio | |
| REAL | fA |
| REAL | fB |
| REAL | fC |
| REAL | fD |
| REAL | fW |
| REAL | fR |
| bool | fIsonCap |
Static Public Attributes inherited from TPZYCSandlerDimaggioL | |
| static TPZTensor< REAL > | gRefTension |
Static Public Attributes inherited from TPZYCSandlerDimaggio | |
| static TPZTensor< REAL > | gRefTension |
Protected Member Functions inherited from TPZYCSandlerDimaggio | |
| 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 28 of file TPZYCSandlerDimaggioL2.h.
| anonymous enum |
| Enumerator | |
|---|---|
| NYield | |
Definition at line 31 of file TPZYCSandlerDimaggioL2.h.
|
inline |
Definition at line 37 of file TPZYCSandlerDimaggioL2.h.
|
inline |
Definition at line 40 of file TPZYCSandlerDimaggioL2.h.
|
inlinevirtual |
Definition at line 48 of file TPZYCSandlerDimaggioL2.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
Reimplemented from TPZYCSandlerDimaggioL.
Definition at line 5 of file TPZYCSandlerDimaggioL2.cpp.
References TPZYCSandlerDimaggioL::ClassId(), and Hash().
|
inline |
Calculo do criterio de plastificacao.
| [in] | sigma | tensao atual |
| [in] | A | forca thermodinamica atual |
| [out] | res | Result |
| [in] | checkForcedYield | indicates wether to force post-peak failure behavior |
Definition at line 133 of file TPZYCSandlerDimaggioL2.h.
References TPZYCSandlerDimaggio::ComputeF(), fabs, TPZYCSandlerDimaggio::fIsonCap, FL, TPZYCSandlerDimaggio::fR, TPZTensor< T >::I1(), TPZTensor< T >::J2(), TPZYCSandlerDimaggio::LMax(), LOGPZ_DEBUG, LOGPZ_INFO, LOGPZ_WARN, sqrt, and TPZExtractVal::val().
Referenced by InitialGuess(), and Print().
|
inlineoverridevirtual |
Reimplemented from TPZYCSandlerDimaggioL.
Definition at line 120 of file TPZYCSandlerDimaggioL2.h.
References as_integer(), McCormicRanchSand(), 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 390 of file TPZYCSandlerDimaggioL2.h.
References TPZYCSandlerDimaggio::ComputeF(), exp, TPZYCSandlerDimaggio::fB, TPZYCSandlerDimaggio::fC, TPZYCSandlerDimaggio::fIsonCap, FL, TPZYCSandlerDimaggio::fR, TPZTensor< T >::I1(), LOGPZ_INFO, and TPZExtractVal::val().
Referenced by Print().
|
inline |
Definition at line 105 of file TPZYCSandlerDimaggioL2.h.
References TPZYCSandlerDimaggio::ComputeX(), ProjectBorder(), and TPZYCSandlerDimaggio::SolveL().
|
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 464 of file TPZYCSandlerDimaggioL2.h.
References TPZTensor< T >::Add(), TPZTensor< T >::Adjust(), atan2(), Compute(), TPZYCSandlerDimaggio::ComputeF(), TPZElasticResponse::ComputeStrain(), DebugStop, fabs, TPZYCSandlerDimaggio::fIsonCap, FL, TPZYCSandlerDimaggio::fR, TPZYCSandlerDimaggio::FuncTheta2L(), TPZElasticResponse::G(), TPZTensor< T >::I1(), TPZTensor< T >::J2(), TPZElasticResponse::K(), TPZYCSandlerDimaggio::LMax(), LOGPZ_DEBUG, N(), TPZYCSandlerDimaggio::NewtonF1(), TPZYCSandlerDimaggio::NewtonF2L(), TPZTensor< T >::Norm(), ProjectBorder(), TPZTensor< T >::S(), and sqrt.
Referenced by Print().
|
static |
Referenced by GetNYield().
|
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 225 of file TPZYCSandlerDimaggioL2.h.
References TPZYCSandlerDimaggio::ComputeF(), DebugStop, exp, TPZYCSandlerDimaggio::fB, TPZYCSandlerDimaggio::fC, TPZYCSandlerDimaggio::fIsonCap, FL, TPZYCSandlerDimaggio::fR, TPZYCSandlerDimaggio::FZero(), TPZTensor< T >::I1(), TPZTensor< T >::J2(), LOGPZ_DEBUG, LOGPZ_INFO, LOGPZ_WARN, TPZTensor< T >::S(), sqrt, TPZExtractVal::val(), TPZTensor< T >::XX(), TPZTensor< T >::XY(), TPZTensor< T >::XZ(), TPZTensor< T >::YY(), TPZTensor< T >::YZ(), and TPZTensor< T >::ZZ().
Referenced by InitialGuess(), and Print().
|
inline |
Definition at line 52 of file TPZYCSandlerDimaggioL2.h.
Referenced by Print().
|
inline |
Definition at line 43 of file TPZYCSandlerDimaggioL2.h.
References TPZYCSandlerDimaggioL::operator=().
|
inlineoverridevirtual |
Reimplemented from TPZYCSandlerDimaggioL.
Definition at line 56 of file TPZYCSandlerDimaggioL2.h.
References Compute(), h, H(), InitialGuess(), N(), Name(), TPZYCSandlerDimaggioL::Print(), and test::res.
|
inline |
project the point on the intersection of the F1 and F2 surface
Definition at line 759 of file TPZYCSandlerDimaggioL2.h.
References TPZYCSandlerDimaggio::ComputeF(), TPZYCSandlerDimaggio::D2EpspDL2(), TPZYCSandlerDimaggio::DEpspDL(), fabs, and TPZElasticResponse::K().
Referenced by InitialDamage(), and InitialGuess().
1.8.13