NeoPZ
|
This class implements a 3D isotropic elasticity material. More...
#include <pzelast3d.h>
Public Member Functions | |
TPZElasticity3D (int nummat, STATE E, STATE poisson, TPZVec< STATE > &force, STATE preStressXX=0., STATE preStressYY=0., STATE preStressZZ=0.) | |
Class constructor. More... | |
TPZElasticity3D (int nummat) | |
Constructor. More... | |
TPZElasticity3D () | |
Default constructor. More... | |
TPZElasticity3D (const TPZElasticity3D &cp) | |
Copy constructor. More... | |
virtual | ~TPZElasticity3D () |
Default destructor. More... | |
int | Dimension () const override |
Returns model dimension. More... | |
int | NStateVariables () const override |
Number of state variables. More... | |
virtual int | IntegrationRuleOrder (int elPMaxOrder) const override |
Gets the order of the integration rule necessary to integrate an element with polinomial order p. More... | |
virtual void | Print (std::ostream &out) override |
Print material report. More... | |
void | SetPostProcessingDirection (TPZVec< REAL > &Direction) |
Direction to post process stress and strain. Result of post processing is (Stress.Direction) or (Strain.Direction) More... | |
void | SetVonMises (REAL fy) |
void | SetMohrCoulomb (REAL fc, REAL ft) |
virtual std::string | Name () override |
Material name. More... | |
virtual void | Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override |
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) override |
It computes a contribution to the residual vector at one integration point. More... | |
virtual void | ContributeVecShape (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) |
virtual void | ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override |
Implements Dirichlet and Neumann boundary conditions. More... | |
virtual void | ContributeVecShapeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) |
virtual void | ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override |
Implements Dirichlet and Neumann boundary conditions. More... | |
virtual int | VariableIndex (const std::string &name) override |
Returns index of post-processing variable. More... | |
virtual int | NSolutionVariables (int var) override |
Number of data of variable var. More... | |
virtual void | Solution (TPZMaterialData &data, int var, TPZVec< STATE > &Solout) override |
Returns the solution associated with the var index based on the finite element approximation. More... | |
virtual int | NFluxes () override |
Return the number of components which form the flux function. More... | |
virtual void | Flux (TPZVec< REAL > &x, TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux) override |
Compute the value of the flux function to be used by ZZ error estimator. More... | |
virtual void | Errors (TPZVec< REAL > &x, TPZVec< STATE > &u, TPZFMatrix< STATE > &dudx, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &values) override |
Evaluate error between approximate (FEM) and exact solutions. More... | |
virtual int | NEvalErrors () override |
Returns the number of norm errors: 3 (Semi H1, L2 and H1) More... | |
void | FillDataRequirements (TPZMaterialData &data) override |
Fill material data parameter with necessary requirements for the Contribute method. More... | |
virtual void | FillBoundaryConditionDataRequirement (int type, TPZMaterialData &data) override |
This method defines which parameters need to be initialized in order to compute the contribution of the boundary condition. More... | |
void | SetMaterialDataHook (REAL Ela, REAL poisson) |
void | SetMaterialDataLame (REAL lambda, REAL mu) |
void | SetC () |
void | SetForce (TPZVec< STATE > force) |
STATE | GetE () |
STATE | GetPoisson () |
STATE | GetLambda () |
STATE | GetMU () |
STATE | GetPrestress (int index) |
virtual void | ComputeStressVector (TPZFMatrix< STATE > &Stress, TPZFMatrix< STATE > &DSol) const |
void | ComputeStrainVector (TPZFMatrix< STATE > &Strain, TPZFMatrix< STATE > &DSol) const |
virtual void | ComputeStressTensor (TPZFMatrix< STATE > &Stress, TPZMaterialData &data) const |
void | ComputeStressTensor (TPZFMatrix< STATE > &Stress, TPZFMatrix< STATE > &DSol) const |
void | ComputeStrainTensor (TPZFMatrix< STATE > &Strain, TPZFMatrix< STATE > &DSol) const |
void | ApplyDirection (TPZFMatrix< STATE > &StrVec, TPZVec< STATE > &Out) const |
void | PrincipalDirection (TPZFMatrix< STATE > &DSol, TPZVec< STATE > &Solout, int direction) const |
virtual void | Write (TPZStream &buf, int withclassid) const override |
Saves the element data to a stream. More... | |
virtual void | Read (TPZStream &buf, void *context) override |
Reads the element data from a stream. More... | |
virtual int | ClassId () const override |
Define the class id associated with the class. More... | |
virtual TPZMaterial * | NewMaterial () override |
Creates a new material from the current object ?? 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... | |
TPZMaterial & | operator= (const TPZMaterial ©) |
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 TPZBndCond * | CreateBC (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 (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 | 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... | |
virtual int | PushMemItem (int sourceIndex=-1) |
Pushes a new entry in the context of materials with memory, returning its index at the internal storage stack. More... | |
virtual void | FreeMemItem (int index) |
Frees an entry in the material with memory internal history storage. More... | |
void | SetLinearContext (bool IsLinear) |
Sets fLinearContext attribute. More... | |
bool | GetLinearContext () const |
Returns fLinearContext attribute. 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 (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... | |
int | ClassId () const override |
Unique identifier for serialization purposes. More... | |
void | Write (TPZStream &buf, int withclassid) const override |
Saves the element data to a stream. More... | |
void | Read (TPZStream &buf, void *context) override |
Reads the element data from a stream. 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... | |
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 | |
Static Public Attributes | |
static STATE | gTolerance |
Static Public Attributes inherited from TPZMaterial | |
static REAL | gBigNumber |
Big number to penalization method, used for Dirichlet conditions. More... | |
Protected Member Functions | |
virtual void | Solution (TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout) override |
Post-processing method. Based on solution Sol and its derivatives DSol, it computes the post-processed variable var. More... | |
Protected Member Functions inherited from TPZMaterial |
Protected Attributes | |
STATE | fE |
Young's modulus. More... | |
STATE | fPoisson |
Poisson's ratio. More... | |
REAL | C1 |
REAL | C2 |
REAL | C3 |
TPZManVector< STATE, 3 > | fForce |
External forces. More... | |
TPZManVector< REAL, 3 > | fPostProcessDirection |
Direction to compute stress and strain. More... | |
REAL | fFy |
Yeilding stress for von mises post processing. More... | |
REAL | fFrictionAngle |
Mohr-Coulomb parameters. More... | |
REAL | fCohesion |
PLASTICPOSTPROC | fPlasticPostProc |
Plastic model for post-processing. More... | |
TPZManVector< REAL > | fPreStress |
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... | |
Private Types | |
enum | PLASTICPOSTPROC { ENonePlasticProc, EVonMises, EMohrCoulomb } |
Private Member Functions | |
STATE | VonMisesPlasticFunction (TPZFMatrix< STATE > &StressTensor) const |
STATE | MohrCoulombPlasticFunction (TPZFMatrix< STATE > &StressTensor) const |
void | Invariants (TPZFMatrix< STATE > &A, STATE &I1, STATE &I2, STATE &I3) const |
void | StressDecomposition (TPZFMatrix< STATE > &StressTensor, TPZFMatrix< STATE > &Deviator, STATE &p) const |
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) |
This class implements a 3D isotropic elasticity material.
Definition at line 21 of file pzelast3d.h.
|
private |
Enumerator | |
---|---|
ENonePlasticProc | |
EVonMises | |
EMohrCoulomb |
Definition at line 25 of file pzelast3d.h.
Definition at line 37 of file pzelast3d.h.
TPZElasticity3D::TPZElasticity3D | ( | int | nummat, |
STATE | E, | ||
STATE | poisson, | ||
TPZVec< STATE > & | force, | ||
STATE | preStressXX = 0. , |
||
STATE | preStressYY = 0. , |
||
STATE | preStressZZ = 0. |
||
) |
Class constructor.
nummat | - material ID. |
E | - Young's modulus. |
poisson | - poisson's ratio |
force | - external forces |
Definition at line 21 of file pzelast3d.cpp.
References fE, fForce, TPZVec< T >::Fill(), fPoisson, fPostProcessDirection, fPreStress, TPZVec< T >::NElements(), PZError, TPZManVector< T, NumExtAlloc >::Resize(), and SetC().
TPZElasticity3D::TPZElasticity3D | ( | int | nummat | ) |
Constructor.
nummat | - material ID. |
Definition at line 47 of file pzelast3d.cpp.
References SetC().
TPZElasticity3D::TPZElasticity3D | ( | ) |
TPZElasticity3D::TPZElasticity3D | ( | const TPZElasticity3D & | cp | ) |
|
virtual |
Default destructor.
Definition at line 64 of file pzelast3d.cpp.
void TPZElasticity3D::ApplyDirection | ( | TPZFMatrix< STATE > & | StrVec, |
TPZVec< STATE > & | Out | ||
) | const |
Definition at line 1174 of file pzelast3d.cpp.
References fPostProcessDirection, and TPZVec< T >::Resize().
Referenced by Solution().
|
overridevirtual |
Define the class id associated with the class.
This id has to be unique for all classes A non unique id is flagged at the startup of the program
Implements TPZSavable.
Reimplemented in TPZThermicElast3D, TPZViscoelastic, TPZMatWithMem< TPZFMatrix< STATE >, TPZElasticity3D >, TPZMatWithMem< TPZFMatrix< REAL >, TPZElasticity3D >, and TPZElast3Dnlinear.
Definition at line 1272 of file pzelast3d.cpp.
References TPZMaterial::ClassId(), and Hash().
Referenced by TPZElast3Dnlinear::ClassId(), and TPZThermicElast3D::ClassId().
void TPZElasticity3D::ComputeStrainTensor | ( | TPZFMatrix< STATE > & | Strain, |
TPZFMatrix< STATE > & | DSol | ||
) | const |
Definition at line 1115 of file pzelast3d.cpp.
References TPZFMatrix< TVar >::Redim().
Referenced by PrincipalDirection(), TPZViscoelastic::Solution(), and Solution().
void TPZElasticity3D::ComputeStrainVector | ( | TPZFMatrix< STATE > & | Strain, |
TPZFMatrix< STATE > & | DSol | ||
) | const |
Definition at line 1148 of file pzelast3d.cpp.
References TPZFMatrix< TVar >::Redim().
Referenced by Solution().
|
virtual |
Reimplemented in TPZViscoelastic.
Definition at line 1128 of file pzelast3d.cpp.
References TPZMaterialData::dsol.
Referenced by Errors(), and Solution().
void TPZElasticity3D::ComputeStressTensor | ( | TPZFMatrix< STATE > & | Stress, |
TPZFMatrix< STATE > & | DSol | ||
) | const |
Definition at line 1132 of file pzelast3d.cpp.
References ComputeStressVector(), and TPZFMatrix< TVar >::Redim().
|
virtual |
Definition at line 1158 of file pzelast3d.cpp.
References fE, fPoisson, fPreStress, and TPZFMatrix< TVar >::Redim().
Referenced by ComputeStressTensor(), and Solution().
|
overridevirtual |
It computes a contribution to the stiffness matrix and load vector at one integration point.
data | [in] stores all input data |
weight | [in] is the weight of the integration rule |
ek | [out] is the stiffness matrix |
ef | [out] is the load vector |
Implements TPZMaterial.
Reimplemented in TPZThermicElast3D, TPZViscoelastic, and TPZElast3Dnlinear.
Definition at line 88 of file pzelast3d.cpp.
References TPZMaterialData::axes, TPZAxesTools< TVar >::Axes2XYZ(), C1, C2, C3, TPZMatrix< TVar >::Cols(), ContributeVecShape(), DebugStop, TPZMaterialData::dphix, TPZMaterialData::EVecShape, TPZFunction< TVar >::Execute(), fE, fForce, TPZMaterial::fForcingFunction, fPoisson, fPreStress, TPZMaterialData::fShapeType, TPZMaterialData::phi, PZError, TPZMatrix< TVar >::Rows(), val(), TPZMatrix< TVar >::VerifySymmetry(), and TPZMaterialData::x.
Referenced by TPZThermicElast3D::Contribute(), and Name().
|
inlineoverridevirtual |
It computes a contribution to the residual vector at one integration point.
data | [in] stores all input data |
weight | [in] is the weight of the integration rule |
ef | [out] is the residual vector |
Reimplemented from TPZMaterial.
Reimplemented in TPZThermicElast3D, and TPZElast3Dnlinear.
Definition at line 121 of file pzelast3d.h.
References bc, TPZMaterial::Contribute(), ContributeBC(), ContributeVecShape(), and ContributeVecShapeBC().
|
overridevirtual |
Implements Dirichlet and Neumann boundary conditions.
Implements TPZMaterial.
Reimplemented in TPZElast3Dnlinear.
Definition at line 612 of file pzelast3d.cpp.
References ContributeVecShapeBC(), DebugStop, TPZMaterialData::EVecShape, TPZFunction< TVar >::Execute(), TPZMaterial::ForcingFunction(), TPZMaterialData::fShapeType, TPZMaterial::HasForcingFunction(), idf, TPZMaterialData::normal, TPZMaterialData::phi, PZError, TPZMatrix< TVar >::Rows(), TPZVec< T >::size(), TPZMaterialData::sol, TPZBndCond::Type(), TPZBndCond::Val1(), TPZBndCond::Val2(), and TPZMaterialData::x.
Referenced by Contribute().
|
inlineoverridevirtual |
Implements Dirichlet and Neumann boundary conditions.
Reimplemented from TPZMaterial.
Definition at line 141 of file pzelast3d.h.
References TPZMaterial::ContributeBC(), NSolutionVariables(), Solution(), and VariableIndex().
|
virtual |
Definition at line 417 of file pzelast3d.cpp.
References TPZMatrix< TVar >::Cols(), TPZMaterialData::dphix, TPZFunction< TVar >::Execute(), fE, fForce, TPZMaterial::fForcingFunction, fPoisson, fPreStress, TPZMaterialData::phi, test::res, and TPZMaterialData::x.
Referenced by Contribute().
|
virtual |
Definition at line 509 of file pzelast3d.cpp.
References TPZMatrix< TVar >::Cols(), DebugStop, TPZMaterial::fNumLoadCases, TPZMaterial::gBigNumber, TPZMaterialData::phi, PZError, TPZBndCond::Type(), TPZBndCond::Val1(), and TPZBndCond::Val2().
Referenced by Contribute(), and ContributeBC().
|
inlineoverridevirtual |
|
overridevirtual |
Evaluate error between approximate (FEM) and exact solutions.
L2 norm
H1 semi-norm
H1 norm
Reimplemented from TPZMaterial.
Definition at line 1074 of file pzelast3d.cpp.
References TPZAxesTools< TVar >::Axes2XYZ(), and ComputeStressTensor().
Referenced by Flux().
|
inlineoverridevirtual |
This method defines which parameters need to be initialized in order to compute the contribution of the boundary condition.
Reimplemented from TPZMaterial.
Definition at line 192 of file pzelast3d.h.
References TPZMaterialData::fNeedsNormal, and TPZMaterialData::fNeedsSol.
|
overridevirtual |
Fill material data parameter with necessary requirements for the Contribute method.
Reimplemented from TPZMaterial.
Reimplemented in TPZViscoelastic, and TPZElast3Dnlinear.
Definition at line 1276 of file pzelast3d.cpp.
References TPZMaterial::FillDataRequirements(), and TPZMaterialData::fNeedsSol.
Referenced by NEvalErrors().
|
inlineoverridevirtual |
Compute the value of the flux function to be used by ZZ error estimator.
Reimplemented from TPZMaterial.
Definition at line 177 of file pzelast3d.h.
References Errors(), PZError, and rdt::values.
|
inline |
Definition at line 228 of file pzelast3d.h.
References fE.
|
inline |
Definition at line 238 of file pzelast3d.h.
|
inline |
Definition at line 244 of file pzelast3d.h.
|
inline |
Definition at line 233 of file pzelast3d.h.
References fPoisson.
|
inline |
Definition at line 250 of file pzelast3d.h.
References fPreStress.
|
inlineoverridevirtual |
Gets the order of the integration rule necessary to integrate an element with polinomial order p.
Reimplemented from TPZMaterial.
Definition at line 79 of file pzelast3d.h.
References Print().
|
private |
Definition at line 1202 of file pzelast3d.cpp.
Referenced by MohrCoulombPlasticFunction(), and VonMisesPlasticFunction().
|
private |
Definition at line 1227 of file pzelast3d.cpp.
References asin, cos(), fabs, fCohesion, fFrictionAngle, Invariants(), pow(), sin, sqrt, StressDecomposition(), and val().
Referenced by Solution().
|
inlineoverridevirtual |
Material name.
Reimplemented from TPZMaterial.
Reimplemented in TPZMatWithMem< TPZFMatrix< STATE >, TPZElasticity3D >, and TPZMatWithMem< TPZFMatrix< REAL >, TPZElasticity3D >.
Definition at line 114 of file pzelast3d.h.
References Contribute().
|
inlineoverridevirtual |
Returns the number of norm errors: 3 (Semi H1, L2 and H1)
Reimplemented from TPZMaterial.
Definition at line 186 of file pzelast3d.h.
References FillDataRequirements().
|
inlineoverridevirtual |
Creates a new material from the current object ??
Reimplemented from TPZMaterial.
Reimplemented in TPZElast3Dnlinear.
Definition at line 302 of file pzelast3d.h.
References TPZElasticity3D().
|
inlineoverridevirtual |
Return the number of components which form the flux function.
Reimplemented from TPZMaterial.
Definition at line 168 of file pzelast3d.h.
References PZError.
|
overridevirtual |
Number of data of variable var.
Reimplemented from TPZMaterial.
Reimplemented in TPZViscoelastic.
Definition at line 798 of file pzelast3d.cpp.
References EDisplacement, EDisplacementX, EDisplacementY, EDisplacementZ, EI1, EI2, EI3, ENormalStrain, ENormalStress, EPlasticFunction, EPrincipalDirection1, EPrincipalDirection2, EPrincipalDirection3, EPrincipalStrain, EPrincipalStress, EStrain, EStrain1, EStress, EStress1, EStressX, EStressY, EStressZ, EVonMisesStress, and TPZMaterial::NSolutionVariables().
Referenced by ContributeBC().
|
inlineoverridevirtual |
Number of state variables.
Implements TPZMaterial.
Definition at line 73 of file pzelast3d.h.
Referenced by TPZViscoelastic::Contribute().
void TPZElasticity3D::PrincipalDirection | ( | TPZFMatrix< STATE > & | DSol, |
TPZVec< STATE > & | Solout, | ||
int | direction | ||
) | const |
Definition at line 1182 of file pzelast3d.cpp.
References ComputeStrainTensor(), gTolerance, PZError, TPZVec< T >::Resize(), TPZMatrix< TVar >::SolveEigensystemJacobi(), and pzgeom::tol.
Referenced by Solution().
|
overridevirtual |
Print material report.
Reimplemented from TPZMaterial.
Reimplemented in TPZMatWithMem< TPZFMatrix< STATE >, TPZElasticity3D >, and TPZMatWithMem< TPZFMatrix< REAL >, TPZElasticity3D >.
Definition at line 77 of file pzelast3d.cpp.
References fE, fForce, fPoisson, and TPZMaterial::Print().
Referenced by IntegrationRuleOrder().
|
overridevirtual |
Reads the element data from a stream.
Read the element data from a stream
Reimplemented from TPZSavable.
Reimplemented in TPZViscoelastic, TPZMatWithMem< TPZFMatrix< STATE >, TPZElasticity3D >, and TPZMatWithMem< TPZFMatrix< REAL >, TPZElasticity3D >.
Definition at line 1258 of file pzelast3d.cpp.
References DebugStop, fE, fForce, fFy, fPoisson, fPostProcessDirection, TPZStream::Read(), TPZMaterial::Read(), TPZManVector< T, NumExtAlloc >::Resize(), and SetC().
|
inline |
Definition at line 216 of file pzelast3d.h.
References C1, C2, C3, fE, and fPoisson.
Referenced by Read(), SetMaterialDataHook(), SetMaterialDataLame(), and TPZElasticity3D().
|
inline |
Definition at line 223 of file pzelast3d.h.
References fForce.
Referenced by TPZViscoelastic::SetMaterialDataHooke(), and TPZViscoelastic::TPZViscoelastic().
|
inline |
Definition at line 202 of file pzelast3d.h.
References fE, fPoisson, and SetC().
Referenced by PYBIND11_MODULE(), TPZViscoelastic::SetMaterialDataHooke(), and TPZViscoelastic::TPZViscoelastic().
|
inline |
Definition at line 209 of file pzelast3d.h.
|
inline |
Definition at line 106 of file pzelast3d.h.
References asin, EMohrCoulomb, fCohesion, fFrictionAngle, fFy, fPlasticPostProc, and tan.
|
inline |
Direction to post process stress and strain.
Result of post processing is (Stress.Direction) or (Strain.Direction)
Definition at line 91 of file pzelast3d.h.
References fPostProcessDirection, TPZVec< T >::NElements(), PZError, and TPZManVector< T, NumExtAlloc >::Resize().
|
inline |
Definition at line 99 of file pzelast3d.h.
References EVonMises, fCohesion, fFrictionAngle, fFy, and fPlasticPostProc.
|
overrideprotectedvirtual |
Post-processing method. Based on solution Sol and its derivatives DSol, it computes the post-processed variable var.
Reimplemented from TPZMaterial.
Reimplemented in TPZThermicElast3D.
Definition at line 831 of file pzelast3d.cpp.
References ApplyDirection(), TPZAxesTools< TVar >::Axes2XYZ(), ComputeStrainTensor(), ComputeStrainVector(), ComputeStressTensor(), ComputeStressVector(), DebugStop, EDisplacement, EDisplacementX, EDisplacementY, EDisplacementZ, EI1, EI2, EI3, EMohrCoulomb, ENormalStrain, ENormalStress, EPlasticFunction, EPrincipalDirection1, EPrincipalDirection2, EPrincipalDirection3, EPrincipalStrain, EPrincipalStress, EStrain, EStrain1, EStress, EStress1, EStressX, EStressY, EStressZ, EVonMises, EVonMisesStress, fFy, fPlasticPostProc, gTolerance, MohrCoulombPlasticFunction(), PrincipalDirection(), PZError, TPZVec< T >::Resize(), TPZVec< T >::size(), TPZMaterial::Solution(), TPZMatrix< TVar >::SolveEigenvaluesJacobi(), pzgeom::tol, and VonMisesPlasticFunction().
Referenced by ContributeBC(), and TPZThermicElast3D::Solution().
|
inlineoverridevirtual |
Returns the solution associated with the var index based on the finite element approximation.
Reimplemented from TPZMaterial.
Reimplemented in TPZThermicElast3D, and TPZViscoelastic.
Definition at line 159 of file pzelast3d.h.
References TPZMaterial::Solution().
|
private |
Definition at line 1209 of file pzelast3d.cpp.
Referenced by MohrCoulombPlasticFunction(), and VonMisesPlasticFunction().
|
overridevirtual |
Returns index of post-processing variable.
Reimplemented from TPZMaterial.
Reimplemented in TPZViscoelastic.
Definition at line 771 of file pzelast3d.cpp.
References EDisplacement, EDisplacementX, EDisplacementY, EDisplacementZ, EI1, EI2, EI3, ENormalStrain, ENormalStress, EPlasticFunction, EPrincipalStrain, EPrincipalStress, EStrain, EStrain1, EStress, EStress1, EStressX, EStressY, EStressZ, EVonMisesStress, and TPZMaterial::VariableIndex().
Referenced by ContributeBC().
|
private |
Definition at line 1216 of file pzelast3d.cpp.
References fabs, fFy, Invariants(), sqrt, and StressDecomposition().
Referenced by Solution().
|
overridevirtual |
Saves the element data to a stream.
Save the element data to a stream
Reimplemented from TPZSavable.
Reimplemented in TPZViscoelastic, TPZMatWithMem< TPZFMatrix< STATE >, TPZElasticity3D >, and TPZMatWithMem< TPZFMatrix< REAL >, TPZElasticity3D >.
Definition at line 1245 of file pzelast3d.cpp.
References DebugStop, fE, fForce, fFy, fPoisson, fPostProcessDirection, TPZStream::Write(), and TPZMaterial::Write().
|
protected |
|
protected |
|
protected |
|
protected |
Definition at line 276 of file pzelast3d.h.
Referenced by MohrCoulombPlasticFunction(), SetMohrCoulomb(), and SetVonMises().
|
protected |
Young's modulus.
Definition at line 258 of file pzelast3d.h.
Referenced by ComputeStressVector(), Contribute(), TPZThermicElast3D::ContributeThermalStress(), ContributeVecShape(), TPZElast3Dnlinear::ContributeVecShapeAux(), GetE(), GetLambda(), GetMU(), Print(), Read(), SetC(), SetMaterialDataHook(), SetMaterialDataLame(), TPZElasticity3D(), TPZViscoelastic::TPZViscoelastic(), and Write().
|
protected |
External forces.
Definition at line 267 of file pzelast3d.h.
Referenced by Contribute(), ContributeVecShape(), TPZElast3Dnlinear::ContributeVecShapeAux(), Print(), Read(), SetForce(), TPZElasticity3D(), and Write().
|
protected |
Mohr-Coulomb parameters.
Definition at line 276 of file pzelast3d.h.
Referenced by MohrCoulombPlasticFunction(), SetMohrCoulomb(), and SetVonMises().
|
protected |
Yeilding stress for von mises post processing.
Definition at line 273 of file pzelast3d.h.
Referenced by Read(), SetMohrCoulomb(), SetVonMises(), Solution(), VonMisesPlasticFunction(), and Write().
|
protected |
Plastic model for post-processing.
Definition at line 279 of file pzelast3d.h.
Referenced by SetMohrCoulomb(), SetVonMises(), and Solution().
|
protected |
Poisson's ratio.
Definition at line 261 of file pzelast3d.h.
Referenced by ComputeStressVector(), Contribute(), TPZThermicElast3D::ContributeThermalStress(), ContributeVecShape(), TPZElast3Dnlinear::ContributeVecShapeAux(), GetLambda(), GetMU(), GetPoisson(), Print(), Read(), SetC(), SetMaterialDataHook(), SetMaterialDataLame(), TPZElasticity3D(), TPZViscoelastic::TPZViscoelastic(), and Write().
|
protected |
Direction to compute stress and strain.
Definition at line 270 of file pzelast3d.h.
Referenced by ApplyDirection(), Read(), SetPostProcessingDirection(), TPZElasticity3D(), and Write().
|
protected |
Definition at line 281 of file pzelast3d.h.
Referenced by ComputeStressVector(), Contribute(), ContributeVecShape(), TPZElast3Dnlinear::ContributeVecShapeAux(), GetPrestress(), and TPZElasticity3D().
|
static |
Definition at line 304 of file pzelast3d.h.
Referenced by PrincipalDirection(), TPZViscoelastic::Solution(), and Solution().