MFEM
v4.1.0
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 | SetWithCoeff (bool w_coeff=true) |
Consider the coefficient in BilinearFormIntegrator to calculate the fluxes for the error estimator. 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... | |
void | SetFluxAveraging (int fa) |
Set the way the flux is averaged (smoothed) across elements. 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 |
int | flux_averaging |
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 | with_coeff |
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 109 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 129 of file estimators.hpp.
|
inlinevirtual |
Destroy a ZienkiewiczZhuEstimator object. Destroys, if owned, the FiniteElementSpace, flux_space.
Definition at line 183 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 172 of file estimators.hpp.
|
inlinevirtual |
Get a Vector with all element errors.
Implements mfem::ErrorEstimator.
Definition at line 163 of file estimators.hpp.
|
inline |
Return the total error from the last error estimate.
Definition at line 160 of file estimators.hpp.
|
inlineprotected |
Check if the mesh of the solution was modified.
Definition at line 91 of file estimators.hpp.
|
inlinevirtual |
Reset the error estimator.
Implements mfem::ErrorEstimator.
Definition at line 179 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 149 of file estimators.hpp.
|
inline |
Set the way the flux is averaged (smoothed) across elements.
When fa is zero (default), averaging is performed globally. When fa is non-zero, the flux averaging is performed locally for each mesh attribute, i.e. the flux is not averaged across interfaces between different mesh attributes.
Definition at line 157 of file estimators.hpp.
|
inline |
Consider the coefficient in BilinearFormIntegrator to calculate the fluxes for the error estimator.
Definition at line 144 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 |
Definition at line 80 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 85 of file estimators.hpp.
|
protected |
Not owned.
Definition at line 82 of file estimators.hpp.
|
protected |
Ownership flag for flux_space.
Definition at line 88 of file estimators.hpp.
|
protected |
Not owned.
Definition at line 83 of file estimators.hpp.
|
protected |
Definition at line 77 of file estimators.hpp.
|
protected |
Definition at line 87 of file estimators.hpp.