HArD::Core3D
Hybrid Arbitrary Degree::Core 3D - Library to implement 3D schemes with vertex, edge, face and cell polynomials as unknowns
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Functions
Mesh

Class providing a template for all objects (Vertex, Edge, Face, Cell) that appear in a Mesh. More...

Namespaces

namespace  MeshND
 

Classes

class  MeshND::Mesh< dimension >
 Class to describe a mesh. More...
 
class  MeshND::MeshObject< space_dim, object_dim >
 Generic class to describe a cell, face, edge or vertex. More...
 

Typedefs

template<size_t space_dim>
using MeshND::Vertex = MeshObject< space_dim, 0 >
 A Vertex is a MeshObject with object_dim = 0.
 
template<size_t space_dim>
using MeshND::Edge = MeshObject< space_dim, 1 >
 An Edge is a MeshObject with object_dim = 1.
 
template<size_t space_dim>
using MeshND::Face = MeshObject< space_dim, space_dim - 1 >
 A Face is a MeshObject with object_dim = space_dim - 1.
 
template<size_t space_dim>
using MeshND::Cell = MeshObject< space_dim, space_dim >
 A Cell is a MeshObject with object_dim = space_dim.
 

Functions

 MeshND::Mesh< dimension >::Mesh ()
 
 MeshND::Mesh< dimension >::~Mesh ()
 
void MeshND::Mesh< dimension >::set_name (std::string name)
 set the name of the mesh
 
std::string MeshND::Mesh< dimension >::get_name ()
 getter for the mesh name
 
double MeshND::Mesh< dimension >::h_max () const
 < max diameter of cells
 
std::size_t MeshND::Mesh< dimension >::dim () const
 dimension of the mesh
 
std::size_t MeshND::Mesh< dimension >::n_vertices () const
 number of vertices in the mesh.
 
std::size_t MeshND::Mesh< dimension >::n_edges () const
 number of edges in the mesh.
 
std::size_t MeshND::Mesh< dimension >::n_faces () const
 number of faces in the mesh.
 
std::size_t MeshND::Mesh< dimension >::n_cells () const
 number of cells in the mesh.
 
std::size_t MeshND::Mesh< dimension >::n_elems (size_t d) const
 < number of d-cells in the mesh
 
std::size_t MeshND::Mesh< dimension >::n_b_vertices () const
 number of boundary vertices in the mesh.
 
std::size_t MeshND::Mesh< dimension >::n_b_edges () const
 number of boundary edges in the mesh.
 
std::size_t MeshND::Mesh< dimension >::n_b_faces () const
 number of boundary faces in the mesh.
 
std::size_t MeshND::Mesh< dimension >::n_b_cells () const
 number of boundary cells in the mesh.
 
std::size_t MeshND::Mesh< dimension >::n_i_vertices () const
 number of internal vertices in the mesh.
 
std::size_t MeshND::Mesh< dimension >::n_i_edges () const
 number of internal edges in the mesh.
 
std::size_t MeshND::Mesh< dimension >::n_i_faces () const
 number of internal faces in the mesh.
 
std::size_t MeshND::Mesh< dimension >::n_i_cells () const
 number of internal cells in the mesh.
 
std::vector< Vertex< dimension > * > MeshND::Mesh< dimension >::get_vertices () const
 lists the vertices in the mesh.
 
std::vector< Edge< dimension > * > MeshND::Mesh< dimension >::get_edges () const
 lists the edges in the mesh.
 
std::vector< Face< dimension > * > MeshND::Mesh< dimension >::get_faces () const
 lists the faces in the mesh.
 
std::vector< Cell< dimension > * > MeshND::Mesh< dimension >::get_cells () const
 lists the cells in the mesh.
 
std::vector< Vertex< dimension > * > MeshND::Mesh< dimension >::get_b_vertices () const
 lists the boundary vertices in the mesh.
 
std::vector< Edge< dimension > * > MeshND::Mesh< dimension >::get_b_edges () const
 lists the boundary edges in the mesh.
 
std::vector< Face< dimension > * > MeshND::Mesh< dimension >::get_b_faces () const
 lists the boundary faces in the mesh.
 
std::vector< Cell< dimension > * > MeshND::Mesh< dimension >::get_b_cells () const
 lists the boundary cells in the mesh.
 
std::vector< Vertex< dimension > * > MeshND::Mesh< dimension >::get_i_vertices () const
 lists the internal vertices in the mesh.
 
std::vector< Edge< dimension > * > MeshND::Mesh< dimension >::get_i_edges () const
 lists the internal edges in the mesh.
 
std::vector< Face< dimension > * > MeshND::Mesh< dimension >::get_i_faces () const
 lists the internal faces in the mesh.
 
std::vector< Cell< dimension > * > MeshND::Mesh< dimension >::get_i_cells () const
 lists the internal cells in the mesh.
 
void MeshND::Mesh< dimension >::add_vertex (Vertex< dimension > *vertex)
 
