NeoPZ
Public Types | Public Member Functions | Protected Attributes | List of all members
TPZMatElastoPlastic< T, TMEM > Class Template Reference

#include <TPZMatElastoPlastic.h>

Inheritance diagram for TPZMatElastoPlastic< T, TMEM >:
[legend]
Collaboration diagram for TPZMatElastoPlastic< T, TMEM >:
[legend]

Public Types

enum  ESolutionVar {
  ENone, EDisplacementDoF, EDisplacement, EStrain,
  EStress, EStrainElastic, EStrainPlastic, EYield,
  EVolHardening, EStrainPValues, EStressPValues, EStrainElasticPValues,
  EStrainPlasticPValues, EStrainI1, EStressI1, EStrainElasticI1,
  EStrainPlasticI1, EStrainJ2, EStressJ2, EStrainElasticJ2,
  EStrainPlasticJ2, EFailureType
}
 

Public Member Functions

 TPZMatElastoPlastic ()
 
 TPZMatElastoPlastic (int id)
 
 TPZMatElastoPlastic (const TPZMatElastoPlastic &other)
 
virtual ~TPZMatElastoPlastic ()
 
virtual void SetPlasticityModel (T &plasticity)
 
virtual void UpdateMaterialCoeficients (TPZVec< REAL > &x, T &plasticity)
 
virtual void SetBulkDensity (REAL &RhoB)
 
virtual std::string Name () override
 
virtual int Dimension () const override
 
virtual int NStateVariables () const override
 
virtual void Print (std::ostream &out, const int memory)
 
virtual void Print (std::ostream &out) override
 
virtual int VariableIndex (const std::string &name) override
 
virtual int NSolutionVariables (int var) override
 
virtual void Solution (TPZMaterialData &data, int var, TPZVec< REAL > &Solout) override
 
virtual int NFluxes () override
 
virtual void Flux (TPZVec< REAL > &x, TPZVec< REAL > &Sol, TPZFMatrix< REAL > &DSol, TPZFMatrix< REAL > &axes, TPZVec< REAL > &flux) override
 
virtual void Errors (TPZVec< REAL > &x, TPZVec< REAL > &u, TPZFMatrix< REAL > &dudx, TPZFMatrix< REAL > &axes, TPZVec< REAL > &flux, TPZVec< REAL > &u_exact, TPZFMatrix< REAL > &du_exact, TPZVec< REAL > &values) override
 
virtual int NEvalErrors () override
 
virtual void Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< REAL > &ek, TPZFMatrix< REAL > &ef) override
 
virtual void ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< REAL > &ek, TPZFMatrix< REAL > &ef, TPZBndCond &bc) override
 
virtual void Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< REAL > &ef) override
 
virtual void ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< REAL > &ef, TPZBndCond &bc) override
 
void ComputeStrainVector (TPZMaterialData &data, TPZFMatrix< REAL > &Strain)
 
void ComputeDeltaStrainVector (TPZMaterialData &data, TPZFMatrix< REAL > &DeltaStrain)
 
void ComputeStressVector (TPZMaterialData &data, TPZFMatrix< REAL > &Stress)
 
void CheckConvergence (TPZMaterialData &data, TPZFMatrix< REAL > &DeltaStrain)
 
void ApplyDeltaStrainComputeDep (TPZMaterialData &data, TPZFMatrix< REAL > &DeltaStrain, TPZFMatrix< REAL > &Stress, TPZFMatrix< REAL > &Dep)
 
void ApplyDeltaStrain (TPZMaterialData &data, TPZFMatrix< REAL > &DeltaStrain, TPZFMatrix< REAL > &Stress)
 
void ApplyDirection (TPZFMatrix< REAL > &vectorTensor, TPZVec< REAL > &Out)
 
void vectorToTensor (const TPZFMatrix< REAL > &vectorTensor, TPZFMatrix< REAL > &Tensor)
 
void EigenValues (TPZFMatrix< REAL > &vectorTensor, TPZVec< REAL > &ev)
 
void EigenVectors (TPZFMatrix< REAL > &vectorTensor, TPZVec< REAL > &Solout, int direction)
 
virtual TPZMaterialNewMaterial () override
 
virtual int ClassId () const override
 
virtual void Write (TPZStream &buf, int withclassid) const override
 
virtual void Read (TPZStream &buf, void *context) override
 
virtual void SetTol (const REAL &tol)
 
virtual void SetBulkDensity (const REAL &bulk)
 
virtual void SetPorousElasticity (TPZPorousElasticResponse &PER)
 
void SetPlasticModel (T &plasticity_model)
 
