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

Implementa as funções de potencial plástico e yield criterium do modelo constitutivo de Lade Kim para solo e rochas brandas. More...

#include <TPZYCLadeKim.h>

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

Public Types

enum  { NYield }
 

Public Member Functions

virtual int ClassId () const override
 Define the class id associated with the class. More...
 
 TPZYCLadeKim ()
 
 TPZYCLadeKim (const TPZYCLadeKim &source)
 
TPZYCLadeKimoperator= (const TPZYCLadeKim &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...
 
const char * Name () const
 
void Print (std::ostream &out) const override
 
int GetForceYield ()
 
void SetForceYield (const int forceYield)
 
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 ComputePlasticPotential (const TPZTensor< T > &sigma, const T &A, T &PlasticPot, int checkForcedYield) const
 Calculo da função de potencial plástico. More...
 
template<class T >
void N (const TPZTensor< T > &sigma, const T &A, TPZVec< TPZTensor< T > > &Ndir, int checkForcedYield) const
 Derivada da derivada da funcao de potencial plastico (direção de plastificação) More...
 
template<class T >
void H (const TPZTensor< T > &sigma, const T &A, TPZVec< T > &h, int checkForcedYield) const
 Derivada da funcao de plastificacao com respeito a forca termodinamica. More...
 
void SetUp (REAL Ksi1, REAL Ksi2, REAL h, REAL Alpha, REAL Mu, REAL neta1, REAL m, REAL pa)
 
template<class T >
void AlphaMultiplier (const T &A, T &multiplier) const
 
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...
 
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 > &, 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 CheckConv ()
 
- 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)
 

Public Attributes

REAL fKsi1
 Parameter related to the YC and Plastic Potential Ksi1 models the shape of the yield funcition at the deviatoric planes by defining the relative influence of invariants I3 and I2. The I3 term leads to a triangular shaped YC at the deviatoric planes while the I2 term leads to a circular shaped YC. OBS: Ksi1 may be related to the m parameter (curvature of meridians for failure surface) through the expression: ksi1 = 0.00155 * m ^ -1.27. More...
 
REAL fh
 Parameter related to the YC
The h constant models the curvature of the YC meridians, i.e., how the meridians vary along with the level of hydrostatic stress (I1/3). More...
 
REAL m_hardening
 Parameter related to the YC
Alpha models how the exponent q varies according to the proximity of the stress state to the failure surface (surface at which the material starts to soften). In the bibliography, q is defined as a function of the stress level only. During isotropic compression, q evaluates to null and the material is allowed to plastify and harden unlimitedly; Stress paths that lead to deviatoric stresses correspond to values of q between 0 and 1, assuming 1 when the material reaches the failure surface. Phisically one may say that the parameter Alpha (and therefore q too) is responsible for the material behavior of increasing rates of hardening with increasing deviatoric stresses. Notice that this alpha is not related to the Plastic Damage variable. More...
 
REAL fKsi2
 Parameter related to the Plastic Potential
Ksi2 controls the intersection of the Plastic Potential with the Hydrostatic axis. More...
 
REAL fMu
 Parameter related to the Plastic Potential
Mu defines the curvature of the meridians. More...
 
REAL fNeta1
 Parameter related to the Failure Surface
Neta1 is the value of the failure Surface for the material when it fails. More...
 
REAL fm
 Parameter related to the Failure Surface
m models the curvature of the meridians of the Failure Surface. More...
 
REAL fPa
 Atmospheric pressure to input/remove dimensional effects. More...
 
int fForceYield
 Post Peak material behavior. More...
 

Static Public Attributes

static TPZTensor< REAL > gRefTension
 

Detailed Description

Implementa as funções de potencial plástico e yield criterium do modelo constitutivo de Lade Kim para solo e rochas brandas.

Definition at line 27 of file TPZYCLadeKim.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
NYield 

Definition at line 31 of file TPZYCLadeKim.h.

Constructor & Destructor Documentation

◆ TPZYCLadeKim() [1/2]

TPZYCLadeKim::TPZYCLadeKim ( )
inline

Definition at line 35 of file TPZYCLadeKim.h.

◆ TPZYCLadeKim() [2/2]

TPZYCLadeKim::TPZYCLadeKim ( const TPZYCLadeKim source)
inline

Definition at line 37 of file TPZYCLadeKim.h.

References fForceYield, fh, fKsi1, fKsi2, fm, fMu, fNeta1, fPa, and m_hardening.

Member Function Documentation

◆ AlphaMultiplier()

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

Multiplicador para o caso onde utilizamos uma variavel de dano modificada

Definition at line 174 of file TPZYCLadeKim.h.

References SetYieldStatusMode().

◆ CheckConv()

static void TPZYCLadeKim::CheckConv ( )
inlinestatic

Creating the LadeNelsonElasticResponse obejct

Definition at line 278 of file TPZYCLadeKim.h.

