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().