virtual T & GetPlasticModel ()
 
virtual TPZPorousElasticResponseGetPorousElasticity (TPZPorousElasticResponse &PER)
 
virtual void FillDataRequirements (TPZMaterialData &data) override
 
virtual void FillBoundaryConditionDataRequirement (int type, TPZMaterialData &data) override
 
- Public Member Functions inherited from TPZMatWithMem< TMEM >
 TPZMatWithMem ()
 Default constructor. More...
 
 TPZMatWithMem (int id)
 Creates a material object and inserts it in the vector of material pointers of the mesh. More...
 
 TPZMatWithMem (const TPZMatWithMem< TMEM, TPZMaterial > &mat)
 Creates a material object based on the referred object and inserts it in the vector of material pointers of the mesh. More...
 
virtual ~TPZMatWithMem ()
 
virtual void PrintMem (std::ostream &out=std::cout, const int memory=0)
 Prints out the data associated with the material. More...
 
virtual TMEM & MemItem (const int i) const
 
int ClassId () const override
 Unique identifier for serialization purposes. More...
 
void Write (TPZStream &buf, int withclassid) const override
 
void Read (TPZStream &buf, void *context) override
 
std::shared_ptr< TPZAdmChunkVector< TMEM > > & GetMemory ()
 
void SetMemory (std::shared_ptr< TPZAdmChunkVector< TMEM >> &memory)
 
virtual int PushMemItem (int sourceIndex=-1) override
 Pushes a new entry in the context of materials with memory. More...
 
virtual void FreeMemItem (int index) override
 Frees an entry in the material with memory internal history storage. More...
 
void ResetMemItem (int index)
 
void ResetMemory ()
 Reset all memory items. More...
 
virtual void SetDefaultMem (TMEM &defaultMem)
 Sets the default memory settings for initialization. More...
 
virtual TMEM & GetDefaultMemory ()
 Access the default memory settings for initislization. More...
 
virtual void SetUpdateMem (bool update=1)
 Sets/Unsets the internal memory data to be updated in the next assemble/contribute call. More...
 
virtual bool GetUpdateMem ()
 Gets the internal memory data to be updated in the next assemble/contribute call. More...
 
- Public Member Functions inherited from TPZMaterial
 TPZMaterial (int id)
 Creates a material object and inserts it in the vector of material pointers of the mesh. More...
 
 TPZMaterial ()
 Default constructor. More...
 
 TPZMaterial (const TPZMaterial &mat)
 Creates a material object based on the referred object and inserts it in the vector of material pointers of the mesh. More...
 
TPZMaterialoperator= (const TPZMaterial &copy)
 operator = More...
 
virtual ~TPZMaterial ()
 Default destructor. More...
 
virtual void FillDataRequirements (TPZVec< TPZMaterialData > &datavec)
 Fill material data parameter with necessary requirements for the Contribute method. Here, in base class, all requirements are considered as necessary. Each derived class may optimize performance by selecting only the necessary data. More...
 
virtual void FillBoundaryConditionDataRequirement (int type, TPZVec< TPZMaterialData > &datavec)
 This method defines which parameters need to be initialized in order to compute the contribution of the boundary condition. More...
 
virtual void FillDataRequirementsInterface (TPZMaterialData &data)
 This method defines which parameters need to be initialized in order to compute the contribution of interface elements. More...
 
virtual void FillDataRequirementsInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &datavec_left, TPZVec< TPZMaterialData > &datavec_right)
 This method defines which parameters need to be initialized in order to compute the contribution of interface elements. More...
 
int Id () const
 
void SetId (int id)
 
int NumLoadCases ()
 returns the number of load cases for this material object More...
 
virtual int MinimumNumberofLoadCases ()
 returns the minimum number of load cases for this material More...
 
void SetNumLoadCases (int numloadcases)
 changes the number of load cases for this material More...
 
void SetPostProcessIndex (int index)
 indicates which variable should be post processed More...
 
virtual TPZBndCondCreateBC (TPZMaterial *reference, int id, int typ, TPZFMatrix< STATE > &val1, TPZFMatrix< STATE > &val2)
 Creates an object TPZBndCond derived of TPZMaterial. More...
 
void SetForcingFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as source function for the material. More...
 
void SetForcingFunction (void(*fp)(const TPZVec< REAL > &loc, TPZVec< STATE > &result), int porder)
 
void SetForcingFunction (void(*fp)(const TPZVec< REAL > &loc, TPZVec< STATE > &result, TPZFMatrix< STATE > &gradu), int porder)
 
TPZAutoPointer< TPZFunction< STATE > > & ForcingFunction ()
 Returns a procedure as source function for the material. More...
 