void MeshND::Mesh< dimension >::add_edge (Edge< dimension > *edge)
 
void MeshND::Mesh< dimension >::add_face (Face< dimension > *face)
 
void MeshND::Mesh< dimension >::add_cell (Cell< dimension > *cell)
 
void MeshND::Mesh< dimension >::add_b_vertex (Vertex< dimension > *vertex)
 
void MeshND::Mesh< dimension >::add_b_edge (Edge< dimension > *edge)
 
void MeshND::Mesh< dimension >::add_b_face (Face< dimension > *face)
 
void MeshND::Mesh< dimension >::add_b_cell (Cell< dimension > *cell)
 
void MeshND::Mesh< dimension >::add_i_vertex (Vertex< dimension > *vertex)
 
void MeshND::Mesh< dimension >::add_i_edge (Edge< dimension > *edge)
 
void MeshND::Mesh< dimension >::add_i_face (Face< dimension > *face)
 
void MeshND::Mesh< dimension >::add_i_cell (Cell< dimension > *cell)
 
Vertex< dimension > * MeshND::Mesh< dimension >::vertex (std::size_t index) const
 get a constant pointer to a vertex using its global index
 
Edge< dimension > * MeshND::Mesh< dimension >::edge (std::size_t index) const
 get a constant pointer to a edge using its global index
 
Face< dimension > * MeshND::Mesh< dimension >::face (std::size_t index) const
 get a constant pointer to a face using its global index
 
Cell< dimension > * MeshND::Mesh< dimension >::cell (std::size_t index) const
 get a constant pointer to a cell using its global index
 
Vertex< dimension > * MeshND::Mesh< dimension >::b_vertex (std::size_t index) const
 get a constant pointer to a boundary vertex using an index
 
Edge< dimension > * MeshND::Mesh< dimension >::b_edge (std::size_t index) const
 get a constant pointer to boundary a edge using an index
 
Face< dimension > * MeshND::Mesh< dimension >::b_face (std::size_t index) const
 get a constant pointer to boundary a face using an index
 
Cell< dimension > * MeshND::Mesh< dimension >::b_cell (std::size_t index) const
 get a constant pointer to boundary a cell using an index
 
Vertex< dimension > * MeshND::Mesh< dimension >::i_vertex (std::size_t index) const
 get a constant pointer to an internal vertex using an index
 
Edge< dimension > * MeshND::Mesh< dimension >::i_edge (std::size_t index) const
 get a constant pointer to an internal edge using an index
 
Face< dimension > * MeshND::Mesh< dimension >::i_face (std::size_t index) const
 get a constant pointer to an internal face using an index
 
Cell< dimension > * MeshND::Mesh< dimension >::i_cell (std::size_t index) const
 get a constant pointer to an internal cell using an index
 
std::vector< size_t > MeshND::Mesh< dimension >::get_boundary (size_t d, size_t index) const
 
int MeshND::Mesh< dimension >::boundary_orientation (size_t d, size_t i, size_t j) const
 
std::vector< double > MeshND::Mesh< dimension >::regularity ()
 
void MeshND::Mesh< dimension >::renum (const char B, const std::vector< size_t > new_to_old)
 
 MeshND::MeshObject< space_dim, object_dim >::MeshObject (size_t index, Simplices< space_dim, object_dim > simplices)
 Constructor for a MeshObject defined by its simplices.
 
 MeshND::MeshObject< space_dim, object_dim >::MeshObject (size_t index, Simplex< space_dim, object_dim > simplex)
 Constructor for a Simplex.
 
 MeshND::MeshObject< space_dim, object_dim >::MeshObject (size_t index, VectorRd< space_dim > vertex)
 Constructor for a MeshObject defined by a single coordinate (Vertex)
 
 MeshND::MeshObject< space_dim, object_dim >::MeshObject ()
 Null constructor.
 
 MeshND::MeshObject< space_dim, object_dim >::~MeshObject ()
 Destructor.
 
size_t MeshND::MeshObject< space_dim, object_dim >::global_index () const
 Returns the global index of the MeshObject.
 
double MeshND::MeshObject< space_dim, object_dim >::diam () const
 Returns the diameter of the MeshObject.
 
VectorRd< space_dim > MeshND::MeshObject< space_dim, object_dim >::center_mass () const
 Returns the center mass of the MeshObject.
 
double MeshND::MeshObject< space_dim, object_dim >::measure () const
 
Simplices< space_dim, object_dim > MeshND::MeshObject< space_dim, object_dim >::get_simplices () const
 Returns the simplices making up the MeshObject.
 
Simplices< space_dim, object_dim > & MeshND::MeshObject< space_dim, object_dim >::set_simplices ()
 
void MeshND::MeshObject< space_dim, object_dim >::set_global_index (const size_t idx)
 Set the global index.
 
bool MeshND::MeshObject< space_dim, object_dim >::is_boundary () const
 Returns true if MeshObject is a boundary object, false otherwise.
 
