NeoPZ
Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
TPZYCTrescaRegularized Class Reference

This class implements a tresca yield criteria whrere the gradient of the inverse angle is regularized. More...

#include <tpzyctrescaregularized.h>

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

Public Member Functions

int ClassId () const override
 Define the class id associated with the class. More...
 
const char * Name () const
 
void Print (std::ostream &out) const override
 
template<class T >
void Compute (const TPZTensor< T > &sigma, const T &A, TPZVec< T > &result, 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...
 
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...
 
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)
 
virtual int GetNYield () const override
 
- Public Member Functions inherited from TPZYCTresca
const char * Name () const
 
int GetForceYield ()
 
void SetForceYield (const int forceYield)
 
void SetYieldStatusMode (const TPZTensor< REAL > &sigma, const REAL &A)
 
template<class T >
void Compute (const TPZTensor< T > &sigma, const T &A, TPZVec< T > &result, int checkForcedYield=0) const
 
template<class T >
void N (const TPZTensor< T > &sigma, const T &A, TPZVec< TPZTensor< T > > &Ndir, int checkForcedYield=0) const
 
template<class T >
void H (const TPZTensor< T > &sigma, const T &A, TPZVec< T > &h, int checkForcedYield=0) const
 
template<class T >
void AlphaMultiplier (const T &A, T &multiplier) const
 
void YieldFunction (const TPZVec< STATE > &sigma, STATE kprev, TPZVec< STATE > &yield) 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
 

Static Public Attributes

static TPZTensor< REAL > gRefTension
 
- Static Public Attributes inherited from TPZYCTresca
static TPZTensor< REAL > gRefTension
 

Protected Member Functions

template<class T >
void GradTheta (const TPZTensor< T > &sigma, T &theta, TPZTensor< T > &gradasin) const
 Compute the inverse angle of the tresca yield criterium formula and the related data. More...
 
- Protected Member Functions inherited from TPZYCTresca
template<class T >
void GradTheta (const TPZTensor< T > &sigma, T &theta, TPZTensor< T > &gradtheta) const
 Compute the inverse angle of the tresca yield criterium formula and the related data. More...
 
template<class T >
InverseAngle (const TPZTensor< T > &deviatoric) const
 Computes the inverse angle of the tresca yield criterium formula. More...
 
template<class T >
void GradInverseAngle (const TPZTensor< T > &sigma, TPZTensor< T > &grad) const
 Computes the derivative of the inverse angle of the tresca yield criterium formula. More...
 

Additional Inherited Members

- Public Types inherited from TPZYCTresca
enum  { NYield }
 
- 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

This class implements a tresca yield criteria whrere the gradient of the inverse angle is regularized.

Author
LabMeC

Definition at line 17 of file tpzyctrescaregularized.h.

Member Function Documentation

◆ ClassId()

int TPZYCTrescaRegularized::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

Reimplemented from TPZYCTresca.

Definition at line 4 of file TPZYCTrescaRegularized.cpp.

References TPZYCTresca::ClassId(), and Hash().

◆ Compute()

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

Calculo do criterio de plastificacao.

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

Definition at line 142 of file tpzyctrescaregularized.h.

References asin, TPZYCTresca::Compute(), cos(), fabs, TPZYCTresca::InverseAngle(), TPZTensor< T >::J2(), LOGPZ_DEBUG, TPZTensor< T >::S(), sqrt, pzgeom::tol, and TPZExtractVal::val().

Referenced by TPZYCVonMisesCombTresca::Compute(), Print(), and Residual().

◆ ComputeTangent()

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

◆ GetNYield()

virtual int TPZYCTrescaRegularized::GetNYield ( ) const
inlineoverridevirtual

Reimplemented from TPZYCTresca.

Definition at line 134 of file tpzyctrescaregularized.h.

References as_integer(), and TPZYCTresca::NYield.

◆ GradTheta()

template<class T >
void TPZYCTrescaRegularized::GradTheta ( const TPZTensor< T > &  sigma,
T &  theta,
TPZTensor< T > &  gradasin 
) const
protected

Compute the inverse angle of the tresca yield criterium formula and the related data.

Parameters
[in]sigmastress tensor
[out]thetaone third of the asin of the inverse angle
[out]gradasingradient of the inverse angle

Definition at line 185 of file tpzyctrescaregularized.h.

References asin, fabs, TPZYCTresca::GradInverseAngle(), TPZYCTresca::GradTheta(), TPZYCTresca::InverseAngle(), LOGPZ_DEBUG, TPZTensor< T >::Multiply(), sqrt, pzgeom::tol, and TPZExtractVal::val().

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

◆ LoadState()

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

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

Definition at line 86 of file tpzyctrescaregularized.h.

References TPZTensor< T >::fData.

◆ N()

template<class T >
void TPZYCTrescaRegularized::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 256 of file tpzyctrescaregularized.h.

References cos(), TPZTensor< T >::dJ2(), TPZTensor< T >::Multiply(), sin, and sqrt.

Referenced by ComputeTangent(), TPZYCVonMisesCombTresca::N(), and Print().

◆ Name()

const char* TPZYCTrescaRegularized::Name ( ) const
inline

Definition at line 25 of file tpzyctrescaregularized.h.

Referenced by Print().

◆ NumCases()

int TPZYCTrescaRegularized::NumCases ( )
inline

Number of types of residuals.

Definition at line 79 of file tpzyctrescaregularized.h.

◆ Print()

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

Reimplemented from TPZYCTresca.

Definition at line 30 of file tpzyctrescaregularized.h.

References Compute(), GradTheta(), N(), and Name().

Referenced by TPZYCVonMisesCombTresca::Print().

◆ Read()

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

read objects from the stream

Reimplemented from TPZYCTresca.

Definition at line 67 of file tpzyctrescaregularized.h.

Referenced by TPZYCVonMisesCombTresca::Read().

◆ Residual()

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

◆ Write()

void TPZYCTrescaRegularized::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 TPZYCTresca.

Definition at line 70 of file tpzyctrescaregularized.h.

Referenced by TPZYCVonMisesCombTresca::Write().

Member Data Documentation

◆ gRefTension

TPZTensor<REAL> TPZYCTrescaRegularized::gRefTension
static

Definition at line 84 of file tpzyctrescaregularized.h.


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