MFEM  v4.3.0
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
mfem::LpErrorEstimator Class Reference

The LpErrorEstimator class compares the solution to a known coefficient. More...

#include <estimators.hpp>

Inheritance diagram for mfem::LpErrorEstimator:
[legend]
Collaboration diagram for mfem::LpErrorEstimator:
[legend]

Public Member Functions

 LpErrorEstimator (int p, GridFunction &sol)
 Construct a new LpErrorEstimator object for a scalar field. More...
 
 LpErrorEstimator (int p, Coefficient &coef, GridFunction &sol)
 Construct a new LpErrorEstimator object for a scalar field. More...
 
 LpErrorEstimator (int p, VectorCoefficient &coef, GridFunction &sol)
 Construct a new LpErrorEstimator object for a vector field. More...
 
void SetLocalErrorNormP (int p)
 Set the exponent, p, of the Lp norm used for computing the local element errors. More...
 
void SetCoef (Coefficient &A)
 
void SetCoef (VectorCoefficient &A)
 
virtual void Reset () override
 Reset the error estimator. More...
 
virtual const VectorGetLocalErrors () override
 Get a Vector with all element errors. More...
 
virtual ~LpErrorEstimator ()
 Destructor. More...
 
- Public Member Functions inherited from mfem::ErrorEstimator
virtual double GetTotalError () const
 Return the total error from the last error estimate. More...
 
virtual ~ErrorEstimator ()
 Destruct the error estimator. More...
 
- Public Member Functions inherited from mfem::AbstractErrorEstimator
virtual ~AbstractErrorEstimator ()
 

Protected Member Functions

bool MeshIsModified ()
 Check if the mesh of the solution was modified. More...
 
void ComputeEstimates ()
 Compute the element error estimates. More...
 

Protected Attributes

long current_sequence
 
int local_norm_p
 
Vector error_estimates
 
double total_error = 0.0
 
Coefficientcoef
 
VectorCoefficientvcoef
 
GridFunctionsol
 

Detailed Description

The LpErrorEstimator class compares the solution to a known coefficient.

This class can be used, for example, to adapt a mesh to a non-trivial initial condition in a time-dependent simulation. It can also be used to force refinement in the neighborhood of small features before switching to a more traditional error estimator.

The LpErrorEstimator supports either scalar or vector coefficients and works both in serial and in parallel.

Definition at line 336 of file estimators.hpp.

Constructor & Destructor Documentation

mfem::LpErrorEstimator::LpErrorEstimator ( int  p,
GridFunction sol 
)
inline

Construct a new LpErrorEstimator object for a scalar field.

Parameters
pInteger which selects which Lp norm to use.
solThe GridFunction representation of the scalar field. Note: the coefficient must be set before use with the SetCoef method.

Definition at line 366 of file estimators.hpp.

mfem::LpErrorEstimator::LpErrorEstimator ( int  p,
Coefficient coef,
GridFunction sol 
)
inline

Construct a new LpErrorEstimator object for a scalar field.

Parameters
pInteger which selects which Lp norm to use.
coefThe scalar Coefficient to compare to the solution.
solThe GridFunction representation of the scalar field.

Definition at line 375 of file estimators.hpp.

mfem::LpErrorEstimator::LpErrorEstimator ( int  p,
VectorCoefficient coef,
GridFunction sol 
)
inline

Construct a new LpErrorEstimator object for a vector field.

Parameters
pInteger which selects which Lp norm to use.
coefThe vector VectorCoefficient to compare to the solution.
solThe GridFunction representation of the vector field.

Definition at line 384 of file estimators.hpp.

virtual mfem::LpErrorEstimator::~LpErrorEstimator ( )
inlinevirtual

Destructor.

Definition at line 406 of file estimators.hpp.

Member Function Documentation

void mfem::LpErrorEstimator::ComputeEstimates ( )
protected

Compute the element error estimates.

Definition at line 461 of file estimators.cpp.

virtual const Vector& mfem::LpErrorEstimator::GetLocalErrors ( )
inlineoverridevirtual

Get a Vector with all element errors.

Implements mfem::ErrorEstimator.

Definition at line 399 of file estimators.hpp.

bool mfem::LpErrorEstimator::MeshIsModified ( )
inlineprotected

Check if the mesh of the solution was modified.

Definition at line 350 of file estimators.hpp.

virtual void mfem::LpErrorEstimator::Reset ( )
inlineoverridevirtual

Reset the error estimator.

Implements mfem::ErrorEstimator.

Definition at line 396 of file estimators.hpp.

void mfem::LpErrorEstimator::SetCoef ( Coefficient A)
inline

Definition at line 392 of file estimators.hpp.

void mfem::LpErrorEstimator::SetCoef ( VectorCoefficient A)
inline

Definition at line 393 of file estimators.hpp.

void mfem::LpErrorEstimator::SetLocalErrorNormP ( int  p)
inline

Set the exponent, p, of the Lp norm used for computing the local element errors.

Definition at line 390 of file estimators.hpp.

Member Data Documentation

Coefficient* mfem::LpErrorEstimator::coef
protected

Definition at line 345 of file estimators.hpp.

long mfem::LpErrorEstimator::current_sequence
protected

Definition at line 339 of file estimators.hpp.

Vector mfem::LpErrorEstimator::error_estimates
protected

Definition at line 341 of file estimators.hpp.

int mfem::LpErrorEstimator::local_norm_p
protected

Definition at line 340 of file estimators.hpp.

GridFunction* mfem::LpErrorEstimator::sol
protected

Definition at line 347 of file estimators.hpp.

double mfem::LpErrorEstimator::total_error = 0.0
protected

Definition at line 343 of file estimators.hpp.

VectorCoefficient* mfem::LpErrorEstimator::vcoef
protected

Definition at line 346 of file estimators.hpp.


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