void SetForcingFunctionExact (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as exact solution for the problem. More...
 
TPZAutoPointer< TPZFunction< STATE > > & ForcingFunctionExact ()
 Returns a procedure as exact solution for the problem. More...
 
void SetTimeDependentForcingFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as time dependent source function for the material. More...
 
TPZAutoPointer< TPZFunction< STATE > > & TimeDependentForcingFunction ()
 Returns a procedure as time dependent source function for the material. More...
 
void SetTimeDependentFunctionExact (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as time dependent exact solution for the problem. More...
 
TPZAutoPointer< TPZFunction< STATE > > & TimedependentFunctionExact ()
 Returns a procedure as time dependent exact solution for the problem. More...
 
void SetBCForcingFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as variable boundary condition. More...
 
TPZAutoPointer< TPZFunction< STATE > > & BCForcingFunction ()
 Returns a procedure as variable boundary condition. More...
 
void SetTimedependentBCForcingFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as time variable boundary condition. More...
 
TPZAutoPointer< TPZFunction< STATE > > & TimedependentBCForcingFunction ()
 Returns a procedure as time variable boundary condition. More...
 
virtual int HasForcingFunction ()
 Directive that gives true if the material has a forcing function. More...
 
virtual int HasForcingFunctionExact ()
 Directive that gives true if the material has a function exact. More...
 
virtual int HasBCForcingFunction ()
 Directive that gives true if the material has a bc forcing function exact. More...
 
virtual int HasTimedependentFunctionExact ()
 Directive that gives true if the material has a time dependent function exact. More...
 
virtual int HasTimedependentForcingFunction ()
 Directive that gives true if the material has a time dependent forcing function. More...
 
virtual int HasTimedependentBCForcingFunction ()
 Directive that gives true if the material has a time dependent bc forcing function. More...
 
virtual int IntegrationRuleOrder (int elPMaxOrder) const
 Gets the order of the integration rule necessary to integrate an element with polinomial order p. More...
 
virtual int IntegrationRuleOrder (TPZVec< int > &elPMaxOrder) const
 Gets the order of the integration rule necessary to integrate an element multiphysic. More...
 
virtual void Errors (TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors)
 
virtual void Errors (TPZVec< TPZMaterialData > &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors)
 
virtual void Errors (TPZVec< REAL > &x, TPZVec< STATE > &sol, TPZFMatrix< STATE > &dsol, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux, TPZVec< STATE > &uexact, TPZFMatrix< STATE > &duexact, TPZVec< REAL > &val)
 Computes the error due to the difference between the interpolated flux
and the flux computed based on the derivative of the solution. More...
 
virtual void ErrorsHdiv (TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &values)
 
virtual void SetData (std::istream &data)
 Reads data of the material from a istream (file data) More...
 
virtual void Clone (std::map< int, TPZMaterial * > &matvec)
 Creates a copy of the material object and put it in the vector which is passed on. More...
 
virtual int FluxType ()
 To return a numerical flux type to apply over the interfaces of the elements. More...
 
virtual void ContributeErrors (TPZMaterialData &data, REAL weight, TPZVec< REAL > &nk, int &errorid)
 
virtual REAL ComputeSquareResidual (TPZVec< REAL > &X, TPZVec< STATE > &sol, TPZFMatrix< STATE > &dsol)
 Computes square of residual of the differential equation at one integration point. More...
 
void SetLinearContext (bool IsLinear)
 Sets fLinearContext attribute. More...
 
bool GetLinearContext () const
 Returns fLinearContext attribute. More...
 
virtual void Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)=0
 It computes a contribution to the stiffness matrix and load vector at one integration point. More...
 
virtual void Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef)
 It computes a contribution to the residual vector at one integration point. More...
 
virtual void Contribute (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
 It computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation. More...
 
virtual void Contribute (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ef)
 It computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation. More...
 
virtual void ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)=0
 It computes a contribution to the stiffness matrix and load vector at one BC integration point. More...
 
virtual void ContributeBC (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 It computes a contribution to the stiffness matrix and load vector at one BC integration point to multiphysics simulation. More...
 
virtual void ContributeBC (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 It computes a contribution to the stiffness matrix and load vector at one BC integration point to multiphysics simulation. More...
 
virtual void ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
 It computes a contribution to the stiffness matrix and load vector at one BC integration point. More...
 
virtual void Solution (TPZMaterialData &data, int var, TPZVec< STATE > &Solout)
 Returns the solution associated with the var index based on the finite element approximation. More...
 
virtual void Solution (TPZVec< TPZMaterialData > &datavec, int var, TPZVec< STATE > &Solout)
 Returns the solution associated with the var index based on the finite element approximation. More...
 
virtual void Solution (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleftvec, TPZVec< TPZMaterialData > &datarightvec, int var, TPZVec< STATE > &Solout)
 Returns the solution associated with the var index based on the finite element approximation around one interface element. More...
 
virtual void Solution (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleftvec, TPZVec< TPZMaterialData > &datarightvec, int var, TPZVec< STATE > &Solout, TPZCompEl *left, TPZCompEl *ritgh)
 Returns the solution associated with the var index based on the finite element approximation around one interface element. More...
 
virtual void Flux (TPZVec< REAL > &x, TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux)
 Computes the value of the flux function to be used by ZZ error estimator. More...
 
- 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
 

Protected Attributes

TPZManVector< REAL, 3 > m_force
 
REAL m_rho_bulk
 
TPZManVector< REAL, 3 > m_PostProcessDirection
 
m_plasticity_model
 
REAL m_tol
 
bool m_use_non_linear_elasticity_Q
 
TPZPorousElasticResponse m_PER
 
- Protected Attributes inherited from TPZMatWithMem< TMEM >
std::shared_ptr< TPZAdmChunkVector< TMEM > > fMemory
 Shared pointer to material memory. More...
 
TMEM fDefaultMem
 Default memory settings. More...
 
bool fUpdateMem
 Flag to indicate whether the memory data are to be updated in an assemble loop. More...
 
- Protected Attributes inherited from TPZMaterial
TPZAutoPointer< TPZFunction< STATE > > fForcingFunction
 Pointer to forcing function, it is the right member at differential equation. More...
 
TPZAutoPointer< TPZFunction< STATE > > fForcingFunctionExact
 Pointer to exact solution function, needed to calculate exact error. More...
 
TPZAutoPointer< TPZFunction< STATE > > fTimeDependentForcingFunction
 Pointer to time dependent forcing function, it is the right member at differential equation. More...
 
TPZAutoPointer< TPZFunction< STATE > > fTimedependentFunctionExact
 Pointer to time dependent exact solution function, needed to calculate exact error. More...
 
TPZAutoPointer< TPZFunction< STATE > > fBCForcingFunction
 Pointer to bc forcing function, it is a variable boundary condition at differential equation. More...
 
TPZAutoPointer< TPZFunction< STATE > > fTimedependentBCForcingFunction
 Pointer to time dependent bc forcing function, it is a variable boundary condition at differential equation. More...
 
bool fLinearContext
 Defines whether the equation context is linear solver or non linear. More...
 
int fNumLoadCases
 Defines the number of load cases generated by this material. More...
 
int fPostProcIndex
 indicates which solution should be used for post processing 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)
 
- Static Public Attributes inherited from TPZMaterial
static REAL gBigNumber
 Big number to penalization method, used for Dirichlet conditions. More...
 
- Protected Member Functions inherited from TPZMaterial
virtual void Solution (TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout)
 

Detailed Description

template<class T, class TMEM = TPZElastoPlasticMem>
class TPZMatElastoPlastic< T, TMEM >

Implements an elastoplastic material and uses the memory feature to store the hardening variables and strain state.

Definition at line 19 of file TPZMatElastoPlastic.h.

Member Enumeration Documentation

◆ ESolutionVar

template<class T, class TMEM = TPZElastoPlasticMem>
enum TPZMatElastoPlastic::ESolutionVar
Enumerator
ENone 
EDisplacementDoF 
EDisplacement 
EStrain 
EStress 
EStrainElastic 
EStrainPlastic 
EYield 
EVolHardening 
EStrainPValues 
EStressPValues 
EStrainElasticPValues 
EStrainPlasticPValues 
EStrainI1 
EStressI1 
EStrainElasticI1 
EStrainPlasticI1 
EStrainJ2 
EStressJ2 
EStrainElasticJ2 
EStrainPlasticJ2 
EFailureType 

Definition at line 252 of file TPZMatElastoPlastic.h.

Constructor & Destructor Documentation

◆ TPZMatElastoPlastic() [1/3]

template<class T , class TMEM >
TPZMatElastoPlastic< T, TMEM >::TPZMatElastoPlastic ( )

◆ TPZMatElastoPlastic() [2/3]

template<class T , class TMEM >
TPZMatElastoPlastic< T, TMEM >::TPZMatElastoPlastic ( int  id)

◆ TPZMatElastoPlastic() [3/3]

template<class T , class TMEM >
TPZMatElastoPlastic< T, TMEM >::TPZMatElastoPlastic ( const TPZMatElastoPlastic< T, TMEM > &  other)

Copy Constructor

Definition at line 62 of file TPZMatElastoPlastic_impl.h.

References LOGPZ_DEBUG, and TPZMatElastoPlastic< T, TMEM >::m_use_non_linear_elasticity_Q.

◆ ~TPZMatElastoPlastic()

template<class T , class TMEM >
TPZMatElastoPlastic< T, TMEM >::~TPZMatElastoPlastic ( )
virtual

Desconstructor

Definition at line 139 of file TPZMatElastoPlastic_impl.h.

Member Function Documentation

◆ ApplyDeltaStrain()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::ApplyDeltaStrain ( TPZMaterialData data,
TPZFMatrix< REAL > &  DeltaStrain,
TPZFMatrix< REAL > &  Stress 
)

◆ ApplyDeltaStrainComputeDep()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::ApplyDeltaStrainComputeDep ( TPZMaterialData data,
TPZFMatrix< REAL > &  DeltaStrain,
TPZFMatrix< REAL > &  Stress,
TPZFMatrix< REAL > &  Dep 
)

◆ ApplyDirection()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::ApplyDirection ( TPZFMatrix< REAL > &  vectorTensor,
TPZVec< REAL > &  Out 
)

Applies the tensor in vectorial form to an internally stored direction

Parameters
vectorTensor[in]
Out[out]

Definition at line 233 of file TPZMatElastoPlastic_impl.h.

References _XX_, _XY_, _XZ_, _YY_, _YZ_, _ZZ_, TPZMatElastoPlastic< T, TMEM >::m_PostProcessDirection, and TPZVec< T >::Resize().

Referenced by TPZMatElastoPlastic< T, TMEM >::NEvalErrors().

◆ CheckConvergence()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::CheckConvergence ( TPZMaterialData data,
TPZFMatrix< REAL > &  DeltaStrain 
)

◆ ClassId()

template<class T , class TMEM >
int TPZMatElastoPlastic< T, TMEM >::ClassId ( ) const
overridevirtual

◆ ComputeDeltaStrainVector()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::ComputeDeltaStrainVector ( TPZMaterialData data,
TPZFMatrix< REAL > &  DeltaStrain 
)

◆ ComputeStrainVector()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::ComputeStrainVector ( TPZMaterialData data,
TPZFMatrix< REAL > &  Strain 
)

Evaluates the Strain vector based on an available DSol (solution derivatives set) vector.

Parameters
data[in]
Strain[out]

Definition at line 901 of file TPZMatElastoPlastic_impl.h.

References TPZMatElastoPlastic< T, TMEM >::ComputeDeltaStrainVector(), TPZTensor< T >::fData, TPZMaterialData::intGlobPtIndex, and TPZMatWithMem< TMEM >::MemItem().

Referenced by TPZMatElastoPlastic< T, TMEM >::NEvalErrors().

◆ ComputeStressVector()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::ComputeStressVector ( TPZMaterialData data,
TPZFMatrix< REAL > &  Stress 
)

Evaluates the Stress vector based on an available DSol (solution derivatives set) vector.

Parameters
data[in]
Stress[out]

Definition at line 928 of file TPZMatElastoPlastic_impl.h.

References TPZMatElastoPlastic< T, TMEM >::ApplyDeltaStrain(), TPZMatElastoPlastic< T, TMEM >::ComputeDeltaStrainVector(), and TPZFMatrix< TVar >::Redim().

Referenced by TPZMatElastoPlastic< T, TMEM >::NEvalErrors().

◆ Contribute() [1/2]

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::Contribute ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< REAL > &  ek,
TPZFMatrix< REAL > &  ef 
)
overridevirtual

◆ Contribute() [2/2]

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::Contribute ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< REAL > &  ef 
)
overridevirtual

◆ ContributeBC() [1/2]

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::ContributeBC ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< REAL > &  ek,
TPZFMatrix< REAL > &  ef,
TPZBndCond bc 
)
overridevirtual

◆ ContributeBC() [2/2]

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::ContributeBC ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< REAL > &  ef,
TPZBndCond bc 
)
overridevirtual

It computes a contribution to the stiffness matrix and load vector at one BC integration point.

Reimplemented in TPZMatPorous< T, TMEM >.

Definition at line 863 of file TPZMatElastoPlastic_impl.h.

References TPZMaterial::ContributeBC().

◆ Dimension()

template<class T, class TMEM = TPZElastoPlasticMem>
virtual int TPZMatElastoPlastic< T, TMEM >::Dimension ( ) const
inlineoverridevirtual

returns the integrable dimension of the material

Implements TPZMaterial.

Reimplemented in TPZMatPorous< T, TMEM >, and TPZMatElastoPlastic2D< T, TMEM >.

Definition at line 56 of file TPZMatElastoPlastic.h.

Referenced by TPZMatElastoPlastic< T, TMEM >::ContributeBC().

◆ EigenValues()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::EigenValues ( TPZFMatrix< REAL > &  vectorTensor,
TPZVec< REAL > &  ev 
)

Evaluates the eigenvalues of the tensor vectorTensor (in compact vectorial form)

Parameters
vectorTensor[in] compact vectorial form of a symmetrical tensor
ev[out] evaluated eigenvalues

Definition at line 1098 of file TPZMatElastoPlastic_impl.h.

References LOGPZ_ERROR, TPZMatElastoPlastic< T, TMEM >::m_tol, PZError, TPZVec< T >::Resize(), TPZMatrix< TVar >::SolveEigenvaluesJacobi(), and TPZMatElastoPlastic< T, TMEM >::vectorToTensor().

Referenced by TPZMatElastoPlastic< T, TMEM >::NEvalErrors().

◆ EigenVectors()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::EigenVectors ( TPZFMatrix< REAL > &  vectorTensor,
TPZVec< REAL > &  Solout,
int  direction 
)

Evaluates the eigenvectors of the tensor vectorTensor (in compact vectorial form)

Parameters
vectorTensor[in] compact vectorial form of a symmetrical tensor
Solout[out] evaluated eigenvector
direction[in] selected direction (0 to 2)

Definition at line 1124 of file TPZMatElastoPlastic_impl.h.

References LOGPZ_ERROR, TPZMatElastoPlastic< T, TMEM >::m_tol, PZError, TPZVec< T >::Resize(), TPZMatrix< TVar >::SolveEigensystemJacobi(), and TPZMatElastoPlastic< T, TMEM >::vectorToTensor().

Referenced by TPZMatElastoPlastic< T, TMEM >::NEvalErrors().

◆ Errors()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::Errors ( TPZVec< REAL > &  x,
TPZVec< REAL > &  u,
TPZFMatrix< REAL > &  dudx,
TPZFMatrix< REAL > &  axes,
TPZVec< REAL > &  flux,
TPZVec< REAL > &  u_exact,
TPZFMatrix< REAL > &  du_exact,
TPZVec< REAL > &  values 
)
overridevirtual

Evaluate error between approximate (FEM) and exact solutions. Method not implemented

L2 norm

H1 semi-norm

H1 norm

Reimplemented in TPZMatPorous< T, TMEM >.

Definition at line 872 of file TPZMatElastoPlastic_impl.h.

Referenced by TPZMatElastoPlastic< T, TMEM >::Flux().

◆ FillBoundaryConditionDataRequirement()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::FillBoundaryConditionDataRequirement ( int  type,
TPZMaterialData data 
)
overridevirtual

This method defines which parameters need to be initialized in order to compute the contribution of the boundary condition

Reimplemented from TPZMaterial.

Reimplemented in TPZMatElastoPlastic2D< T, TMEM >.

Definition at line 1227 of file TPZMatElastoPlastic_impl.h.

References TPZMaterialData::fNeedsNormal, and TPZMaterialData::fNeedsSol.

Referenced by TPZMatElastoPlastic< T, TMEM >::NEvalErrors().

◆ FillDataRequirements()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::FillDataRequirements ( TPZMaterialData data)
overridevirtual

Defining what parameters the material needs. In particular this material needs the evaluation of normal vector for the sake of boundary conditions

Reimplemented from TPZMaterial.

Reimplemented in TPZMatPorous< T, TMEM >.

Definition at line 1217 of file TPZMatElastoPlastic_impl.h.

References TPZMaterialData::fNeedsHSize, TPZMaterialData::fNeedsNeighborCenter, TPZMaterialData::fNeedsNormal, and TPZMaterialData::fNeedsSol.

Referenced by TPZMatElastoPlastic< T, TMEM >::NEvalErrors().

◆ Flux()

template<class T, class TMEM = TPZElastoPlasticMem>
virtual void TPZMatElastoPlastic< T, TMEM >::Flux ( TPZVec< REAL > &  x,
TPZVec< REAL > &  Sol,
TPZFMatrix< REAL > &  DSol,
TPZFMatrix< REAL > &  axes,
TPZVec< REAL > &  flux 
)
inlineoverridevirtual

Compute the value of the flux function to be used by ZZ error estimator. Method not implemented.

Reimplemented in TPZMatPorous< T, TMEM >.

Definition at line 90 of file TPZMatElastoPlastic.h.

References TPZMatElastoPlastic< T, TMEM >::Errors(), PZError, and rdt::values.

◆ GetPlasticModel()

template<class T , class TMEM >
T & TPZMatElastoPlastic< T, TMEM >::GetPlasticModel ( )
virtual

Gets the plasticity model

Definition at line 134 of file TPZMatElastoPlastic_impl.h.

References TPZMatElastoPlastic< T, TMEM >::m_plasticity_model.

Referenced by TPZMatElastoPlastic< T, TMEM >::NEvalErrors().

◆ GetPorousElasticity()

template<class T , class TMEM >
TPZPorousElasticResponse & TPZMatElastoPlastic< T, TMEM >::GetPorousElasticity ( TPZPorousElasticResponse PER)
virtual

Gets the nonlinear elastic response (Porous Elastic Response PER) as predictor during elastoplastic process

Definition at line 124 of file TPZMatElastoPlastic_impl.h.

Referenced by TPZMatElastoPlastic< T, TMEM >::NEvalErrors().

◆ Name()

template<class T , class TMEM >
std::string TPZMatElastoPlastic< T, TMEM >::Name ( )
overridevirtual

returns the name of the material

Reimplemented from TPZMatWithMem< TMEM >.

Reimplemented in TPZMatPorous< T, TMEM >, and TPZMatElastoPlastic2D< T, TMEM >.

Definition at line 1170 of file TPZMatElastoPlastic_impl.h.

Referenced by TPZMatElastoPlastic< T, TMEM >::Print().

◆ NEvalErrors()

template<class T, class TMEM = TPZElastoPlasticMem>
virtual int TPZMatElastoPlastic< T, TMEM >::NEvalErrors ( )
inlineoverridevirtual

◆ NewMaterial()

template<class T , class TMEM >
TPZMaterial * TPZMatElastoPlastic< T, TMEM >::NewMaterial ( )
overridevirtual

To create another material of the same type

Reimplemented from TPZMaterial.

Reimplemented in TPZMatPorous< T, TMEM >, and TPZMatElastoPlastic2D< T, TMEM >.

Definition at line 1154 of file TPZMatElastoPlastic_impl.h.

Referenced by TPZMatElastoPlastic< T, TMEM >::NEvalErrors().

◆ NFluxes()

template<class T, class TMEM = TPZElastoPlasticMem>
virtual int TPZMatElastoPlastic< T, TMEM >::NFluxes ( )
inlineoverridevirtual

Return the number of components which form the flux function Method not implemented.

Reimplemented from TPZMaterial.

Reimplemented in TPZMatPorous< T, TMEM >.

Definition at line 81 of file TPZMatElastoPlastic.h.

References PZError.

◆ NSolutionVariables()

template<class T , class TMEM >
int TPZMatElastoPlastic< T, TMEM >::NSolutionVariables ( int  var)
overridevirtual

returns the number of variables associated with the variable indexed by var. var is obtained by calling VariableIndex

Reimplemented from TPZMaterial.

Reimplemented in TPZMatPorous< T, TMEM >.

Definition at line 205 of file TPZMatElastoPlastic_impl.h.

Referenced by TPZMatElastoPlastic< T, TMEM >::NStateVariables(), and TPZMatElastoPlastic< T, TMEM >::Solution().

◆ NStateVariables()

template<class T, class TMEM = TPZElastoPlasticMem>
virtual int TPZMatElastoPlastic< T, TMEM >::NStateVariables ( ) const
inlineoverridevirtual

◆ Print() [1/2]

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::Print ( std::ostream &  out,
const int  memory 
)
virtual

◆ Print() [2/2]

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::Print ( std::ostream &  out)
overridevirtual

◆ Read()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::Read ( TPZStream buf,
void *  context 
)
overridevirtual

◆ SetBulkDensity() [1/2]

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::SetBulkDensity ( REAL &  RhoB)
virtual

Sets the material bulk density

Definition at line 112 of file TPZMatElastoPlastic_impl.h.

References TPZMatElastoPlastic< T, TMEM >::m_rho_bulk.

Referenced by TPZMatElastoPlastic< T, TMEM >::NEvalErrors().

◆ SetBulkDensity() [2/2]

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::SetBulkDensity ( const REAL &  bulk)
virtual

Sets the SetBulkDensity of the material

Definition at line 1203 of file TPZMatElastoPlastic_impl.h.

References TPZMatElastoPlastic< T, TMEM >::m_rho_bulk.

◆ SetPlasticityModel()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::SetPlasticityModel ( T &  plasticity)
virtual

Sets the plasticity model already with proper parameters

Definition at line 79 of file TPZMatElastoPlastic_impl.h.

References LOGPZ_DEBUG, TPZMatElastoPlastic< T, TMEM >::m_plasticity_model, and TPZMatWithMem< TMEM >::SetDefaultMem().

◆ SetPlasticModel()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::SetPlasticModel ( T &  plasticity_model)

Sets the plasticity model

Definition at line 129 of file TPZMatElastoPlastic_impl.h.

References TPZMatElastoPlastic< T, TMEM >::m_plasticity_model.

Referenced by TPZMatElastoPlastic< T, TMEM >::NEvalErrors().

◆ SetPorousElasticity()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::SetPorousElasticity ( TPZPorousElasticResponse PER)
virtual

Sets the nonlinear elastic response (Porous Elastic Response PER) as predictor during elastoplastic process

Definition at line 118 of file TPZMatElastoPlastic_impl.h.

References TPZMatElastoPlastic< T, TMEM >::m_PER, and TPZMatElastoPlastic< T, TMEM >::m_use_non_linear_elasticity_Q.

Referenced by TPZMatElastoPlastic< T, TMEM >::NEvalErrors().

◆ SetTol()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::SetTol ( const REAL &  tol)
virtual

Sets the tolerance value for post-processing purposes

Definition at line 1197 of file TPZMatElastoPlastic_impl.h.

References TPZMatElastoPlastic< T, TMEM >::m_tol, and pzgeom::tol.

Referenced by TPZMatElastoPlastic< T, TMEM >::NEvalErrors().

◆ Solution()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::Solution ( TPZMaterialData data,
int  var,
TPZVec< REAL > &  Solout 
)
overridevirtual

◆ UpdateMaterialCoeficients()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::UpdateMaterialCoeficients ( TPZVec< REAL > &  x,
T &  plasticity 
)
virtual

◆ VariableIndex()

template<class T , class TMEM >
int TPZMatElastoPlastic< T, TMEM >::VariableIndex ( const std::string &  name)
overridevirtual

returns the variable index associated with the name

Reimplemented from TPZMaterial.

Reimplemented in TPZMatPorous< T, TMEM >.

Definition at line 177 of file TPZMatElastoPlastic_impl.h.

References PZError.

Referenced by TPZMatElastoPlastic< T, TMEM >::NStateVariables().

◆ vectorToTensor()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::vectorToTensor ( const TPZFMatrix< REAL > &  vectorTensor,
TPZFMatrix< REAL > &  Tensor 
)

Converts the stress vector onto a symmetric stress tensor

Parameters
vectorTensor[in]
Tensor[out]

Definition at line 1209 of file TPZMatElastoPlastic_impl.h.

References TPZTensor< T >::CopyFrom(), and TPZTensor< T >::CopyToTensor().

Referenced by TPZMatElastoPlastic< T, TMEM >::EigenValues(), TPZMatElastoPlastic< T, TMEM >::EigenVectors(), and TPZMatElastoPlastic< T, TMEM >::NEvalErrors().

◆ Write()

template<class T , class TMEM >
void TPZMatElastoPlastic< T, TMEM >::Write ( TPZStream buf,
int  withclassid 
) const
overridevirtual

Member Data Documentation

◆ m_force

template<class T, class TMEM = TPZElastoPlasticMem>
TPZManVector<REAL, 3> TPZMatElastoPlastic< T, TMEM >::m_force
protected

◆ m_PER

template<class T, class TMEM = TPZElastoPlasticMem>
TPZPorousElasticResponse TPZMatElastoPlastic< T, TMEM >::m_PER
protected

◆ m_plasticity_model

template<class T, class TMEM = TPZElastoPlasticMem>
T TPZMatElastoPlastic< T, TMEM >::m_plasticity_model
protected

◆ m_PostProcessDirection

template<class T, class TMEM = TPZElastoPlasticMem>
TPZManVector<REAL,3> TPZMatElastoPlastic< T, TMEM >::m_PostProcessDirection
protected

◆ m_rho_bulk

template<class T, class TMEM = TPZElastoPlasticMem>
REAL TPZMatElastoPlastic< T, TMEM >::m_rho_bulk
protected

◆ m_tol

template<class T, class TMEM = TPZElastoPlasticMem>
REAL TPZMatElastoPlastic< T, TMEM >::m_tol
protected

◆ m_use_non_linear_elasticity_Q

template<class T, class TMEM = TPZElastoPlasticMem>
bool TPZMatElastoPlastic< T, TMEM >::m_use_non_linear_elasticity_Q
protected

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