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

#include <TPZLadeNelsonElasticResponse.h>

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

Public Member Functions

int ClassId () const override
 Define the class id associated with the class. More...
 
 TPZLadeNelsonElasticResponse ()
 
 TPZLadeNelsonElasticResponse (const TPZLadeNelsonElasticResponse &source)
 
TPZLadeNelsonElasticResponseoperator= (const TPZLadeNelsonElasticResponse &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
 
void SetUp (REAL Lambda, REAL M, REAL poisson, REAL pa)
 
template<class T >
void ComputeStress (const TPZTensor< T > &epsilon_T, TPZTensor< T > &sigma_T) const
 
void ComputeStress (const TPZTensor< REAL > &epsilon, TPZTensor< REAL > &sigma) const
 
int NumCases ()
 
void LoadState (TPZFMatrix< REAL > &state)
 
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 fLambda
 
REAL fM
 
REAL fPoisson
 
REAL fPa
 

Static Public Attributes

static TPZTensor< REAL > gRefDeform
 

Protected Member Functions

template<class T >
void SolveSigma (const TPZTensor< T > &epsilon_T, TPZTensor< T > &sigma_T) const
 
template<class T , class TBASE >
void ComputeYoung (const TPZTensor< T > &sigma, T &Young) const
 
template<class T , class TBASE >
void ApplyElasticTensor (const T &Young, const TPZTensor< T > &Epsilon, TPZTensor< T > &sigma) const
 
template<class T , class VECTOR , class MATRIX >
void ExtractTangent (const TPZTensor< T > &Res_T, VECTOR &ResVal, REAL &resnorm, MATRIX &tangent) const
 

Detailed Description

Calcula a tensao em funcao de deformacao (elastica)

Definition at line 34 of file TPZLadeNelsonElasticResponse.h.

Constructor & Destructor Documentation

◆ TPZLadeNelsonElasticResponse() [1/2]

TPZLadeNelsonElasticResponse::TPZLadeNelsonElasticResponse ( )
inline

Definition at line 40 of file TPZLadeNelsonElasticResponse.h.

◆ TPZLadeNelsonElasticResponse() [2/2]

TPZLadeNelsonElasticResponse::TPZLadeNelsonElasticResponse ( const TPZLadeNelsonElasticResponse source)
inline

Definition at line 43 of file TPZLadeNelsonElasticResponse.h.

References fLambda, fM, fPa, and fPoisson.

Member Function Documentation

◆ ApplyElasticTensor()

template<class T , class TBASE >
void TPZLadeNelsonElasticResponse::ApplyElasticTensor ( const T &  Young,
const TPZTensor< T > &  Epsilon,
TPZTensor< T > &  sigma 
) const
inlineprotected

◆ CheckConv()

static void TPZLadeNelsonElasticResponse::CheckConv ( )
inlinestatic

Definition at line 257 of file TPZLadeNelsonElasticResponse.h.

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

◆ ClassId()

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

References Hash().

◆ ComputeStress() [1/2]

template<class T >
void TPZLadeNelsonElasticResponse::ComputeStress ( const TPZTensor< T > &  epsilon_T,
TPZTensor< T > &  sigma_T 
) const
inline

Computes the stress tensor based on the strain tensor

Parameters
epsilon_T[in] strain tensor
sigma_T[in/out] stress tensor. It is used as the initial guess and also as output parameter

Definition at line 366 of file TPZLadeNelsonElasticResponse.h.

References ComputeYoung(), and TPZTensor< T >::CopyTo().

Referenced by ComputeStress(), and SolveSigma().

◆ ComputeStress() [2/2]

void TPZLadeNelsonElasticResponse::ComputeStress ( const TPZTensor< REAL > &  epsilon,
TPZTensor< REAL > &  sigma 
) const
inline

Computes the stress tensor based on the strain tensor. REAL type specialization

Parameters
epsilon[in] strain tensor
sigma[in/out] stress tensor. It is used as the initial guess and also as output parameter

Definition at line 352 of file TPZLadeNelsonElasticResponse.h.

References ComputeStress().

◆ ComputeTangent()

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

◆ ComputeYoung()

template<class T , class TBASE >
void TPZLadeNelsonElasticResponse::ComputeYoung ( const TPZTensor< T > &  sigma,
T &  Young 
) const
inlineprotected

◆ ExtractTangent()

template<class T , class VECTOR , class MATRIX >
void TPZLadeNelsonElasticResponse::ExtractTangent ( const TPZTensor< T > &  Res_T,
VECTOR &  ResVal,
REAL &  resnorm,
MATRIX &  tangent 
) const
inlineprotected

Definition at line 438 of file TPZLadeNelsonElasticResponse.h.

References TPZTensor< T >::fData, pow(), sqrt, and TPZExtractVal::val().

Referenced by ApplyElasticTensor().

◆ LoadState()

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

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

Definition at line 162 of file TPZLadeNelsonElasticResponse.h.

References LOGPZ_DEBUG.

◆ Name()

const char* TPZLadeNelsonElasticResponse::Name ( ) const
inline

Definition at line 74 of file TPZLadeNelsonElasticResponse.h.

◆ NumCases()

int TPZLadeNelsonElasticResponse::NumCases ( )
inline

number of types of residuals

Definition at line 153 of file TPZLadeNelsonElasticResponse.h.

◆ operator=()

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

Definition at line 51 of file TPZLadeNelsonElasticResponse.h.

References fLambda, fM, fPa, and fPoisson.

◆ Print()

void TPZLadeNelsonElasticResponse::Print ( std::ostream &  out) const
inline

Definition at line 79 of file TPZLadeNelsonElasticResponse.h.

◆ Read()

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

read objects from the stream

Reimplemented from TPZSavable.

Definition at line 67 of file TPZLadeNelsonElasticResponse.h.

References TPZStream::Read().

◆ Residual()

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

◆ SetUp()

void TPZLadeNelsonElasticResponse::SetUp ( REAL  Lambda,
REAL  M,
REAL  poisson,
REAL  pa 
)
inline

Construtor da classe em funcao das variaveis de lame

Parameters
[in]LambdaExponent in the Lade/Nelson elasticity law
[in]MMultiplier constant in the Lade/Nelson elasticity law
[in]poissonPoisson's coeficient
[in]paatmospheric pressure

Definition at line 96 of file TPZLadeNelsonElasticResponse.h.

Referenced by CheckConv().

◆ SolveSigma()

template<class T >
void TPZLadeNelsonElasticResponse::SolveSigma ( const TPZTensor< T > &  epsilon_T,
TPZTensor< T > &  sigma_T 
) const
inlineprotected

Computes the stress tensor based on the strain tensor Uses a Newton's method because the YoungModulus is explicit on sigma and not epsilon

Parameters
epsilon_T[in] strain tensor
sigma_T[in/out] stress tensor. It is used as the initial guess and also as output parameter

Definition at line 290 of file TPZLadeNelsonElasticResponse.h.

References ComputeStress(), TPZDiffMatrix< T >::Decompose_LU(), TPZTensor< T >::fData, pow(), sqrt, substruct_tst14.test::status, and TPZExtractVal::val().

Referenced by CheckConv().

◆ Write()

void TPZLadeNelsonElasticResponse::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 60 of file TPZLadeNelsonElasticResponse.h.

References TPZStream::Write().

Member Data Documentation

◆ fLambda

REAL TPZLadeNelsonElasticResponse::fLambda

Definition at line 142 of file TPZLadeNelsonElasticResponse.h.

Referenced by operator=(), and TPZLadeNelsonElasticResponse().

◆ fM

REAL TPZLadeNelsonElasticResponse::fM

Definition at line 143 of file TPZLadeNelsonElasticResponse.h.

Referenced by operator=(), and TPZLadeNelsonElasticResponse().

◆ fPa

REAL TPZLadeNelsonElasticResponse::fPa

Definition at line 145 of file TPZLadeNelsonElasticResponse.h.

Referenced by operator=(), and TPZLadeNelsonElasticResponse().

◆ fPoisson

REAL TPZLadeNelsonElasticResponse::fPoisson

Definition at line 144 of file TPZLadeNelsonElasticResponse.h.

Referenced by operator=(), and TPZLadeNelsonElasticResponse().

◆ gRefDeform

TPZTensor<REAL> TPZLadeNelsonElasticResponse::gRefDeform
static

Definition at line 158 of file TPZLadeNelsonElasticResponse.h.


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