hexed 0.3.0
 
Loading...
Searching...
No Matches
hexed::Equiangle_skewness Class Reference

Computes the equiangle skewness mesh quality metric. More...

#include <Element_func.hpp>

Inheritance diagram for hexed::Equiangle_skewness:
hexed::Element_func hexed::Qpoint_func hexed::Output_data

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_varth variable (for plotting) when called on n_dim-dimensional input
 
std::vector< double > operator() (Element &elem, const Basis &, double time) const override
 
- Public Member Functions inherited from hexed::Element_func
std::vector< double > operator() (Element &, const Basis &, int i_qpoint, double time) const override
 

Detailed Description

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.

Member Function Documentation

◆ n_var()

int hexed::Equiangle_skewness::n_var ( int n_dim) const
inlineoverridevirtual

number of output variables when called on n_dim-dimensional input

Implements hexed::Output_data.

◆ operator()()

std::vector< double > hexed::Equiangle_skewness::operator() ( Element & elem,
const Basis & ,
double time ) const
overridevirtual

Implements hexed::Element_func.

◆ variable_name()

std::string hexed::Equiangle_skewness::variable_name ( int n_dim,
int i_var ) const
inlineoverridevirtual

name of i_varth variable (for plotting) when called on n_dim-dimensional input

Reimplemented from hexed::Output_data.


The documentation for this class was generated from the following files: