NeoPZ
|
#include <TPZPorousElasticResponse.h>
Public Member Functions | |
int | ClassId () const override |
TPZPorousElasticResponse () | |
TPZPorousElasticResponse (const TPZPorousElasticResponse &other) | |
TPZPorousElasticResponse & | operator= (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) | |
TPZElasticResponse & | operator= (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 TPZSavable * | CreateInstance (const int &classId) |
Definition at line 17 of file TPZPorousElasticResponse.h.
TPZPorousElasticResponse::TPZPorousElasticResponse | ( | ) |
Definition at line 15 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, and m_pt_el.
TPZPorousElasticResponse::TPZPorousElasticResponse | ( | const TPZPorousElasticResponse & | other | ) |
Definition at line 27 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, and m_pt_el.
|
overridevirtual |
A unique class identifier
Reimplemented from TPZElasticResponse.
Definition at line 11 of file TPZPorousElasticResponse.cpp.
References Hash().
|
inline |
Definition at line 123 of file TPZPorousElasticResponse.h.
References ComputeStress(), TPZTensor< T >::CopyFrom(), TPZTensor< T >::CopyTo(), De(), DebugStop, exp, fabs, TPZTensor< T >::I1(), IsZero(), m_e_0, m_pt_el, TPZMatrix< TVar >::Multiply(), Norm(), TPZTensor< T >::XX(), TPZTensor< T >::YY(), and TPZTensor< T >::ZZ().
Referenced by TPZPorousElasticCriterion::ApplyLoad().
|
inline |
Definition at line 100 of file TPZPorousElasticResponse.h.
References TPZTensor< T >::Add(), TPZElasticResponse::G(), TPZTensor< T >::I1(), TPZTensor< T >::Identity(), TPZElasticResponse::K(), m_mu, and TPZTensor< T >::Multiply().
Referenced by TPZPorousElasticCriterion::ApplyStrainComputeSigma(), ComputeStrain(), EvaluateElasticResponse(), and LinearizedElasticResponse().
void TPZPorousElasticResponse::De | ( | const TPZTensor< STATE > & | epsilon, |
TPZFMatrix< STATE > & | De | ||
) | const |
Definition at line 311 of file TPZPorousElasticResponse.cpp.
References De_G_constant(), De_Poisson_constant(), and m_is_G_constant_Q.
Referenced by TPZPorousElasticCriterion::ApplyStrainComputeSigma(), and ComputeStrain().
void TPZPorousElasticResponse::De_G_constant | ( | const TPZTensor< STATE > & | epsilon, |
TPZFMatrix< STATE > & | De | ||
) | const |
Nonlinear correction
Definition at line 185 of file TPZPorousElasticResponse.cpp.
References _XX_, _XY_, _XZ_, _YY_, _YZ_, _ZZ_, TPZElasticResponse::K(), m_mu, TPZFMatrix< TVar >::PutVal(), TPZTensor< T >::XX(), TPZTensor< T >::YY(), and TPZTensor< T >::ZZ().
Referenced by De().
void TPZPorousElasticResponse::De_Poisson_constant | ( | const TPZTensor< STATE > & | epsilon, |
TPZFMatrix< STATE > & | De | ||
) | const |
Nonlinear correction
Definition at line 237 of file TPZPorousElasticResponse.cpp.
References _XX_, _XY_, _XZ_, _YY_, _YZ_, _ZZ_, TPZElasticResponse::G(), m_nu, TPZFMatrix< TVar >::PutVal(), TPZTensor< T >::XX(), TPZTensor< T >::XY(), TPZTensor< T >::XZ(), TPZTensor< T >::YY(), TPZTensor< T >::YZ(), and TPZTensor< T >::ZZ().
Referenced by De().
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().
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().
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().
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().
const char * TPZPorousElasticResponse::Name | ( | ) | const |
Definition at line 113 of file TPZPorousElasticResponse.cpp.
Referenced by Print().
TPZPorousElasticResponse & TPZPorousElasticResponse::operator= | ( | const TPZPorousElasticResponse & | other | ) |
Definition at line 39 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, and m_pt_el.
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().
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().
void TPZPorousElasticResponse::Print | ( | std::ostream & | out | ) | const |
Definition at line 117 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 Name().
Referenced by TPZPorousElastoPlasticMem::Print().
|
overridevirtual |
Read (persistency)
buf | The TPZStream object |
context | pointer 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().
void TPZPorousElasticResponse::Sete_0 | ( | STATE | e_0 | ) |
Definition at line 91 of file TPZPorousElasticResponse.cpp.
References m_e_0.
void TPZPorousElasticResponse::Setp_0 | ( | STATE | p_0 | ) |
Definition at line 87 of file TPZPorousElasticResponse.cpp.
References m_p_0.
void TPZPorousElasticResponse::SetPlaneStrain | ( | ) |
Definition at line 105 of file TPZPorousElasticResponse.cpp.
References m_plane_stress_Q.
void TPZPorousElasticResponse::SetPlaneStress | ( | ) |
Definition at line 109 of file TPZPorousElasticResponse.cpp.
References m_plane_stress_Q.
void TPZPorousElasticResponse::SetPoissonRatioConstant | ( | STATE | nu | ) |
Definition at line 100 of file TPZPorousElasticResponse.cpp.
References m_is_G_constant_Q, and m_nu.
void TPZPorousElasticResponse::SetPorousElasticity | ( | STATE | kappa, |
STATE | pt_el, | ||
STATE | e_0, | ||
STATE | p_0 | ||
) |
void TPZPorousElasticResponse::SetShearModulusConstant | ( | STATE | G | ) |
Definition at line 95 of file TPZPorousElasticResponse.cpp.
References TPZElasticResponse::G(), m_is_G_constant_Q, and m_mu.
|
overridevirtual |
Write (persistency)
buf | The TPZStream object |
withclassid | The 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().
|
private |
Initial void ratio.
Definition at line 28 of file TPZPorousElasticResponse.h.
Referenced by ComputeStrain(), G(), K(), operator=(), Poisson_linearized(), Print(), Read(), Sete_0(), SetPorousElasticity(), TPZPorousElasticResponse(), and Write().
|
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().
|
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().
|
private |
Second lamé parameter.
Definition at line 37 of file TPZPorousElasticResponse.h.
Referenced by ComputeStress(), De_G_constant(), EvaluateElasticResponse(), LinearizedElasticResponse(), operator=(), Poisson(), Poisson_linearized(), Print(), Read(), SetShearModulusConstant(), TPZPorousElasticResponse(), and Write().
|
private |
Poisson ratio.
Definition at line 34 of file TPZPorousElasticResponse.h.
Referenced by De_Poisson_constant(), EvaluateElasticResponse(), G(), LinearizedElasticResponse(), operator=(), Poisson(), Print(), Read(), SetPoissonRatioConstant(), TPZPorousElasticResponse(), and Write().
|
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().
|
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().
|
private |
Elastic tensile strengh.
Definition at line 25 of file TPZPorousElasticResponse.h.
Referenced by ComputeStrain(), G(), K(), operator=(), Poisson_linearized(), Print(), Read(), SetPorousElasticity(), TPZPorousElasticResponse(), and Write().