20 #ifndef LIBMESH_SMOOTHNESS_ESTIMATOR_H 21 #define LIBMESH_SMOOTHNESS_ESTIMATOR_H 24 #include "libmesh/point.h" 25 #include "libmesh/elem_range.h" 94 static std::vector<Real>
legepoly(
const unsigned int dim,
97 const unsigned int matsize);
144 #endif // LIBMESH_SMOOTHNESS_ESTIMATOR_H SmoothnessEstimator()
Constructor.
Order
defines an enum for polynomial orders.
virtual ~SmoothnessEstimator()=default
void extra_quadrature_order(const int extraorder)
Increases or decreases the order of the quadrature rule used for numerical integration.
ErrorVector & smoothness_per_cell
SmoothnessEstimator & operator=(const SmoothnessEstimator &)=default
The ErrorVector is a specialization of the StatisticsVector for error data computed on a finite eleme...
static std::vector< Real > legepoly(const unsigned int dim, const Order order, const Point p, const unsigned int matsize)
int _extra_order
Extra order to use for quadrature rule.
The StoredRange class defines a contiguous, divisible set of objects.
The libMesh namespace provides an interface to certain functionality in the library.
void operator()(const ConstElemRange &range) const
This class implements the Smoothness estimate.
static Real compute_slope(int N, Real Sx, Real Sy, Real Sxx, Real Sxy)
Computes slop in a linear regression.
Manages consistently variables, degrees of freedom, and coefficient vectors.
virtual void estimate_smoothness(const System &system, ErrorVector &smoothness_per_cell, const NumericVector< Number > *solution_vector=nullptr)
This function uses the Legendre expansion of solution to estimate coefficient decay to quantify the s...
const SmoothnessEstimator & smoothness_estimator
Class to compute the error contribution for a range of elements.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
EstimateSmoothness(const System &sys, const SmoothnessEstimator &ee, ErrorVector &epc)
void reduce_smoothness(std::vector< ErrorVectorReal > &error_per_cell, const Parallel::Communicator &comm)
A Point defines a location in LIBMESH_DIM dimensional Real space.
void ErrorVector unsigned int