NeoPZ
Public Member Functions | Private Attributes | List of all members
TPZBiharmonicEstimator Class Reference

Estimates error to biharmonic problem. Also computes the contributions on elements and interfaces. Analysis. More...

#include <tpzbiharmonicestimator.h>

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

Public Member Functions

int ClassId () const override
 Unique identifier for serialization purposes. More...
 
 TPZBiharmonicEstimator (int nummat, STATE f)
 Constructor. More...
 
 ~TPZBiharmonicEstimator ()
 Destructor. More...
 
void SetExactSolutions (void(*fp)(TPZVec< REAL > &loc, TPZVec< STATE > &val, TPZFMatrix< STATE > &deriv), void(*fd)(TPZVec< REAL > &locdual, TPZVec< STATE > &valdual, TPZFMatrix< STATE > &derivdual))
 Set the pointer of the solution function. More...
 
virtual int NEvalErrors () override
 Returns the number of norm errors. Default is 3: energy, L2 and H1. More...
 
virtual void ContributeErrorsDual (TPZMaterialData &data, REAL weight, TPZVec< REAL > &nk)
 Implements integration of the internal part of an error estimator. More...
 
virtual void ContributeErrors (TPZMaterialData &data, REAL weight, TPZVec< REAL > &nk, int &errorid) override
 
virtual void ContributeInterfaceErrors (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZVec< STATE > &nkL, TPZVec< STATE > &nkR, int &errorid) override
 Implements integration of the interface part of an error estimator. More...
 
virtual void ContributeInterfaceErrorsDual (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZVec< STATE > &nkL, TPZVec< STATE > &nkR)
 
virtual void ContributeInterfaceBCErrorsDual (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZVec< STATE > &nk, TPZBndCond &bc)
 Implements integration of the boundary interface part of an error estimator. More...
 
virtual void ContributeInterfaceBCErrors (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZVec< STATE > &nk, TPZBndCond &bc, int &errorid) override
 
virtual void ContributeErrorsSimple (TPZMaterialData &data, REAL weight, TPZVec< REAL > &nk)
 
virtual void ContributeInterfaceErrorsSimple (TPZMaterialData &data, TPZMaterialData &dataleft, TPZMaterialData &dataright, REAL weight, TPZVec< STATE > &nkL, TPZVec< STATE > &nkR)
 
virtual void ContributeInterfaceBCErrorsSimple (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZVec< STATE > &nk, TPZBndCond &bc)
 
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
 Compute the error due to the difference between the interpolated flux
and the flux computed based on the derivative of the solution. More...
 
void Psi (TPZVec< REAL > &x, TPZVec< STATE > &pisci)
 Kernel of the functional. More...
 
void OrderSolution (TPZMaterialData &data)
 Computes the primal and dual exact error. More...
 
void OrderSolutionRight (TPZMaterialData &data, TPZMaterialData &dataright)
 Computes the primal and dual exact error over dataright considering the solution in data. More...
 
void OrderSolutionLeft (TPZMaterialData &data, TPZMaterialData &dataleft)
 Computes the primal and dual exact error over dataleft considering the solution in data. More...
 
- Public Member Functions inherited from TPZBiharmonic
 TPZBiharmonic (int nummat, REAL f)
 Inicialisation of biharmonic material. More...
 
virtual ~TPZBiharmonic ()
 Destructor. More...
 
void SetMaterial (REAL &xfin)
 
int Dimension () const override
 Model dimension. More...
 
virtual int NStateVariables () const override
 Returns one because of scalar problem. More...
 
virtual void Print (std::ostream &out) override
 Prints out the data associated with the material. More...
 
virtual std::string Name () override
 Returns the name of the material. More...
 
virtual void Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef) override
 Implements integral over element's volume. More...
 
virtual void Contribute (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef) override
 Implements integral over element's volume. More...
 
virtual void ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ek, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 Implements boundary conditions for continuous Galerkin. More...
 
virtual void ContributeBC (TPZMaterialData &data, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 Implements boundary conditions for continuous Galerkin. More...
 
virtual int VariableIndex (const std::string &name) override
 
virtual int NSolutionVariables (int var) override
 Returns the number of variables associated with the variable indexed by var. More...
 
virtual int NFluxes () override
 Returns the number of components which form the flux function. 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 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. More...
 
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
 Compute the error due to the difference between the interpolated flux and the flux computed based on the derivative of the solution. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual void ContributeBCInterface (TPZMaterialData &data, TPZMaterialData &dataleft, REAL weight, TPZFMatrix< STATE > &ef, TPZBndCond &bc) override
 It computes a contribution to residual vector at one BC integration point. 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 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 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)
 
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 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 (int elPMaxOrder) const
 Gets the order of the integration rule necessary to integrate an element with polinomial order p. 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 TPZMaterialNewMaterial ()
 To create another material of the same type. 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 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 (TPZMaterialData &data, int var, TPZVec< STATE > &Solout)
 Returns the solution associated with the var index based on the finite element approximation. 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...
 
