NeoPZ
Public Member Functions | Private Attributes | List of all members
TPZPorousElasticResponse Class Reference

#include <TPZPorousElasticResponse.h>

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

Public Member Functions

int ClassId () const override
 
 TPZPorousElasticResponse ()
 
 TPZPorousElasticResponse (const TPZPorousElasticResponse &other)
 
TPZPorousElasticResponseoperator= (const TPZPorousElasticResponse &other)
 
void Write (TPZStream &buf, int withclassid) const override
 
void Read (TPZStream &buf, void *context) override
 
void SetPorousElasticity (STATE kappa, STATE pt_el, STATE e_0, STATE p_0)
 
void Setp_0 (STATE p_0)
 
void Sete_0 (STATE e_0)
 
void SetShearModulusConstant (STATE G)
 
void SetPoissonRatioConstant (STATE nu)
 
void SetPlaneStrain ()
 
void SetPlaneStress ()
 
const char * Name () const
 
void Print (std::ostream &out) const
 
void G (const TPZTensor< STATE > &epsilon, STATE &G, STATE &dG_desp_vol) const
 
void Poisson (const TPZTensor< STATE > &epsilon, STATE &nu, STATE &dnu_desp_vol) const
 
void Poisson_linearized (const TPZTensor< STATE > &epsilon_ref, const TPZTensor< STATE > &epsilon, STATE &nu) const
 
void K (const TPZTensor< STATE > &epsilon, STATE &K, STATE &dK_desp_vol) const
 
void De (const TPZTensor< STATE > &epsilon, TPZFMatrix< STATE > &De) const
 
void De_G_constant (const TPZTensor< STATE > &epsilon, TPZFMatrix< STATE > &De) const
 
void De_Poisson_constant (const TPZTensor< STATE > &epsilon, TPZFMatrix< STATE > &De) const
 
TPZElasticResponse EvaluateElasticResponse (const TPZTensor< STATE > &epsilon) const
 Computes a linear elastic response from function evaluation of non linear expressions. More...
 
TPZElasticResponse LinearizedElasticResponse (const TPZTensor< STATE > &epsilon_ref, const TPZTensor< STATE > &epsilon) const
 Computes a linear elastic response from the linearization around a reference state eps_ref. More...
 
template<class T >
void ComputeStress (const TPZTensor< T > &epsilon, TPZTensor< T > &sigma) const
 
template<class T >
void ComputeStrain (const TPZTensor< T > &sigma, TPZTensor< T > &epsilon) const
 
- Public Member Functions inherited from TPZElasticResponse
 TPZElasticResponse ()
 
 TPZElasticResponse (const TPZElasticResponse &other)
 
TPZElasticResponseoperator= (const TPZElasticResponse &other)
 
const char * Name () const
 
void Print (std::ostream &out) const
 
template<class T >
void ComputeStress (const TPZTensor< T > &epsilon, TPZTensor< T > &sigma) const
 
template<class T >
void ComputeStrain (const TPZTensor< T > &sigma, TPZTensor< T > &epsilon) const
 
void De (TPZFMatrix< REAL > &De)
 
void SetEngineeringData (REAL Eyoung, REAL Poisson)
 
void SetLameData (REAL lambda, REAL mu)
 
REAL Lambda () const
 
REAL K () const
 
REAL Mu () const
 
REAL G () const
 
REAL E () const
 
REAL Poisson () const
 
void SetResidualStrainData (TPZTensor< REAL > &eps_res)
 
TPZTensor< REAL > & ResidualStrainData ()
 
- 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

STATE m_kappa
 Logarithmic bulk modulus. More...
 
STATE m_pt_el
 Elastic tensile strengh. More...
 
STATE m_e_0
 Initial void ratio. More...
 
STATE m_p_0
 Initial equivalent pressure stress. More...
 
STATE m_nu
 Poisson ratio. More...
 
STATE m_mu
 Second lamé parameter. More...
 
bool m_is_G_constant_Q
 Directive for define constant shear modulus calculations (false means constant Poisson ratio) More...
 
bool m_plane_stress_Q
 Directive for define Plain stress state or plane strain state. More...
 

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 TPZPorousElasticResponse.h.

Constructor & Destructor Documentation

◆ TPZPorousElasticResponse() [1/2]

TPZPorousElasticResponse::TPZPorousElasticResponse ( )

◆ TPZPorousElasticResponse() [2/2]

TPZPorousElasticResponse::TPZPorousElasticResponse ( const TPZPorousElasticResponse other)

Member Function Documentation

◆ ClassId()

int TPZPorousElasticResponse::ClassId ( ) const
overridevirtual

A unique class identifier

Returns
The class identifier as integer

Reimplemented from TPZElasticResponse.

Definition at line 11 of file TPZPorousElasticResponse.cpp.

References Hash().

◆ ComputeStrain()

template<class T >
void TPZPorousElasticResponse::ComputeStrain ( const TPZTensor< T > &  sigma,
TPZTensor< T > &  epsilon 
) const
inline

◆ ComputeStress()

template<class T >
void TPZPorousElasticResponse::ComputeStress ( const TPZTensor< T > &  epsilon,
TPZTensor< T > &  sigma 
) const
inline

◆ De()

void TPZPorousElasticResponse::De ( const TPZTensor< STATE > &  epsilon,
TPZFMatrix< STATE > &  De 
) const

◆ De_G_constant()

void TPZPorousElasticResponse::De_G_constant ( const TPZTensor< STATE > &  epsilon,
TPZFMatrix< STATE > &  De 
) const

◆ De_Poisson_constant()

void TPZPorousElasticResponse::De_Poisson_constant ( const TPZTensor< STATE > &  epsilon,
TPZFMatrix< STATE > &  De 
) const

◆ EvaluateElasticResponse()

TPZElasticResponse TPZPorousElasticResponse::EvaluateElasticResponse ( const TPZTensor< STATE > &  epsilon) const

Computes a linear elastic response from function evaluation of non linear expressions.

The properties are computed as zero order approach, i.e. constant associated to epsilon

Seeking for an equivalent residual strain

Definition at line 319 of file TPZPorousElasticResponse.cpp.

References TPZElasticResponse::ComputeStrain(), ComputeStress(), TPZElasticResponse::G(), TPZElasticResponse::K(), m_is_G_constant_Q, m_mu, m_nu, TPZElasticResponse::SetEngineeringData(), and TPZElasticResponse::SetResidualStrainData().

Referenced by TPZMatElastoPlastic< T, TMEM >::ApplyDeltaStrain(), TPZMatElastoPlastic< T, TMEM >::ApplyDeltaStrainComputeDep(), and TPZPorousElasticCriterion::ApplyLoad().

◆ G()

void TPZPorousElasticResponse::G ( const TPZTensor< STATE > &  epsilon,
STATE &  G,
STATE &  dG_desp_vol 
) const

Definition at line 132 of file TPZPorousElasticResponse.cpp.

References exp, TPZTensor< T >::I1(), m_e_0, m_kappa, m_nu, m_p_0, m_pt_el, and pow().

◆ K()

void TPZPorousElasticResponse::K ( const TPZTensor< STATE > &  epsilon,
STATE &  K,
STATE &  dK_desp_vol 
) const

Definition at line 175 of file TPZPorousElasticResponse.cpp.

References exp, TPZTensor< T >::I1(), m_e_0, m_kappa, m_p_0, m_pt_el, and pow().

◆ LinearizedElasticResponse()

TPZElasticResponse TPZPorousElasticResponse::LinearizedElasticResponse ( const TPZTensor< STATE > &  epsilon_ref,
const TPZTensor< STATE > &  epsilon 
) const

Computes a linear elastic response from the linearization around a reference state eps_ref.

The properties are computed as zero order approach, i.e. constant associated to epsilon

Seeking for an equivalent residual strain

Definition at line 350 of file TPZPorousElasticResponse.cpp.

References TPZElasticResponse::ComputeStrain(), ComputeStress(), DebugStop, TPZElasticResponse::G(), m_is_G_constant_Q, m_mu, m_nu, Poisson_linearized(), TPZElasticResponse::SetEngineeringData(), and TPZElasticResponse::SetResidualStrainData().

◆ Name()

const char * TPZPorousElasticResponse::Name ( ) const

Definition at line 113 of file TPZPorousElasticResponse.cpp.

Referenced by Print().

◆ operator=()

TPZPorousElasticResponse & TPZPorousElasticResponse::operator= ( const TPZPorousElasticResponse other)

◆ Poisson()

void TPZPorousElasticResponse::Poisson ( const TPZTensor< STATE > &  epsilon,
STATE &  nu,
STATE &  dnu_desp_vol 
) const

Definition at line 147 of file TPZPorousElasticResponse.cpp.

References TPZElasticResponse::K(), m_is_G_constant_Q, m_mu, m_nu, and pow().

◆ Poisson_linearized()

void TPZPorousElasticResponse::Poisson_linearized ( const TPZTensor< STATE > &  epsilon_ref,
const TPZTensor< STATE > &  epsilon,
STATE &  nu 
) const

Definition at line 162 of file TPZPorousElasticResponse.cpp.

References exp, TPZTensor< T >::I1(), m_e_0, m_kappa, m_mu, m_p_0, m_pt_el, and pow().

Referenced by LinearizedElasticResponse().

◆ Print()

void TPZPorousElasticResponse::Print ( std::ostream &  out) const

◆ Read()

