MFEM
v3.3.2
Finite element discretization library
|
The ZienkiewiczZhuEstimator class implements the Zienkiewicz-Zhu error estimation procedure. More...
#include <estimators.hpp>
Public Member Functions | |
ZienkiewiczZhuEstimator (BilinearFormIntegrator &integ, GridFunction &sol, FiniteElementSpace *flux_fes) | |
Construct a new ZienkiewiczZhuEstimator object. More... | |
ZienkiewiczZhuEstimator (BilinearFormIntegrator &integ, GridFunction &sol, FiniteElementSpace &flux_fes) | |
Construct a new ZienkiewiczZhuEstimator object. More... | |
void | SetAnisotropic (bool aniso=true) |
Enable/disable anisotropic estimates. To enable this option, the BilinearFormIntegrator must support the 'd_energy' parameter in its ComputeFluxEnergy() method. More... | |
double | GetTotalError () const |
Return the total error from the last error estimate. More... | |
virtual const Vector & | GetLocalErrors () |
Get a Vector with all element errors. More... | |
virtual const Array< int > & | GetAnisotropicFlags () |
Get an Array<int> with anisotropic flags for all mesh elements. Return an empty array when anisotropic estimates are not available or enabled. More... | |
virtual void | Reset () |
Reset the error estimator. More... | |
virtual | ~ZienkiewiczZhuEstimator () |
Destroy a ZienkiewiczZhuEstimator object. Destroys, if owned, the FiniteElementSpace, flux_space. More... | |
Public Member Functions inherited from mfem::ErrorEstimator | |
virtual | ~ErrorEstimator () |
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 |
Vector | error_estimates |
double | total_error |
bool | anisotropic |
Array< int > | aniso_flags |
BilinearFormIntegrator * | integ |
Not owned. More... | |
GridFunction * | solution |
Not owned. More... | |
FiniteElementSpace * | flux_space |
Ownership based on own_flux_fes. Its Update() method is called automatically by this class when needed. More... | |
bool | own_flux_fes |
Ownership flag for flux_space. More... | |
The ZienkiewiczZhuEstimator class implements the Zienkiewicz-Zhu error estimation procedure.
The required BilinearFormIntegrator must implement the methods ComputeElementFlux() and ComputeFluxEnergy().
Definition at line 72 of file estimators.hpp.
|
inline |
Construct a new ZienkiewiczZhuEstimator object.
integ | This BilinearFormIntegrator must implement the methods ComputeElementFlux() and ComputeFluxEnergy(). |
sol | The solution field whose error is to be estimated. |
flux_fes | The ZienkiewiczZhuEstimator assumes ownership of this FiniteElementSpace and will call its Update() method when needed. |
Definition at line 107 of file estimators.hpp.
|
inline |
Construct a new ZienkiewiczZhuEstimator object.
integ | This BilinearFormIntegrator must implement the methods ComputeElementFlux() and ComputeFluxEnergy(). |
sol | The solution field whose error is to be estimated. |
flux_fes | The ZienkiewiczZhuEstimator does NOT assume ownership of this FiniteElementSpace; will call its Update() method when needed. |
Definition at line 125 of file estimators.hpp.
|
inlinevirtual |
Destroy a ZienkiewiczZhuEstimator object. Destroys, if owned, the FiniteElementSpace, flux_space.
Definition at line 165 of file estimators.hpp.
|
protected |
Compute the element error estimates.
Definition at line 17 of file estimators.cpp.
|
inlinevirtual |
Get an Array<int> with anisotropic flags for all mesh elements. Return an empty array when anisotropic estimates are not available or enabled.
Implements mfem::AnisotropicErrorEstimator.
Definition at line 154 of file estimators.hpp.
|
inlinevirtual |
Get a Vector with all element errors.
Implements mfem::ErrorEstimator.
Definition at line 145 of file estimators.hpp.
|
inline |
Return the total error from the last error estimate.
Definition at line 142 of file estimators.hpp.
|
inlineprotected |
Check if the mesh of the solution was modified.
Definition at line 89 of file estimators.hpp.
|
inlinevirtual |
Reset the error estimator.
Implements mfem::ErrorEstimator.
Definition at line 161 of file estimators.hpp.
|
inline |
Enable/disable anisotropic estimates. To enable this option, the BilinearFormIntegrator must support the 'd_energy' parameter in its ComputeFluxEnergy() method.
Definition at line 139 of file estimators.hpp.
|
protected |
Definition at line 79 of file estimators.hpp.
|
protected |
Definition at line 78 of file estimators.hpp.
|
protected |
Definition at line 75 of file estimators.hpp.
|
protected |
Definition at line 76 of file estimators.hpp.
|
protected |
Ownership based on own_flux_fes. Its Update() method is called automatically by this class when needed.
Definition at line 84 of file estimators.hpp.
|
protected |
Not owned.
Definition at line 81 of file estimators.hpp.
|
protected |
Ownership flag for flux_space.
Definition at line 86 of file estimators.hpp.
|
protected |
Not owned.
Definition at line 82 of file estimators.hpp.
|
protected |
Definition at line 77 of file estimators.hpp.