NeoPZ
|
This class implements a two dimensional elastic material in plane stress or strain. More...
#include <TPZMixedElasticityMaterial.h>
Classes | |
struct | TElasticityAtPoint |
Public Types | |
enum | MVoigt { Exx, Eyy, Exy, Eyx } |
Public Member Functions | |
TPZMixedElasticityMaterial () | |
Default constructor. More... | |
TPZMixedElasticityMaterial (int id, REAL E, REAL nu, REAL fx, REAL fy, int planestress=1, int fDimension=1) | |
Creates an elastic material with: More... | |
TPZMixedElasticityMaterial (int id) | |
dimension of the material More... | |
TPZMixedElasticityMaterial (const TPZMixedElasticityMaterial ©) | |
Copies the data of one TPZMixedElasticityMaterial object to another. More... | |
virtual int | VariableIndex (const std::string &name) override |
virtual int | NSolutionVariables (int var) override |
int | SIndex () |
int | UIndex () |
int | PIndex () |
virtual int | NEvalErrors () override |
Returns the number of norm errors. Default is 3: energy, L2 and H1. More... | |
void | ComputeDivergenceOnDeformed (TPZVec< TPZMaterialData > &datavec, TPZFMatrix< STATE > &DivergenceofPhi) |
void | ComputeDeformationVector (TPZVec< STATE > &PhiStress, TPZVec< STATE > &APhiStress, TElasticityAtPoint &elastb) |
void | ComputeStressVector (TPZVec< STATE > &Deformation, TPZVec< STATE > &Stress, TElasticityAtPoint &elast) |
void | ElasticityModulusTensor (TPZFMatrix< STATE > &MatrixElast, TElasticityAtPoint &elast) |
virtual TPZMaterial * | NewMaterial () override |
Creates a new material from the current object ?? More... | |
virtual | ~TPZMixedElasticityMaterial () |
Default destructor. More... | |
void | SetElasticParameters (REAL Eyoung, REAL nu) |
Set parameters of elastic material: 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 | SetLameParameters (REAL Lambda, REAL mu) |
Set elasticity parameters. More... | |
void | SetAxisSymmetric () |
set the material configuration to AxisSymmetric 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... | |
virtual 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... | |
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 | 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 | 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 (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 | |
Contribute methods | |
TPZManVector< REAL, 3 > | fForce |
Forcing vector. More... | |
int | fPlaneStress |
Uses plain stress. More... | |
int | fDimension |
dimension of the material More... | |
TPZAutoPointer< TPZFunction< STATE > > | fElasticity |
REAL | fE_const |
Elasticity modulus. More... | |
REAL | fnu_const |
Poison coefficient. More... | |
REAL | flambda_const |
first Lame Parameter More... | |
REAL | fmu_const |
Second Lame Parameter. More... | |
TPZFMatrix< STATE > | fMatrixA |
bool | fAxisSymmetric |
flag indicates axix-AxisSymmetric More... | |
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... | |
virtual void | Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override |
Calculates the element stiffness matrix - simulate compaction as aditional variable. More... | |
virtual void | ContributeBC (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override |
Applies the element boundary conditions Mixed. More... | |
virtual void | ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override |
Applies the element boundary conditions. More... | |
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 | FillDataRequirements (TPZVec< TPZMaterialData > &datavec) override |
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, 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... | |
STATE | Inner (TPZFMatrix< STATE > &S, TPZFMatrix< STATE > &T) |
template<class TVar > | |
TVar | InnerVec (const TPZVec< TVar > &S, const TPZVec< TVar > &T) |
STATE | Tr (TPZFMatrix< REAL > &GradU) |
STATE | Transpose (TPZFMatrix< REAL > &GradU) |
void | FillGradPhi (TPZMaterialData &dataV, TPZVec< TPZFMatrix< STATE > > &GradPhi) |
void | FillVecShapeIndex (TPZMaterialData &data) |
transform a H1 data structure to a vector data structure 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 void | Solution (TPZVec< 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... | |
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... | |
virtual void | Errors (TPZVec< TPZMaterialData > &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) override |
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... | |
static void | ToVoigt (TPZFMatrix< STATE > &S, TPZVec< STATE > &Svoigt) |
Transform a tensor to a Voigt notation. More... | |
static void | FromVoigt (TPZVec< STATE > &Svoigt, TPZFMatrix< STATE > &S) |
Transform a Voigt notation to a tensor. 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) |
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... | |
This class implements a two dimensional elastic material in plane stress or strain.
Definition at line 18 of file TPZMixedElasticityMaterial.h.
Enumerator | |
---|---|
Exx | |
Eyy | |
Exy | |
Eyx |
Definition at line 45 of file TPZMixedElasticityMaterial.h.
TPZMixedElasticityMaterial::TPZMixedElasticityMaterial | ( | ) |
Default constructor.
Definition at line 26 of file TPZMixedElasticityMaterial.cpp.
References fE_const, fForce, flambda_const, fMatrixA, fmu_const, fnu_const, fPlaneStress, and TPZMaterial::fPostProcIndex.
Referenced by NewMaterial().
TPZMixedElasticityMaterial::TPZMixedElasticityMaterial | ( | int | id, |
REAL | E, | ||
REAL | nu, | ||
REAL | fx, | ||
REAL | fy, | ||
int | planestress = 1 , |
||
int | fDimension = 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 54 of file TPZMixedElasticityMaterial.cpp.
References fForce, fPlaneStress, TPZMaterial::fPostProcIndex, and SetElasticity().
TPZMixedElasticityMaterial::TPZMixedElasticityMaterial | ( | int | id | ) |
dimension of the material
Definition at line 40 of file TPZMixedElasticityMaterial.cpp.
References fE_const, fForce, flambda_const, fMatrixA, fmu_const, fnu_const, fPlaneStress, and TPZMaterial::fPostProcIndex.
TPZMixedElasticityMaterial::TPZMixedElasticityMaterial | ( | const TPZMixedElasticityMaterial & | copy | ) |
Copies the data of one TPZMixedElasticityMaterial object to another.
Definition at line 1592 of file TPZMixedElasticityMaterial.cpp.
|
virtual |
Default destructor.
Definition at line 62 of file TPZMixedElasticityMaterial.cpp.
Referenced by NewMaterial().
|
overridevirtual |
Unique identifier for serialization purposes.
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 1606 of file TPZMixedElasticityMaterial.cpp.
References TPZDiscontinuousGalerkin::ClassId(), and Hash().
Referenced by SolutionDisc().
void TPZMixedElasticityMaterial::ComputeDeformationVector | ( | TPZVec< STATE > & | PhiStress, |
TPZVec< STATE > & | APhiStress, | ||
TElasticityAtPoint & | elastb | ||
) |
Definition at line 163 of file TPZMixedElasticityMaterial.cpp.
References ElasticityModulusTensor().
Referenced by Contribute(), Errors(), PIndex(), and Solution().
void TPZMixedElasticityMaterial::ComputeDivergenceOnDeformed | ( | TPZVec< TPZMaterialData > & | datavec, |
TPZFMatrix< STATE > & | DivergenceofPhi | ||
) |
Definition at line 83 of file TPZMixedElasticityMaterial.cpp.
References TPZAxesTools< TVar >::Axes2XYZ(), TPZMatrix< TVar >::Multiply(), TPZVec< T >::NElements(), TPZFMatrix< TVar >::Resize(), and TPZFMatrix< TVar >::Transpose().
Referenced by PIndex().
void TPZMixedElasticityMaterial::ComputeStressVector | ( | TPZVec< STATE > & | Deformation, |
TPZVec< STATE > & | Stress, | ||
TElasticityAtPoint & | elast | ||
) |
Definition at line 175 of file TPZMixedElasticityMaterial.cpp.
References Exx, Exy, Eyx, Eyy, TPZMixedElasticityMaterial::TElasticityAtPoint::fE, TPZMixedElasticityMaterial::TElasticityAtPoint::fnu, and fPlaneStress.
|
overridevirtual |
Calculates the element stiffness matrix.
Implements TPZDiscontinuousGalerkin.
Definition at line 417 of file TPZMixedElasticityMaterial.cpp.
References TPZMaterialData::axes, TPZMatrix< TVar >::Cols(), DebugStop, TPZMaterialData::dphix, TPZMaterialData::EVecShape, TPZFunction< TVar >::Execute(), fE_const, fElasticity, fForce, TPZMaterial::fForcingFunction, TPZMixedElasticityMaterial::TElasticityAtPoint::flambda, TPZMixedElasticityMaterial::TElasticityAtPoint::fmu, fnu_const, fPlaneStress, 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.
std::ofstream filestiff("ek.txt");
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 213 of file TPZMixedElasticityMaterial.cpp.
References ComputeDeformationVector(), TPZFunction< TVar >::Execute(), test::f, fAxisSymmetric, fDimension, TPZMixedElasticityMaterial::TElasticityAtPoint::fE, fE_const, fElasticity, fForce, FillVecShapeIndex(), fnu_const, TPZMaterial::ForcingFunction(), TPZMaterial::HasForcingFunction(), InnerVec(), LOGPZ_DEBUG, TPZVec< T >::NElements(), TPZVec< T >::size(), and ToVoigt().
|
inlineoverridevirtual |
Calculates the element stiffness matrix - simulate compaction as aditional variable.
Calculates the element stiffness matrix
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 209 of file TPZMixedElasticityMaterial.h.
References bc, TPZDiscontinuousGalerkin::Contribute(), and ContributeBC().
|
overridevirtual |
Applies the element boundary conditions Mixed.
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 529 of file TPZMixedElasticityMaterial.cpp.
References DebugStop, TPZMaterialData::EScalarShape, TPZFunction< TVar >::Execute(), fAxisSymmetric, TPZMaterial::ForcingFunction(), TPZMaterial::gBigNumber, TPZMaterial::HasForcingFunction(), test::res, TPZBndCond::Type(), TPZBndCond::Val1(), and TPZBndCond::Val2().
Referenced by Contribute().
|
overridevirtual |
Applies the element boundary conditions.
Implements TPZDiscontinuousGalerkin.
Definition at line 630 of file TPZMixedElasticityMaterial.cpp.
References TPZMatrix< TVar >::Cols(), 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 223 of file TPZMixedElasticityMaterial.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.
Definition at line 238 of file TPZMixedElasticityMaterial.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 246 of file TPZMixedElasticityMaterial.h.
References FillGradPhi(), FillVecShapeIndex(), FromVoigt(), Inner(), InnerVec(), PZError, Solution(), ToVoigt(), Tr(), and Transpose().
|
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.
Definition at line 234 of file TPZMixedElasticityMaterial.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 242 of file TPZMixedElasticityMaterial.h.
References PZError.
|
inlineoverridevirtual |
Returns the model dimension.
Implements TPZMaterial.
Definition at line 168 of file TPZMixedElasticityMaterial.h.
References NStateVariables(), and Print().
Referenced by ContributeBC(), Errors(), and Solution().
void TPZMixedElasticityMaterial::ElasticityModulusTensor | ( | TPZFMatrix< STATE > & | MatrixElast, |
TElasticityAtPoint & | elast | ||
) |
Definition at line 139 of file TPZMixedElasticityMaterial.cpp.
References Exx, Exy, Eyx, Eyy, TPZMixedElasticityMaterial::TElasticityAtPoint::fE, TPZMixedElasticityMaterial::TElasticityAtPoint::flambda, TPZMixedElasticityMaterial::TElasticityAtPoint::fmu, TPZMixedElasticityMaterial::TElasticityAtPoint::fnu, fPlaneStress, and TPZFMatrix< TVar >::Redim().
Referenced by ComputeDeformationVector(), and PIndex().
|
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 1534 of file TPZMixedElasticityMaterial.cpp.
References TPZMatrix< TVar >::Cols(), ComputeStressVector(), TPZFunction< TVar >::Execute(), fE_const, fElasticity, fnu_const, gamma(), TPZMatrix< TVar >::Rows(), and ToVoigt().
Referenced by SolutionDisc().
|
overridevirtual |
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 1345 of file TPZMixedElasticityMaterial.cpp.
References abs(), ComputeDeformationVector(), ComputeStressVector(), DebugStop, Dimension(), EMathematicaInput, TPZFunction< TVar >::Execute(), Exy, Eyx, fAxisSymmetric, fDimension, fE_const, fElasticity, TPZMaterial::fForcingFunction, fnu_const, TPZMaterial::HasForcingFunction(), LOGPZ_DEBUG, pow(), TPZVec< T >::Print(), and ToVoigt().
|
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 521 of file TPZMixedElasticityMaterial.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 516 of file TPZMixedElasticityMaterial.cpp.
References TPZMaterialData::fNeedsNormal, and TPZMaterialData::fNeedsSol.
Referenced by ContributeBC().
|
overridevirtual |
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.
Reimplemented from TPZMaterial.
Definition at line 65 of file TPZMixedElasticityMaterial.cpp.
References TPZVec< T >::size().
void TPZMixedElasticityMaterial::FillGradPhi | ( | TPZMaterialData & | dataV, |
TPZVec< TPZFMatrix< STATE > > & | GradPhi | ||
) |
Fill the vector of gradient for each phi
Referenced by ContributeBCInterface().
void TPZMixedElasticityMaterial::FillVecShapeIndex | ( | TPZMaterialData & | data | ) |
transform a H1 data structure to a vector data structure
Definition at line 1322 of file TPZMixedElasticityMaterial.cpp.
References fDimension, TPZMaterialData::fNormalVec, TPZMaterialData::fVecShapeIndex, TPZMatrix< TVar >::Identity(), TPZMaterialData::phi, TPZManVector< T, NumExtAlloc >::Resize(), TPZFMatrix< TVar >::Resize(), and TPZMatrix< TVar >::Rows().
Referenced by Contribute(), and ContributeBCInterface().
|
overridevirtual |
Computes the value of the flux function to be used by ZZ error estimator.
Reimplemented from TPZMaterial.
Definition at line 1334 of file TPZMixedElasticityMaterial.cpp.
References fabs, and TPZMatrix< TVar >::Print().
Referenced by SolutionDisc().
|
static |
Transform a Voigt notation to a tensor.
Definition at line 206 of file TPZMixedElasticityMaterial.cpp.
References Exx, Exy, Eyx, and Eyy.
Referenced by ContributeBCInterface(), and Solution().
STATE TPZMixedElasticityMaterial::Inner | ( | TPZFMatrix< STATE > & | S, |
TPZFMatrix< STATE > & | T | ||
) |
inner product of two tensors. See Gurtin (2003), p. 5.
Definition at line 1267 of file TPZMixedElasticityMaterial.cpp.
References TPZMatrix< TVar >::Cols(), DebugStop, and TPZMatrix< TVar >::Rows().
Referenced by ContributeBCInterface().
TVar TPZMixedElasticityMaterial::InnerVec | ( | const TPZVec< TVar > & | S, |
const TPZVec< TVar > & | T | ||
) |
inner product of two vectors. See Gurtin (2003), p. 5.
Definition at line 1287 of file TPZMixedElasticityMaterial.cpp.
References DebugStop, and TPZVec< T >::size().
Referenced by Contribute(), and ContributeBCInterface().
|
inlineoverridevirtual |
Returns the material name.
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 179 of file TPZMixedElasticityMaterial.h.
Referenced by Print().
|
overridevirtual |
Returns the number of norm errors. Default is 3: energy, L2 and H1.
Reimplemented from TPZMaterial.
Definition at line 1341 of file TPZMixedElasticityMaterial.cpp.
Referenced by PIndex().
|
inlineoverridevirtual |
Creates a new material from the current object ??
Reimplemented from TPZMaterial.
Definition at line 101 of file TPZMixedElasticityMaterial.h.
References TPZMixedElasticityMaterial(), and ~TPZMixedElasticityMaterial().
|
inlineoverridevirtual |
Returns the number of components which form the flux function.
Reimplemented from TPZMaterial.
Definition at line 189 of file TPZMixedElasticityMaterial.h.
References Contribute().
|
overridevirtual |
Returns the number of variables associated with the variable indexed by var.
Reimplemented from TPZMaterial.
Definition at line 829 of file TPZMixedElasticityMaterial.cpp.
References TPZMaterial::NSolutionVariables().
|
overridevirtual |
Returns the number of state variables associated with the material.
Implements TPZMaterial.
Definition at line 75 of file TPZMixedElasticityMaterial.cpp.
Referenced by ContributeBC(), and Dimension().
|
inlinevirtual |
Returns the number of components which form the flux function.
Definition at line 184 of file TPZMixedElasticityMaterial.h.
|
inline |
index of Rotation
Definition at line 86 of file TPZMixedElasticityMaterial.h.
References ComputeDeformationVector(), ComputeDivergenceOnDeformed(), ComputeStressVector(), ElasticityModulusTensor(), and NEvalErrors().
|
overridevirtual |
Print the material data.
Reimplemented from TPZMaterial.
Definition at line 189 of file TPZMixedElasticityMaterial.cpp.
References fE_const, fForce, fnu_const, and Name().
Referenced by Dimension().
|
overridevirtual |
Reads the element data from a stream.
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 1610 of file TPZMixedElasticityMaterial.cpp.
References fE_const, fForce, fnu_const, fPlaneStress, TPZMaterial::fPostProcIndex, TPZStream::Read(), TPZMaterial::Read(), and TPZManVector< T, NumExtAlloc >::Resize().
Referenced by SolutionDisc().
|
inline |
set the material configuration to AxisSymmetric
Definition at line 145 of file TPZMixedElasticityMaterial.h.
References fAxisSymmetric.
|
inline |
Set forcing function.
Definition at line 161 of file TPZMixedElasticityMaterial.h.
References fForce.
|
inline |
Set elasticity parameters.
Definition at line 120 of file TPZMixedElasticityMaterial.h.
References fE_const, flambda_const, fmu_const, and fnu_const.
Referenced by SetElasticParameters(), and TPZMixedElasticityMaterial().
|
inline |
Set a variable elasticity and poisson coefficient.
Definition at line 129 of file TPZMixedElasticityMaterial.h.
References fElasticity.
|
inline |
Set parameters of elastic material:
First | Lame Parameter Lambda |
Second | Lame Parameter Mu -> G |
fx | forcing function |
fy | forcing function |
Definition at line 115 of file TPZMixedElasticityMaterial.h.
References SetElasticity().
|
inline |
Set elasticity parameters.
Definition at line 135 of file TPZMixedElasticityMaterial.h.
References fE_const, flambda_const, fmu_const, and fnu_const.
|
inline |
Set the material configuration to plane strain.
Definition at line 150 of file TPZMixedElasticityMaterial.h.
References fPlaneStress.
|
inline |
Set the material configuration to plane stress.
Definition at line 156 of file TPZMixedElasticityMaterial.h.
References fPlaneStress.
|
inline |
index of Stress
Definition at line 76 of file TPZMixedElasticityMaterial.h.
|
overridevirtual |
Returns the solution associated with the var index based on the finite element approximation.
Reimplemented from TPZMaterial.
Definition at line 874 of file TPZMixedElasticityMaterial.cpp.
References angle, atan2(), TPZMaterialData::axes, cos(), DebugStop, TPZMaterialData::dsol, TPZFunction< TVar >::Execute(), Exx, Exy, Eyx, Eyy, fabs, TPZMixedElasticityMaterial::TElasticityAtPoint::fE, fE_const, fElasticity, TPZMixedElasticityMaterial::TElasticityAtPoint::flambda, TPZMixedElasticityMaterial::TElasticityAtPoint::fmu, TPZMixedElasticityMaterial::TElasticityAtPoint::fnu, fnu_const, fPlaneStress, TPZMaterial::fPostProcIndex, pow(), sin, TPZVec< T >::size(), TPZMaterialData::sol, TPZMaterial::Solution(), sqrt, and TPZMaterialData::x.
Referenced by ContributeBCInterface().
|
overridevirtual |
Returns the solution associated with the var index based on the finite element approximation.
Reimplemented from TPZMaterial.
Definition at line 1105 of file TPZMixedElasticityMaterial.cpp.
References ComputeDeformationVector(), DebugStop, Dimension(), TPZFunction< TVar >::Execute(), Exx, Exy, Eyx, Eyy, fAxisSymmetric, TPZMixedElasticityMaterial::TElasticityAtPoint::fE, fE_const, fElasticity, TPZMixedElasticityMaterial::TElasticityAtPoint::fmu, TPZMixedElasticityMaterial::TElasticityAtPoint::fnu, fnu_const, fPlaneStress, FromVoigt(), TPZVec< T >::size(), sqrt, and ToVoigt().
|
inlinevirtual |
Returns the solution associated with the var index based on the finite element approximation.
Definition at line 284 of file TPZMixedElasticityMaterial.h.
References ClassId(), Errors(), Flux(), Read(), TPZDiscontinuousGalerkin::SolutionDisc(), rdt::values, and Write().
|
static |
Transform a tensor to a Voigt notation.
Definition at line 198 of file TPZMixedElasticityMaterial.cpp.
References Exx, Exy, Eyx, and Eyy.
Referenced by Contribute(), ContributeBCInterface(), Errors(), and Solution().
STATE TPZMixedElasticityMaterial::Tr | ( | TPZFMatrix< REAL > & | GradU | ) |
trace of the tensor GradU = Div(U)
Definition at line 1302 of file TPZMixedElasticityMaterial.cpp.
References TPZMatrix< TVar >::Cols(), DebugStop, and TPZMatrix< TVar >::Rows().
Referenced by ContributeBCInterface().
STATE TPZMixedElasticityMaterial::Transpose | ( | TPZFMatrix< REAL > & | GradU | ) |
transpose of the tensor GradU = Div(U)
Referenced by ContributeBCInterface().
|
inline |
index of Displacement
Definition at line 81 of file TPZMixedElasticityMaterial.h.
|
overridevirtual |
Returns the variable index associated with the name.
Reimplemented from TPZMaterial.
Definition at line 790 of file TPZMixedElasticityMaterial.cpp.
References TPZMaterial::VariableIndex().
|
overridevirtual |
Saves the element data to a stream.
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 1620 of file TPZMixedElasticityMaterial.cpp.
References fE_const, fForce, fnu_const, fPlaneStress, TPZMaterial::fPostProcIndex, TPZStream::Write(), and TPZMaterial::Write().
Referenced by SolutionDisc().
|
protected |
flag indicates axix-AxisSymmetric
Definition at line 339 of file TPZMixedElasticityMaterial.h.
Referenced by Contribute(), ContributeBC(), Errors(), SetAxisSymmetric(), and Solution().
|
protected |
dimension of the material
Definition at line 317 of file TPZMixedElasticityMaterial.h.
Referenced by Contribute(), Errors(), and FillVecShapeIndex().
|
protected |
Elasticity modulus.
Definition at line 323 of file TPZMixedElasticityMaterial.h.
Referenced by Contribute(), Errors(), Print(), Read(), SetElasticity(), SetLameParameters(), Solution(), TPZMixedElasticityMaterial(), and Write().
|
protected |
Elasticity function
Definition at line 320 of file TPZMixedElasticityMaterial.h.
Referenced by Contribute(), Errors(), SetElasticityFunction(), and Solution().
|
protected |
Forcing vector.
Definition at line 311 of file TPZMixedElasticityMaterial.h.
Referenced by Contribute(), Print(), Read(), SetBodyForce(), TPZMixedElasticityMaterial(), and Write().
|
protected |
first Lame Parameter
Definition at line 329 of file TPZMixedElasticityMaterial.h.
Referenced by SetElasticity(), SetLameParameters(), and TPZMixedElasticityMaterial().
|
protected |
Definition at line 336 of file TPZMixedElasticityMaterial.h.
Referenced by TPZMixedElasticityMaterial().
|
protected |
Second Lame Parameter.
Definition at line 332 of file TPZMixedElasticityMaterial.h.
Referenced by SetElasticity(), SetLameParameters(), and TPZMixedElasticityMaterial().
|
protected |
Poison coefficient.
Definition at line 326 of file TPZMixedElasticityMaterial.h.
Referenced by Contribute(), Errors(), Print(), Read(), SetElasticity(), SetLameParameters(), Solution(), TPZMixedElasticityMaterial(), and Write().
|
protected |
Uses plain stress.
Definition at line 314 of file TPZMixedElasticityMaterial.h.
Referenced by ComputeStressVector(), Contribute(), ElasticityModulusTensor(), Read(), SetPlaneStrain(), SetPlaneStress(), Solution(), TPZMixedElasticityMaterial(), and Write().