void TPZPorousElasticResponse::Read ( TPZStream buf,
void *  context 
)
overridevirtual

Read (persistency)

Parameters
bufThe TPZStream object
contextpointer to the associated object

Reimplemented from TPZElasticResponse.

Definition at line 68 of file TPZPorousElasticResponse.cpp.

References m_e_0, m_is_G_constant_Q, m_kappa, m_mu, m_nu, m_p_0, m_plane_stress_Q, m_pt_el, and TPZStream::Read().

Referenced by TPZPorousElasticCriterion::Read(), and TPZPorousElastoPlasticMem::Read().

◆ Sete_0()

void TPZPorousElasticResponse::Sete_0 ( STATE  e_0)

Definition at line 91 of file TPZPorousElasticResponse.cpp.

References m_e_0.

◆ Setp_0()

void TPZPorousElasticResponse::Setp_0 ( STATE  p_0)

Definition at line 87 of file TPZPorousElasticResponse.cpp.

References m_p_0.

◆ SetPlaneStrain()

void TPZPorousElasticResponse::SetPlaneStrain ( )

Definition at line 105 of file TPZPorousElasticResponse.cpp.

References m_plane_stress_Q.

◆ SetPlaneStress()

void TPZPorousElasticResponse::SetPlaneStress ( )

Definition at line 109 of file TPZPorousElasticResponse.cpp.

References m_plane_stress_Q.

◆ SetPoissonRatioConstant()

void TPZPorousElasticResponse::SetPoissonRatioConstant ( STATE  nu)

Definition at line 100 of file TPZPorousElasticResponse.cpp.

References m_is_G_constant_Q, and m_nu.

◆ SetPorousElasticity()

void TPZPorousElasticResponse::SetPorousElasticity ( STATE  kappa,
STATE  pt_el,
STATE  e_0,
STATE  p_0 
)

Definition at line 79 of file TPZPorousElasticResponse.cpp.

References m_e_0, m_kappa, m_p_0, and m_pt_el.

◆ SetShearModulusConstant()

void TPZPorousElasticResponse::SetShearModulusConstant ( STATE  G)

Definition at line 95 of file TPZPorousElasticResponse.cpp.

References TPZElasticResponse::G(), m_is_G_constant_Q, and m_mu.

◆ Write()

void TPZPorousElasticResponse::Write ( TPZStream buf,
int  withclassid 
) const
overridevirtual

Write (persistency)

Parameters
bufThe TPZStream object
withclassidThe class identifier

Reimplemented from TPZElasticResponse.

Definition at line 57 of file TPZPorousElasticResponse.cpp.

References m_e_0, m_is_G_constant_Q, m_kappa, m_mu, m_nu, m_p_0, m_plane_stress_Q, m_pt_el, and TPZStream::Write().

Referenced by TPZPorousElastoPlasticMem::Write(), and TPZPorousElasticCriterion::Write().

Member Data Documentation

◆ m_e_0

STATE TPZPorousElasticResponse::m_e_0
private

◆ m_is_G_constant_Q

bool TPZPorousElasticResponse::m_is_G_constant_Q
private

Directive for define constant shear modulus calculations (false means constant Poisson ratio)

Definition at line 40 of file TPZPorousElasticResponse.h.

Referenced by De(), EvaluateElasticResponse(), LinearizedElasticResponse(), operator=(), Poisson(), Print(), Read(), SetPoissonRatioConstant(), SetShearModulusConstant(), TPZPorousElasticResponse(), and Write().

◆ m_kappa

STATE TPZPorousElasticResponse::m_kappa
private

Logarithmic bulk modulus.

Definition at line 22 of file TPZPorousElasticResponse.h.

Referenced by G(), K(), operator=(), Poisson_linearized(), Print(), Read(), SetPorousElasticity(), TPZPorousElasticResponse(), and Write().

◆ m_mu

STATE TPZPorousElasticResponse::m_mu
private

◆ m_nu

STATE TPZPorousElasticResponse::m_nu
private

◆ m_p_0

STATE TPZPorousElasticResponse::m_p_0
private

Initial equivalent pressure stress.

Definition at line 31 of file TPZPorousElasticResponse.h.

Referenced by G(), K(), operator=(), Poisson_linearized(), Print(), Read(), Setp_0(), SetPorousElasticity(), TPZPorousElasticResponse(), and Write().

◆ m_plane_stress_Q

bool TPZPorousElasticResponse::m_plane_stress_Q
private

Directive for define Plain stress state or plane strain state.

Definition at line 43 of file TPZPorousElasticResponse.h.

Referenced by operator=(), Print(), Read(), SetPlaneStrain(), SetPlaneStress(), TPZPorousElasticResponse(), and Write().

◆ m_pt_el

STATE TPZPorousElasticResponse::m_pt_el
private

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