Computes the equiangle skewness mesh quality metric. More...
#include <Element_func.hpp>
Public Member Functions | |
int | n_var (int n_dim) const override |
number of output variables when called on n_dim -dimensional input | |
std::string | variable_name (int n_dim, int i_var) const override |
name of i_var th variable (for plotting) when called on n_dim -dimensional input | |
std::vector< double > | operator() (Element &elem, const Basis &, double time) const override |
![]() | |
std::vector< double > | operator() (Element &, const Basis &, int i_qpoint, double time) const override |
Computes the equiangle skewness mesh quality metric.
tldr 0 is the best and 1 is the worst. Specifically, the equiangle skewness for an element is given by
\[ \max\left|\frac{2\theta}{\pi} - 1\right| \]
for all angles \( \theta \) between any pair of edges in the element that share a vertex. Thus if all edges meet at perfect right angles, the equiangle skewness is 0, whereas if there is a pair of adjacent edges that are parallel, it is 1. As I understand it, the definition above is equivalent to that used by Fluent® and Pointwise® for quads and hexes.
|
inlineoverridevirtual |
number of output variables when called on n_dim
-dimensional input
Implements hexed::Output_data.
|
overridevirtual |
–
Implements hexed::Element_func.
|
inlineoverridevirtual |
name of i_var
th variable (for plotting) when called on n_dim
-dimensional input
Reimplemented from hexed::Output_data.