NeoPZ
Classes | Public Types | Public Member Functions | List of all members
TPZMixedElasticityMaterial Class Reference

This class implements a two dimensional elastic material in plane stress or strain. More...

#include <TPZMixedElasticityMaterial.h>

Inheritance diagram for TPZMixedElasticityMaterial:
[legend]
Collaboration diagram for TPZMixedElasticityMaterial:
[legend]

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 &copy)
 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 TPZMaterialNewMaterial () 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)
 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...
 
TPZMaterialoperator= (const TPZMaterial &copy)
 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 TPZBndCondCreateBC (TPZMaterial *reference, int id, int typ, TPZFMatrix< STATE > &val1, TPZFMatrix< STATE > &val2)
 Creates an object TPZBndCond derived of TPZMaterial. More...
 
void SetForcingFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as source function for the material. More...
 
void SetForcingFunction (void(*fp)(const TPZVec< REAL > &loc, TPZVec< STATE > &result), int porder)
 
void SetForcingFunction (void(*fp)(const TPZVec< REAL > &loc, TPZVec< STATE > &result, TPZFMatrix< STATE > &gradu), int porder)
 
TPZAutoPointer< TPZFunction< STATE > > & ForcingFunction ()
 Returns a procedure as source function for the material. More...
 
void SetForcingFunctionExact (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as exact solution for the problem. More...
 
TPZAutoPointer< TPZFunction< STATE > > & ForcingFunctionExact ()
 Returns a procedure as exact solution for the problem. More...
 
void SetTimeDependentForcingFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as time dependent source function for the material. More...
 
TPZAutoPointer< TPZFunction< STATE > > & TimeDependentForcingFunction ()
 Returns a procedure as time dependent source function for the material. More...
 
void SetTimeDependentFunctionExact (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as time dependent exact solution for the problem. More...
 
TPZAutoPointer< TPZFunction< STATE > > & TimedependentFunctionExact ()
 Returns a procedure as time dependent exact solution for the problem. More...
 
void SetBCForcingFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as variable boundary condition. More...
 
TPZAutoPointer< TPZFunction< STATE > > & BCForcingFunction ()
 Returns a procedure as variable boundary condition. More...
 
void SetTimedependentBCForcingFunction (TPZAutoPointer< TPZFunction< STATE > > fp)
 Sets a procedure as time variable boundary condition. More...
 
TPZAutoPointer< TPZFunction< STATE > > & TimedependentBCForcingFunction ()
 Returns a procedure as time variable boundary condition. More...
 
virtual int HasForcingFunction ()
 Directive that gives true if the material has a forcing function. More...
 
virtual int HasForcingFunctionExact ()
 Directive that gives true if the material has a function exact. More...
 
virtual int HasBCForcingFunction ()
 Directive that gives true if the material has a bc forcing function exact. More...
 
virtual int HasTimedependentFunctionExact ()
 Directive that gives true if the material has a time dependent function exact. More...
 
virtual int HasTimedependentForcingFunction ()
 Directive that gives true if the material has a time dependent forcing function. More...
 
virtual int HasTimedependentBCForcingFunction ()
 Directive that gives true if the material has a time dependent bc forcing function. More...
 
virtual int IntegrationRuleOrder (int elPMaxOrder) const
 Gets the order of the integration rule necessary to integrate an element with polinomial order p. More...
 
virtual int IntegrationRuleOrder (TPZVec< int > &elPMaxOrder) const
 Gets the order of the integration rule necessary to integrate an element multiphysic. More...
 
virtual void 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 TPZSavableCreateInstance (const int &classId)
 
- Static Public Attributes inherited from TPZMaterial
static REAL gBigNumber
 Big number to penalization method, used for Dirichlet conditions. More...
 
- Protected Member Functions inherited from TPZMaterial
virtual void Solution (TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout)
 
- 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...
 

Detailed Description

This class implements a two dimensional elastic material in plane stress or strain.

Definition at line 18 of file TPZMixedElasticityMaterial.h.

Member Enumeration Documentation

◆ MVoigt

Enumerator
Exx 
Eyy 
Exy 
Eyx 

Definition at line 45 of file TPZMixedElasticityMaterial.h.

Constructor & Destructor Documentation

◆ TPZMixedElasticityMaterial() [1/4]

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() [2/4]

TPZMixedElasticityMaterial::TPZMixedElasticityMaterial ( int  id,
REAL  E,
REAL  nu,
REAL  fx,
REAL  fy,
int  planestress = 1,
int  fDimension = 1 
)

Creates an elastic material with:

Parameters
idmaterial id
Eelasticity modulus
nupoisson coefficient
fxforcing function $ -x = fx $
fyforcing function $ -y = fy $
plainstress$ plainstress = 1 $ indicates use of plainstress

Definition at line 54 of file TPZMixedElasticityMaterial.cpp.

References fForce, fPlaneStress, TPZMaterial::fPostProcIndex, and SetElasticity().

◆ TPZMixedElasticityMaterial() [3/4]

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() [4/4]

TPZMixedElasticityMaterial::TPZMixedElasticityMaterial ( const TPZMixedElasticityMaterial copy)

Copies the data of one TPZMixedElasticityMaterial object to another.

Definition at line 1592 of file TPZMixedElasticityMaterial.cpp.

◆ ~TPZMixedElasticityMaterial()

TPZMixedElasticityMaterial::~TPZMixedElasticityMaterial ( )
virtual

Default destructor.

Definition at line 62 of file TPZMixedElasticityMaterial.cpp.

Referenced by NewMaterial().

Member Function Documentation

◆ ClassId()

int TPZMixedElasticityMaterial::ClassId ( ) const
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().

◆ ComputeDeformationVector()

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().

◆ ComputeDivergenceOnDeformed()

void TPZMixedElasticityMaterial::ComputeDivergenceOnDeformed ( TPZVec< TPZMaterialData > &  datavec,
TPZFMatrix< STATE > &  DivergenceofPhi 
)

◆ ComputeStressVector()

void TPZMixedElasticityMaterial::ComputeStressVector ( TPZVec< STATE > &  Deformation,
TPZVec< STATE > &  Stress,
TElasticityAtPoint elast 
)

◆ Contribute() [1/3]

void TPZMixedElasticityMaterial::Contribute ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef 
)
overridevirtual

◆ Contribute() [2/3]

void TPZMixedElasticityMaterial::Contribute ( TPZVec< TPZMaterialData > &  data,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef 
)
overridevirtual

◆ Contribute() [3/3]

virtual void TPZMixedElasticityMaterial::Contribute ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ef 
)
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().

