DOLFIN
DOLFIN C++ interface
Static Public Member Functions | List of all members
dolfin::MeshQuality Class Reference

The class provides functions to quantify mesh quality. More...

#include <MeshQuality.h>

Static Public Member Functions

static MeshFunction< double > radius_ratios (std::shared_ptr< const Mesh > mesh)
 
static MeshFunction< double > aspect_ratio_gamma (std::shared_ptr< const Mesh > mesh)
 
static std::pair< double, double > radius_ratio_min_max (const Mesh &mesh)
 
static std::pair< std::vector< double >, std::vector< double > > radius_ratio_histogram_data (const Mesh &mesh, std::size_t num_bins=50)
 
static std::string radius_ratio_matplotlib_histogram (const Mesh &mesh, std::size_t num_intervals=50)
 
static void dihedral_angles (const Cell &cell, std::vector< double > &dh_angle)
 Get internal dihedral angles of a tetrahedral cell.
 
static std::pair< double, double > dihedral_angles_min_max (const Mesh &mesh)
 Get internal minimum and maximum dihedral angles of a 3D mesh.
 
static std::pair< std::vector< double >, std::vector< double > > dihedral_angles_histogram_data (const Mesh &mesh, std::size_t num_bins=100)
 
static std::string dihedral_angles_matplotlib_histogram (const Mesh &mesh, std::size_t num_intervals=100)
 Create Matplotlib string to plot dihedral angles quality histogram.
 

Detailed Description

The class provides functions to quantify mesh quality.

Member Function Documentation

◆ aspect_ratio_gamma()

dolfin::MeshFunction< double > MeshQuality::aspect_ratio_gamma ( std::shared_ptr< const Mesh mesh)
static

Compute the Aspect Ratio Gamma (ARG) for all cells.

Parameters
meshMesh
Returns
MeshFunction<double> The ARG is given by [ ( r_i^2)^{3/2} 6 V ] i.e. the cube of the RMS edge length divided by six times the cell volume

◆ dihedral_angles_histogram_data()

std::pair< std::vector< double >, std::vector< double > > MeshQuality::dihedral_angles_histogram_data ( const Mesh mesh,
std::size_t  num_bins = 100 
)
static

Create (dihedral angles, number of cells) data for creating a histogram of dihedral

◆ radius_ratio_histogram_data()

std::pair< std::vector< double >, std::vector< double > > MeshQuality::radius_ratio_histogram_data ( const Mesh mesh,
std::size_t  num_bins = 50 
)
static

Create (ratio, number of cells) data for creating a histogram of cell quality

Parameters
mesh(const Mesh&)
num_bins(std::size_t)
Returns
std::pair<std::vector<double>, std::vector<double>>

◆ radius_ratio_matplotlib_histogram()

std::string MeshQuality::radius_ratio_matplotlib_histogram ( const Mesh mesh,
std::size_t  num_intervals = 50 
)
static

Create Matplotlib string to plot cell quality histogram

Parameters
mesh(const Mesh&)
num_intervals(std::size_t)
Returns
std::string

◆ radius_ratio_min_max()

std::pair< double, double > MeshQuality::radius_ratio_min_max ( const Mesh mesh)
static

Compute the minimum and maximum radius ratio of cells (across all processes)

Parameters
mesh(const Mesh&)
Returns
std::pair<double, double> The [minimum, maximum] cell radii ratio (geometric_dimension *
  • inradius / circumradius, geometric_dimension is normalization factor). It has range zero to one. Zero indicates a degenerate element.

◆ radius_ratios()

dolfin::MeshFunction< double > MeshQuality::radius_ratios ( std::shared_ptr< const Mesh mesh)
static

Compute the radius ratio for all cells.

Parameters
mesh(std::shared_ptr<const Mesh>)
Returns
MeshFunction<double> The cell radius ratio radius ratio geometric_dimension *
  • inradius / circumradius (geometric_dimension is normalization factor). It has range zero to one. Zero indicates a degenerate element.

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