![]() |
NeoPZ
|
#include <TPZYCCamClayPV.h>
Public Types | |
| enum | { NYield } |
Public Member Functions | |
| TPZYCCamClayPV () | |
| TPZYCCamClayPV (const TPZYCCamClayPV &other) | |
| void | SetUp (const TPZElasticResponse &ER, REAL gamma, REAL m, REAL pt, REAL logHardening, REAL logBulkModulus, REAL a0, REAL e0) |
| void | SetElasticResponse (const TPZElasticResponse &ER) |
| virtual int | ClassId () const override |
| Define the class id associated with the class. More... | |
| void | Read (TPZStream &buf, void *context) override |
| read objects from the stream More... | |
| void | Write (TPZStream &buf, int withclassid) const override |
| Writes this object to the TPZStream buffer. Include the classid if withclassid = true. More... | |
| REAL | bFromP (const REAL p, const REAL a) const |
| REAL | bFromTheta (REAL theta) const |
| void | Phi (TPZVec< REAL > sigmaPV, REAL a, TPZVec< REAL > &phi) const |
| void | SurfaceInCyl (const REAL theta, const REAL beta, const REAL a, TPZVec< REAL > &returnValue) const |
| REAL | ResLFunc (const TPZVec< STATE > &sigma_trial_pv, STATE theta, STATE beta, REAL a, REAL aPrev) const |
| REAL | DistanceToSurface (const TPZVec< REAL > &sigma_trial_pv, const REAL theta, const REAL beta, const REAL a) const |
| REAL | InitialDamage (const TPZVec< REAL > &stress_p) const |
| void | DDistanceToSurface (const TPZVec< STATE > &sigma_trial_pv, const STATE theta, const STATE beta, const REAL a, const REAL aPrev, TPZVec< STATE > &fxn) const |
| void | D2DistanceToSurface (const TPZVec< STATE > &sigma_trial_pv, const STATE theta, const STATE beta, const REAL a, TPZFNMatrix< 9, STATE > &jac) const |
| void | ProjectToSurfaceConstantBeta (const TPZVec< REAL > &sigma_trial_pv, const REAL aPrev, TPZVec< REAL > &sigma_pv, REAL &aProj, const REAL tol) const |
| void | ProjectToSurface (const TPZVec< REAL > &sigma_trial, const REAL aPrev, TPZVec< REAL > &sigma, REAL &aProj, const REAL tol) const |
| void | ProjectSigma (const TPZVec< REAL > &sigma_trial, const REAL aPrev, TPZVec< REAL > &sigma, REAL &aProj, int &m_type, TPZFMatrix< REAL > *gradient=NULL) const |
| void | SurfaceParam (const TPZVec< STATE > &sigma_pv, const STATE a, STATE &theta, STATE &beta) const |
| void | GradSigmaTrial (const TPZVec< REAL > &sigma_trial_pv, const REAL theta, const REAL beta, const REAL aProj, TPZFNMatrix< 9, STATE > &ddist_dsigmatrial) const |
| void | DFuncCart (STATE theta, STATE beta, STATE a, TPZFNMatrix< 9, STATE > &DFunccart) const |
| void | ProjectSigmaDep (const TPZVec< REAL > &sigma_trial, const REAL aPrev, TPZVec< REAL > &sigma, REAL &aProj, TPZFMatrix< REAL > &GradSigma) const |
| STATE | PlasticVolumetricStrain (STATE a) const |
| virtual | ~TPZYCCamClayPV () |
| void | YieldFunction (const TPZVec< STATE > &sigma, STATE kprev, TPZVec< STATE > &yield) const override |
| virtual int | GetNYield () const override |
Public Member Functions inherited from TPZPlasticCriterion | |
| virtual void | Print (std::ostream &out) const |
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 | |
Private Attributes | |
| TPZElasticResponse | fER |
| REAL | fGamma |
| REAL | fM |
| REAL | fPt |
| REAL | fLogHardening |
| REAL | fLogBulkModulus |
| REAL | fA0 |
| REAL | fE0 |
Friends | |
| class | TPZYCDruckerPragerPV |
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 TPZYCCamClayPV.h.
| anonymous enum |
| Enumerator | |
|---|---|
| NYield | |
Definition at line 20 of file TPZYCCamClayPV.h.
| TPZYCCamClayPV::TPZYCCamClayPV | ( | ) |
Definition at line 20 of file TPZYCCamClayPV.cpp.
| TPZYCCamClayPV::TPZYCCamClayPV | ( | const TPZYCCamClayPV & | other | ) |
Definition at line 23 of file TPZYCCamClayPV.cpp.
|
virtual |
Definition at line 451 of file TPZYCCamClayPV.cpp.
| REAL TPZYCCamClayPV::bFromP | ( | const REAL | p, |
| const REAL | a | ||
| ) | const |
Definition at line 73 of file TPZYCCamClayPV.cpp.
Referenced by TPZYCDruckerPragerPV::bFromP(), Phi(), and SurfaceParam().
| REAL TPZYCCamClayPV::bFromTheta | ( | REAL | theta | ) | const |
Definition at line 77 of file TPZYCCamClayPV.cpp.
References fGamma.
Referenced by TPZYCDruckerPragerPV::bFromTheta(), D2DistanceToSurface(), DDistanceToSurface(), DFuncCart(), GradSigmaTrial(), ResLFunc(), and SurfaceInCyl().
|
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 41 of file TPZYCCamClayPV.cpp.
References Hash().
| void TPZYCCamClayPV::D2DistanceToSurface | ( | const TPZVec< STATE > & | sigma_trial_pv, |
| const STATE | theta, | ||
| const STATE | beta, | ||
| const REAL | a, | ||
| TPZFNMatrix< 9, STATE > & | jac | ||
| ) | const |
Computes the second derivative of the distance as a function of theta, beta and a
| pt | |
| xi | |
| beta | |
| jac |
Definition at line 159 of file TPZYCCamClayPV.cpp.
References bFromTheta(), cos(), fA0, fE0, fER, fLogBulkModulus, fLogHardening, fM, fPt, TPZHWTools::FromPrincipalToHWCart(), TPZElasticResponse::G(), TPZElasticResponse::K(), log, pow(), TPZFMatrix< TVar >::Resize(), sin, and sqrt.
Referenced by TPZYCDruckerPragerPV::D2DistanceToSurfaceF2(), ProjectSigmaDep(), ProjectToSurface(), and ProjectToSurfaceConstantBeta().
| void TPZYCCamClayPV::DDistanceToSurface | ( | const TPZVec< STATE > & | sigma_trial_pv, |
| const STATE | theta, | ||
| const STATE | beta, | ||
| const REAL | a, | ||
| const REAL | aPrev, | ||
| TPZVec< STATE > & | fxn | ||
| ) | const |
Computes the derivative of the distance function to the yield surface as a function of theta, beta and a
| pt | |
| xi | |
| beta | |
| fxn |
Definition at line 140 of file TPZYCCamClayPV.cpp.
References bFromTheta(), cos(), fER, fM, fPt, TPZHWTools::FromPrincipalToHWCart(), TPZElasticResponse::G(), TPZElasticResponse::K(), TPZVec< T >::Resize(), ResLFunc(), sin, and sqrt.
Referenced by TPZYCDruckerPragerPV::DDistanceToSurfaceF2(), ProjectToSurface(), and ProjectToSurfaceConstantBeta().
| void TPZYCCamClayPV::DFuncCart | ( | STATE | theta, |
| STATE | beta, | ||
| STATE | a, | ||
| TPZFNMatrix< 9, STATE > & | DFunccart | ||
| ) | const |
Definition at line 391 of file TPZYCCamClayPV.cpp.
References bFromTheta(), cos(), fM, sin, and sqrt.
Referenced by TPZYCDruckerPragerPV::DF2Cart(), and ProjectSigmaDep().
| REAL TPZYCCamClayPV::DistanceToSurface | ( | const TPZVec< REAL > & | sigma_trial_pv, |
| const REAL | theta, | ||
| const REAL | beta, | ||
| const REAL | a | ||
| ) | const |
Definition at line 127 of file TPZYCCamClayPV.cpp.
References fER, TPZHWTools::FromHWCylToHWCart(), TPZHWTools::FromPrincipalToHWCart(), TPZElasticResponse::G(), TPZElasticResponse::K(), and SurfaceInCyl().
Referenced by TPZYCDruckerPragerPV::DistanceToSurfaceF2(), ProjectToSurface(), and ProjectToSurfaceConstantBeta().
|
inlineoverridevirtual |
Implements TPZPlasticCriterion.
Definition at line 92 of file TPZYCCamClayPV.h.
References as_integer(), and NYield.
| void TPZYCCamClayPV::GradSigmaTrial | ( | const TPZVec< REAL > & | sigma_trial_pv, |
| const REAL | theta, | ||
| const REAL | beta, | ||
| const REAL | aProj, | ||
| TPZFNMatrix< 9, STATE > & | ddist_dsigmatrial | ||
| ) | const |
Definition at line 369 of file TPZYCCamClayPV.cpp.
References bFromTheta(), cos(), fER, fM, TPZElasticResponse::G(), TPZElasticResponse::K(), pow(), sin, and sqrt.
Referenced by TPZYCDruckerPragerPV::GradF2SigmaTrial(), and ProjectSigmaDep().
| REAL TPZYCCamClayPV::InitialDamage | ( | const TPZVec< REAL > & | stress_p | ) | const |
Compute initial damage variable from the given principal stress state
| stress_p | principal values |
Definition at line 67 of file TPZYCCamClayPV.cpp.
References DebugStop.
Definition at line 86 of file TPZYCCamClayPV.cpp.
References bFromP(), fM, fPt, TPZTensor< T >::I1(), TPZTensor< T >::J2(), NYield, pow(), TPZVec< T >::resize(), sqrt, TPZTensor< T >::XX(), TPZTensor< T >::YY(), and TPZTensor< T >::ZZ().
Referenced by TPZYCDruckerPragerPV::Phi(), ProjectSigma(), ProjectSigmaDep(), and YieldFunction().
| STATE TPZYCCamClayPV::PlasticVolumetricStrain | ( | STATE | a | ) | const |
Definition at line 81 of file TPZYCCamClayPV.cpp.
References fA0, fE0, fLogBulkModulus, fLogHardening, and log.
Referenced by TPZYCDruckerPragerPV::PlasticVolumetricStrain(), and ResLFunc().
| void TPZYCCamClayPV::ProjectSigma | ( | const TPZVec< REAL > & | sigma_trial, |
| const REAL | aPrev, | ||
| TPZVec< REAL > & | sigma, | ||
| REAL & | aProj, | ||
| int & | m_type, | ||
| TPZFMatrix< REAL > * | gradient = NULL |
||
| ) | const |
Definition at line 325 of file TPZYCCamClayPV.cpp.
References TPZMatrix< TVar >::Cols(), DebugStop, NYield, Phi(), ProjectToSurface(), and TPZMatrix< TVar >::Rows().
| void TPZYCCamClayPV::ProjectSigmaDep | ( | const TPZVec< REAL > & | sigma_trial, |
| const REAL | aPrev, | ||
| TPZVec< REAL > & | sigma, | ||
| REAL & | aProj, | ||
| TPZFMatrix< REAL > & | GradSigma | ||
| ) | const |
Definition at line 412 of file TPZYCCamClayPV.cpp.
References D2DistanceToSurface(), DFuncCart(), fabs, GradSigmaTrial(), TPZMatrix< TVar >::Identity(), TPZMatrix< TVar >::Multiply(), NYield, Phi(), ProjectToSurface(), SurfaceParam(), and pzgeom::tol.
| void TPZYCCamClayPV::ProjectToSurface | ( | const TPZVec< REAL > & | sigma_trial, |
| const REAL | aPrev, | ||
| TPZVec< REAL > & | sigma, | ||
| REAL & | aProj, | ||
| const REAL | tol | ||
| ) | const |
Definition at line 261 of file TPZYCCamClayPV.cpp.
References D2DistanceToSurface(), DDistanceToSurface(), DistanceToSurface(), fabs, TPZHWTools::FromHWCylToPrincipal(), TPZHWTools::FromPrincipalToHWCyl(), log, LOGPZ_DEBUG, Norm(), TPZMatrix< TVar >::Solve_LU(), and SurfaceInCyl().
Referenced by ProjectSigma(), ProjectSigmaDep(), and TPZYCDruckerPragerPV::ProjectToSurfaceF2().
| void TPZYCCamClayPV::ProjectToSurfaceConstantBeta | ( | const TPZVec< REAL > & | sigma_trial_pv, |
| const REAL | aPrev, | ||
| TPZVec< REAL > & | sigma_pv, | ||
| REAL & | aProj, | ||
| const REAL | tol | ||
| ) | const |
Definition at line 191 of file TPZYCCamClayPV.cpp.
References D2DistanceToSurface(), DDistanceToSurface(), DistanceToSurface(), fabs, TPZHWTools::FromHWCylToPrincipal(), log, LOGPZ_DEBUG, Norm(), TPZMatrix< TVar >::Solve_LU(), and SurfaceInCyl().
|
overridevirtual |
read objects from the stream
Reimplemented from TPZSavable.
Definition at line 45 of file TPZYCCamClayPV.cpp.
References fA0, fE0, fER, fGamma, fLogBulkModulus, fLogHardening, fM, fPt, TPZElasticResponse::Read(), and TPZStream::Read().
Referenced by TPZYCDruckerPragerPV::Read().
| REAL TPZYCCamClayPV::ResLFunc | ( | const TPZVec< STATE > & | sigma_trial_pv, |
| STATE | theta, | ||
| STATE | beta, | ||
| REAL | a, | ||
| REAL | aPrev | ||
| ) | const |
Definition at line 111 of file TPZYCCamClayPV.cpp.
References bFromTheta(), cos(), fER, fPt, TPZElasticResponse::K(), and PlasticVolumetricStrain().
Referenced by DDistanceToSurface(), and TPZYCDruckerPragerPV::ResLF2().
| void TPZYCCamClayPV::SetElasticResponse | ( | const TPZElasticResponse & | ER | ) |
| void TPZYCCamClayPV::SetUp | ( | const TPZElasticResponse & | ER, |
| REAL | gamma, | ||
| REAL | m, | ||
| REAL | pt, | ||
| REAL | logHardening, | ||
| REAL | logBulkModulus, | ||
| REAL | a0, | ||
| REAL | e0 | ||
| ) |
Definition at line 26 of file TPZYCCamClayPV.cpp.
References fA0, fE0, fGamma, fLogBulkModulus, fLogHardening, fM, fPt, gamma(), m, and SetElasticResponse().
Referenced by TPZYCDruckerPragerPV::SetUp().
| void TPZYCCamClayPV::SurfaceInCyl | ( | const REAL | theta, |
| const REAL | beta, | ||
| const REAL | a, | ||
| TPZVec< REAL > & | returnValue | ||
| ) | const |
Computes the cylindrical coordinates of the point on the yield surface with the given xi and beta.
| xi | Hydrostatic component |
| beta | Lode angle |
| returnValue | Cylindrical coordinates of the point on the yield surface |
Definition at line 100 of file TPZYCCamClayPV.cpp.
References bFromTheta(), cos(), fM, fPt, sin, and sqrt.
Referenced by DistanceToSurface(), ProjectToSurface(), ProjectToSurfaceConstantBeta(), and TPZYCDruckerPragerPV::SurfaceF2InCyl().
| void TPZYCCamClayPV::SurfaceParam | ( | const TPZVec< STATE > & | sigma_pv, |
| const STATE | a, | ||
| STATE & | theta, | ||
| STATE & | beta | ||
| ) | const |
Definition at line 356 of file TPZYCCamClayPV.cpp.
References atan2(), bFromP(), fM, fPt, TPZHWTools::FromPrincipalToHWCyl(), and sqrt.
Referenced by ProjectSigmaDep(), and TPZYCDruckerPragerPV::SurfaceParamF2().
|
overridevirtual |
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 56 of file TPZYCCamClayPV.cpp.
References fA0, fE0, fER, fGamma, fLogBulkModulus, fLogHardening, fM, fPt, TPZElasticResponse::Write(), and TPZStream::Write().
Referenced by TPZYCDruckerPragerPV::Write().
|
friend |
Definition at line 96 of file TPZYCCamClayPV.h.
|
private |
Definition at line 105 of file TPZYCCamClayPV.h.
Referenced by D2DistanceToSurface(), PlasticVolumetricStrain(), Read(), SetUp(), and Write().
|
private |
Definition at line 106 of file TPZYCCamClayPV.h.
Referenced by D2DistanceToSurface(), PlasticVolumetricStrain(), Read(), SetUp(), and Write().
|
private |
Definition at line 98 of file TPZYCCamClayPV.h.
Referenced by D2DistanceToSurface(), DDistanceToSurface(), DistanceToSurface(), GradSigmaTrial(), Read(), ResLFunc(), SetElasticResponse(), and Write().
|
private |
Definition at line 100 of file TPZYCCamClayPV.h.
Referenced by bFromP(), bFromTheta(), TPZYCDruckerPragerPV::ProjectToSurfaceF1(), Read(), SetUp(), and Write().
|
private |
Definition at line 104 of file TPZYCCamClayPV.h.
Referenced by D2DistanceToSurface(), PlasticVolumetricStrain(), Read(), SetUp(), and Write().
|
private |
Definition at line 103 of file TPZYCCamClayPV.h.
Referenced by D2DistanceToSurface(), PlasticVolumetricStrain(), Read(), SetUp(), and Write().
|
private |
Definition at line 101 of file TPZYCCamClayPV.h.
Referenced by D2DistanceToSurface(), DDistanceToSurface(), DFuncCart(), GradSigmaTrial(), Phi(), Read(), SetUp(), SurfaceInCyl(), SurfaceParam(), and Write().
|
private |
Definition at line 102 of file TPZYCCamClayPV.h.
Referenced by bFromP(), D2DistanceToSurface(), DDistanceToSurface(), Phi(), Read(), ResLFunc(), SetUp(), SurfaceInCyl(), SurfaceParam(), and Write().
1.8.13