References _XX_, _XY_, _XZ_, _YY_, _YZ_, _ZZ_, CheckConvergence(), m, pow(), and SetUp().

◆ ClassId()

int TPZYCLadeKim::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 TPZYCLadeKim.cpp.

References Hash().

◆ Compute()

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

Calculo do criterio de plastificacao.

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

Definition at line 320 of file TPZYCLadeKim.h.

References exp, fabs, fForceYield, fh, fKsi1, fm, fNeta1, fPa, TPZTensor< T >::I1(), TPZTensor< T >::I2(), TPZTensor< T >::I3(), log, LOGPZ_INFO, LOGPZ_WARN, m_hardening, and TPZExtractVal::val().

Referenced by SetForceYield(), and YieldFunction().

◆ ComputePlasticPotential()

template<class T >
void TPZYCLadeKim::ComputePlasticPotential ( const TPZTensor< T > &  sigma,
const T &  A,
T &  PlasticPot,
int  checkForcedYield 
) const
inline

Calculo da função de potencial plástico.

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

Definition at line 445 of file TPZYCLadeKim.h.

References exp, fabs, fKsi1, fKsi2, fMu, fPa, TPZTensor< T >::I1(), TPZTensor< T >::I2(), TPZTensor< T >::I3(), log, and TPZExtractVal::val().

Referenced by H(), Residual(), and SetForceYield().

◆ ComputeTangent()

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

◆ GetForceYield()

int TPZYCLadeKim::GetForceYield ( )
inline

Definition at line 107 of file TPZYCLadeKim.h.

References fForceYield.

◆ GetNYield()

virtual int TPZYCLadeKim::GetNYield ( ) const
inlineoverridevirtual

Implements TPZPlasticCriterion.

Definition at line 196 of file TPZYCLadeKim.h.

References as_integer(), and NYield.

◆ H()

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

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 515 of file TPZYCLadeKim.h.

References ComputePlasticPotential(), and fMu.

Referenced by SetForceYield().

◆ LoadState()

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

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

Definition at line 580 of file TPZYCLadeKim.h.

References gRefTension, and LOGPZ_DEBUG.

◆ N()

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

Derivada da derivada da funcao de potencial plastico (direção de plastificação)

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 463 of file TPZYCLadeKim.h.

References exp, fabs, fKsi1, fKsi2, fMu, fPa, TPZTensor< T >::I1(), TPZTensor< T >::I2(), TPZTensor< T >::I3(), log, TPZExtractVal::val(), TPZTensor< T >::XX(), TPZTensor< T >::XY(), TPZTensor< T >::XZ(), TPZTensor< T >::YY(), TPZTensor< T >::YZ(), and TPZTensor< T >::ZZ().

Referenced by ComputeTangent(), Residual(), and SetForceYield().

◆ Name()

const char* TPZYCLadeKim::Name ( ) const
inline

Definition at line 88 of file TPZYCLadeKim.h.

Referenced by Print().

◆ NumCases()

int TPZYCLadeKim::NumCases ( )
inline

number of types of residuals

Definition at line 575 of file TPZYCLadeKim.h.

◆ operator=()

TPZYCLadeKim& TPZYCLadeKim::operator= ( const TPZYCLadeKim source)
inline

Definition at line 50 of file TPZYCLadeKim.h.

References fForceYield, fh, fKsi1, fKsi2, fm, fMu, fNeta1, fPa, and m_hardening.

◆ Print()

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

Reimplemented from TPZPlasticCriterion.

Definition at line 93 of file TPZYCLadeKim.h.

References fForceYield, fh, fKsi1, fKsi2, fm, fMu, fNeta1, fPa, m_hardening, and Name().

◆ Read()

void TPZYCLadeKim::Read ( TPZStream buf,
void *  context 
)
inlineoverridevirtual

read objects from the stream

Reimplemented from TPZSavable.

Definition at line 76 of file TPZYCLadeKim.h.

References fForceYield, fh, fKsi1, fKsi2, fm, fMu, fNeta1, fPa, m_hardening, and TPZStream::Read().

◆ Residual()

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

◆ SetForceYield()

void TPZYCLadeKim::SetForceYield ( const int  forceYield)
inline

Definition at line 112 of file TPZYCLadeKim.h.

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

◆ SetUp()

void TPZYCLadeKim::SetUp ( REAL  Ksi1,
REAL  Ksi2,
REAL  h,
REAL  Alpha,
REAL  Mu,
REAL  neta1,
REAL  m,
REAL  pa 
)
inline

Definition at line 157 of file TPZYCLadeKim.h.

References fh, fKsi1, fKsi2, fm, fMu, fNeta1, fPa, h, m, and m_hardening.

Referenced by CheckConv().

◆ SetYieldStatusMode()

void TPZYCLadeKim::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 524 of file TPZYCLadeKim.h.

