6 #ifndef MATHYPERELASTICHPP 7 #define MATHYPERELASTICHPP 36 TPZMatHyperElastic(
int nummat,STATE e,STATE mu,STATE nu=-1.,STATE lambda=-1.,STATE coef1=-1.,STATE coef2=-1.,STATE coef3=-1.);
50 virtual void Print(std::ostream & out)
override;
52 std::string
Name()
override {
return "TPZMatHyperElastic"; }
89 virtual int NFluxes()
override {
return 9;}
107 virtual int ClassId()
const override;
virtual void Solution(TPZMaterialData &data, int var, TPZVec< STATE > &Solout)
Returns the solution associated with the var index based on the finite element approximation.
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.
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override
It computes a contribution to the residual vector at one integration point.
clarg::argBool bc("-bc", "binary checkpoints", false)
Implements a hyper elasticity material.
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 ~TPZMatHyperElastic()
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
It computes a contribution to the stiffness matrix and load vector at one integration point...
virtual int VariableIndex(const std::string &name) override
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)=0
It computes a contribution to the stiffness matrix and load vector at one integration point...
std::string Name() override
Returns the name of the material.
virtual void ContributeBC(TPZMaterialData &data, 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...
This abstract class defines the behaviour which each derived class needs to implement.
void SetMaterial(TPZFMatrix< STATE > &xfin)
Contains TPZMatrixclass which implements full matrix (using column major representation).
This class defines the boundary condition for TPZMaterial objects.
virtual void Print(std::ostream &out) override
Prints out the data associated with the material.
TPZMatHyperElastic(int nummat, STATE e, STATE mu, STATE nu=-1., STATE lambda=-1., STATE coef1=-1., STATE coef2=-1., STATE coef3=-1.)
virtual void ContributeBC(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc)=0
It computes a contribution to the stiffness matrix and load vector at one BC integration point...
virtual void Solution(TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout) override
int Dimension() const override
Returns the integrable dimension of the material.
virtual int ClassId() const override
Define the class id associated with the class.
virtual int NSolutionVariables(int var) override
Returns the number of variables associated with the variable indexed by var.
virtual int NFluxes() override
Returns the number of components which form the flux function.
virtual void ContributeBC(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
It computes a contribution to the stiffness matrix and load vector at one BC integration point...
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...
virtual int NStateVariables() const override
Returns the number of state variables associated with the material.