Go to the documentation of this file.
20 #ifndef LIBMESH_PATCH_RECOVERY_ERROR_ESTIMATOR_H
21 #define LIBMESH_PATCH_RECOVERY_ERROR_ESTIMATOR_H
24 #include "libmesh/error_estimator.h"
25 #include "libmesh/patch.h"
26 #include "libmesh/point.h"
27 #include "libmesh/elem_range.h"
29 #ifdef LIBMESH_FORWARD_DECLARE_ENUMS
35 #include "libmesh/enum_order.h"
85 bool estimate_parent_error =
false)
override;
110 static std::vector<Real>
specpoly(
const unsigned int dim,
113 const unsigned int matsize);
149 #endif // LIBMESH_PATCH_RECOVERY_ERROR_ESTIMATOR_H
Manages consistently variables, degrees of freedom, and coefficient vectors.
Patch::PMF patch_growth_strategy
The PatchErrorEstimator will use this pointer to a Patch member function when growing patches.
This class implements the Patch Recovery error indicator.
ErrorEstimatorType
Defines an enum for the different types of error estimators which are available.
This class holds functions that will estimate the error in a finite element solution on a given mesh.
The libMesh namespace provides an interface to certain functionality in the library.
EstimateError(const System &sys, const PatchRecoveryErrorEstimator &ee, ErrorVector &epc)
Class to compute the error contribution for a range of elements.
const PatchRecoveryErrorEstimator & error_estimator
void(Patch::* PMF)()
Pointer to Member Function typedef.
ErrorVector & error_per_cell
A Point defines a location in LIBMESH_DIM dimensional Real space.
The ErrorVector is a specialization of the StatisticsVector for error data computed on a finite eleme...
unsigned int target_patch_size
The PatchErrorEstimator will build patches of at least this many elements to perform estimates.
virtual void estimate_error(const System &system, ErrorVector &error_per_cell, const NumericVector< Number > *solution_vector=nullptr, bool estimate_parent_error=false) override
This function uses the Patch Recovery error estimate to estimate the error on each cell.
void set_patch_reuse(bool)
static std::vector< Real > specpoly(const unsigned int dim, const Order order, const Point p, const unsigned int matsize)
The StoredRange class defines a contiguous, divisible set of objects.
PatchRecoveryErrorEstimator & operator=(const PatchRecoveryErrorEstimator &)=default
PatchRecoveryErrorEstimator()
Constructor.
virtual ErrorEstimatorType type() const override
virtual ~PatchRecoveryErrorEstimator()=default
void operator()(const ConstElemRange &range) const
void ErrorVector unsigned int