NeoPZ
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TPZL2Projection Class Reference

Implements an L2 projection to constant solution values. More...

#include <pzl2projection.h>

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

Public Types

enum  ESolutionVars { ENone, ESolution, EDerivative }
 Solution indices of post-processing. More...
 

Public Member Functions

 TPZL2Projection (int id, int dim, int nstate, TPZVec< STATE > &sol, int IntegrationOrder=-1)
 Class constructor. More...
 
 ~TPZL2Projection ()
 Default destructor. More...
 
 TPZL2Projection (const TPZL2Projection &cp)
 Copy constructor. More...
 
virtual int IntegrationRuleOrder (int elPMaxOrder) const override
 Get the order of the integration rule necessary to integrate an element with polinomial order p. More...
 
void SetScaleFactor (REAL scale)
 Set a scale factor for the stiffness matrix and right hand side the default value of the scale factor is 1. More...
 
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. More...
 
virtual void ContributeVecShape (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef)
 
virtual void Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override
 It computes a contribution to the residual vector at one integration point. More...
 
virtual void ContributeInterface (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
 To satisfy base class interface. More...
 
virtual void ContributeBCInterface (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 To satisfy base class interface. More...
 
virtual void ContributeInterface (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZFMatrix< STATE > &ef) override
 To satisfy base class interface. More...
 
virtual void ContributeBCInterface (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 To satisfy base class interface. More...
 
virtual int Dimension () const override
 Returns problem dimension. More...
 
virtual void SetDimension (int dim)
 Sets problem dimension. More...
 
virtual int NStateVariables () const override
 Returns number of state variables. More...
 
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. More...
 
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. More...
 
void SetIsReferred (bool val)
 Define if material is referred or not. More...
 
virtual TPZMaterialNewMaterial () override
 To create another material of the same type. More...
 
virtual int VariableIndex (const std::string &name) override
 It returns the variable index associated with the name. More...
 
virtual int NSolutionVariables (int var) override
 Returns the number of variables associated with the variable indexed by var. 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 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 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 on the derivative of the solution. More...
 
virtual int ClassId () const override
 Unique identifier for serialization purposes. 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 std::string Name () override
 Returns the name of the material. 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 Errors (TPZVec< TPZMaterialData > &data, TPZVec< STATE > &u_exact, TPZFMatrix< STATE > &du_exact, TPZVec< REAL > &errors) override
 
virtual void Contribute (TPZVec< TPZMaterialData > &datavec, REAL weight, TPZFMatrix< STATE > &ek, 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 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 > &ek, 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 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...
 
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...
 
- 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 FillDataRequirements (TPZMaterialData &data)
 Fill material data parameter with necessary requirements for the. More...
 
virtual void FillDataRequirements (TPZVec< TPZMaterialData > &datavec)
 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)
 This method defines which parameters need to be initialized in order to compute the contribution of the boundary condition. 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)
 
virtual int NFluxes ()
 Returns the number of components which form the flux function. More...
 
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 void Print (std::ostream &out=std::cout)
 Prints out the data associated with the material. 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 (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 int NEvalErrors ()
 Returns the number of norm errors. Default is 3: energy, L2 and H1. More...
 
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 (TPZVec< TPZMaterialData > &datavec, int var, TPZVec< STATE > &Solout)
 Returns the solution associated with the var index based on the finite element approximation. 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...
 
virtual void Flux (TPZVec< REAL > &x, TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, TPZVec< STATE > &flux)
 Computes the value of the flux function to be used by ZZ error estimator. 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
 

Protected Member Functions

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. More...
 
- Protected Member Functions inherited from TPZMaterial

Protected Attributes

int fDim
 Problem dimension. More...
 
int fNStateVars
 Number of state variables. More...
 
TPZVec< STATE > fSol
 Constant solution vector. More...
 
bool fIsReferred
 Argument defining this material is a referred material. More...
 
int fIntegrationOrder
 Order for setting the integration rule. More...
 
REAL fScale
 Scale factor applied to the stiffness matrix and right hand side. More...
 
- 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...
 

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

Detailed Description

Implements an L2 projection to constant solution values.

Since
April 23, 2007

Definition at line 17 of file pzl2projection.h.

Member Enumeration Documentation

◆ ESolutionVars

Solution indices of post-processing.

Enumerator
ENone 
ESolution 
EDerivative 

Definition at line 59 of file pzl2projection.h.

Constructor & Destructor Documentation

◆ TPZL2Projection() [1/2]

TPZL2Projection::TPZL2Projection ( int  id,
int  dim,
int  nstate,
TPZVec< STATE > &  sol,
int  IntegrationOrder = -1 
)

Class constructor.

Parameters
idmaterial id
dimproblem dimension
nstatenumber of state variables
solconstant solution vector
IntegrationOrdernumeric integration order

Definition at line 10 of file pzl2projection.cpp.

References fDim, fIntegrationOrder, fNStateVars, fSol, and SetIsReferred().

Referenced by NewMaterial().

◆ ~TPZL2Projection()

TPZL2Projection::~TPZL2Projection ( )

Default destructor.

Definition at line 32 of file pzl2projection.cpp.

◆ TPZL2Projection() [2/2]

TPZL2Projection::TPZL2Projection ( const TPZL2Projection cp)

Copy constructor.

Definition at line 22 of file pzl2projection.cpp.

References fDim, fIntegrationOrder, fIsReferred, fNStateVars, fSol, and SetIsReferred().

Member Function Documentation

◆ ClassId()

int TPZL2Projection::ClassId ( ) const
overridevirtual

Unique identifier for serialization purposes.

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 258 of file pzl2projection.cpp.

References TPZDiscontinuousGalerkin::ClassId(), and Hash().

Referenced by SolutionDisc().

◆ Contribute() [1/2]

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

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

Parameters
data[in] stores all input data
weight[in] is the weight of the integration rule
ek[out] is the stiffness matrix
ef[out] is the load vector
Since
April 16, 2007

Implements TPZDiscontinuousGalerkin.

Definition at line 44 of file pzl2projection.cpp.

References ContributeVecShape(), DebugStop, TPZMaterialData::EVecShape, TPZFunction< TVar >::Execute(), TPZMaterial::fForcingFunction, TPZVec< T >::Fill(), fIsReferred, fNStateVars, fScale, TPZMaterialData::fShapeType, fSol, TPZMaterial::HasForcingFunction(), TPZVec< T >::NElements(), TPZFunction< TVar >::NFunctions(), TPZMaterialData::phi, TPZManVector< T, NumExtAlloc >::Resize(), TPZMatrix< TVar >::Rows(), TPZVec< T >::size(), TPZMaterialData::sol, and TPZMaterialData::x.

Referenced by SetScaleFactor().

◆ Contribute() [2/2]

virtual void TPZL2Projection::Contribute ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ef 
)
inlineoverridevirtual

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

Parameters
data[in] stores all input data
weight[in] is the weight of the integration rule
ef[out] is the residual vector
Since
April 16, 2007

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 79 of file pzl2projection.h.

References TPZDiscontinuousGalerkin::Contribute().

◆ ContributeBC() [1/2]

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

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

Parameters
data[in] stores all input data
weight[in] is the weight of the integration rule
ek[out] is the stiffness matrix
ef[out] is the load vector
bc[in] is the boundary condition material
Since
April 16, 2007

Implements TPZDiscontinuousGalerkin.

Definition at line 130 of file pzl2projection.cpp.

References fNStateVars, fScale, TPZMaterial::gBigNumber, TPZMaterialData::phi, TPZMatrix< TVar >::Rows(), TPZBndCond::Type(), and TPZBndCond::Val2().

Referenced by NStateVariables().

◆ ContributeBC() [2/2]

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

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

Parameters
data[in] stores all input data
weight[in] is the weight of the integration rule
ef[out] is the load vector
bc[in] is the boundary condition material
Since
April 16, 2007

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 123 of file pzl2projection.h.

References TPZDiscontinuousGalerkin::ContributeBC(), NewMaterial(), NSolutionVariables(), SetIsReferred(), Solution(), val(), and VariableIndex().

◆ ContributeBCInterface() [1/2]

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

To satisfy base class interface.

Implements TPZDiscontinuousGalerkin.

Definition at line 90 of file pzl2projection.h.

◆ ContributeBCInterface() [2/2]

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

To satisfy base class interface.

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 100 of file pzl2projection.h.

◆ ContributeInterface() [1/2]

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

To satisfy base class interface.

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 85 of file pzl2projection.h.

◆ ContributeInterface() [2/2]

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

To satisfy base class interface.

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 95 of file pzl2projection.h.

◆ ContributeVecShape()

void TPZL2Projection::ContributeVecShape ( TPZMaterialData data,
REAL  weight,
TPZFMatrix< STATE > &  ek,
TPZFMatrix< STATE > &  ef 
)
virtual

◆ Dimension()

virtual int TPZL2Projection::Dimension ( ) const
inlineoverridevirtual

Returns problem dimension.

Implements TPZMaterial.

Definition at line 105 of file pzl2projection.h.

References fDim.

◆ Errors()

void TPZL2Projection::Errors ( TPZVec< REAL > &  x,
TPZVec< STATE > &  sol,
TPZFMatrix< STATE > &  dsol,
TPZFMatrix< REAL > &  axes,
TPZVec< STATE > &  flux,
TPZVec< STATE > &  uexact,
TPZFMatrix< STATE > &  duexact,
TPZVec< REAL > &  val 
)
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 222 of file pzl2projection.cpp.

References TPZAxesTools< TVar >::Axes2XYZ(), fDim, TPZVec< T >::Fill(), TPZMaterial::NEvalErrors(), and TPZVec< T >::Resize().

Referenced by SolutionDisc().

◆ IntegrationRuleOrder()

int TPZL2Projection::IntegrationRuleOrder ( int  elPMaxOrder) const
overridevirtual

Get the order of the integration rule necessary to integrate an element with polinomial order p.

Get the order of the integration rule necessary to integrate an element with polinomial order p

Reimplemented from TPZMaterial.

Definition at line 208 of file pzl2projection.cpp.

References fIntegrationOrder, and TPZMaterial::IntegrationRuleOrder().

◆ NewMaterial()

TPZMaterial * TPZL2Projection::NewMaterial ( )
overridevirtual

To create another material of the same type.

Reimplemented from TPZMaterial.

Definition at line 40 of file pzl2projection.cpp.

References TPZL2Projection().

Referenced by ContributeBC().

◆ NSolutionVariables()

int TPZL2Projection::NSolutionVariables ( int  var)
overridevirtual

Returns the number of variables associated with the variable indexed by var.

Parameters
varIndex variable into the solution, is obtained by calling VariableIndex

Reimplemented from TPZMaterial.

Definition at line 175 of file pzl2projection.cpp.

References EDerivative, ESolution, fDim, TPZMaterial::NSolutionVariables(), and NStateVariables().

Referenced by ContributeBC().

◆ NStateVariables()

virtual int TPZL2Projection::NStateVariables ( ) const
inlineoverridevirtual

Returns number of state variables.

Implements TPZMaterial.

Definition at line 111 of file pzl2projection.h.

References bc, ContributeBC(), and fNStateVars.

Referenced by NSolutionVariables().

◆ SetDimension()

virtual void TPZL2Projection::SetDimension ( int  dim)
inlinevirtual

Sets problem dimension.

Definition at line 108 of file pzl2projection.h.

◆ SetIsReferred()

void TPZL2Projection::SetIsReferred ( bool  val)

Define if material is referred or not.

Definition at line 36 of file pzl2projection.cpp.

References fIsReferred, and val().

Referenced by ContributeBC(), and TPZL2Projection().

◆ SetScaleFactor()

void TPZL2Projection::SetScaleFactor ( REAL  scale)
inline

Set a scale factor for the stiffness matrix and right hand side the default value of the scale factor is 1.

Definition at line 71 of file pzl2projection.h.

References Contribute(), and ContributeVecShape().

◆ Solution() [1/2]

void TPZL2Projection::Solution ( TPZVec< STATE > &  Sol,
TPZFMatrix< STATE > &  DSol,
TPZFMatrix< REAL > &  axes,
int  var,
TPZVec< STATE > &  Solout 
)
overrideprotectedvirtual

It returns the solution associated with the var index based on the finite element approximation.

Reimplemented from TPZMaterial.

Definition at line 185 of file pzl2projection.cpp.

References EDerivative, ESolution, fDim, TPZVec< T >::Resize(), TPZVec< T >::size(), and TPZMaterial::Solution().

Referenced by ContributeBC().

◆ Solution() [2/2]

virtual void TPZL2Projection::Solution ( TPZMaterialData data,
int  var,
TPZVec< STATE > &  Solout 
)
inlineoverridevirtual

Returns the solution associated with the var index based on the finite element approximation.

Reimplemented from TPZMaterial.

Definition at line 144 of file pzl2projection.h.

References TPZMaterial::Solution().

◆ SolutionDisc()

virtual void TPZL2Projection::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 150 of file pzl2projection.h.

References ClassId(), Errors(), TPZDiscontinuousGalerkin::SolutionDisc(), and rdt::values.

◆ VariableIndex()

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

It returns the variable index associated with the name.

Reimplemented from TPZMaterial.

Definition at line 169 of file pzl2projection.cpp.

References EDerivative, ESolution, and TPZMaterial::VariableIndex().

Referenced by ContributeBC().

Member Data Documentation

◆ fDim

int TPZL2Projection::fDim
protected

Problem dimension.

Definition at line 22 of file pzl2projection.h.

Referenced by Dimension(), Errors(), NSolutionVariables(), Solution(), and TPZL2Projection().

◆ fIntegrationOrder

int TPZL2Projection::fIntegrationOrder
protected

Order for setting the integration rule.

Definition at line 34 of file pzl2projection.h.

Referenced by IntegrationRuleOrder(), and TPZL2Projection().

◆ fIsReferred

bool TPZL2Projection::fIsReferred
protected

Argument defining this material is a referred material.

Definition at line 31 of file pzl2projection.h.

Referenced by Contribute(), ContributeVecShape(), SetIsReferred(), and TPZL2Projection().

◆ fNStateVars

int TPZL2Projection::fNStateVars
protected

Number of state variables.

Definition at line 25 of file pzl2projection.h.

Referenced by Contribute(), ContributeBC(), ContributeVecShape(), NStateVariables(), and TPZL2Projection().

◆ fScale

REAL TPZL2Projection::fScale
protected

Scale factor applied to the stiffness matrix and right hand side.

Definition at line 37 of file pzl2projection.h.

Referenced by Contribute(), ContributeBC(), and ContributeVecShape().

◆ fSol

TPZVec<STATE> TPZL2Projection::fSol
protected

Constant solution vector.

Definition at line 28 of file pzl2projection.h.

Referenced by Contribute(), ContributeVecShape(), and TPZL2Projection().


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