6 #ifndef PZL2PROJECTION_H 7 #define PZL2PROJECTION_H 50 int IntegrationOrder = -1);
134 virtual int VariableIndex(
const std::string &name)
override ;
159 virtual int ClassId()
const override ;
Defines the interface which material objects need to implement for discontinuous Galerkin formulation...
virtual void Solution(TPZMaterialData &data, int var, TPZVec< STATE > &Solout)
Returns the solution associated with the var index based on the finite element approximation.
int fDim
Problem dimension.
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.
TPZL2Projection(int id, int dim, int nstate, TPZVec< STATE > &sol, int IntegrationOrder=-1)
Class constructor.
virtual void ContributeVecShape(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
virtual void ContributeBCInterface(TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
To satisfy base class interface.
virtual int VariableIndex(const std::string &name) override
It returns the variable index associated with the name.
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...
virtual void Errors(TPZVec< REAL > &x, TPZVec< STATE > &u, TPZFMatrix< STATE > &dudx, TPZFMatrix< REAL > &axes, TPZVec< STATE > &, 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...
clarg::argBool bc("-bc", "binary checkpoints", false)
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 void ContributeBCInterface(TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
To satisfy base class interface.
int fIntegrationOrder
Order for setting the integration rule.
virtual void Solution(TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout) override
It returns the solution associated with the var index based on the finite element approximation...
REAL fScale
Scale factor applied to the stiffness matrix and right hand side.
int fNStateVars
Number of state variables.
virtual TPZMaterial * NewMaterial() override
To create another material of the same type.
void SetIsReferred(bool val)
Define if material is referred or not.
REAL val(STATE &number)
Returns value of the variable.
This abstract class defines the behaviour which each derived class needs to implement.
virtual int ClassId() const override
Unique identifier for serialization purposes.
virtual int NSolutionVariables(int var) override
Returns the number of variables associated with the variable indexed by var.
virtual int IntegrationRuleOrder(int elPMaxOrder) const override
Get the order of the integration rule necessary to integrate an element with polinomial order p...
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...
void SetScaleFactor(REAL scale)
Set a scale factor for the stiffness matrix and right hand side the default value of the scale factor...
This class defines the boundary condition for TPZMaterial objects.
virtual int NStateVariables() const override
Returns number of state variables.
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...
virtual void SetDimension(int dim)
Sets problem dimension.
TPZVec< STATE > fSol
Constant solution vector.
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.
~TPZL2Projection()
Default destructor.
bool fIsReferred
Argument defining this material is a referred material.
ESolutionVars
Solution indices of post-processing.
virtual void ContributeInterface(TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ef) override
To satisfy base class interface.
virtual int Dimension() const override
Returns problem dimension.
Contains the TPZDiscontinuousGalerkin class which implements the interface for discontinuous Galerkin...
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 > &ek, TPZFMatrix< STATE > &ef) override=0
It computes a contribution to the stiffness matrix and load vector at one integration point...
virtual void Contribute(TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override
It computes a contribution to the residual vector at one integration point.
virtual void ContributeInterface(TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
To satisfy base class interface.
Implements an L2 projection to constant solution values.