void MeshND::MeshObject< space_dim, object_dim >::set_boundary (bool val)
 Set the boundary value of the MeshObject.
 
bool MeshND::MeshObject< space_dim, object_dim >::is_flat () const
 Returns true if MeshObject is flat (only relevant for faces), false otherwise.
 
std::vector< MeshObject< space_dim, 0 > * > MeshND::MeshObject< space_dim, object_dim >::get_vertices () const
 Returns the vertices of the MeshObject.
 
std::vector< MeshObject< space_dim, 1 > * > MeshND::MeshObject< space_dim, object_dim >::get_edges () const
 Returns the edges of the MeshObject.
 
std::vector< MeshObject< space_dim, space_dim - 1 > * > MeshND::MeshObject< space_dim, object_dim >::get_faces () const
 Returns the faces of the MeshObject.
 
std::vector< MeshObject< space_dim, space_dim > * > MeshND::MeshObject< space_dim, object_dim >::get_cells () const
 Return the cells of the MeshObject.
 
size_t MeshND::MeshObject< space_dim, object_dim >::n_vertices () const
 Returns the number of vertices of the MeshObject.
 
size_t MeshND::MeshObject< space_dim, object_dim >::n_edges () const
 Returns the number of edges of the MeshObject.
 
size_t MeshND::MeshObject< space_dim, object_dim >::n_faces () const
 Returns the number of faces of the MeshObject.
 
size_t MeshND::MeshObject< space_dim, object_dim >::n_cells () const
 Returns the number of cells of the MeshObject.
 
MeshObject< space_dim, 0 > * MeshND::MeshObject< space_dim, object_dim >::vertex (const size_t i) const
 Returns the i-th vertex of the MeshObject.
 
MeshObject< space_dim, 1 > * MeshND::MeshObject< space_dim, object_dim >::edge (const size_t i) const
 Returns the i-th edge of the MeshObject.
 
MeshObject< space_dim, space_dim - 1 > * MeshND::MeshObject< space_dim, object_dim >::face (const size_t i) const
 Returns the i-th face of the MeshObject.
 
MeshObject< space_dim, space_dim > * MeshND::MeshObject< space_dim, object_dim >::cell (const size_t i) const
 Returns the i-th cell of the MeshObject.
 
void MeshND::MeshObject< space_dim, object_dim >::add_vertex (MeshObject< space_dim, 0 > *vertex)
 Add a vertex to the MeshObject.
 
void MeshND::MeshObject< space_dim, object_dim >::add_edge (MeshObject< space_dim, 1 > *edge)
 Add an edge to the MeshObject.
 
void MeshND::MeshObject< space_dim, object_dim >::add_face (MeshObject< space_dim, space_dim - 1 > *face)
 Add a face to the MeshObject.
 
void MeshND::MeshObject< space_dim, object_dim >::add_cell (MeshObject< space_dim, space_dim > *cell)
 Add a cell to the MeshObject.
 
int MeshND::MeshObject< space_dim, object_dim >::index_vertex (const MeshObject< space_dim, 0 > *vertex) const
 Returns the local index of a vertex.
 
int MeshND::MeshObject< space_dim, object_dim >::index_edge (const MeshObject< space_dim, 1 > *edge) const
 Returns the local index of an edge.
 
int MeshND::MeshObject< space_dim, object_dim >::index_face (const MeshObject< space_dim, space_dim - 1 > *face) const
 Returns the local index of a face.
 
int MeshND::MeshObject< space_dim, object_dim >::index_cell (const MeshObject< space_dim, space_dim > *cell) const
 Returns the local index of a cell.
 
VectorRd< space_dim > MeshND::MeshObject< space_dim, object_dim >::coords () const
 Return the coordinates of a Vertex.
 
void MeshND::MeshObject< space_dim, object_dim >::set_coords (const VectorRd< space_dim > &x)
 Set the coordinates of a Vertex.
 
VectorRd< space_dim > MeshND::MeshObject< space_dim, object_dim >::face_normal (const size_t face_index) const
 Return the outer normal of a Cell towards the Face located at face_index.
 
VectorRd< space_dim > MeshND::MeshObject< space_dim, object_dim >::edge_normal (const size_t edge_index) const
 Return the edge normal of a 2D object.
 
int MeshND::MeshObject< space_dim, object_dim >::face_orientation (const size_t face_index) const
 Return the orientation of a Face.
 
int MeshND::MeshObject< space_dim, object_dim >::edge_orientation (const size_t edge_index) const
 Return the orientation of a Edge (multiplied by edge_normal, gives the outer normal to the face)
 
int MeshND::MeshObject< space_dim, object_dim >::induced_orientation (const size_t index) const
 Return 1 if the volume form on the boundary is positively oriented, -1 else.
 
VectorRd< space_dim > MeshND::MeshObject< space_dim, object_dim >::normal () const
 Return the normal of a Face.
 
