NeoPZ
|
#include <TPZLadeKim.h>
Public Types | |
enum | { NYield } |
Public Member Functions | |
TPZLadeKim () | |
TPZLadeKim (const TPZLadeKim &source) | |
TPZLadeKim & | operator= (const TPZLadeKim &source) |
virtual const char * | Name () const override |
void | SetUp (REAL poisson, REAL M, REAL lambda, REAL a, REAL m, REAL neta1, REAL ksi2, REAL mu, REAL C, REAL p, REAL h, REAL alpha, REAL pa) |
virtual void | SetUp (const TPZTensor< REAL > &epsTotal) override |
virtual void | Print (std::ostream &out) const override |
int | ClassId () const override |
void | Write (TPZStream &buf, int withclassid) const override |
void | Read (TPZStream &buf, void *context) override |
virtual void | SetState (const TPZPlasticState< REAL > &state) override |
virtual TPZPlasticState< REAL > | GetState () const override |
virtual void | ApplyLoad (const TPZTensor< REAL > &sigma, TPZTensor< REAL > &epsTotal) override |
virtual void | ApplyStrain (const TPZTensor< REAL > &epsTotal) override |
virtual void | ApplyStrainComputeDep (const TPZTensor< REAL > &epsTotal, TPZTensor< REAL > &sigma, TPZFMatrix< REAL > &Dep) override |
virtual void | ApplyStrainComputeSigma (const TPZTensor< REAL > &epsTotal, TPZTensor< REAL > &sigma, TPZFMatrix< REAL > *tangent=NULL) override |
virtual void | Phi (const TPZTensor< REAL > &epsTotal, TPZVec< REAL > &phi) const override |
int | NumCases () |
void | LoadState (TPZFMatrix< REAL > &state) |
void | ComputeTangent (TPZFMatrix< REAL > &tangent, TPZVec< REAL > &, int icase) |
void | Residual (TPZFMatrix< REAL > &res, int icase) |
virtual int | GetNYield () const |
Static Public Member Functions | |
static void | PlainConcrete (TPZLadeKim &material) |
static void | PlainConcreteMPa (TPZLadeKim &material) |
static void | LooseSacrRiverSand (TPZLadeKim &material) |
static void | DenseSacrRiverSand (TPZLadeKim &material) |
static void | FineSilicaSand (TPZLadeKim &material) |
static void | FineSilicaSandPaperIII (TPZLadeKim &material) |
static void | LooseSantaMonicaBeachSand (TPZLadeKim &material) |
static void | CheckConv () |
Static Public Attributes | |
static TPZManVector< REAL, 6+6+1+TPZYCLadeKim::NYield > | gRefResidual |
Private Attributes | |
REAL | faPa |
TPZPlasticState< REAL > | fInitialEps |
This class implements the LADE KIM constitutive model comprised of a LadeKim Plastic flow rule and yield criterium and of a LadeNelson elastic response. The initialization takes care of ensuring that the starting plastic state is consistent with the starting stress state (unstressed) Because of some numerical instabilities presented by this model, the first steps in loading a material may lead to unexpected problems, generally leading to invalid numerical evaluations and NotANumbers. To avoid this, it is suggested that the material be loaded with low stress state (let's say, 0.001 strain hydrostatic) with error tolerances of the same magnitude. Greater values for these variales may lead to undesired integration deviations and values lower night cause the integration to crash. after this first step any integration tolerance and strain increment sizes might be used. This problem is likely to be related to the fact that the elastic response and the plastic flow rules are singular at null stresses.
Definition at line 39 of file TPZLadeKim.h.
anonymous enum |
Enumerator | |
---|---|
NYield |
Definition at line 43 of file TPZLadeKim.h.
|
inline |
Definition at line 48 of file TPZLadeKim.h.
|
inline |
Definition at line 54 of file TPZLadeKim.h.
References faPa, and fInitialEps.
|
inlineoverridevirtual |
Computes the strain tensor as a function of the stress state. This function returns the inverse of function void Sigma(...) using a Newton's scheme. It first performs the Stress translation to remove the effect of apparent cohesion, making it possible to use the cohesionless Lade Kim model simulating the cohesion effect.
[in] | sigma | stress tensor |
[out] | epsTotal | deformation tensor |
Definition at line 187 of file TPZLadeKim.h.
References TPZTensor< T >::Add(), faPa, fInitialEps, TPZTensor< T >::Identity(), and TPZPlasticState< T >::m_eps_t.
Referenced by LadeKimTriaxialLooseSand(), LKBiaxialTest(), LKFineSilicaLoadTest(), LKIsotropicCompression(), LKKoCompressionLoadTest(), LKLoadingTest(), and SetUp().
|
inlineoverridevirtual |
Load the converged solution, updating the damage variables
Definition at line 203 of file TPZLadeKim.h.
References TPZTensor< T >::Add(), fInitialEps, and TPZPlasticState< T >::m_eps_t.
|
inlineoverridevirtual |
Load the converged solution, updating the damage variables
Definition at line 214 of file TPZLadeKim.h.
References TPZTensor< T >::Add(), faPa, fInitialEps, TPZTensor< T >::Identity(), and TPZPlasticState< T >::m_eps_t.
Referenced by LKBiaxialTest(), LKKoCompressionLoadTest(), LKLoadingTest(), and TPZPlasticTest::UndocumentedTest2().
|
inlineoverridevirtual |
Definition at line 227 of file TPZLadeKim.h.
References TPZTensor< T >::Add(), DebugStop, faPa, fInitialEps, TPZTensor< T >::Identity(), and TPZPlasticState< T >::m_eps_t.
|
inlinestatic |
Definition at line 516 of file TPZLadeKim.h.
References _XX_, _XY_, _XZ_, _YY_, _YZ_, _ZZ_, CheckConvergence(), input, TPZYCLadeKim::NYield, PlainConcrete(), and TPZManVector< T, NumExtAlloc >::Resize().
|
override |
|
inline |
Definition at line 585 of file TPZLadeKim.h.
References gRefResidual, TPZPlasticState< T >::m_eps_p, TPZPlasticState< T >::m_eps_t, TPZPlasticState< T >::m_hardening, TPZYCLadeKim::NYield, and TPZFMatrix< TVar >::Redim().
|
inlinestatic |
Definition at line 383 of file TPZLadeKim.h.
Referenced by TPZPlasticTest::CreatePlasticModel(), LKBiaxialTest(), and TPZPlasticTest::UndocumentedTest2().
|
inlinestatic |
Definition at line 411 of file TPZLadeKim.h.
Referenced by TPZPlasticTest::CreatePlasticModel(), LKBiaxialTest(), LKFineSilicaLoadTest(), LKKoCompressionLoadTest(), LKLoadingTest(), and TPZPlasticTest::UndocumentedTest2().
|
inlinestatic |
Definition at line 439 of file TPZLadeKim.h.
|
inlinevirtual |
Definition at line 556 of file TPZLadeKim.h.
References as_integer(), and NYield.
|
inlineoverridevirtual |
Retrieve the plastic state variables
Definition at line 172 of file TPZLadeKim.h.
References fInitialEps.
|
inline |
LoadState will keep a given state as static variable of the class
Definition at line 570 of file TPZLadeKim.h.
References gRefResidual, and TPZYCLadeKim::NYield.
|
inlinestatic |
Definition at line 355 of file TPZLadeKim.h.
Referenced by TPZPlasticTest::CreatePlasticModel(), and LKBiaxialTest().
|
inlinestatic |
Definition at line 467 of file TPZLadeKim.h.
References h, m, NumCases(), and SetUp().
Referenced by LadeKimTriaxialLooseSand().
|
inlineoverridevirtual |
Definition at line 69 of file TPZLadeKim.h.
Referenced by Print().
|
inline |
number of types of residuals
Definition at line 565 of file TPZLadeKim.h.
Referenced by LooseSantaMonicaBeachSand().
|
inline |
Definition at line 60 of file TPZLadeKim.h.
References faPa, and fInitialEps.
|
inlineoverridevirtual |
return the value of the yield functions for the given deformation
epsTotal | [in] deformation tensor (total deformation |
phi | [out] vector of yield functions |
Definition at line 263 of file TPZLadeKim.h.
References TPZTensor< T >::Add(), fInitialEps, and TPZPlasticState< T >::m_eps_t.
|
inlinestatic |
Definition at line 299 of file TPZLadeKim.h.
Referenced by CheckConv(), TPZPlasticTest::CreatePlasticModel(), TPZPlasticTest::DruckerTest(), LKBiaxialTest(), LKIsotropicCompression(), and LKLoadingTest().
|
inlinestatic |
Definition at line 326 of file TPZLadeKim.h.
|
inlineoverridevirtual |
Definition at line 111 of file TPZLadeKim.h.
References ClassId(), faPa, fInitialEps, and Name().
|
inlineoverride |
Definition at line 142 of file TPZLadeKim.h.
References faPa, fInitialEps, TPZPlasticState< T >::m_eps_p, TPZPlasticState< T >::m_eps_t, TPZPlasticState< T >::m_hardening, TPZPlasticState< T >::Read(), and TPZStream::Read().
|
inline |
Definition at line 639 of file TPZLadeKim.h.
References gRefResidual, TPZPlasticState< T >::m_eps_p, TPZPlasticState< T >::m_eps_t, TPZPlasticState< T >::m_hardening, TPZYCLadeKim::NYield, TPZFMatrix< TVar >::Redim(), and test::res.
|
inlineoverridevirtual |
Set the plastic state variables
Definition at line 162 of file TPZLadeKim.h.
References fInitialEps.
Referenced by TPZPlasticTest::UndocumentedTest2().
|
inline |
SetUp feeds all the parameters necessary to the method, distributing its values inside the aggregation hierarchy and computing the correct initial plasticity parameter to ensure the irreversibility effect of plastic deformations. Elastic Mudulus: poisson, M, lambda Failure Criterion: a, m, neta1 Plastic Potential: ksi2, mu Hardening Function: C, p Yield Function: h, alpha Atmospheric pression pa - to dimensionalize/adim. the stresses
Definition at line 85 of file TPZLadeKim.h.
References ApplyLoad(), fabs, faPa, fInitialEps, and pow().
Referenced by DenseSacrRiverSand(), FineSilicaSand(), FineSilicaSandPaperIII(), LKBiaxialTest(), LooseSacrRiverSand(), LooseSantaMonicaBeachSand(), PlainConcrete(), and PlainConcreteMPa().
|
inlineoverridevirtual |
Definition at line 107 of file TPZLadeKim.h.
|
inlineoverride |
Definition at line 125 of file TPZLadeKim.h.
References faPa, fInitialEps, TPZPlasticState< T >::m_eps_p, TPZPlasticState< T >::m_eps_t, TPZPlasticState< T >::m_hardening, TPZStream::Write(), and TPZPlasticState< T >::Write().
|
private |
variable related to the stress translation to simulate material cohesion Already contains dimensional factor
Definition at line 278 of file TPZLadeKim.h.
Referenced by ApplyLoad(), ApplyStrainComputeDep(), ApplyStrainComputeSigma(), operator=(), Print(), Read(), SetUp(), TPZLadeKim(), and Write().
|
private |
variable to store the plastic state related to the unstressed state in a framework of a cohesion material. Since LadeKim models the cohesion material with the stress axis translated from a value of a, it is important to keep the related elastic deformation in this variable to subtract it from the epstotal answers. It is done because, intuitively, the initially nonstressed state should relate to an initially undeformed state.
Definition at line 289 of file TPZLadeKim.h.
Referenced by ApplyLoad(), ApplyStrain(), ApplyStrainComputeDep(), ApplyStrainComputeSigma(), GetState(), operator=(), Phi(), Print(), Read(), SetState(), SetUp(), TPZLadeKim(), and Write().
|
static |
Definition at line 504 of file TPZLadeKim.h.
Referenced by ComputeTangent(), LoadState(), and Residual().