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" 77 bool estimate_parent_error =
false)
override;
112 static std::vector<Real>
specpoly(
const unsigned int dim,
115 const unsigned int matsize);
156 #endif // LIBMESH_PATCH_RECOVERY_ERROR_ESTIMATOR_H Order
defines an enum for polynomial orders.
Patch::PMF patch_growth_strategy
The PatchErrorEstimator will use this pointer to a Patch member function when growing patches...
Class to compute the error contribution for a range of elements.
The ErrorVector is a specialization of the StatisticsVector for error data computed on a finite eleme...
ErrorEstimatorType
Defines an enum for the different types of error estimators which are available.
The StoredRange class defines a contiguous, divisible set of objects.
The libMesh namespace provides an interface to certain functionality in the library.
EstimateError(const System &sys, const PatchRecoveryErrorEstimator &ee, ErrorVector &epc)
Manages consistently variables, degrees of freedom, and coefficient vectors.
void extra_quadrature_order(const int extraorder)
Increases or decreases the order of the quadrature rule used for numerical integration.
This class holds functions that will estimate the error in a finite element solution on a given mesh...
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...
unsigned int target_patch_size
The PatchErrorEstimator will build patches of at least this many elements to perform estimates...
const PatchRecoveryErrorEstimator & error_estimator
static std::vector< Real > specpoly(const unsigned int dim, const Order order, const Point p, const unsigned int matsize)
void operator()(const ConstElemRange &range) const
ErrorVector & error_per_cell
void set_patch_reuse(bool)
void(Patch::* PMF)()
Pointer to Member Function typedef.
This class implements the Patch Recovery error indicator.
PatchRecoveryErrorEstimator()
Constructor.
int _extra_order
Extra order to use for quadrature rule.
virtual ErrorEstimatorType type() const override
A Point defines a location in LIBMESH_DIM dimensional Real space.
void ErrorVector unsigned int
virtual ~PatchRecoveryErrorEstimator()=default
PatchRecoveryErrorEstimator & operator=(const PatchRecoveryErrorEstimator &)=default