◆ ContributeBC() [1/3]

void TPZMixedElasticityMaterial::ContributeBC ( TPZVec< TPZMaterialData > &  datavec,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
overridevirtual

◆ ContributeBC() [2/3]

void TPZMixedElasticityMaterial::ContributeBC ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
overridevirtual

◆ ContributeBC() [3/3]

virtual void TPZMixedElasticityMaterial::ContributeBC ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
inlineoverridevirtual

Applies the element boundary conditions.

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 223 of file TPZMixedElasticityMaterial.h.

References TPZDiscontinuousGalerkin::ContributeBC(), FillBoundaryConditionDataRequirement(), and FillDataRequirements().

◆ ContributeBCInterface() [1/2]

virtual void TPZMixedElasticityMaterial::ContributeBCInterface ( TPZMaterialData data,
TPZMaterialData dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
inlineoverridevirtual

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

Parameters
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
Since
April 16, 2007

Implements TPZDiscontinuousGalerkin.

Definition at line 238 of file TPZMixedElasticityMaterial.h.

References PZError.

◆ ContributeBCInterface() [2/2]

virtual void TPZMixedElasticityMaterial::ContributeBCInterface ( TPZMaterialData data,
TPZMaterialData dataleft,
REAL  weight,
TPZFMatrix< STATE > &  ef,
TPZBndCond bc 
)
inlineoverridevirtual

It computes a contribution to residual vector at one BC integration point.

Parameters
data[in]
dataleft[in]
weight[in]
ef[out] is the load vector
bc[in] is the boundary condition object
Since
April 16, 2007

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 246 of file TPZMixedElasticityMaterial.h.

References FillGradPhi(), FillVecShapeIndex(), FromVoigt(), Inner(), InnerVec(), PZError, Solution(), ToVoigt(), Tr(), and Transpose().

◆ ContributeInterface() [1/2]

virtual void TPZMixedElasticityMaterial::ContributeInterface ( TPZMaterialData data,
TPZMaterialData dataleft,
TPZMaterialData dataright,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef 
)
inlineoverridevirtual

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

Parameters
data[in]
dataleft[in]
dataright[in]
weight[in]
ek[out] is the stiffness matrix
ef[out] is the load vector
Since
April 16, 2007

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 234 of file TPZMixedElasticityMaterial.h.

References PZError.

◆ ContributeInterface() [2/2]

virtual void TPZMixedElasticityMaterial::ContributeInterface ( TPZMaterialData data,
TPZMaterialData dataleft,
TPZMaterialData dataright,
REAL  weight,
TPZFMatrix< STATE > &  ef 
)
inlineoverridevirtual

It computes a contribution to residual vector at one integration point.

Parameters
data[in]
dataleft[in]
dataright[in]
weight[in]
ef[out] is the load vector
Since
April 16, 2007

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 242 of file TPZMixedElasticityMaterial.h.

References PZError.

◆ Dimension()

int TPZMixedElasticityMaterial::Dimension ( ) const
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().

◆ ElasticityModulusTensor()

void TPZMixedElasticityMaterial::ElasticityModulusTensor ( TPZFMatrix< STATE > &  MatrixElast,
TElasticityAtPoint elast 
)

◆ Errors() [1/2]

void TPZMixedElasticityMaterial::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 
)
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().

◆ Errors() [2/2]

void TPZMixedElasticityMaterial::Errors ( TPZVec< TPZMaterialData > &  data,
TPZVec< STATE > &  u_exact,
TPZFMatrix< STATE > &  du_exact,
TPZVec< REAL > &  errors 
)
overridevirtual

◆ FillBoundaryConditionDataRequirement()

void TPZMixedElasticityMaterial::FillBoundaryConditionDataRequirement ( int  type,
TPZMaterialData data 
)
overridevirtual

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

Reimplemented from TPZMaterial.

Definition at line 521 of file TPZMixedElasticityMaterial.cpp.

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

Referenced by ContributeBC().

◆ FillDataRequirements() [1/2]

void TPZMixedElasticityMaterial::FillDataRequirements ( TPZMaterialData data)
overridevirtual

Fill material data parameter with necessary requirements for the.

Since
April 10, 2007 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 516 of file TPZMixedElasticityMaterial.cpp.

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

Referenced by ContributeBC().

◆ FillDataRequirements() [2/2]

void TPZMixedElasticityMaterial::FillDataRequirements ( TPZVec< TPZMaterialData > &  datavec)
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().

◆ FillGradPhi()

void TPZMixedElasticityMaterial::FillGradPhi ( TPZMaterialData dataV,
TPZVec< TPZFMatrix< STATE > > &  GradPhi 
)

Fill the vector of gradient for each phi

Referenced by ContributeBCInterface().

◆ FillVecShapeIndex()

void TPZMixedElasticityMaterial::FillVecShapeIndex ( TPZMaterialData data)

◆ Flux()

void TPZMixedElasticityMaterial::Flux ( TPZVec< REAL > &  x,
TPZVec< STATE > &  Sol,
TPZFMatrix< STATE > &  DSol,
TPZFMatrix< REAL > &  axes,
TPZVec< STATE > &  flux 
)
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().

◆ FromVoigt()

void TPZMixedElasticityMaterial::FromVoigt ( TPZVec< STATE > &  Svoigt,
TPZFMatrix< STATE > &  S 
)
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().

◆ Inner()

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().

◆ InnerVec()

template<typename TVar >
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().

◆ Name()

virtual std::string TPZMixedElasticityMaterial::Name ( )
inlineoverridevirtual

Returns the material name.

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 179 of file TPZMixedElasticityMaterial.h.

Referenced by Print().

◆ NEvalErrors()

int TPZMixedElasticityMaterial::NEvalErrors ( )
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().

◆ NewMaterial()

virtual TPZMaterial* TPZMixedElasticityMaterial::NewMaterial ( )
inlineoverridevirtual

Creates a new material from the current object ??

Reimplemented from TPZMaterial.

Definition at line 101 of file TPZMixedElasticityMaterial.h.

References TPZMixedElasticityMaterial(), and ~TPZMixedElasticityMaterial().

◆ NFluxes()

virtual int TPZMixedElasticityMaterial::NFluxes ( )
inlineoverridevirtual

Returns the number of components which form the flux function.

Reimplemented from TPZMaterial.

Definition at line 189 of file TPZMixedElasticityMaterial.h.

References Contribute().

◆ NSolutionVariables()

int TPZMixedElasticityMaterial::NSolutionVariables ( int  var)
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().

◆ NStateVariables()

int TPZMixedElasticityMaterial::NStateVariables ( ) const
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().

◆ NumberOfFluxes()

virtual short TPZMixedElasticityMaterial::NumberOfFluxes ( )
inlinevirtual

Returns the number of components which form the flux function.

Definition at line 184 of file TPZMixedElasticityMaterial.h.

◆ PIndex()

int TPZMixedElasticityMaterial::PIndex ( )
inline

◆ Print()

void TPZMixedElasticityMaterial::Print ( std::ostream &  out = std::cout)
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().

◆ Read()

void TPZMixedElasticityMaterial::Read ( TPZStream buf,
void *  context 
)
overridevirtual

◆ SetAxisSymmetric()

void TPZMixedElasticityMaterial::SetAxisSymmetric ( )
inline

set the material configuration to AxisSymmetric

Definition at line 145 of file TPZMixedElasticityMaterial.h.

References fAxisSymmetric.

◆ SetBodyForce()

void TPZMixedElasticityMaterial::SetBodyForce ( REAL  fx,
REAL  fy 
)
inline

Set forcing function.

Definition at line 161 of file TPZMixedElasticityMaterial.h.

References fForce.

◆ SetElasticity()

void TPZMixedElasticityMaterial::SetElasticity ( REAL  E,
REAL  nu 
)
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().

◆ SetElasticityFunction()

void TPZMixedElasticityMaterial::SetElasticityFunction ( TPZAutoPointer< TPZFunction< STATE > >  func)
inline

Set a variable elasticity and poisson coefficient.

Definition at line 129 of file TPZMixedElasticityMaterial.h.

References fElasticity.

◆ SetElasticParameters()

void TPZMixedElasticityMaterial::SetElasticParameters ( REAL  Eyoung,
REAL  nu 
)
inline

Set parameters of elastic material:

Parameters
FirstLame Parameter Lambda
SecondLame Parameter Mu -> G
fxforcing function $ -x = 0 $
fyforcing function $ -y = 0 $

Definition at line 115 of file TPZMixedElasticityMaterial.h.

References SetElasticity().

◆ SetLameParameters()

void TPZMixedElasticityMaterial::SetLameParameters ( REAL  Lambda,
REAL  mu 
)
inline

Set elasticity parameters.

Definition at line 135 of file TPZMixedElasticityMaterial.h.

References fE_const, flambda_const, fmu_const, and fnu_const.

◆ SetPlaneStrain()

void TPZMixedElasticityMaterial::SetPlaneStrain ( )
inline

Set the material configuration to plane strain.

Definition at line 150 of file TPZMixedElasticityMaterial.h.

References fPlaneStress.

◆ SetPlaneStress()

void TPZMixedElasticityMaterial::SetPlaneStress ( )
inline

Set the material configuration to plane stress.

Definition at line 156 of file TPZMixedElasticityMaterial.h.

References fPlaneStress.

◆ SIndex()

int TPZMixedElasticityMaterial::SIndex ( )
inline

index of Stress

Definition at line 76 of file TPZMixedElasticityMaterial.h.

◆ Solution() [1/2]

void TPZMixedElasticityMaterial::Solution ( TPZMaterialData data,
int  var,
TPZVec< STATE > &  Solout 
)
overridevirtual

◆ Solution() [2/2]

void TPZMixedElasticityMaterial::Solution ( TPZVec< TPZMaterialData > &  data,
int  var,
TPZVec< STATE > &  Solout 
)
overridevirtual

◆ SolutionDisc()

virtual void TPZMixedElasticityMaterial::SolutionDisc ( TPZMaterialData data,
TPZMaterialData dataleft,
TPZMaterialData dataright,
int  var,
TPZVec< STATE > &  Solout 
)
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().

◆ ToVoigt()

void TPZMixedElasticityMaterial::ToVoigt ( TPZFMatrix< STATE > &  S,
TPZVec< STATE > &  Svoigt 
)
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().

◆ Tr()

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().

◆ Transpose()

STATE TPZMixedElasticityMaterial::Transpose ( TPZFMatrix< REAL > &  GradU)

transpose of the tensor GradU = Div(U)

Referenced by ContributeBCInterface().

◆ UIndex()

int TPZMixedElasticityMaterial::UIndex ( )
inline

index of Displacement

Definition at line 81 of file TPZMixedElasticityMaterial.h.

◆ VariableIndex()

int TPZMixedElasticityMaterial::VariableIndex ( const std::string &  name)
overridevirtual

Returns the variable index associated with the name.

Reimplemented from TPZMaterial.

Definition at line 790 of file TPZMixedElasticityMaterial.cpp.

References TPZMaterial::VariableIndex().

◆ Write()

void TPZMixedElasticityMaterial::Write ( TPZStream buf,
int  withclassid 
) const
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().

Member Data Documentation

◆ fAxisSymmetric

bool TPZMixedElasticityMaterial::fAxisSymmetric
protected

flag indicates axix-AxisSymmetric

Definition at line 339 of file TPZMixedElasticityMaterial.h.

Referenced by Contribute(), ContributeBC(), Errors(), SetAxisSymmetric(), and Solution().

◆ fDimension

int TPZMixedElasticityMaterial::fDimension
protected

dimension of the material

Definition at line 317 of file TPZMixedElasticityMaterial.h.

Referenced by Contribute(), Errors(), and FillVecShapeIndex().

◆ fE_const

REAL TPZMixedElasticityMaterial::fE_const
protected

◆ fElasticity

TPZAutoPointer<TPZFunction<STATE> > TPZMixedElasticityMaterial::fElasticity
protected

Elasticity function

Definition at line 320 of file TPZMixedElasticityMaterial.h.

Referenced by Contribute(), Errors(), SetElasticityFunction(), and Solution().

◆ fForce

TPZManVector<REAL, 3> TPZMixedElasticityMaterial::fForce
protected

Forcing vector.

Definition at line 311 of file TPZMixedElasticityMaterial.h.

Referenced by Contribute(), Print(), Read(), SetBodyForce(), TPZMixedElasticityMaterial(), and Write().

◆ flambda_const

REAL TPZMixedElasticityMaterial::flambda_const
protected

first Lame Parameter

Definition at line 329 of file TPZMixedElasticityMaterial.h.

Referenced by SetElasticity(), SetLameParameters(), and TPZMixedElasticityMaterial().

◆ fMatrixA

TPZFMatrix<STATE> TPZMixedElasticityMaterial::fMatrixA
protected

Definition at line 336 of file TPZMixedElasticityMaterial.h.

Referenced by TPZMixedElasticityMaterial().

◆ fmu_const

REAL TPZMixedElasticityMaterial::fmu_const
protected

Second Lame Parameter.

Definition at line 332 of file TPZMixedElasticityMaterial.h.

Referenced by SetElasticity(), SetLameParameters(), and TPZMixedElasticityMaterial().

◆ fnu_const

REAL TPZMixedElasticityMaterial::fnu_const
protected

◆ fPlaneStress

int TPZMixedElasticityMaterial::fPlaneStress
protected

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