NeoPZ
Public Types | Public Member Functions | Public Attributes | List of all members
TPZYCDruckerPrager Class Reference

Implementa a plastificacao do criterio de Von Mises. More...

#include <TPZYCDruckerPrager.h>

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

Public Types

enum  { NYield }
 

Public Member Functions

 TPZYCDruckerPrager ()
 
 TPZYCDruckerPrager (const TPZYCDruckerPrager &source)
 
const char * Name () const
 
void Print (std::ostream &out) const override
 
void SetUp (const REAL &phi, const int innerMCFit)
 Setup of material parameters. More...
 
int GetForceYield ()
 
void SetForceYield (const int forceYield)
 
void SetYieldStatusMode (const TPZTensor< REAL > &sigma, const REAL &A)
 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. More...
 
template<class T >
void Compute (const TPZTensor< T > &sigma, const T &A, TPZVec< T > &res, int checkForcedYield=0) 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=0) const
 Derivada da funcao de plastificacao. More...
 
template<class T >
void H (const TPZTensor< T > &sigma, const T &A, TPZVec< T > &h, int checkForcedYield=0) const
 Derivada da funcao de plastificacao com respeito a forca termodinamica. More...
 
template<class T >
void AlphaMultiplier (const T &A, T &multiplier) const
 
virtual void Write (TPZStream &buf, int withclassid) const override
 Writes this object to the TPZStream buffer. Include the classid if withclassid = true. More...
 
virtual void Read (TPZStream &buf, void *context) override
 read objects from the stream More...
 
virtual int ClassId () const override
 Define the class id associated with the class. More...
 
void YieldFunction (const TPZVec< STATE > &sigma, STATE kprev, TPZVec< STATE > &yield) const override
 
virtual int GetNYield () const override
 
int NumCases ()
 Number of types of residuals. More...
 
void LoadState (TPZFMatrix< REAL > &state)
 LoadState will keep a given state as static variable of the class. More...
 
void ComputeTangent (TPZFMatrix< REAL > &tangent, TPZVec< REAL > &coefs, 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
 

Public Attributes

REAL fPhi
 
REAL fKsi
 
REAL fEta
 
TPZTensor< REAL > gRefTension
 

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

Implementa a plastificacao do criterio de Von Mises.

Definition at line 28 of file TPZYCDruckerPrager.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
NYield 

Definition at line 40 of file TPZYCDruckerPrager.h.

Constructor & Destructor Documentation

◆ TPZYCDruckerPrager() [1/2]

TPZYCDruckerPrager::TPZYCDruckerPrager ( )
inline

Definition at line 32 of file TPZYCDruckerPrager.h.

◆ TPZYCDruckerPrager() [2/2]

TPZYCDruckerPrager::TPZYCDruckerPrager ( const TPZYCDruckerPrager source)
inline

Definition at line 34 of file TPZYCDruckerPrager.h.

References fEta, and fKsi.

Member Function Documentation

◆ AlphaMultiplier()

template<class T >
void TPZYCDruckerPrager::AlphaMultiplier ( const T &  A,
T &  multiplier 
) const
inline

Multiplicador para o caso onde utilizamos uma variavel de dano modificada

Definition at line 128 of file TPZYCDruckerPrager.h.

References ClassId(), Read(), and Write().

◆ ClassId()

int TPZYCDruckerPrager::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 4 of file TPZYCDruckerPrager.cpp.

References Hash().

Referenced by AlphaMultiplier().

◆ Compute()

template<class T >
void TPZYCDruckerPrager::Compute ( const TPZTensor< T > &  sigma,
const T &  A,
TPZVec< T > &  res,
int  checkForcedYield = 0 
) const

Calculo do criterio de plastificacao.

Parameters
[in]sigmatensao atual
[in]Aforca thermodinamica atual
res
[in]checkForcedYieldindicates wether to force post-peak failure behavior

Definition at line 243 of file TPZYCDruckerPrager.h.

References fEta, fKsi, TPZTensor< T >::I1(), TPZTensor< T >::J2(), LOGPZ_INFO, and sqrt.

Referenced by Residual(), SetYieldStatusMode(), and YieldFunction().

◆ ComputeTangent()

void TPZYCDruckerPrager::ComputeTangent ( TPZFMatrix< REAL > &  tangent,
TPZVec< REAL > &  coefs,
int  icase 
)
inline

◆ GetForceYield()

int TPZYCDruckerPrager::GetForceYield ( )
inline

Definition at line 72 of file TPZYCDruckerPrager.h.

◆ GetNYield()

virtual int TPZYCDruckerPrager::GetNYield ( ) const
inlineoverridevirtual

Implements TPZPlasticCriterion.

Definition at line 147 of file TPZYCDruckerPrager.h.

References as_integer(), and NYield.

◆ H()

template<class T >
void TPZYCDruckerPrager::H ( const TPZTensor< T > &  sigma,
const T &  A,
TPZVec< T > &  h,
int  checkForcedYield = 0 
) const

Derivada da funcao de plastificacao com respeito a forca termodinamica.

Parameters
[in]sigmatensao atual
[in]Aforca termodinamica atual
[out]hDerivada com respeito a forca termodinamica
[in]checkForcedYieldindicates wether to force post-peak failure behavior

Definition at line 295 of file TPZYCDruckerPrager.h.

References fKsi.

Referenced by SetYieldStatusMode().

◆ LoadState()

void TPZYCDruckerPrager::LoadState ( TPZFMatrix< REAL > &  state)
inline

LoadState will keep a given state as static variable of the class.

Definition at line 168 of file TPZYCDruckerPrager.h.

References TPZTensor< T >::fData.

◆ N()

template<class T >
void TPZYCDruckerPrager::N ( const TPZTensor< T > &  sigma,
const T &  A,
TPZVec< TPZTensor< T > > &  Ndir,
int  checkForcedYield = 0 
) const

Derivada da funcao de plastificacao.

Parameters
[in]sigmatensao atual
[in]Aforca termodinamica atual
[out]NdirDerivada com respeito a tensao
[in]checkForcedYieldindicates wether to force post-peak failure behavior

Definition at line 266 of file TPZYCDruckerPrager.h.

References TPZTensor< T >::dJ2(), fEta, TPZTensor< T >::J2(), sqrt, TPZTensor< T >::XX(), TPZTensor< T >::YY(), and TPZTensor< T >::ZZ().

Referenced by SetYieldStatusMode().

◆ Name()

const char* TPZYCDruckerPrager::Name ( ) const
inline

Definition at line 42 of file TPZYCDruckerPrager.h.

Referenced by Print().

◆ NumCases()

int TPZYCDruckerPrager::NumCases ( )
inline

Number of types of residuals.

Definition at line 161 of file TPZYCDruckerPrager.h.

◆ Print()

void TPZYCDruckerPrager::Print ( std::ostream &  out) const
inlineoverridevirtual

Reimplemented from TPZPlasticCriterion.

Definition at line 47 of file TPZYCDruckerPrager.h.

References Name().

◆ Read()

void TPZYCDruckerPrager::Read ( TPZStream buf,
void *  context = 0 
)
inlineoverridevirtual

read objects from the stream

Reimplemented from TPZSavable.

Definition at line 305 of file TPZYCDruckerPrager.h.

Referenced by AlphaMultiplier().

◆ Residual()

void TPZYCDruckerPrager::Residual ( TPZFMatrix< REAL > &  res,
int  icase 
)
inline

◆ SetForceYield()

void TPZYCDruckerPrager::SetForceYield ( const int  forceYield)
inline

Definition at line 77 of file TPZYCDruckerPrager.h.

◆ SetUp()

void TPZYCDruckerPrager::SetUp ( const REAL &  phi,
const int  innerMCFit 
)
inline

Setup of material parameters.

Parameters
[in]phiMohr Coulomb's internal friction angle
[in]innerMCFitIf one, Drucker Prager model is inscribed in a referred Mohr Coulomb envelope. If zero, circumscribed. VERY IMPORTANT!! The ThermoForceA parameters should be set as: fk: Herdening slope for the cohesion fYield0 : equivalent Mohr Coulomb cohesion C

Definition at line 60 of file TPZYCDruckerPrager.h.

References cos(), fEta, fKsi, sin, and sqrt.

◆ SetYieldStatusMode()

void TPZYCDruckerPrager::SetYieldStatusMode ( const TPZTensor< REAL > &  sigma,
const REAL &  A 
)
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.

Parameters
[in]sigmastress state
[in]AThermo Force

Definition at line 89 of file TPZYCDruckerPrager.h.

References Compute(), h, H(), N(), and test::res.

◆ Write()

void TPZYCDruckerPrager::Write ( TPZStream buf,
int  withclassid = 0 
) const
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 302 of file TPZYCDruckerPrager.h.

Referenced by AlphaMultiplier().

◆ YieldFunction()

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

Member Data Documentation

◆ fEta

REAL TPZYCDruckerPrager::fEta

Definition at line 155 of file TPZYCDruckerPrager.h.

Referenced by Compute(), N(), SetUp(), and TPZYCDruckerPrager().

◆ fKsi

REAL TPZYCDruckerPrager::fKsi

Definition at line 155 of file TPZYCDruckerPrager.h.

Referenced by Compute(), H(), SetUp(), and TPZYCDruckerPrager().

◆ fPhi

REAL TPZYCDruckerPrager::fPhi

Definition at line 153 of file TPZYCDruckerPrager.h.

◆ gRefTension

TPZTensor<REAL> TPZYCDruckerPrager::gRefTension

Definition at line 165 of file TPZYCDruckerPrager.h.

Referenced by ComputeTangent().


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