NeoPZ
|
#include <TPZElasticResponse.h>
Public Member Functions | |
int | ClassId () const override |
TPZElasticResponse () | |
TPZElasticResponse (const TPZElasticResponse &other) | |
TPZElasticResponse & | operator= (const TPZElasticResponse &other) |
void | Write (TPZStream &buf, int withclassid) const override |
void | Read (TPZStream &buf, void *context) override |
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 | |
REAL | m_lambda |
First Lamé parameter. More... | |
REAL | m_mu |
Second Lamé parameter. More... | |
TPZTensor< REAL > | m_eps_star |
Residual strain at zero stress 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 16 of file TPZElasticResponse.h.
TPZElasticResponse::TPZElasticResponse | ( | ) |
Default constructor
Definition at line 14 of file TPZElasticResponse.cpp.
References m_eps_star, and TPZTensor< T >::Zero().
TPZElasticResponse::TPZElasticResponse | ( | const TPZElasticResponse & | other | ) |
Copy constructor
Definition at line 18 of file TPZElasticResponse.cpp.
References m_eps_star, m_lambda, and m_mu.
|
overridevirtual |
A unique class identifier
Implements TPZSavable.
Reimplemented in TPZPorousElasticResponse.
Definition at line 10 of file TPZElasticResponse.cpp.
References Hash().
|
inline |
Computes the strain tensor
sigma | The stress tensor |
epsilon | The strain tensor |
Definition at line 112 of file TPZElasticResponse.h.
References TPZTensor< T >::Add(), De(), E(), G(), TPZTensor< T >::I1(), TPZTensor< T >::Identity(), K(), Lambda(), m_eps_star, Mu(), TPZTensor< T >::Multiply(), Poisson(), ResidualStrainData(), SetEngineeringData(), SetLameData(), and SetResidualStrainData().
Referenced by TPZPorousElasticCriterion::ApplyLoad(), TPZPorousElasticResponse::EvaluateElasticResponse(), TPZYCSandlerDimaggioL2::InitialGuess(), TPZYCSandlerDimaggioL::InitialGuess(), TPZYCSandlerDimaggio::InitialGuess(), and TPZPorousElasticResponse::LinearizedElasticResponse().
|
inline |
Computes the stress tensor
epsilon | The strain tensor |
sigma | The stress tensor |
Definition at line 89 of file TPZElasticResponse.h.
References TPZTensor< T >::Add(), TPZTensor< T >::I1(), TPZTensor< T >::Identity(), TPZTensor< T >::Multiply(), TPZTensor< T >::XX(), TPZTensor< T >::XY(), TPZTensor< T >::XZ(), TPZTensor< T >::YY(), TPZTensor< T >::YZ(), and TPZTensor< T >::ZZ().
Referenced by TPZPorousElasticCriterion::ApplyStrainComputeSigma(), and TPZElasticCriterion::ApplyStrainComputeSigma().
void TPZElasticResponse::De | ( | TPZFMatrix< REAL > & | De | ) |
Incremental constitutive relation in Voigt notation
De | Return the De operator |
Definition at line 57 of file TPZElasticResponse.cpp.
References _XX_, _YY_, _ZZ_, m_lambda, m_mu, and TPZFMatrix< TVar >::Zero().
Referenced by TPZPorousElasticCriterion::ApplyStrainComputeSigma(), and ComputeStrain().
REAL TPZElasticResponse::E | ( | ) | const |
Access to the Young modulus
Definition at line 104 of file TPZElasticResponse.cpp.
References m_lambda, and m_mu.
Referenced by ComputeStrain(), TPZYCMohrCoulombPV::E(), Print(), and TPZSandlerExtended::SetElasticResponse().
REAL TPZElasticResponse::G | ( | ) | const |
Access to the shear modulus
Definition at line 100 of file TPZElasticResponse.cpp.
References Mu().
Referenced by TPZElasticCriterion::ApplyStrainComputeSigma(), TPZYCMohrCoulombPV::ComputeLeftEdgeTangent(), TPZYCMohrCoulombPV::ComputePlaneTangent(), TPZYCMohrCoulombPV::ComputeRightEdgeTangent(), ComputeStrain(), TPZPorousElasticResponse::ComputeStress(), TPZYCSandlerDimaggio::D2Distance(), TPZYCCamClayPV::D2DistanceToSurface(), TPZYCDruckerPragerPV::D2DistanceToSurfaceF1(), TPZYCSandlerDimaggio::DDistance(), TPZYCCamClayPV::DDistanceToSurface(), TPZYCDruckerPragerPV::DDistanceToSurfaceF1(), TPZPorousElasticResponse::De_Poisson_constant(), TPZYCSandlerDimaggio::Distance(), TPZYCCamClayPV::DistanceToSurface(), TPZYCDruckerPragerPV::DistanceToSurfaceF1(), TPZPorousElasticResponse::EvaluateElasticResponse(), TPZYCDruckerPragerPV::GradF1SigmaTrial(), TPZYCCamClayPV::GradSigmaTrial(), TPZYCSandlerDimaggioL2::InitialGuess(), TPZYCSandlerDimaggioL::InitialGuess(), TPZPorousElasticResponse::LinearizedElasticResponse(), TPZYCMohrCoulombPV::ReturnMapLeftEdge(), TPZYCMohrCoulombPV::ReturnMapPlane(), TPZYCMohrCoulombPV::ReturnMapRightEdge(), TPZSandlerExtended::SetElasticResponse(), TPZPorousElasticResponse::SetShearModulusConstant(), and TPZYCMohrCoulombPV::SigmaElastPV().
REAL TPZElasticResponse::K | ( | ) | const |
Access to the bulk modulus
Definition at line 92 of file TPZElasticResponse.cpp.
References m_lambda, and m_mu.
Referenced by TPZYCMohrCoulombPV::ComputeApexGradient(), TPZYCSandlerDimaggioL::ComputeLatIntersectionLeft(), TPZYCMohrCoulombPV::ComputeLeftEdgeTangent(), TPZYCMohrCoulombPV::ComputePlaneTangent(), TPZYCMohrCoulombPV::ComputeRightEdgeTangent(), ComputeStrain(), TPZPorousElasticResponse::ComputeStress(), TPZYCSandlerDimaggio::D2Distance(), TPZYCCamClayPV::D2DistanceToSurface(), TPZYCDruckerPragerPV::D2DistanceToSurfaceF1(), TPZYCSandlerDimaggio::DDistance(), TPZYCCamClayPV::DDistanceToSurface(), TPZYCDruckerPragerPV::DDistanceToSurfaceF1(), TPZPorousElasticResponse::De_G_constant(), TPZYCSandlerDimaggio::Distance(), TPZYCCamClayPV::DistanceToSurface(), TPZYCDruckerPragerPV::DistanceToSurfaceF1(), TPZYCDruckerPragerPV::DResLF1(), TPZPorousElasticResponse::EvaluateElasticResponse(), TPZYCDruckerPragerPV::GradF1SigmaTrial(), TPZYCCamClayPV::GradSigmaTrial(), TPZYCSandlerDimaggioL2::InitialGuess(), TPZYCSandlerDimaggioL::InitialGuess(), TPZYCSandlerDimaggio::NewtonF1(), TPZPorousElasticResponse::Poisson(), TPZSandlerExtended::ProjectApex(), TPZYCSandlerDimaggioL2::ProjectBorder(), TPZYCDruckerPragerPV::ResLF1(), TPZYCCamClayPV::ResLFunc(), TPZYCMohrCoulombPV::ReturnMapApex(), TPZYCMohrCoulombPV::ReturnMapLeftEdge(), TPZYCMohrCoulombPV::ReturnMapPlane(), TPZYCMohrCoulombPV::ReturnMapRightEdge(), and TPZSandlerExtended::SetElasticResponse().
REAL TPZElasticResponse::Lambda | ( | ) | const |
Access to the first Lamé parameter
Definition at line 88 of file TPZElasticResponse.cpp.
References m_lambda.
Referenced by TPZElasticCriterion::ApplyStrainComputeSigma(), ComputeStrain(), TPZYCSandlerDimaggio::DFuncEpsp(), TPZYCSandlerDimaggio::DFuncEpspL(), TPZYCSandlerDimaggio::DFuncEpspUsingL(), TPZYCSandlerDimaggio::DFuncTheta(), TPZYCSandlerDimaggio::DFuncTheta2(), TPZYCSandlerDimaggio::DFuncTheta2L(), TPZYCSandlerDimaggio::DistThetaL(), TPZYCSandlerDimaggio::FuncEpsp(), TPZYCSandlerDimaggio::FuncEpspL(), TPZYCSandlerDimaggio::FuncEpspUsingL(), TPZYCSandlerDimaggio::FuncTheta2L(), TPZYCSandlerDimaggio::FuncThetaL(), and TPZYCMohrCoulombPV::SigmaElastPV().
REAL TPZElasticResponse::Mu | ( | ) | const |
Access to the second Lamé parameter
Definition at line 96 of file TPZElasticResponse.cpp.
References m_mu.
Referenced by ComputeStrain(), TPZYCSandlerDimaggio::DFuncEpsp(), TPZYCSandlerDimaggio::DFuncEpspL(), TPZYCSandlerDimaggio::DFuncEpspUsingL(), TPZYCSandlerDimaggio::DFuncTheta(), TPZYCSandlerDimaggio::DFuncTheta2(), TPZYCSandlerDimaggio::DFuncTheta2L(), TPZYCSandlerDimaggio::DistThetaL(), TPZYCSandlerDimaggio::FuncEpsp(), TPZYCSandlerDimaggio::FuncEpspL(), TPZYCSandlerDimaggio::FuncEpspUsingL(), TPZYCSandlerDimaggio::FuncTheta2L(), TPZYCSandlerDimaggio::FuncThetaL(), and G().
const char * TPZElasticResponse::Name | ( | ) | const |
Class name
Definition at line 45 of file TPZElasticResponse.cpp.
Referenced by Print().
TPZElasticResponse & TPZElasticResponse::operator= | ( | const TPZElasticResponse & | other | ) |
Assignment constructor
Definition at line 24 of file TPZElasticResponse.cpp.
References m_eps_star, m_lambda, and m_mu.
REAL TPZElasticResponse::Poisson | ( | ) | const |
Access to the Poisson ratio
Definition at line 109 of file TPZElasticResponse.cpp.
References m_lambda, and m_mu.
Referenced by ComputeStrain(), TPZYCMohrCoulombPV::Poisson(), Print(), TPZSandlerExtended::SetElasticResponse(), and SetEngineeringData().
void TPZElasticResponse::Print | ( | std::ostream & | out | ) | const |
out | ostream object to write the output |
Definition at line 49 of file TPZElasticResponse.cpp.
References E(), m_lambda, m_mu, Name(), and Poisson().
Referenced by TPZElastoPlasticMem::Print().
|
overridevirtual |
Read (persistency)
buf | The TPZStream object |
context | pointer to the associated object |
Reimplemented from TPZSavable.
Reimplemented in TPZPorousElasticResponse.
Definition at line 38 of file TPZElasticResponse.cpp.
References m_eps_star, m_lambda, m_mu, TPZStream::Read(), and TPZTensor< T >::Read().
Referenced by TPZYCCamClayPV::Read(), TPZElastoPlasticMem::Read(), TPZPorousElasticCriterion::Read(), TPZElasticCriterion::Read(), TPZSandlerExtended::Read(), and TPZYCMohrCoulombPV::Read().
TPZTensor< REAL > & TPZElasticResponse::ResidualStrainData | ( | ) |
Get the residual strain
lambda | First Lamé parameter |
mu | Second Lamé parameter (Shear modulus) |
Definition at line 118 of file TPZElasticResponse.cpp.
References m_eps_star.
Referenced by ComputeStrain().
void TPZElasticResponse::SetEngineeringData | ( | REAL | Eyoung, |
REAL | Poisson | ||
) |
Set elastic parameters using engineering data, i.e. Young modulus and Poisson ratio
Eyoung | Young modulus |
Poisson | Poisson ratio |
Definition at line 76 of file TPZElasticResponse.cpp.
References m_lambda, m_mu, and Poisson().
Referenced by ComputeStrain(), TPZPorousElasticResponse::EvaluateElasticResponse(), TPZPorousElasticResponse::LinearizedElasticResponse(), TPZSandlerExtended::MCormicRanchSand(), TPZSandlerExtended::PreSMat(), PYBIND11_MODULE(), TPZSandlerExtended::ReservoirSandstone(), TPZSandlerExtended::SalemLimestone(), TPZSandlerExtended::SetUp(), and TPZSandlerExtended::TPZSandlerExtended().
void TPZElasticResponse::SetLameData | ( | REAL | lambda, |
REAL | mu | ||
) |
Set elastic parameters using Lamé data
lambda | First Lamé parameter |
mu | Second Lamé parameter (Shear modulus) |
Definition at line 82 of file TPZElasticResponse.cpp.
References m_lambda, and m_mu.
Referenced by ComputeStrain().
void TPZElasticResponse::SetResidualStrainData | ( | TPZTensor< REAL > & | eps_res | ) |
Set the residual strain
lambda | First Lamé parameter |
mu | Second Lamé parameter (Shear modulus) |
Definition at line 114 of file TPZElasticResponse.cpp.
References m_eps_star.
Referenced by ComputeStrain(), TPZPorousElasticResponse::EvaluateElasticResponse(), and TPZPorousElasticResponse::LinearizedElasticResponse().
|
overridevirtual |
Write (persistency)
buf | The TPZStream object |
withclassid | The class identifier |
Reimplemented from TPZSavable.
Reimplemented in TPZPorousElasticResponse.
Definition at line 32 of file TPZElasticResponse.cpp.
References m_eps_star, m_lambda, m_mu, TPZStream::Write(), and TPZTensor< T >::Write().
Referenced by TPZYCCamClayPV::Write(), TPZElastoPlasticMem::Write(), TPZPorousElasticCriterion::Write(), TPZElasticCriterion::Write(), TPZSandlerExtended::Write(), and TPZYCMohrCoulombPV::Write().
|
private |
Residual strain at zero stress state.
Definition at line 25 of file TPZElasticResponse.h.
Referenced by ComputeStrain(), operator=(), Read(), ResidualStrainData(), SetResidualStrainData(), TPZElasticResponse(), and Write().
|
private |
First Lamé parameter.
Definition at line 19 of file TPZElasticResponse.h.
Referenced by De(), E(), K(), Lambda(), operator=(), Poisson(), Print(), Read(), SetEngineeringData(), SetLameData(), TPZElasticResponse(), and Write().
|
private |
Second Lamé parameter.
Definition at line 22 of file TPZElasticResponse.h.
Referenced by De(), E(), K(), Mu(), operator=(), Poisson(), Print(), Read(), SetEngineeringData(), SetLameData(), TPZElasticResponse(), and Write().