NeoPZ
|
Estimates error to biharmonic problem. Also computes the contributions on elements and interfaces. Analysis. More...
#include <tpzbiharmonicestimator.h>
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 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... | |
TPZMaterial & | operator= (const TPZMaterial ©) |
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 TPZBndCond * | CreateBC (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 TPZMaterial * | NewMaterial () |
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 TPZSavable * | CreateInstance (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... | |
Estimates error to biharmonic problem. Also computes the contributions on elements and interfaces. Analysis.
Definition at line 17 of file tpzbiharmonicestimator.h.
TPZBiharmonicEstimator::TPZBiharmonicEstimator | ( | int | nummat, |
STATE | f | ||
) |
Constructor.
Definition at line 13 of file tpzbiharmonicestimator.cpp.
References SetExactSolutions().
TPZBiharmonicEstimator::~TPZBiharmonicEstimator | ( | ) |
Destructor.
Definition at line 19 of file tpzbiharmonicestimator.cpp.
|
overridevirtual |
Unique identifier for serialization purposes.
Reimplemented from TPZBiharmonic.
Definition at line 625 of file tpzbiharmonicestimator.cpp.
References TPZBiharmonic::ClassId(), and Hash().
|
inlineoverridevirtual |
Reimplemented from TPZMaterial.
Definition at line 47 of file tpzbiharmonicestimator.h.
References ContributeErrorsDual(), and ContributeErrorsSimple().
|
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().
|
virtual |
Definition at line 301 of file tpzbiharmonicestimator.cpp.
References TPZBiharmonic::Contribute(), TPZMaterialData::dphix, OrderSolution(), TPZMaterialData::phi, TPZVec< T >::Resize(), TPZFMatrix< TVar >::Resize(), and TPZMatrix< TVar >::Rows().
Referenced by ContributeErrors(), and ContributeInterfaceBCErrors().
|
inlineoverridevirtual |
Reimplemented from TPZDiscontinuousGalerkin.
Definition at line 82 of file tpzbiharmonicestimator.h.
References ContributeErrorsSimple(), ContributeInterfaceBCErrorsDual(), ContributeInterfaceBCErrorsSimple(), ContributeInterfaceErrorsSimple(), Errors(), OrderSolution(), OrderSolutionLeft(), OrderSolutionRight(), Psi(), and rdt::values.
|
virtual |
Implements integration of the boundary interface part of an error estimator.
It performs ;
where u is the current solution and Z and Z1 are the dual solution.
Definition at line 217 of file tpzbiharmonicestimator.cpp.
References DebugStop, TPZMaterialData::dphix, TPZMaterialData::dsol, fDualExactSol, fPrimalExactSol, TPZBiharmonic::gL_alpha, TPZBiharmonic::gL_betta, TPZBiharmonic::gM_alpha, TPZBiharmonic::gM_betta, TPZBiharmonic::gSigmaA, TPZBiharmonic::gSigmaB, TPZMaterialData::HSize, TPZMaterialData::normal, TPZMaterialData::p, TPZMaterialData::phi, pow(), TPZVec< T >::size(), TPZMaterialData::sol, TPZBndCond::Val2(), and TPZMaterialData::x.
Referenced by ContributeInterfaceBCErrors(), and ContributeInterfaceErrors().
|
virtual |
Definition at line 381 of file tpzbiharmonicestimator.cpp.
References TPZBiharmonic::ContributeBCInterface(), OrderSolutionLeft(), TPZMaterialData::phi, TPZVec< T >::Resize(), and TPZMatrix< TVar >::Rows().
Referenced by ContributeInterfaceBCErrors().
|
inlineoverridevirtual |
Implements integration of the interface part of an error estimator.
It performs ;
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().
|
virtual |
Definition at line 82 of file tpzbiharmonicestimator.cpp.
References DebugStop, TPZMaterialData::dsol, fDualExactSol, fPrimalExactSol, TPZBiharmonic::gL_alpha, TPZBiharmonic::gL_betta, TPZBiharmonic::gM_alpha, TPZBiharmonic::gM_betta, TPZBiharmonic::gSigmaA, TPZBiharmonic::gSigmaB, TPZMaterialData::HSize, TPZMaterialData::normal, TPZMaterialData::p, pow(), TPZVec< T >::size(), TPZMaterialData::sol, and TPZMaterialData::x.
Referenced by ContributeInterfaceErrors().
|
virtual |
Definition at line 335 of file tpzbiharmonicestimator.cpp.
References TPZBiharmonic::ContributeInterface(), OrderSolutionLeft(), OrderSolutionRight(), TPZMaterialData::phi, TPZVec< T >::Resize(), and TPZMatrix< TVar >::Rows().
Referenced by ContributeInterfaceBCErrors(), and ContributeInterfaceErrors().
|
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().
|
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().
void TPZBiharmonicEstimator::OrderSolution | ( | TPZMaterialData & | data | ) |
Computes the primal and dual exact error.
Definition at line 454 of file tpzbiharmonicestimator.cpp.
References DebugStop, TPZMaterialData::dphix, TPZMaterialData::dsol, fDualExactSol, fPrimalExactSol, TPZMaterialData::phi, TPZFMatrix< TVar >::Resize(), TPZMatrix< TVar >::Rows(), TPZVec< T >::size(), TPZMaterialData::sol, and TPZMaterialData::x.
Referenced by ContributeErrorsSimple(), and ContributeInterfaceBCErrors().
void TPZBiharmonicEstimator::OrderSolutionLeft | ( | TPZMaterialData & | data, |
TPZMaterialData & | dataleft | ||
) |
Computes the primal and dual exact error over dataleft considering the solution in data.
Definition at line 509 of file tpzbiharmonicestimator.cpp.
References DebugStop, TPZMaterialData::dphix, TPZMaterialData::dsol, fDualExactSol, fPrimalExactSol, TPZMaterialData::phi, TPZFMatrix< TVar >::Resize(), TPZMatrix< TVar >::Rows(), TPZVec< T >::size(), TPZMaterialData::sol, and TPZMaterialData::x.
Referenced by ContributeInterfaceBCErrors(), ContributeInterfaceBCErrorsSimple(), and ContributeInterfaceErrorsSimple().
void TPZBiharmonicEstimator::OrderSolutionRight | ( | TPZMaterialData & | data, |
TPZMaterialData & | dataright | ||
) |
Computes the primal and dual exact error over dataright considering the solution in data.
Definition at line 567 of file tpzbiharmonicestimator.cpp.
References DebugStop, TPZMaterialData::dphix, TPZMaterialData::dsol, fDualExactSol, fPrimalExactSol, TPZMaterialData::phi, TPZFMatrix< TVar >::Resize(), TPZMatrix< TVar >::Rows(), TPZVec< T >::size(), TPZMaterialData::sol, and TPZMaterialData::x.
Referenced by ContributeInterfaceBCErrors(), and ContributeInterfaceErrorsSimple().
Kernel of the functional.
Definition at line 430 of file tpzbiharmonicestimator.cpp.
References pow().
Referenced by ContributeInterfaceBCErrors(), and Errors().
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().
|
private |
Definition at line 23 of file tpzbiharmonicestimator.h.
Referenced by ContributeErrorsDual(), ContributeInterfaceBCErrorsDual(), ContributeInterfaceErrorsDual(), OrderSolution(), OrderSolutionLeft(), OrderSolutionRight(), and SetExactSolutions().
|
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().