87 virtual void Print(std::ostream & out = std::cout)
override;
90 std::string
Name()
override {
return "TPZElasticityMaterial"; }
96 virtual int NFluxes()
override {
return 3;}
155 PZError <<
"\nFATAL ERROR - Method not implemented: " << __PRETTY_FUNCTION__ <<
"\n";
159 PZError <<
"\nFATAL ERROR - Method not implemented: " << __PRETTY_FUNCTION__ <<
"\n";
163 PZError <<
"\nFATAL ERROR - Method not implemented: " << __PRETTY_FUNCTION__ <<
"\n";
167 PZError <<
"\nFATAL ERROR - Method not implemented: " << __PRETTY_FUNCTION__ <<
"\n";
182 STATE lambda = (nu*
E)/((1.+nu)*(1.-2.*nu));
188 STATE mu = E/(2.*(1.+nu));
226 void SetPreStress(REAL Sigxx, REAL Sigyy, REAL Sigxy, REAL Sigzz);
229 virtual int ClassId()
const override;
234 virtual void Write(
TPZStream &buf,
int withclassid)
const override;
virtual void Print(std::ostream &out=std::cout) override
Print the material data.
Defines the interface which material objects need to implement for discontinuous Galerkin formulation...
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...
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.
int fPlaneStress
Uses plain stress.
STATE GetMU(REAL E, REAL nu) const
REAL Nu()
Returns the poison coefficient modulus E.
REAL fPreStressYY
Pre Stress Tensor - Sigma YY.
clarg::argBool bc("-bc", "binary checkpoints", false)
virtual void ContributeBC(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
Applies the element boundary conditions.
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.
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.
REAL fPreStressZZ
Pre Stress Tensor - Sigma ZZ.
TPZElasticityMaterial()
Default constructor.
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 o...
void SetPlaneStrain()
Set the material configuration to plane strain.
REAL fPreStressXY
Pre Stress Tensor - Sigma XY.
virtual void FillDataRequirements(TPZMaterialData &data) override
Fill material data parameter with necessary requirements for the.
void SetElasticity(REAL E, REAL nu)
Set elasticity parameters.
This class implements a simple vector storage scheme for a templated class T. Utility.
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override
Calculates the element stiffness matrix.
void SetElasticityFunction(TPZAutoPointer< TPZFunction< STATE > > func)
Set a variable elasticity and poisson coefficient.
void SetPreStress(REAL Sigxx, REAL Sigyy, REAL Sigxy, REAL Sigzz)
Set PresStress Tensor.
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...
virtual int NSolutionVariables(int var) override
Returns the number of variables associated with the variable indexed by var.
This abstract class defines the behaviour which each derived class needs to implement.
void ContributeVecShapeBC(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)
virtual int ClassId() const override
Unique identifier for serialization purposes.
virtual void Read(TPZStream &buf, void *context) override
Reads the element data from a stream.
virtual void ContributeBC(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override=0
It computes a contribution to the stiffness matrix and load vector at one BC integration point...
This class defines the boundary condition for TPZMaterial objects.
void ContributeVecShape(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
Calculates the element stiffness matrix - simulate compaction as aditional variable.
virtual int NEvalErrors() override
Returns the number of norm errors. Default is 3: energy, L2 and H1.
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.
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.
TPZAutoPointer< TPZFunction< STATE > > fElasticity
REAL E()
Returns the elasticity modulus E.
TPZManVector< STATE, 3 > ff
Forcing vector.
virtual void Write(TPZStream &buf, int withclassid) const override
Saves the element data to a stream.
void SetPlaneStress()
Set the material configuration to plane stress.
std::string Name() override
Returns the material name.
virtual short NumberOfFluxes()
Returns the number of components which form the flux function.
STATE GetLambda(REAL E, REAL nu) const
virtual void FillBoundaryConditionDataRequirement(int type, TPZMaterialData &data) override
This method defines which parameters need to be initialized in order to compute the contribution of t...
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.
virtual ~TPZElasticityMaterial()
Default destructor.
void SetBodyForce(REAL fx, REAL fy)
Set forcing function.
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
Calculates the element stiffness matrix.
This class implements a two dimensional elastic material in plane stress or strain.
virtual TPZMaterial * NewMaterial() override
Creates a new material from the current object ??
int Dimension() const override
Returns the model dimension.
Defines the interface for saving and reading data. Persistency.
virtual int NFluxes() override
Returns the number of components which form the flux function.
REAL fPreStressXX
Pre Stress Tensor - Sigma XX.
REAL fnu_def
Poison coeficient.
Contains the TPZDiscontinuousGalerkin class which implements the interface for discontinuous Galerkin...
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override=0
It computes a contribution to the stiffness matrix and load vector at one integration point...
REAL fE_def
Elasticity modulus.
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 mul...
virtual int NStateVariables() const override
Returns the number of state variables associated with the material.
#define PZError
Defines the output device to error messages and the DebugStop() function.
virtual int VariableIndex(const std::string &name) override
Returns the variable index associated with the name.
This class implements a reference counter mechanism to administer a dynamically allocated object...