![]() |
MFEM
v4.3.0
Finite element discretization library
|
The L2ZienkiewiczZhuEstimator class implements the Zienkiewicz-Zhu error estimation procedure where the flux averaging is replaced by a global L2 projection (requiring a mass matrix solve). More...
#include <estimators.hpp>
Public Member Functions | |
| L2ZienkiewiczZhuEstimator (BilinearFormIntegrator &integ, ParGridFunction &sol, ParFiniteElementSpace *flux_fes, ParFiniteElementSpace *smooth_flux_fes) | |
| Construct a new L2ZienkiewiczZhuEstimator object. More... | |
| L2ZienkiewiczZhuEstimator (BilinearFormIntegrator &integ, ParGridFunction &sol, ParFiniteElementSpace &flux_fes, ParFiniteElementSpace &smooth_flux_fes) | |
| Construct a new L2ZienkiewiczZhuEstimator object. More... | |
| void | SetLocalErrorNormP (int p) |
| Set the exponent, p, of the Lp norm used for computing the local element errors. Default value is 1. More... | |
| virtual double | GetTotalError () const override |
| Return the total error from the last error estimate. More... | |
| virtual const Vector & | GetLocalErrors () override |
| Get a Vector with all element errors. More... | |
| virtual void | Reset () override |
| Reset the error estimator. More... | |
| virtual | ~L2ZienkiewiczZhuEstimator () |
| Destroy a L2ZienkiewiczZhuEstimator object. Destroys, if owned, the FiniteElementSpace, flux_space. More... | |
Public Member Functions inherited from mfem::ErrorEstimator | |
| virtual | ~ErrorEstimator () |
| Destruct the error estimator. More... | |
Public Member Functions inherited from mfem::AbstractErrorEstimator | |
| virtual | ~AbstractErrorEstimator () |
Protected Member Functions | |
| void | Init (BilinearFormIntegrator &integ, ParGridFunction &sol, ParFiniteElementSpace *flux_fes, ParFiniteElementSpace *smooth_flux_fes) |
| Initialize with the integrator, solution, and flux finite element spaces. More... | |
| 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 |
| Local L_p norm to use, default is 1. More... | |
| Vector | error_estimates |
| double | total_error |
| BilinearFormIntegrator * | integ |
| Not owned. More... | |
| ParGridFunction * | solution |
| Not owned. More... | |
| ParFiniteElementSpace * | flux_space |
| Ownership based on the flag own_flux_fes. Its Update() method is called automatically by this class when needed. More... | |
| ParFiniteElementSpace * | smooth_flux_space |
| Ownership based on the flag own_flux_fes. Its Update() method is called automatically by this class when needed. More... | |
| bool | own_flux_fes |
| Ownership flag for flux_space and smooth_flux_space. More... | |
The L2ZienkiewiczZhuEstimator class implements the Zienkiewicz-Zhu error estimation procedure where the flux averaging is replaced by a global L2 projection (requiring a mass matrix solve).
The required BilinearFormIntegrator must implement the methods ComputeElementFlux() and ComputeFluxEnergy().
Implemented for the parallel case only.
Definition at line 217 of file estimators.hpp.
|
inline |
Construct a new L2ZienkiewiczZhuEstimator object.
| integ | This BilinearFormIntegrator must implement the methods ComputeElementFlux() and ComputeFluxEnergy(). |
| sol | The solution field whose error is to be estimated. |
| flux_fes | The L2ZienkiewiczZhuEstimator assumes ownership of this FiniteElementSpace and will call its Update() method when needed. |
| smooth_flux_fes | The L2ZienkiewiczZhuEstimator assumes ownership of this FiniteElementSpace and will call its Update() method when needed. |
Definition at line 274 of file estimators.hpp.
|
inline |
Construct a new L2ZienkiewiczZhuEstimator object.
| integ | This BilinearFormIntegrator must implement the methods ComputeElementFlux() and ComputeFluxEnergy(). |
| sol | The solution field whose error is to be estimated. |
| flux_fes | The L2ZienkiewiczZhuEstimator does NOT assume ownership of this FiniteElementSpace; will call its Update() method when needed. |
| smooth_flux_fes | The L2ZienkiewiczZhuEstimator does NOT assume ownership of this FiniteElementSpace; will call its Update() method when needed. |
Definition at line 291 of file estimators.hpp.
|
inlinevirtual |
Destroy a L2ZienkiewiczZhuEstimator object. Destroys, if owned, the FiniteElementSpace, flux_space.
Definition at line 316 of file estimators.hpp.
|
protected |
Compute the element error estimates.
Definition at line 36 of file estimators.cpp.
|
inlineoverridevirtual |
Get a Vector with all element errors.
Implements mfem::ErrorEstimator.
Definition at line 305 of file estimators.hpp.
|
inlineoverridevirtual |
Return the total error from the last error estimate.
Reimplemented from mfem::ErrorEstimator.
Definition at line 302 of file estimators.hpp.
|
inlineprotected |
Initialize with the integrator, solution, and flux finite element spaces.
Definition at line 237 of file estimators.hpp.
|
inlineprotected |
Check if the mesh of the solution was modified.
Definition at line 252 of file estimators.hpp.
|
inlineoverridevirtual |
Reset the error estimator.
Implements mfem::ErrorEstimator.
Definition at line 312 of file estimators.hpp.
|
inline |
Set the exponent, p, of the Lp norm used for computing the local element errors. Default value is 1.
Definition at line 299 of file estimators.hpp.
|
protected |
Definition at line 220 of file estimators.hpp.
|
protected |
Definition at line 222 of file estimators.hpp.
|
protected |
Ownership based on the flag own_flux_fes. Its Update() method is called automatically by this class when needed.
Definition at line 228 of file estimators.hpp.
|
protected |
Not owned.
Definition at line 225 of file estimators.hpp.
|
protected |
Local L_p norm to use, default is 1.
Definition at line 221 of file estimators.hpp.
|
protected |
Ownership flag for flux_space and smooth_flux_space.
Definition at line 234 of file estimators.hpp.
|
protected |
Ownership based on the flag own_flux_fes. Its Update() method is called automatically by this class when needed.
Definition at line 231 of file estimators.hpp.
|
protected |
Not owned.
Definition at line 226 of file estimators.hpp.
|
protected |
Definition at line 223 of file estimators.hpp.
1.8.5