6 #ifndef MIXEDELASMATHPP 7 #define MIXEDELASMATHPP 36 flambda = (E * nu) / ((1 + nu)*(1 - 2 * nu));
37 fmu = E / (2 * (1 + nu));
136 fE_const = (mu * (3.0 * Lambda + 2.0 * mu)) / (Lambda + mu);
137 fnu_const = (Lambda) / (2 * (Lambda + mu));
176 virtual void Print(std::ostream & out = std::cout)
override;
179 virtual std::string
Name()
override {
180 return "TPZMixedElasticityMaterial";
235 PZError <<
"\nFATAL ERROR - Method not implemented: " << __PRETTY_FUNCTION__ <<
"\n";
239 PZError <<
"\nFATAL ERROR - Method not implemented: " << __PRETTY_FUNCTION__ <<
"\n";
243 PZError <<
"\nFATAL ERROR - Method not implemented: " << __PRETTY_FUNCTION__ <<
"\n";
247 PZError <<
"\nFATAL ERROR - Method not implemented: " << __PRETTY_FUNCTION__ <<
"\n";
301 virtual int ClassId()
const override;
305 virtual void Write(
TPZStream &buf,
int withclassid)
const override;
Defines the interface which material objects need to implement for discontinuous Galerkin formulation...
virtual void FillDataRequirements(TPZMaterialData &data) override
Fill material data parameter with necessary requirements for the.
REAL flambda
first Lame Parameter
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.
REAL fnu
Poison coefficient.
STATE Inner(TPZFMatrix< STATE > &S, TPZFMatrix< STATE > &T)
void SetLameParameters(REAL Lambda, REAL mu)
Set elasticity parameters.
void FillVecShapeIndex(TPZMaterialData &data)
transform a H1 data structure to a vector data structure
clarg::argBool bc("-bc", "binary checkpoints", false)
bool fAxisSymmetric
flag indicates axix-AxisSymmetric
void SetElasticityFunction(TPZAutoPointer< TPZFunction< STATE > > func)
Set a variable elasticity and poisson coefficient.
TPZMixedElasticityMaterial()
Default constructor.
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.
REAL fE_const
Elasticity modulus.
TPZAutoPointer< TPZFunction< STATE > > fElasticity
This class implements a simple vector storage scheme for a templated class T. Utility.
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...
void ElasticityModulusTensor(TPZFMatrix< STATE > &MatrixElast, TElasticityAtPoint &elast)
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.
This class implements a two dimensional elastic material in plane stress or strain.
void SetElasticity(REAL E, REAL nu)
Set elasticity parameters.
virtual short NumberOfFluxes()
Returns the number of components which form the flux function.
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...
This abstract class defines the behaviour which each derived class needs to implement.
virtual void ContributeBC(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
Applies the element boundary conditions.
int fPlaneStress
Uses plain stress.
static void FromVoigt(TPZVec< STATE > &Svoigt, TPZFMatrix< STATE > &S)
Transform a Voigt notation to a tensor.
STATE Tr(TPZFMatrix< REAL > &GradU)
virtual int NSolutionVariables(int var) override
int Dimension() const override
Returns the model dimension.
REAL flambda_const
first Lame Parameter
virtual void Read(TPZStream &buf, void *context) override
Reads the element data from a stream.
virtual void Write(TPZStream &buf, int withclassid) const override
Saves the element data to a stream.
virtual int ClassId() const override
Unique identifier for serialization purposes.
void ComputeDivergenceOnDeformed(TPZVec< TPZMaterialData > &datavec, TPZFMatrix< STATE > &DivergenceofPhi)
TPZFMatrix< STATE > fMatrixA
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...
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...
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override
Calculates the element stiffness matrix - simulate compaction as aditional variable.
void SetElasticParameters(REAL Eyoung, REAL nu)
Set parameters of elastic material:
This class defines the boundary condition for TPZMaterial objects.
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
Calculates the element stiffness matrix.
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 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...
int fDimension
dimension of the material
void ComputeDeformationVector(TPZVec< STATE > &PhiStress, TPZVec< STATE > &APhiStress, TElasticityAtPoint &elastb)
virtual ~TPZMixedElasticityMaterial()
Default destructor.
virtual TPZMaterial * NewMaterial() override
Creates a new material from the current object ??
void SetAxisSymmetric()
set the material configuration to AxisSymmetric
REAL fE
Elasticity modulus.
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.
void SetPlaneStrain()
Set the material configuration to plane strain.
STATE Transpose(TPZFMatrix< REAL > &GradU)
TElasticityAtPoint(REAL E, REAL nu)
void SetPlaneStress()
Set the material configuration to plane stress.
virtual void ContributeBC(TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
Applies the element boundary conditions Mixed.
void SetBodyForce(REAL fx, REAL fy)
Set forcing function.
virtual int NFluxes() override
Returns the number of components which form the flux function.
virtual std::string Name() override
Returns the material name.
virtual int NEvalErrors() override
Returns the number of norm errors. Default is 3: energy, L2 and H1.
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.
static void ToVoigt(TPZFMatrix< STATE > &S, TPZVec< STATE > &Svoigt)
Transform a tensor to a Voigt notation.
REAL fmu_const
Second Lame Parameter.
virtual int NStateVariables() const override
Returns the number of state variables associated with the material.
void ComputeStressVector(TPZVec< STATE > &Deformation, TPZVec< STATE > &Stress, TElasticityAtPoint &elast)
TVar InnerVec(const TPZVec< TVar > &S, const TPZVec< TVar > &T)
Defines the interface for saving and reading data. Persistency.
REAL fmu
Second Lame Parameter.
REAL fnu_const
Poison coefficient.
virtual void Print(std::ostream &out=std::cout) override
Print the material data.
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...
virtual int VariableIndex(const std::string &name) override
TPZManVector< REAL, 3 > fForce
Forcing vector.
#define PZError
Defines the output device to error messages and the DebugStop() function.
void FillGradPhi(TPZMaterialData &dataV, TPZVec< TPZFMatrix< STATE > > &GradPhi)
This class implements a reference counter mechanism to administer a dynamically allocated object...