- 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
 

Private Attributes

void(* fPrimalExactSol )(TPZVec< REAL > &loc, TPZVec< STATE > &val, TPZFMatrix< STATE > &deriv)
 Attributes required for goal oriented error estimation validation. More...
 
void(* fDualExactSol )(TPZVec< REAL > &loc, TPZVec< STATE > &val, TPZFMatrix< STATE > &deriv)
 

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 TPZBiharmonic
static REAL gLambda1
 
static REAL gLambda2
 
static REAL gSigmaA
 
static REAL gSigmaB
 
static REAL gL_alpha
 
static REAL gM_alpha
 
static REAL gL_betta
 
static REAL gM_betta
 
- Static Public Attributes inherited from TPZMaterial
static REAL gBigNumber
 Big number to penalization method, used for Dirichlet conditions. More...
 
- Protected Member Functions inherited from TPZBiharmonic
virtual void Solution (TPZVec< STATE > &Sol, TPZFMatrix< STATE > &DSol, TPZFMatrix< REAL > &axes, int var, TPZVec< STATE > &Solout) override
 
- Protected Member Functions inherited from TPZMaterial
- Protected Attributes inherited from TPZBiharmonic
REAL fXf
 
- 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...
 

Detailed Description

Estimates error to biharmonic problem. Also computes the contributions on elements and interfaces. Analysis.

Author
Joao Luis Goncalves
Since
Maio 16, 2008
Note
This class seems as material class, must to be put into the material group (Jorge??)

Definition at line 17 of file tpzbiharmonicestimator.h.

Constructor & Destructor Documentation

◆ TPZBiharmonicEstimator()

TPZBiharmonicEstimator::TPZBiharmonicEstimator ( int  nummat,
STATE  f 
)

Constructor.

Definition at line 13 of file tpzbiharmonicestimator.cpp.

References SetExactSolutions().

◆ ~TPZBiharmonicEstimator()

TPZBiharmonicEstimator::~TPZBiharmonicEstimator ( )

Destructor.

Definition at line 19 of file tpzbiharmonicestimator.cpp.

Member Function Documentation

◆ ClassId()

int TPZBiharmonicEstimator::ClassId ( ) const
overridevirtual

Unique identifier for serialization purposes.

Reimplemented from TPZBiharmonic.

Definition at line 625 of file tpzbiharmonicestimator.cpp.

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

◆ ContributeErrors()

virtual void TPZBiharmonicEstimator::ContributeErrors ( TPZMaterialData data,
REAL  weight,
TPZVec< REAL > &  nk,
int &  errorid 
)
inlineoverridevirtual

Reimplemented from TPZMaterial.

Definition at line 47 of file tpzbiharmonicestimator.h.

References ContributeErrorsDual(), and ContributeErrorsSimple().

◆ ContributeErrorsDual()

void TPZBiharmonicEstimator::ContributeErrorsDual ( TPZMaterialData data,
REAL  weight,
TPZVec< REAL > &  nk 
)
virtual

Implements integration of the internal part of an error estimator.

It performs nk[0] += weight * ( residuo(u) *(Z1-Z) );
where u is the current solution and Z and Z1 are the dual solution.

Definition at line 34 of file tpzbiharmonicestimator.cpp.

References DebugStop, TPZMaterialData::dsol, TPZFunction< TVar >::Execute(), test::f, fDualExactSol, TPZMaterial::fForcingFunction, fPrimalExactSol, TPZBiharmonic::fXf, TPZVec< T >::size(), TPZMaterialData::sol, and TPZMaterialData::x.

Referenced by ContributeErrors(), and NEvalErrors().

◆ ContributeErrorsSimple()

void TPZBiharmonicEstimator::ContributeErrorsSimple ( TPZMaterialData data,
REAL  weight,
TPZVec< REAL > &  nk 
)
virtual

◆ ContributeInterfaceBCErrors()

virtual void TPZBiharmonicEstimator::ContributeInterfaceBCErrors ( TPZMaterialData data,
TPZMaterialData dataleft,
REAL  weight,
TPZVec< STATE > &  nk,
TPZBndCond bc,
int &  errorid 
)
inlineoverridevirtual

◆ ContributeInterfaceBCErrorsDual()

void TPZBiharmonicEstimator::ContributeInterfaceBCErrorsDual ( TPZMaterialData data,
TPZMaterialData dataleft,
REAL  weight,
TPZVec< STATE > &  nk,
TPZBndCond bc 
)
virtual

