23 std::size_t error_count(0);
38 "ElementSizeMetric::calculateQuality() minimum: {:f}, max_volume: {:f}",
43 WARN(
"Warning: {:d} elements with zero volume found.", error_count);
50 const std::size_t nElems(elements.size());
51 std::size_t error_count(0);
53 for (std::size_t k(0); k < nElems; k++)
55 double area(std::numeric_limits<double>::max());
58 std::sqrt(std::abs(std::numeric_limits<double>::epsilon())))
79 const std::size_t nElems(elements.size());
80 std::size_t error_count(0);
82 for (std::size_t k(0); k < nElems; k++)
84 Element const& elem(*elements[k]);
92 if (area < std::sqrt(std::abs(std::numeric_limits<double>::epsilon())))
114 const std::size_t nElems(elements.size());
115 std::size_t error_count(0);
117 for (std::size_t k(0); k < nElems; k++)
119 Element const& elem(*elements[k]);
127 if (volume < sqrt(std::abs(std::numeric_limits<double>::epsilon())))
Implementation of the AreaMetric class.
void INFO(char const *fmt, Args const &... args)
void WARN(char const *fmt, Args const &... args)
std::vector< double > _element_quality_metric
std::size_t calc3dQuality()
std::size_t calc1dQuality()
std::size_t calc2dQuality()
void calculateQuality() override
Calculates the quality metric for each element of the mesh.
virtual double getContent() const =0
Returns the length, area or volume of a 1D, 2D or 3D element.
virtual constexpr unsigned getDimension() const =0
Get dimension of the mesh element.
unsigned getDimension() const
Returns the dimension of the mesh (determined by the maximum dimension over all elements).
std::vector< Element * > const & getElements() const
Get the element-vector for the mesh.