VectorRd< space_dim > MeshND::MeshObject< space_dim, object_dim >::tangent () const
 Return the tangent of a Edge.
 
Eigen::Matrix< double, space_dim, 2 > MeshND::MeshObject< space_dim, object_dim >::face_tangent () const
 Return the tangent space of a Face.
 
void MeshND::MeshObject< space_dim, object_dim >::construct_face_orientations ()
 Set the directions of the face normals of a cell.
 
template<size_t space_dim, size_t object_dim>
VectorRd< space_dim > MeshND::simplex_center_mass (Simplex< space_dim, object_dim > simplex)
 Method to find the center mass of an arbitrary simplex in arbitrary space.
 
template<size_t space_dim, size_t object_dim>
double MeshND::simplex_measure (Simplex< space_dim, object_dim > simplex)
 Method to find the Lebesgue measure of an arbitrary simplex in arbitrary space.
 

Detailed Description

Class providing a template for all objects (Vertex, Edge, Face, Cell) that appear in a Mesh.

Typedef Documentation

◆ Cell

template<size_t space_dim>
using MeshND::Cell = typedef MeshObject<space_dim, space_dim>

A Cell is a MeshObject with object_dim = space_dim.

◆ Edge

template<size_t space_dim>
using MeshND::Edge = typedef MeshObject<space_dim, 1>

An Edge is a MeshObject with object_dim = 1.

◆ Face

template<size_t space_dim>
using MeshND::Face = typedef MeshObject<space_dim, space_dim - 1>

A Face is a MeshObject with object_dim = space_dim - 1.

◆ Vertex

template<size_t space_dim>
using MeshND::Vertex = typedef MeshObject<space_dim, 0>

A Vertex is a MeshObject with object_dim = 0.

Function Documentation

◆ add_b_cell()

template<std::size_t dimension>
void MeshND::Mesh< dimension >::add_b_cell ( Cell< dimension > *  cell)
inline
Parameters
celladds a boundary cell to the mesh

◆ add_b_edge()

template<std::size_t dimension>
void MeshND::Mesh< dimension >::add_b_edge ( Edge< dimension > *  edge)
inline
Parameters
edgeadds a boundary edge to the mesh

◆ add_b_face()

template<std::size_t dimension>
void MeshND::Mesh< dimension >::add_b_face ( Face< dimension > *  face)
inline
Parameters
faceadds a boundary face to the mesh

◆ add_b_vertex()

template<std::size_t dimension>
void MeshND::Mesh< dimension >::add_b_vertex ( Vertex< dimension > *  vertex)
inline
Parameters
vertexadds a boundary vertex to the mesh

◆ add_cell() [1/2]

template<std::size_t dimension>
void MeshND::Mesh< dimension >::add_cell ( Cell< dimension > *  cell)
inline
Parameters
celladds a cell to the mesh

◆ add_cell() [2/2]

template<size_t space_dim, size_t object_dim>
void MeshND::MeshObject< space_dim, object_dim >::add_cell ( MeshObject< space_dim, space_dim > *  cell)

Add a cell to the MeshObject.

◆ add_edge() [1/2]

template<std::size_t dimension>
void MeshND::Mesh< dimension >::add_edge ( Edge< dimension > *  edge)
inline
Parameters
edgeadds a edge to the mesh

◆ add_edge() [2/2]

template<size_t space_dim, size_t object_dim>
void MeshND::MeshObject< space_dim, object_dim >::add_edge ( MeshObject< space_dim, 1 > *  edge)

Add an edge to the MeshObject.

◆ add_face() [1/2]

template<std::size_t dimension>
void MeshND::Mesh< dimension >::add_face ( Face< dimension > *  face)
inline
Parameters
faceadds a face to the mesh

◆ add_face() [2/2]

template<size_t space_dim, size_t object_dim>
void MeshND::MeshObject< space_dim, object_dim >::add_face ( MeshObject< space_dim, space_dim - 1 > *  face)

Add a face to the MeshObject.

◆ add_i_cell()

template<std::size_t dimension>
void MeshND::Mesh< dimension >::add_i_cell ( Cell< dimension > *  cell)
inline
Parameters
celladds an internal cell to the mesh

◆ add_i_edge()

template<std::size_t dimension>
void MeshND::Mesh< dimension >::add_i_edge ( Edge< dimension > *  edge)
inline
Parameters
edgeadds an internal edge to the mesh

◆ add_i_face()

template<std::size_t dimension>
void MeshND::Mesh< dimension >::add_i_face ( Face< dimension > *  face)
inline
Parameters
faceadds an internal face to the mesh

◆ add_i_vertex()

template<std::size_t dimension>
void MeshND::Mesh< dimension >::add_i_vertex ( Vertex< dimension > *  vertex)
inline
Parameters
vertexadds an internal vertex to the mesh

◆ add_vertex() [1/2]

template<size_t space_dim, size_t object_dim>
void MeshND::MeshObject< space_dim, object_dim >::add_vertex ( MeshObject< space_dim, 0 > *  vertex)

Add a vertex to the MeshObject.

◆ add_vertex() [2/2]

template<std::size_t dimension>
void MeshND::Mesh< dimension >::add_vertex ( Vertex< dimension > *  vertex)
inline
Parameters
vertexadds a vertex to the mesh

◆ b_cell()

template<std::size_t dimension>
Cell< dimension > * MeshND::Mesh< dimension >::b_cell ( std::size_t  index) const
inline

get a constant pointer to boundary a cell using an index

◆ b_edge()

template<std::size_t dimension>
Edge< dimension > * MeshND::Mesh< dimension >::b_edge ( std::size_t  index) const
inline

get a constant pointer to boundary a edge using an index

◆ b_face()

template<std::size_t dimension>
Face< dimension > * MeshND::Mesh< dimension >::b_face ( std::size_t  index) const
inline

get a constant pointer to boundary a face using an index

◆ b_vertex()

template<std::size_t dimension>
Vertex< dimension > * MeshND::Mesh< dimension >::b_vertex ( std::size_t  index) const
inline

get a constant pointer to a boundary vertex using an index

◆ boundary_orientation()

template<std::size_t dimension>
int MeshND::Mesh< dimension >::boundary_orientation ( size_t  d,
size_t  i,
size_t  j 
) const
inline

◆ cell() [1/2]

template<size_t space_dim, size_t object_dim>
MeshObject< space_dim, space_dim > * MeshND::MeshObject< space_dim, object_dim >::cell ( const size_t  i) const

Returns the i-th cell of the MeshObject.

◆ cell() [2/2]

template<std::size_t dimension>
Cell< dimension > * MeshND::Mesh< dimension >::cell ( std::size_t  index) const
inline

get a constant pointer to a cell using its global index

◆ center_mass()

template<size_t space_dim, size_t object_dim>
VectorRd< space_dim > MeshND::MeshObject< space_dim, object_dim >::center_mass ( ) const
inline

Returns the center mass of the MeshObject.

Returns the Lebesgue measure of the MeshObject

◆ construct_face_orientations()

template<size_t space_dim, size_t object_dim>
void MeshND::MeshObject< space_dim, object_dim >::construct_face_orientations ( )

Set the directions of the face normals of a cell.

◆ coords()

template<size_t space_dim, size_t object_dim>
VectorRd< space_dim > MeshND::MeshObject< space_dim, object_dim >::coords ( ) const

Return the coordinates of a Vertex.

◆ diam()

template<size_t space_dim, size_t object_dim>
double MeshND::MeshObject< space_dim, object_dim >::diam ( ) const
inline

Returns the diameter of the MeshObject.

◆ dim()

template<std::size_t dimension>
std::size_t MeshND::Mesh< dimension >::dim ( ) const
inline

dimension of the mesh

◆ edge() [1/2]

template<size_t space_dim, size_t object_dim>
MeshObject< space_dim, 1 > * MeshND::MeshObject< space_dim, object_dim >::edge ( const size_t  i) const

Returns the i-th edge of the MeshObject.

◆ edge() [2/2]

template<std::size_t dimension>
Edge< dimension > * MeshND::Mesh< dimension >::edge ( std::size_t  index) const
inline

get a constant pointer to a edge using its global index

◆ edge_normal()

template<size_t space_dim, size_t object_dim>
VectorRd< space_dim > MeshND::MeshObject< space_dim, object_dim >::edge_normal ( const size_t  edge_index) const

Return the edge normal of a 2D object.

◆ edge_orientation()

template<size_t space_dim, size_t object_dim>
int MeshND::MeshObject< space_dim, object_dim >::edge_orientation ( const size_t  edge_index) const

Return the orientation of a Edge (multiplied by edge_normal, gives the outer normal to the face)

◆ face() [1/2]

template<size_t space_dim, size_t object_dim>
MeshObject< space_dim, space_dim - 1 > * MeshND::MeshObject< space_dim, object_dim >::face ( const size_t  i) const

Returns the i-th face of the MeshObject.

◆ face() [2/2]

template<std::size_t dimension>
Face< dimension > * MeshND::Mesh< dimension >::face ( std::size_t  index) const
inline

get a constant pointer to a face using its global index

◆ face_normal()

template<size_t space_dim, size_t object_dim>
VectorRd< space_dim > MeshND::MeshObject< space_dim, object_dim >::face_normal ( const size_t  face_index) const

Return the outer normal of a Cell towards the Face located at face_index.

◆ face_orientation()

template<size_t space_dim, size_t object_dim>
int MeshND::MeshObject< space_dim, object_dim >::face_orientation ( const size_t  face_index) const

Return the orientation of a Face.

◆ face_tangent()

template<size_t space_dim, size_t object_dim>
Eigen::Matrix< double, space_dim, 2 > MeshND::MeshObject< space_dim, object_dim >::face_tangent ( ) const

Return the tangent space of a Face.

◆ get_b_cells()

template<std::size_t dimension>
std::vector< Cell< dimension > * > MeshND::Mesh< dimension >::get_b_cells ( ) const
inline

lists the boundary cells in the mesh.

◆ get_b_edges()

template<std::size_t dimension>
std::vector< Edge< dimension > * > MeshND::Mesh< dimension >::get_b_edges ( ) const
inline

lists the boundary edges in the mesh.

◆ get_b_faces()

template<std::size_t dimension>
std::vector< Face< dimension > * > MeshND::Mesh< dimension >::get_b_faces ( ) const
inline

lists the boundary faces in the mesh.

◆ get_b_vertices()

template<std::size_t dimension>
std::vector< Vertex< dimension > * > MeshND::Mesh< dimension >::get_b_vertices ( ) const
inline

lists the boundary vertices in the mesh.

◆ get_boundary()

template<std::size_t dimension>
std::vector< size_t > MeshND::Mesh< dimension >::get_boundary ( size_t  d,
size_t  index 
) const
inline

◆ get_cells() [1/2]

template<std::size_t dimension>
std::vector< Cell< dimension > * > MeshND::Mesh< dimension >::get_cells ( ) const
inline

lists the cells in the mesh.

◆ get_cells() [2/2]

template<size_t space_dim, size_t object_dim>
std::vector< MeshObject< space_dim, space_dim > * > MeshND::MeshObject< space_dim, object_dim >::get_cells ( ) const
inline

Return the cells of the MeshObject.

◆ get_edges() [1/2]

template<std::size_t dimension>
std::vector< Edge< dimension > * > MeshND::Mesh< dimension >::get_edges ( ) const
inline

lists the edges in the mesh.

◆ get_edges() [2/2]

template<size_t space_dim, size_t object_dim>
std::vector< MeshObject< space_dim, 1 > * > MeshND::MeshObject< space_dim, object_dim >::get_edges ( ) const
inline

Returns the edges of the MeshObject.

◆ get_faces() [1/2]

template<std::size_t dimension>
std::vector< Face< dimension > * > MeshND::Mesh< dimension >::get_faces ( ) const
inline

lists the faces in the mesh.

◆ get_faces() [2/2]

template<size_t space_dim, size_t object_dim>
std::vector< MeshObject< space_dim, space_dim - 1 > * > MeshND::MeshObject< space_dim, object_dim >::get_faces ( ) const
inline

Returns the faces of the MeshObject.

◆ get_i_cells()

template<std::size_t dimension>
std::vector< Cell< dimension > * > MeshND::Mesh< dimension >::get_i_cells ( ) const
inline

lists the internal cells in the mesh.

◆ get_i_edges()

template<std::size_t dimension>
std::vector< Edge< dimension > * > MeshND::Mesh< dimension >::get_i_edges ( ) const
inline

lists the internal edges in the mesh.

◆ get_i_faces()

template<std::size_t dimension>
std::vector< Face< dimension > * > MeshND::Mesh< dimension >::get_i_faces ( ) const
inline

lists the internal faces in the mesh.

◆ get_i_vertices()

template<std::size_t dimension>
std::vector< Vertex< dimension > * > MeshND::Mesh< dimension >::get_i_vertices ( ) const
inline

lists the internal vertices in the mesh.

◆ get_name()

template<std::size_t dimension>
std::string MeshND::Mesh< dimension >::get_name ( )
inline

getter for the mesh name

◆ get_simplices()

template<size_t space_dim, size_t object_dim>
Simplices< space_dim, object_dim > MeshND::MeshObject< space_dim, object_dim >::get_simplices ( ) const
inline

Returns the simplices making up the MeshObject.

◆ get_vertices() [1/2]

template<std::size_t dimension>
std::vector< Vertex< dimension > * > MeshND::Mesh< dimension >::get_vertices ( ) const
inline

lists the vertices in the mesh.

◆ get_vertices() [2/2]

template<size_t space_dim, size_t object_dim>
std::vector< MeshObject< space_dim, 0 > * > MeshND::MeshObject< space_dim, object_dim >::get_vertices ( ) const
inline

Returns the vertices of the MeshObject.

◆ global_index()

template<size_t space_dim, size_t object_dim>
size_t MeshND::MeshObject< space_dim, object_dim >::global_index ( ) const
inline

Returns the global index of the MeshObject.

◆ h_max()

template<std::size_t dimension>
double MeshND::Mesh< dimension >::h_max ( ) const
inline

< max diameter of cells

◆ i_cell()

template<std::size_t dimension>
Cell< dimension > * MeshND::Mesh< dimension >::i_cell ( std::size_t  index) const
inline

get a constant pointer to an internal cell using an index

◆ i_edge()

template<std::size_t dimension>
Edge< dimension > * MeshND::Mesh< dimension >::i_edge ( std::size_t  index) const
inline