◆ ContributeInterfaceBCErrorsSimple()

void TPZBiharmonicEstimator::ContributeInterfaceBCErrorsSimple ( TPZMaterialData data,
TPZMaterialData dataleft,
REAL  weight,
TPZVec< STATE > &  nk,
TPZBndCond bc 
)
virtual

◆ ContributeInterfaceErrors()

virtual void TPZBiharmonicEstimator::ContributeInterfaceErrors ( TPZMaterialData data,
TPZMaterialData dataleft,
TPZMaterialData dataright,
REAL  weight,
TPZVec< STATE > &  nkL,
TPZVec< STATE > &  nkR,
int &  errorid 
)
inlineoverridevirtual

Implements integration of the interface part of an error estimator.

It performs $ nk[0] += weight * ( residuo(u )*(Z1-Z) ) $ ;
where u is the current solution and Z and Z1 are the dual solution.

Reimplemented from TPZDiscontinuousGalerkin.

Definition at line 59 of file tpzbiharmonicestimator.h.

References bc, ContributeInterfaceBCErrorsDual(), ContributeInterfaceErrorsDual(), and ContributeInterfaceErrorsSimple().

◆ ContributeInterfaceErrorsDual()

void TPZBiharmonicEstimator::ContributeInterfaceErrorsDual ( TPZMaterialData data,
TPZMaterialData dataleft,
TPZMaterialData dataright,
REAL  weight,
TPZVec< STATE > &  nkL,
TPZVec< STATE > &  nkR 
)
virtual

◆ ContributeInterfaceErrorsSimple()

void TPZBiharmonicEstimator::ContributeInterfaceErrorsSimple ( TPZMaterialData data,
TPZMaterialData dataleft,
TPZMaterialData dataright,
REAL  weight,
TPZVec< STATE > &  nkL,
TPZVec< STATE > &  nkR 
)
virtual

◆ Errors()

void TPZBiharmonicEstimator::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 
)
overridevirtual

Compute 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 410 of file tpzbiharmonicestimator.cpp.

References Psi(), and TPZBiharmonic::Solution().

Referenced by ContributeInterfaceBCErrors().

◆ NEvalErrors()

virtual int TPZBiharmonicEstimator::NEvalErrors ( )
inlineoverridevirtual

Returns the number of norm errors. Default is 3: energy, L2 and H1.

Reimplemented from TPZBiharmonic.

Definition at line 38 of file tpzbiharmonicestimator.h.

References ContributeErrorsDual().

◆ OrderSolution()

void TPZBiharmonicEstimator::OrderSolution ( TPZMaterialData data)

◆ OrderSolutionLeft()

void TPZBiharmonicEstimator::OrderSolutionLeft ( TPZMaterialData data,
TPZMaterialData dataleft 
)

◆ OrderSolutionRight()

void TPZBiharmonicEstimator::OrderSolutionRight ( TPZMaterialData data,
TPZMaterialData dataright 
)

◆ Psi()

void TPZBiharmonicEstimator::Psi ( TPZVec< REAL > &  x,
TPZVec< STATE > &  pisci 
)

Kernel of the functional.

Definition at line 430 of file tpzbiharmonicestimator.cpp.

References pow().

Referenced by ContributeInterfaceBCErrors(), and Errors().

◆ SetExactSolutions()

void TPZBiharmonicEstimator::SetExactSolutions ( void(*)(TPZVec< REAL > &loc, TPZVec< STATE > &val, TPZFMatrix< STATE > &deriv)  fp,
void(*)(TPZVec< REAL > &locdual, TPZVec< STATE > &valdual, TPZFMatrix< STATE > &derivdual)  fd 
)

Set the pointer of the solution function.

Definition at line 23 of file tpzbiharmonicestimator.cpp.

References CE(), fDualExactSol, and fPrimalExactSol.

Referenced by TPZBiharmonicEstimator().

Member Data Documentation

◆ fDualExactSol

void(* TPZBiharmonicEstimator::fDualExactSol) (TPZVec< REAL > &loc, TPZVec< STATE > &val, TPZFMatrix< STATE > &deriv)
private

◆ fPrimalExactSol

void(* TPZBiharmonicEstimator::fPrimalExactSol) (TPZVec< REAL > &loc, TPZVec< STATE > &val, TPZFMatrix< STATE > &deriv)
private

Attributes required for goal oriented error estimation validation.

Definition at line 22 of file tpzbiharmonicestimator.h.

Referenced by ContributeErrorsDual(), ContributeInterfaceBCErrorsDual(), ContributeInterfaceErrorsDual(), OrderSolution(), OrderSolutionLeft(), OrderSolutionRight(), and SetExactSolutions().


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