NeoPZ
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
TPZYCCamClayPV Class Reference

#include <TPZYCCamClayPV.h>

Inheritance diagram for TPZYCCamClayPV:
[legend]
Collaboration diagram for TPZYCCamClayPV:
[legend]

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 TPZSavableCreateInstance (const int &classId)
 

Detailed Description

Definition at line 17 of file TPZYCCamClayPV.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
NYield 

Definition at line 20 of file TPZYCCamClayPV.h.

Constructor & Destructor Documentation

◆ TPZYCCamClayPV() [1/2]

TPZYCCamClayPV::TPZYCCamClayPV ( )

Definition at line 20 of file TPZYCCamClayPV.cpp.

◆ TPZYCCamClayPV() [2/2]

TPZYCCamClayPV::TPZYCCamClayPV ( const TPZYCCamClayPV other)

Definition at line 23 of file TPZYCCamClayPV.cpp.

◆ ~TPZYCCamClayPV()

TPZYCCamClayPV::~TPZYCCamClayPV ( )
virtual

Definition at line 451 of file TPZYCCamClayPV.cpp.

Member Function Documentation

◆ bFromP()

REAL TPZYCCamClayPV::bFromP ( const REAL  p,
const REAL  a 
) const

Definition at line 73 of file TPZYCCamClayPV.cpp.

References fGamma, and fPt.

Referenced by TPZYCDruckerPragerPV::bFromP(), Phi(), and SurfaceParam().

◆ bFromTheta()

REAL TPZYCCamClayPV::bFromTheta ( REAL  theta) const

◆ ClassId()

int TPZYCCamClayPV::ClassId ( ) const
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().

◆ D2DistanceToSurface()

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

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

◆ DDistanceToSurface()

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

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

◆ DFuncCart()

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

◆ DistanceToSurface()

REAL TPZYCCamClayPV::DistanceToSurface ( const TPZVec< REAL > &  sigma_trial_pv,
const REAL  theta,
const REAL  beta,
const REAL  a 
) const

◆ GetNYield()

virtual int TPZYCCamClayPV::GetNYield ( ) const
inlineoverridevirtual

Implements TPZPlasticCriterion.

Definition at line 92 of file TPZYCCamClayPV.h.

References as_integer(), and NYield.

◆ GradSigmaTrial()

void TPZYCCamClayPV::GradSigmaTrial ( const TPZVec< REAL > &  sigma_trial_pv,
const REAL  theta,
const REAL  beta,
const REAL  aProj,
TPZFNMatrix< 9, STATE > &  ddist_dsigmatrial 
) const

◆ InitialDamage()

REAL TPZYCCamClayPV::InitialDamage ( const TPZVec< REAL > &  stress_p) const

Compute initial damage variable from the given principal stress state

Parameters
stress_pprincipal values
Returns
the damage variable

Definition at line 67 of file TPZYCCamClayPV.cpp.

References DebugStop.

◆ Phi()

void TPZYCCamClayPV::Phi ( TPZVec< REAL >  sigmaPV,
REAL  a,
TPZVec< REAL > &  phi 
) const

◆ PlasticVolumetricStrain()

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

◆ ProjectSigma()

void TPZYCCamClayPV::ProjectSigma ( const TPZVec< REAL > &  sigma_trial,
const REAL  aPrev,
TPZVec< REAL > &  sigma,
REAL &  aProj,
int &  m_type,
TPZFMatrix< REAL > *  gradient = NULL 
) const

◆ ProjectSigmaDep()

void TPZYCCamClayPV::ProjectSigmaDep ( const TPZVec< REAL > &  sigma_trial,
const REAL  aPrev,
TPZVec< REAL > &  sigma,
REAL &  aProj,
TPZFMatrix< REAL > &  GradSigma 
) const

◆ ProjectToSurface()

void TPZYCCamClayPV::ProjectToSurface ( const TPZVec< REAL > &  sigma_trial,
const REAL  aPrev,
TPZVec< REAL > &  sigma,
REAL &  aProj,
const REAL  tol 
) const

◆ ProjectToSurfaceConstantBeta()

void TPZYCCamClayPV::ProjectToSurfaceConstantBeta ( const TPZVec< REAL > &  sigma_trial_pv,
const REAL  aPrev,
TPZVec< REAL > &  sigma_pv,
REAL &  aProj,
const REAL  tol 
) const

◆ Read()

void TPZYCCamClayPV::Read ( TPZStream buf,
void *  context 
)
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().

◆ ResLFunc()

REAL TPZYCCamClayPV::ResLFunc ( const TPZVec< STATE > &  sigma_trial_pv,
STATE  theta,
STATE  beta,
REAL  a,
REAL  aPrev 
) const

◆ SetElasticResponse()

void TPZYCCamClayPV::SetElasticResponse ( const TPZElasticResponse ER)

Definition at line 37 of file TPZYCCamClayPV.cpp.

References fER.

Referenced by SetUp().

◆ SetUp()

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

◆ SurfaceInCyl()

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.

Parameters
xiHydrostatic component
betaLode angle
returnValueCylindrical 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().

◆ SurfaceParam()

void TPZYCCamClayPV::SurfaceParam ( const TPZVec< STATE > &  sigma_pv,
const STATE  a,
STATE &  theta,
STATE &  beta 
) const

◆ Write()

void TPZYCCamClayPV::Write ( TPZStream buf,
int  withclassid 
) const
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().

◆ YieldFunction()

void TPZYCCamClayPV::YieldFunction ( const TPZVec< STATE > &  sigma,
STATE  kprev,
TPZVec< STATE > &  yield 
) const
inlineoverridevirtual

Implements TPZPlasticCriterion.

Definition at line 88 of file TPZYCCamClayPV.h.

References Phi().

Friends And Related Function Documentation

◆ TPZYCDruckerPragerPV

friend class TPZYCDruckerPragerPV
friend

Definition at line 96 of file TPZYCCamClayPV.h.

Member Data Documentation

◆ fA0

REAL TPZYCCamClayPV::fA0
private

Definition at line 105 of file TPZYCCamClayPV.h.

Referenced by D2DistanceToSurface(), PlasticVolumetricStrain(), Read(), SetUp(), and Write().

◆ fE0

REAL TPZYCCamClayPV::fE0
private

Definition at line 106 of file TPZYCCamClayPV.h.

Referenced by D2DistanceToSurface(), PlasticVolumetricStrain(), Read(), SetUp(), and Write().

◆ fER

TPZElasticResponse TPZYCCamClayPV::fER
private

◆ fGamma

REAL TPZYCCamClayPV::fGamma
private

◆ fLogBulkModulus

REAL TPZYCCamClayPV::fLogBulkModulus
private

Definition at line 104 of file TPZYCCamClayPV.h.

Referenced by D2DistanceToSurface(), PlasticVolumetricStrain(), Read(), SetUp(), and Write().

◆ fLogHardening

REAL TPZYCCamClayPV::fLogHardening
private

Definition at line 103 of file TPZYCCamClayPV.h.

Referenced by D2DistanceToSurface(), PlasticVolumetricStrain(), Read(), SetUp(), and Write().

◆ fM

REAL TPZYCCamClayPV::fM
private

◆ fPt

REAL TPZYCCamClayPV::fPt
private

The documentation for this class was generated from the following files: