NeoPZ
|
This class implements a two dimensional elastic material in plane stress or strain. More...
#include <pzelasmat.h>
Public Member Functions | |
TPZElasticityMaterial () | |
Default constructor. More... | |
TPZElasticityMaterial (int id, REAL E, REAL nu, REAL fx, REAL fy, int planestress=1) | |
Creates an elastic material with: More... | |
TPZElasticityMaterial (int id) | |
TPZElasticityMaterial (const TPZElasticityMaterial ©) | |
Copies the data of one TPZElasticityMaterial object to another. More... | |
virtual TPZMaterial * | NewMaterial () override |
Creates a new material from the current object ?? More... | |
virtual | ~TPZElasticityMaterial () |
Default destructor. More... | |
void | SetElasticity (REAL E, REAL nu) |
Set elasticity parameters. More... | |
void | SetElasticityFunction (TPZAutoPointer< TPZFunction< STATE > > func) |
Set a variable elasticity and poisson coefficient. More... | |
void | SetPlaneStrain () |
Set the material configuration to plane strain. More... | |
void | SetPlaneStress () |
Set the material configuration to plane stress. More... | |
void | SetBodyForce (REAL fx, REAL fy) |
Set forcing function. More... | |
int | Dimension () const override |
Returns the model dimension. More... | |
virtual int | NStateVariables () const override |
Returns the number of state variables associated with the material. More... | |
virtual void | Print (std::ostream &out=std::cout) override |
Print the material data. More... | |
std::string | Name () override |
Returns the material name. More... | |
virtual short | NumberOfFluxes () |
Returns the number of components which form the flux function. More... | |
virtual int | NFluxes () override |
Returns the number of components which form the flux function. More... | |
virtual int | VariableIndex (const std::string &name) override |
Returns the variable index associated with the name. More... | |
virtual int | NSolutionVariables (int var) override |
Returns the number of variables associated with the variable indexed by var. More... | |
STATE | GetLambda (REAL E, REAL nu) const |
STATE | GetMU (REAL E, REAL nu) const |
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 void | SolutionDisc (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, int var, TPZVec< STATE > &Solout) |
Returns the solution associated with the var index based on the finite element approximation. More... | |
virtual void | Flux (TPZVec< REAL > &x, TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux) override |
Computes the value of the flux function to be used by ZZ error estimator. More... | |
virtual int | NEvalErrors () override |
Returns the number of norm errors. Default is 3: energy, L2 and H1. 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 |
Computes the error due to the difference between the interpolated flux and the flux computed based on the derivative of the solution. More... | |
REAL | E () |
Returns the elasticity modulus E. More... | |
REAL | Nu () |
Returns the poison coefficient modulus E. More... | |
void | SetPreStress (REAL Sigxx, REAL Sigyy, REAL Sigxy, REAL Sigzz) |
Set PresStress Tensor. More... | |
virtual int | ClassId () const override |
Unique identifier for serialization purposes. More... | |
virtual void | Read (TPZStream &buf, void *context) override |
Reads the element data from a stream. More... | |
virtual void | Write (TPZStream &buf, int withclassid) const override |
Saves the element data to a stream. More... | |
Contribute methods | |
virtual void | Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override |
Calculates the element stiffness matrix. More... | |
virtual void | Contribute (TPZVec< TPZMaterialData > &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override |
Calculates the element stiffness matrix - simulate compaction as aditional variable. More... | |
void | ContributeVecShape (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) |
Calculates the element stiffness matrix - simulate compaction as aditional variable. More... | |
virtual void | Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override |
Calculates the element stiffness matrix. More... | |
virtual void | ContributeBC (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override |
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 > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override |
Applies the element boundary conditions. More... | |
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 |
Applies the element boundary conditions. More... | |
virtual void | FillDataRequirements (TPZMaterialData &data) override |
Fill material data parameter with necessary requirements for the. 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... | |
virtual void | ContributeInterface (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override |
It computes a contribution to stiffness matrix and load vector at one integration point. More... | |
virtual void | ContributeBCInterface (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override |
It computes a contribution to stiffness matrix and load vector at one BC integration point. More... | |
virtual void | ContributeInterface (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ef) override |
It computes a contribution to residual vector at one integration point. More... | |
virtual void | ContributeBCInterface (TPZMaterialData &data, TPZMaterialData &left, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override |
It computes a contribution to residual vector at one BC integration point. More... | |
Public Member Functions inherited from TPZDiscontinuousGalerkin | |
TPZDiscontinuousGalerkin () | |
Simple constructor. More... | |
TPZDiscontinuousGalerkin (int nummat) | |
Constructor with the index of the material object within the vector. More... | |
TPZDiscontinuousGalerkin (const TPZDiscontinuousGalerkin ©) | |
Copy constructor. More... | |
virtual | ~TPZDiscontinuousGalerkin () |
Destructor. More... | |
virtual void | FillDataRequirementsInterface (TPZMaterialData &data) override |
Fill material data parameter with necessary requirements for the ContributeInterface method. More... | |
virtual int | GetIntegrationOrder (TPZVec< int > &porder_left, TPZVec< int > &porder_right) const |
return the integration order as a function of interpolation orders of the left and right elements More... | |
virtual int | IsInterfaceConservative () |
Dicontinuous galerkin materials implement contribution of discontinuous elements and interfaces. More... | |
virtual void | InterfaceJump (TPZVec< REAL > &x, TPZSolVec &leftu, TPZSolVec &rightu, TPZSolVec &jump) |
Computes interface jump = leftu - rightu. More... | |
virtual void | BCInterfaceJump (TPZVec< REAL > &x, TPZSolVec &leftu, TPZBndCond &bc, TPZSolVec &jump) |
Computes interface jump from element to Dirichlet boundary condition. It has to reimplemented. More... | |
virtual void | ContributeInterfaceErrors (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZVec< STATE > &nkL, TPZVec< STATE > &nkR, int &errorid) |
virtual void | ContributeInterfaceBCErrors (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZVec< STATE > &nk, TPZBndCond &bc, int &errorid) |
virtual void | Errors (TPZMaterialData &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) override |
virtual void | Errors (TPZVec< TPZMaterialData > &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) override |
virtual void | Contribute (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ef) override |
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) override |
It computes a contribution to the stiffness matrix and load vector at one BC integration point to multiphysics simulation. More... | |
virtual void | ContributeInterface (TPZVec< TPZMaterialData > &datavec, TPZVec< TPZMaterialData > &dataleftvec, TPZVec< TPZMaterialData > &datarightvec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) |
virtual void | ContributeInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, TPZVec< TPZMaterialData > &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) |
Computes a contribution to the stiffness matrix and load vector at one integration point to multiphysics simulation. More... | |
virtual void | ContributeInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, TPZVec< TPZMaterialData > &dataright, REAL weight, TPZFMatrix< STATE > &ef) |
Computes a contribution to residual vector at one integration point. More... | |
virtual void | ContributeBCInterface (TPZMaterialData &data, TPZVec< TPZMaterialData > &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) |
It computes a contribution to stiffness matrix and load vector at one BC integration point to multiphysics simulation. More... | |
void | SolutionDisc (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, int var, TPZVec< STATE > &Solout) |
Returns the solution associated with the var index based on the finite element approximation. 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, 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 (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 | 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... | |
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 | |
Protected Attributes | |
REAL | fE_def |
Elasticity modulus. More... | |
REAL | fnu_def |
Poison coeficient. More... | |
TPZAutoPointer< TPZFunction< STATE > > | fElasticity |
TPZManVector< STATE, 3 > | ff |
Forcing vector. More... | |
REAL | fEover21PlusNu_def |
More... | |
REAL | fEover1MinNu2_def |
More... | |
REAL | fPreStressXX |
Pre Stress Tensor - Sigma XX. More... | |
REAL | fPreStressYY |
Pre Stress Tensor - Sigma YY. More... | |
REAL | fPreStressXY |
Pre Stress Tensor - Sigma XY. More... | |
REAL | fPreStressZZ |
Pre Stress Tensor - Sigma ZZ. More... | |
int | fPlaneStress |
Uses plain stress. 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 TPZSavable * | CreateInstance (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) |
This class implements a two dimensional elastic material in plane stress or strain.
Definition at line 19 of file pzelasmat.h.
TPZElasticityMaterial::TPZElasticityMaterial | ( | ) |
Default constructor.
Definition at line 24 of file pzelasmat.cpp.
References fE_def, ff, fnu_def, fPlaneStress, TPZMaterial::fPostProcIndex, fPreStressXX, fPreStressXY, fPreStressYY, and fPreStressZZ.
Referenced by NewMaterial().
TPZElasticityMaterial::TPZElasticityMaterial | ( | int | id, |
REAL | E, | ||
REAL | nu, | ||
REAL | fx, | ||
REAL | fy, | ||
int | planestress = 1 |
||
) |
Creates an elastic material with:
id | material id |
E | elasticity modulus |
nu | poisson coefficient |
fx | forcing function |
fy | forcing function |
plainstress | indicates use of plainstress |
Definition at line 65 of file pzelasmat.cpp.
References E(), fE_def, ff, fnu_def, fPlaneStress, TPZMaterial::fPostProcIndex, fPreStressXX, fPreStressXY, fPreStressYY, and fPreStressZZ.
TPZElasticityMaterial::TPZElasticityMaterial | ( | int | id | ) |
Definition at line 45 of file pzelasmat.cpp.
References fE_def, ff, fnu_def, fPlaneStress, TPZMaterial::fPostProcIndex, fPreStressXX, fPreStressXY, fPreStressYY, and fPreStressZZ.
TPZElasticityMaterial::TPZElasticityMaterial | ( | const TPZElasticityMaterial & | copy | ) |
Copies the data of one TPZElasticityMaterial object to another.
Definition at line 1234 of file pzelasmat.cpp.
References ff, fPlaneStress, and TPZMaterial::fPostProcIndex.
|
virtual |
|
overridevirtual |
Unique identifier for serialization purposes.
Reimplemented from TPZDiscontinuousGalerkin.
Reimplemented in TPZElasticity2DHybrid, and TPZElasticityHybridMaterial.
Definition at line 1253 of file pzelasmat.cpp.
References TPZDiscontinuousGalerkin::ClassId(), and Hash().
Referenced by TPZElasticityHybridMaterial::ClassId(), TPZElasticity2DHybrid::ClassId(), and Nu().
|
overridevirtual |
Calculates the element stiffness matrix.
Implements TPZDiscontinuousGalerkin.
Reimplemented in TPZElasticityHybridMaterial.
Definition at line 120 of file pzelasmat.cpp.
References TPZMaterialData::axes, TPZMatrix< TVar >::Cols(), ContributeVecShape(), TPZMaterialData::dphix, E(), TPZMaterialData::EVecShape, TPZFunction< TVar >::Execute(), fE_def, fElasticity, ff, TPZMaterial::fForcingFunction, fnu_def, fPlaneStress, fPreStressXX, fPreStressXY, fPreStressYY, TPZMaterialData::fShapeType, TPZMaterialData::phi, PZError, test::res, TPZMatrix< TVar >::Rows(), and TPZMaterialData::x.
Referenced by NFluxes().
|
overridevirtual |
Calculates the element stiffness matrix - simulate compaction as aditional variable.
Reimplemented from TPZDiscontinuousGalerkin.
Reimplemented in TPZElasticity2DHybrid.
Definition at line 247 of file pzelasmat.cpp.
References TPZMatrix< TVar >::Cols(), DebugStop, E(), TPZFunction< TVar >::Execute(), fE_def, fElasticity, ff, TPZMaterial::fForcingFunction, fnu_def, fPlaneStress, fPreStressXX, fPreStressXY, fPreStressYY, GetLambda(), GetMU(), PZError, test::res, and TPZMatrix< TVar >::Rows().
|
inlineoverridevirtual |
Calculates the element stiffness matrix.
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 116 of file pzelasmat.h.
References bc, TPZDiscontinuousGalerkin::Contribute(), ContributeBC(), and ContributeVecShapeBC().
|
overridevirtual |
It computes a contribution to the stiffness matrix and load vector at one BC integration point to multiphysics simulation.
datavec | [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 |
bc | [in] is the boundary condition material |
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 524 of file pzelasmat.cpp.
References TPZBndCond::Contribute().
Referenced by Contribute().
|
overridevirtual |
Applies the element boundary conditions.
Implements TPZDiscontinuousGalerkin.
Reimplemented in TPZElasticity2DHybrid.
Definition at line 528 of file pzelasmat.cpp.
References TPZMatrix< TVar >::Cols(), ContributeVecShapeBC(), DebugStop, Dimension(), TPZMaterialData::EVecShape, TPZMaterial::fNumLoadCases, TPZMaterialData::fShapeType, TPZMaterial::gBigNumber, idf, TPZMaterialData::normal, NStateVariables(), TPZMaterial::NumLoadCases(), TPZMaterialData::phi, test::res, TPZMatrix< TVar >::Rows(), TPZBndCond::Type(), TPZBndCond::Val1(), and TPZBndCond::Val2().
|
inlineoverridevirtual |
Applies the element boundary conditions.
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 142 of file pzelasmat.h.
References TPZDiscontinuousGalerkin::ContributeBC(), FillBoundaryConditionDataRequirement(), and FillDataRequirements().
|
inlineoverridevirtual |
It computes a contribution to stiffness matrix and load vector at one BC integration point.
data | [in] |
dataleft | [in] |
weight | [in] |
ek | [out] is the stiffness matrix |
ef | [out] is the load vector |
bc | [in] is the boundary condition object |
Implements TPZDiscontinuousGalerkin.
Reimplemented in TPZElasticityHybridMaterial.
Definition at line 158 of file pzelasmat.h.
References PZError.
|
inlineoverridevirtual |
It computes a contribution to residual vector at one BC integration point.
data | [in] |
dataleft | [in] |
weight | [in] |
ef | [out] is the load vector |
bc | [in] is the boundary condition object |
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 166 of file pzelasmat.h.
References NSolutionVariables(), PZError, and VariableIndex().
|
inlineoverridevirtual |
It computes a contribution to stiffness matrix and load vector at one integration point.
data | [in] |
dataleft | [in] |
dataright | [in] |
weight | [in] |
ek | [out] is the stiffness matrix |
ef | [out] is the load vector |
Reimplemented from TPZDiscontinuousGalerkin.
Reimplemented in TPZElasticityHybridMaterial.
Definition at line 154 of file pzelasmat.h.
References PZError.
|
inlineoverridevirtual |
It computes a contribution to residual vector at one integration point.
data | [in] |
dataleft | [in] |
dataright | [in] |
weight | [in] |
ef | [out] is the load vector |
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 162 of file pzelasmat.h.
References PZError.
void TPZElasticityMaterial::ContributeVecShape | ( | TPZMaterialData & | data, |
REAL | weight, | ||
TPZFMatrix< STATE > & | ek, | ||
TPZFMatrix< STATE > & | ef | ||
) |
Calculates the element stiffness matrix - simulate compaction as aditional variable.
Definition at line 433 of file pzelasmat.cpp.
References TPZMaterialData::axes, TPZMatrix< TVar >::Cols(), TPZMaterialData::dphix, E(), TPZFunction< TVar >::Execute(), fE_def, fElasticity, ff, TPZMaterial::fForcingFunction, fnu_def, fPlaneStress, fPreStressXX, fPreStressXY, fPreStressYY, TPZMaterialData::phi, test::res, TPZMatrix< TVar >::Rows(), and TPZMaterialData::x.
Referenced by TPZElasticityHybridMaterial::Contribute(), Contribute(), and NFluxes().
void TPZElasticityMaterial::ContributeVecShapeBC | ( | TPZMaterialData & | data, |
REAL | weight, | ||
TPZFMatrix< STATE > & | ek, | ||
TPZFMatrix< STATE > & | ef, | ||
TPZBndCond & | bc | ||
) |
Definition at line 700 of file pzelasmat.cpp.
References TPZMatrix< TVar >::Cols(), TPZMaterial::fNumLoadCases, TPZMaterial::gBigNumber, TPZMaterialData::phi, TPZBndCond::Type(), TPZBndCond::Val1(), and TPZBndCond::Val2().
Referenced by Contribute(), TPZElasticity2DHybrid::ContributeBC(), and ContributeBC().
|
inlineoverridevirtual |
Returns the model dimension.
Implements TPZMaterial.
Reimplemented in TPZElasticityHybridMaterial.
Definition at line 81 of file pzelasmat.h.
References NStateVariables(), and Print().
Referenced by TPZElasticity2DHybrid::ContributeBC(), and ContributeBC().
|
inline |
Returns the elasticity modulus E.
Definition at line 220 of file pzelasmat.h.
References fE_def.
Referenced by TPZElasticity2DHybrid::Contribute(), Contribute(), ContributeVecShape(), Errors(), GetLambda(), SetElasticity(), Solution(), and TPZElasticityMaterial().
|
overridevirtual |
Computes the error due to the difference between the interpolated flux
and the flux computed based on the derivative of the solution.
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 1135 of file pzelasmat.cpp.
References TPZAxesTools< TVar >::Axes2XYZ(), TPZMatrix< TVar >::Cols(), E(), TPZFunction< TVar >::Execute(), fE_def, fElasticity, fnu_def, fPlaneStress, fPreStressXX, fPreStressXY, fPreStressYY, GetLambda(), and GetMU().
Referenced by NEvalErrors().
|
overridevirtual |
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 424 of file pzelasmat.cpp.
References TPZMaterialData::fNeedsNormal, and TPZMaterialData::fNeedsSol.
Referenced by ContributeBC().
|
overridevirtual |
Fill material data parameter with necessary requirements for the.
Reimplemented from TPZMaterial.
Definition at line 417 of file pzelasmat.cpp.
References TPZMaterialData::fNeedsNormal, and TPZMaterialData::fNeedsSol.
Referenced by ContributeBC().
|
overridevirtual |
Computes the value of the flux function to be used by ZZ error estimator.
Reimplemented from TPZMaterial.
Definition at line 1128 of file pzelasmat.cpp.
References fabs, and TPZMatrix< TVar >::Print().
Referenced by SolutionDisc().
|
inline |
Definition at line 180 of file pzelasmat.h.
References E().
Referenced by TPZElasticity2DHybrid::Contribute(), Contribute(), Errors(), and Solution().
|
inline |
Definition at line 186 of file pzelasmat.h.
References Solution().
Referenced by TPZElasticity2DHybrid::Contribute(), Contribute(), Errors(), and Solution().
|
inlineoverridevirtual |
Returns the material name.
Reimplemented from TPZDiscontinuousGalerkin.
Reimplemented in TPZElasticityHybridMaterial.
Definition at line 90 of file pzelasmat.h.
Referenced by Print().
|
inlineoverridevirtual |
Returns the number of norm errors. Default is 3: energy, L2 and H1.
Reimplemented from TPZMaterial.
Definition at line 207 of file pzelasmat.h.
References Errors(), and rdt::values.
|
inlineoverridevirtual |
Creates a new material from the current object ??
Reimplemented from TPZMaterial.
Reimplemented in TPZElasticity2DHybrid, and TPZElasticityHybridMaterial.
Definition at line 42 of file pzelasmat.h.
References TPZElasticityMaterial(), and ~TPZElasticityMaterial().
|
inlineoverridevirtual |
Returns the number of components which form the flux function.
Reimplemented from TPZMaterial.
Definition at line 96 of file pzelasmat.h.
References Contribute(), and ContributeVecShape().
|
overridevirtual |
Returns the number of variables associated with the variable indexed by var.
Returns the number of variables associated with the variable indexed by var.
Reimplemented from TPZMaterial.
Definition at line 840 of file pzelasmat.cpp.
References TPZMaterial::NSolutionVariables().
Referenced by ContributeBCInterface().
|
overridevirtual |
Returns the number of state variables associated with the material.
Implements TPZMaterial.
Reimplemented in TPZElasticityHybridMaterial.
Definition at line 88 of file pzelasmat.cpp.
Referenced by TPZElasticity2DHybrid::ContributeBC(), ContributeBC(), and Dimension().
|
inline |
Returns the poison coefficient modulus E.
Definition at line 223 of file pzelasmat.h.
References ClassId(), fnu_def, Read(), SetPreStress(), and Write().
|
inlinevirtual |
Returns the number of components which form the flux function.
Definition at line 93 of file pzelasmat.h.
|
overridevirtual |
Print the material data.
Reimplemented from TPZMaterial.
Definition at line 92 of file pzelasmat.cpp.
References fE_def, fElasticity, ff, fnu_def, fPreStressXX, fPreStressXY, fPreStressYY, fPreStressZZ, and Name().
Referenced by Dimension().
|
overridevirtual |
Reads the element data from a stream.
Reimplemented from TPZDiscontinuousGalerkin.
Reimplemented in TPZElasticity2DHybrid.
Definition at line 1261 of file pzelasmat.cpp.
References fE_def, ff, fnu_def, fPlaneStress, TPZMaterial::fPostProcIndex, fPreStressXX, fPreStressXY, fPreStressYY, fPreStressZZ, TPZStream::Read(), and TPZMaterial::Read().
Referenced by Nu(), and TPZElasticity2DHybrid::Read().
|
inline |
|
inline |
Set elasticity parameters.
Definition at line 48 of file pzelasmat.h.
|
inline |
Set a variable elasticity and poisson coefficient.
Definition at line 56 of file pzelasmat.h.
References fElasticity.
|
inline |
Set the material configuration to plane strain.
Definition at line 62 of file pzelasmat.h.
References fPlaneStress.
|
inline |
Set the material configuration to plane stress.
Definition at line 68 of file pzelasmat.h.
References fPlaneStress.
void TPZElasticityMaterial::SetPreStress | ( | REAL | Sigxx, |
REAL | Sigyy, | ||
REAL | Sigxy, | ||
REAL | Sigzz | ||
) |
Set PresStress Tensor.
Definition at line 112 of file pzelasmat.cpp.
References fPreStressXX, fPreStressXY, fPreStressYY, and fPreStressZZ.
Referenced by Nu().
|
overridevirtual |
Returns the solution associated with the var index based on the finite element approximation.
Reimplemented from TPZMaterial.
Definition at line 886 of file pzelasmat.cpp.
References angle, atan2(), TPZMaterialData::axes, cos(), DebugStop, TPZMaterialData::dsol, E(), TPZFunction< TVar >::Execute(), fabs, fE_def, fElasticity, fnu_def, fPlaneStress, TPZMaterial::fPostProcIndex, fPreStressXX, fPreStressXY, fPreStressYY, fPreStressZZ, GetLambda(), GetMU(), pow(), sin, TPZVec< T >::size(), TPZMaterialData::sol, TPZMaterial::Solution(), sqrt, pzgeom::tol, TPZMaterialData::x, and ZeroTolerance().
Referenced by GetMU().
|
inlinevirtual |
Returns the solution associated with the var index based on the finite element approximation.
Definition at line 198 of file pzelasmat.h.
References Flux(), and TPZDiscontinuousGalerkin::SolutionDisc().
|
overridevirtual |
Returns the variable index associated with the name.
Returns the variable index associated with the name.
Reimplemented from TPZMaterial.
Definition at line 762 of file pzelasmat.cpp.
References TPZMaterial::VariableIndex().
Referenced by ContributeBCInterface().
|
overridevirtual |
Saves the element data to a stream.
Reimplemented from TPZDiscontinuousGalerkin.
Reimplemented in TPZElasticity2DHybrid.
Definition at line 1277 of file pzelasmat.cpp.
References fE_def, ff, fnu_def, fPlaneStress, TPZMaterial::fPostProcIndex, fPreStressXX, fPreStressXY, fPreStressYY, fPreStressZZ, TPZStream::Write(), and TPZMaterial::Write().
Referenced by Nu(), and TPZElasticity2DHybrid::Write().
|
protected |
Elasticity modulus.
Definition at line 240 of file pzelasmat.h.
Referenced by TPZElasticity2DHybrid::Contribute(), Contribute(), ContributeVecShape(), E(), Errors(), Print(), Read(), SetElasticity(), Solution(), TPZElasticityMaterial(), and Write().
|
protected |
Elasticity function
Definition at line 246 of file pzelasmat.h.
Referenced by TPZElasticity2DHybrid::Contribute(), Contribute(), ContributeVecShape(), Errors(), Print(), SetElasticityFunction(), and Solution().
|
protected |
Definition at line 255 of file pzelasmat.h.
|
protected |
Definition at line 252 of file pzelasmat.h.
|
protected |
Forcing vector.
Definition at line 249 of file pzelasmat.h.
Referenced by TPZElasticity2DHybrid::Contribute(), Contribute(), ContributeVecShape(), Print(), Read(), SetBodyForce(), TPZElasticityMaterial(), and Write().
|
protected |
Poison coeficient.
Definition at line 243 of file pzelasmat.h.
Referenced by TPZElasticity2DHybrid::Contribute(), Contribute(), ContributeVecShape(), Errors(), Nu(), Print(), Read(), SetElasticity(), Solution(), TPZElasticityMaterial(), and Write().
|
protected |
Uses plain stress.
Definition at line 270 of file pzelasmat.h.
Referenced by TPZElasticity2DHybrid::Contribute(), Contribute(), ContributeVecShape(), Errors(), Read(), SetPlaneStrain(), SetPlaneStress(), Solution(), TPZElasticityMaterial(), and Write().
|
protected |
Pre Stress Tensor - Sigma XX.
Definition at line 258 of file pzelasmat.h.
Referenced by TPZElasticity2DHybrid::Contribute(), Contribute(), ContributeVecShape(), Errors(), Print(), Read(), SetPreStress(), Solution(), TPZElasticityMaterial(), and Write().
|
protected |
Pre Stress Tensor - Sigma XY.
Definition at line 264 of file pzelasmat.h.
Referenced by TPZElasticity2DHybrid::Contribute(), Contribute(), ContributeVecShape(), Errors(), Print(), Read(), SetPreStress(), Solution(), TPZElasticityMaterial(), and Write().
|
protected |
Pre Stress Tensor - Sigma YY.
Definition at line 261 of file pzelasmat.h.
Referenced by TPZElasticity2DHybrid::Contribute(), Contribute(), ContributeVecShape(), Errors(), Print(), Read(), SetPreStress(), Solution(), TPZElasticityMaterial(), and Write().
|
protected |
Pre Stress Tensor - Sigma ZZ.
Definition at line 267 of file pzelasmat.h.
Referenced by Print(), Read(), SetPreStress(), Solution(), TPZElasticityMaterial(), and Write().