get a constant pointer to an internal edge using an index

◆ i_face()

template<std::size_t dimension>
Face< dimension > * MeshND::Mesh< dimension >::i_face ( std::size_t  index) const
inline

get a constant pointer to an internal face using an index

◆ i_vertex()

template<std::size_t dimension>
Vertex< dimension > * MeshND::Mesh< dimension >::i_vertex ( std::size_t  index) const
inline

get a constant pointer to an internal vertex using an index

◆ index_cell()

template<size_t space_dim, size_t object_dim>
int MeshND::MeshObject< space_dim, object_dim >::index_cell ( const MeshObject< space_dim, space_dim > *  cell) const

Returns the local index of a cell.

◆ index_edge()

template<size_t space_dim, size_t object_dim>
int MeshND::MeshObject< space_dim, object_dim >::index_edge ( const MeshObject< space_dim, 1 > *  edge) const

Returns the local index of an edge.

◆ index_face()

template<size_t space_dim, size_t object_dim>
int MeshND::MeshObject< space_dim, object_dim >::index_face ( const MeshObject< space_dim, space_dim - 1 > *  face) const

Returns the local index of a face.

◆ index_vertex()

template<size_t space_dim, size_t object_dim>
int MeshND::MeshObject< space_dim, object_dim >::index_vertex ( const MeshObject< space_dim, 0 > *  vertex) const

Returns the local index of a vertex.

◆ induced_orientation()

template<size_t space_dim, size_t object_dim>
int MeshND::MeshObject< space_dim, object_dim >::induced_orientation ( const size_t  index) const

Return 1 if the volume form on the boundary is positively oriented, -1 else.

◆ is_boundary()

template<size_t space_dim, size_t object_dim>
bool MeshND::MeshObject< space_dim, object_dim >::is_boundary ( ) const
inline

Returns true if MeshObject is a boundary object, false otherwise.

◆ is_flat()

template<size_t space_dim, size_t object_dim>
bool MeshND::MeshObject< space_dim, object_dim >::is_flat ( ) const
inline

Returns true if MeshObject is flat (only relevant for faces), false otherwise.

◆ measure()

template<size_t space_dim, size_t object_dim>
double MeshND::MeshObject< space_dim, object_dim >::measure ( ) const
inline

◆ Mesh()

template<std::size_t dimension>
MeshND::Mesh< dimension >::Mesh ( )
inline

◆ MeshObject() [1/4]

template<size_t space_dim, size_t object_dim>
MeshND::MeshObject< space_dim, object_dim >::MeshObject ( )

Null constructor.

◆ MeshObject() [2/4]

template<size_t space_dim, size_t object_dim>
MeshND::MeshObject< space_dim, object_dim >::MeshObject ( size_t  index,
Simplex< space_dim, object_dim >  simplex 
)

Constructor for a Simplex.

◆ MeshObject() [3/4]

template<size_t space_dim, size_t object_dim>
MeshND::MeshObject< space_dim, object_dim >::MeshObject ( size_t  index,
Simplices< space_dim, object_dim >  simplices 
)

Constructor for a MeshObject defined by its simplices.

◆ MeshObject() [4/4]

template<size_t space_dim, size_t object_dim>
MeshND::MeshObject< space_dim, object_dim >::MeshObject ( size_t  index,
VectorRd< space_dim >  vertex 
)

Constructor for a MeshObject defined by a single coordinate (Vertex)

◆ n_b_cells()

template<std::size_t dimension>
std::size_t MeshND::Mesh< dimension >::n_b_cells ( ) const
inline

number of boundary cells in the mesh.

◆ n_b_edges()

template<std::size_t dimension>
std::size_t MeshND::Mesh< dimension >::n_b_edges ( ) const
inline

number of boundary edges in the mesh.

◆ n_b_faces()

template<std::size_t dimension>
std::size_t MeshND::Mesh< dimension >::n_b_faces ( ) const
inline

number of boundary faces in the mesh.

◆ n_b_vertices()

template<std::size_t dimension>
std::size_t MeshND::Mesh< dimension >::n_b_vertices ( ) const
inline

number of boundary vertices in the mesh.

◆ n_cells() [1/2]

template<std::size_t dimension>
std::size_t MeshND::Mesh< dimension >::n_cells ( ) const
inline

number of cells in the mesh.

◆ n_cells() [2/2]

template<size_t space_dim, size_t object_dim>
size_t MeshND::MeshObject< space_dim, object_dim >::n_cells ( ) const
inline

Returns the number of cells of the MeshObject.

◆ n_edges() [1/2]

template<std::size_t dimension>
std::size_t MeshND::Mesh< dimension >::n_edges ( ) const
inline

number of edges in the mesh.

◆ n_edges() [2/2]

template<size_t space_dim, size_t object_dim>
size_t MeshND::MeshObject< space_dim, object_dim >::n_edges ( ) const
inline

Returns the number of edges of the MeshObject.

