OGS
MeshToolsLib::AngleSkewMetric Struct Referencefinal

Detailed Description

Calculates the quality of mesh elements based on the EquiAngleSkew measure

Definition at line 14 of file AngleSkewMetric.h.

#include <AngleSkewMetric.h>

Inheritance diagram for MeshToolsLib::AngleSkewMetric:
[legend]
Collaboration diagram for MeshToolsLib::AngleSkewMetric:
[legend]

Public Member Functions

void calculateQuality () override
 Calculates the quality metric for each element of the mesh.
 ElementQualityMetric (MeshLib::Mesh const &mesh)
Public Member Functions inherited from MeshToolsLib::ElementQualityMetric
 ElementQualityMetric (MeshLib::Mesh const &mesh)
virtual ~ElementQualityMetric ()=default
std::vector< double > const & getElementQuality () const
 Returns the result vector.
virtual BaseLib::Histogram< double > getHistogram (std::size_t n_bins=0) const

Additional Inherited Members

Protected Attributes inherited from MeshToolsLib::ElementQualityMetric
double _min = std::numeric_limits<double>::max()
double _max = 0
MeshLib::Mesh const & _mesh
std::vector< double > _element_quality_metric

Member Function Documentation

◆ calculateQuality()

void MeshToolsLib::AngleSkewMetric::calculateQuality ( )
overridevirtual

Calculates the quality metric for each element of the mesh.

Implements MeshToolsLib::ElementQualityMetric.

Definition at line 134 of file AngleSkewMetric.cpp.

135{
136 for (auto const e : _mesh.getElements())
137 {
138 switch (e->getGeomType())
139 {
141 _element_quality_metric[e->getID()] = -1.0;
142 break;
144 _element_quality_metric[e->getID()] = checkTriangle(*e);
145 break;
147 _element_quality_metric[e->getID()] = checkQuad(*e);
148 break;
151 break;
154 break;
156 _element_quality_metric[e->getID()] = checkPrism(*e);
157 break;
158 default:
159 break;
160 }
161 }
162}
std::vector< double > _element_quality_metric
double checkTriangle(MeshLib::Element const &elem)
double checkHexahedron(MeshLib::Element const &elem)
double checkTetrahedron(MeshLib::Element const &elem)

References MeshToolsLib::ElementQualityMetric::_element_quality_metric, MeshToolsLib::ElementQualityMetric::_mesh, MeshLib::HEXAHEDRON, MeshLib::LINE, MeshLib::PRISM, MeshLib::QUAD, MeshLib::TETRAHEDRON, and MeshLib::TRIANGLE.

◆ ElementQualityMetric()

MeshToolsLib::ElementQualityMetric::ElementQualityMetric ( MeshLib::Mesh const & mesh)
explicit

Definition at line 22 of file ElementQualityMetric.cpp.

13 : _mesh(mesh)
14{
15 _element_quality_metric.resize(_mesh.getNumberOfElements(), -1.0);
16}

References MeshToolsLib::ElementQualityMetric::_mesh.


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