References fabs, fForceYield, fm, fNeta1, fPa, TPZTensor< T >::I1(), TPZTensor< T >::I3(), LOGPZ_INFO, pow(), and TPZExtractVal::val().

Referenced by AlphaMultiplier().

◆ Write()

void TPZYCLadeKim::Write ( TPZStream buf,
int  withclassid 
) 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 64 of file TPZYCLadeKim.h.

References fForceYield, fh, fKsi1, fKsi2, fm, fMu, fNeta1, fPa, m_hardening, and TPZStream::Write().

◆ YieldFunction()

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

Member Data Documentation

◆ fForceYield

int TPZYCLadeKim::fForceYield

Post Peak material behavior.

Definition at line 262 of file TPZYCLadeKim.h.

Referenced by Compute(), GetForceYield(), operator=(), Print(), Read(), SetForceYield(), SetYieldStatusMode(), TPZYCLadeKim(), and Write().

◆ fh

REAL TPZYCLadeKim::fh

Parameter related to the YC
The h constant models the curvature of the YC meridians, i.e., how the meridians vary along with the level of hydrostatic stress (I1/3).

Definition at line 216 of file TPZYCLadeKim.h.

Referenced by Compute(), operator=(), Print(), Read(), SetUp(), TPZYCLadeKim(), and Write().

◆ fKsi1

REAL TPZYCLadeKim::fKsi1

Parameter related to the YC and Plastic Potential Ksi1 models the shape of the yield funcition at the deviatoric planes by defining the relative influence of invariants I3 and I2. The I3 term leads to a triangular shaped YC at the deviatoric planes while the I2 term leads to a circular shaped YC. OBS: Ksi1 may be related to the m parameter (curvature of meridians for failure surface) through the expression: ksi1 = 0.00155 * m ^ -1.27.

Definition at line 209 of file TPZYCLadeKim.h.

Referenced by Compute(), ComputePlasticPotential(), N(), operator=(), Print(), Read(), SetUp(), TPZYCLadeKim(), and Write().

◆ fKsi2

REAL TPZYCLadeKim::fKsi2

Parameter related to the Plastic Potential
Ksi2 controls the intersection of the Plastic Potential with the Hydrostatic axis.

Definition at line 238 of file TPZYCLadeKim.h.

Referenced by ComputePlasticPotential(), N(), operator=(), Print(), Read(), SetUp(), TPZYCLadeKim(), and Write().

◆ fm

REAL TPZYCLadeKim::fm

Parameter related to the Failure Surface
m models the curvature of the meridians of the Failure Surface.

Definition at line 256 of file TPZYCLadeKim.h.

Referenced by Compute(), operator=(), Print(), Read(), SetUp(), SetYieldStatusMode(), TPZYCLadeKim(), and Write().

◆ fMu

REAL TPZYCLadeKim::fMu

Parameter related to the Plastic Potential
Mu defines the curvature of the meridians.

Definition at line 244 of file TPZYCLadeKim.h.

Referenced by ComputePlasticPotential(), H(), N(), operator=(), Print(), Read(), SetUp(), TPZYCLadeKim(), and Write().

◆ fNeta1

REAL TPZYCLadeKim::fNeta1

Parameter related to the Failure Surface
Neta1 is the value of the failure Surface for the material when it fails.

Definition at line 250 of file TPZYCLadeKim.h.

Referenced by Compute(), operator=(), Print(), Read(), SetUp(), SetYieldStatusMode(), TPZYCLadeKim(), and Write().

◆ fPa

REAL TPZYCLadeKim::fPa

Atmospheric pressure to input/remove dimensional effects.

Definition at line 259 of file TPZYCLadeKim.h.

Referenced by Compute(), ComputePlasticPotential(), N(), operator=(), Print(), Read(), SetUp(), SetYieldStatusMode(), TPZYCLadeKim(), and Write().

◆ gRefTension

TPZTensor<REAL> TPZYCLadeKim::gRefTension
static

Definition at line 270 of file TPZYCLadeKim.h.

Referenced by ComputeTangent(), LoadState(), and Residual().

◆ m_hardening

REAL TPZYCLadeKim::m_hardening

Parameter related to the YC
Alpha models how the exponent q varies according to the proximity of the stress state to the failure surface (surface at which the material starts to soften). In the bibliography, q is defined as a function of the stress level only. During isotropic compression, q evaluates to null and the material is allowed to plastify and harden unlimitedly; Stress paths that lead to deviatoric stresses correspond to values of q between 0 and 1, assuming 1 when the material reaches the failure surface. Phisically one may say that the parameter Alpha (and therefore q too) is responsible for the material behavior of increasing rates of hardening with increasing deviatoric stresses. Notice that this alpha is not related to the Plastic Damage variable.

Definition at line 232 of file TPZYCLadeKim.h.

Referenced by Compute(), operator=(), Print(), Read(), SetUp(), TPZYCLadeKim(), and Write().


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