◆ n_elems()

template<std::size_t dimension>
std::size_t MeshND::Mesh< dimension >::n_elems ( size_t  d) const
inline

< number of d-cells in the mesh

◆ n_faces() [1/2]

template<std::size_t dimension>
std::size_t MeshND::Mesh< dimension >::n_faces ( ) const
inline

number of faces in the mesh.

◆ n_faces() [2/2]

template<size_t space_dim, size_t object_dim>
size_t MeshND::MeshObject< space_dim, object_dim >::n_faces ( ) const
inline

Returns the number of faces of the MeshObject.

◆ n_i_cells()

template<std::size_t dimension>
std::size_t MeshND::Mesh< dimension >::n_i_cells ( ) const
inline

number of internal cells in the mesh.

◆ n_i_edges()

template<std::size_t dimension>
std::size_t MeshND::Mesh< dimension >::n_i_edges ( ) const
inline

number of internal edges in the mesh.

◆ n_i_faces()

template<std::size_t dimension>
std::size_t MeshND::Mesh< dimension >::n_i_faces ( ) const
inline

number of internal faces in the mesh.

◆ n_i_vertices()

template<std::size_t dimension>
std::size_t MeshND::Mesh< dimension >::n_i_vertices ( ) const
inline

number of internal vertices in the mesh.

◆ n_vertices() [1/2]

template<std::size_t dimension>
std::size_t MeshND::Mesh< dimension >::n_vertices ( ) const
inline

number of vertices in the mesh.

◆ n_vertices() [2/2]

template<size_t space_dim, size_t object_dim>
size_t MeshND::MeshObject< space_dim, object_dim >::n_vertices ( ) const
inline

Returns the number of vertices of the MeshObject.

◆ normal()

template<size_t space_dim, size_t object_dim>
VectorRd< space_dim > MeshND::MeshObject< space_dim, object_dim >::normal ( ) const

Return the normal of a Face.

◆ regularity()

template<std::size_t dimension>
std::vector< double > MeshND::Mesh< dimension >::regularity ( )
inline

Regularity factor = 1st component: maximum of

  • diameter of cell / (measure of cell)^{1/dim}
  • diameter of cell / diameter of face [for each face of the cell]

2nd component: evaluation of max of ratio "diam of cell / radius ball inscribed in cell"

◆ renum()

template<std::size_t dimension>
void MeshND::Mesh< dimension >::renum ( const char  B,
const std::vector< size_t >  new_to_old 
)
inline

◆ set_boundary()

template<size_t space_dim, size_t object_dim>
void MeshND::MeshObject< space_dim, object_dim >::set_boundary ( bool  val)
inline

Set the boundary value of the MeshObject.

◆ set_coords()

template<size_t space_dim, size_t object_dim>
void MeshND::MeshObject< space_dim, object_dim >::set_coords ( const VectorRd< space_dim > &  x)

Set the coordinates of a Vertex.

◆ set_global_index()

template<size_t space_dim, size_t object_dim>
void MeshND::MeshObject< space_dim, object_dim >::set_global_index ( const size_t  idx)
inline

Set the global index.

◆ set_name()

template<std::size_t dimension>
void MeshND::Mesh< dimension >::set_name ( std::string  name)
inline

set the name of the mesh

◆ set_simplices()

template<size_t space_dim, size_t object_dim>
Simplices< space_dim, object_dim > & MeshND::MeshObject< space_dim, object_dim >::set_simplices ( )
inline

◆ simplex_center_mass()

template<size_t space_dim, size_t object_dim>
VectorRd< space_dim > MeshND::simplex_center_mass ( Simplex< space_dim, object_dim >  simplex)

Method to find the center mass of an arbitrary simplex in arbitrary space.

◆ simplex_measure()

template<size_t space_dim, size_t object_dim>
double MeshND::simplex_measure ( Simplex< space_dim, object_dim >  simplex)

Method to find the Lebesgue measure of an arbitrary simplex in arbitrary space.

◆ tangent()

template<size_t space_dim, size_t object_dim>
VectorRd< space_dim > MeshND::MeshObject< space_dim, object_dim >::tangent ( ) const

Return the tangent of a Edge.

◆ vertex() [1/2]

template<size_t space_dim, size_t object_dim>
MeshObject< space_dim, 0 > * MeshND::MeshObject< space_dim, object_dim >::vertex ( const size_t  i) const

Returns the i-th vertex of the MeshObject.

◆ vertex() [2/2]

template<std::size_t dimension>
Vertex< dimension > * MeshND::Mesh< dimension >::vertex ( std::size_t  index) const
inline

get a constant pointer to a vertex using its global index

◆ ~Mesh()

template<std::size_t dimension>
MeshND::Mesh< dimension >::~Mesh ( )
inline

◆ ~MeshObject()

template<size_t space_dim, size_t object_dim>
MeshND::MeshObject< space_dim, object_dim >::~MeshObject ( )

Destructor.