HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
|
A Vertex is a Polytope with object_dim = 0. More...
#include <Polytope2D.hpp>
Public Member Functions | |
Polytope (size_t index, Simplices< object_dim > simplices) | |
< Constructor for a Polytope defined by its simplices | |
Polytope (size_t index, Simplex< object_dim > simplex) | |
Constructor for a Polytope defined by a single coordinate (Vertex) | |
Polytope (size_t index, VectorRd vertex) | |
Null constructor. | |
Polytope () | |
Destructor. | |
~Polytope () | |
size_t | global_index () const |
Return the global index of the Polytope. | |
double | diam () const |
Return the diameter of the Polytope. | |
VectorRd | center_mass () const |
Return the center mass of the Polytope. | |
double | measure () const |
Return the Lebesgue measure of the Polytope. | |
Simplices< object_dim > | get_simplices () const |
Return the simplices making up the Polytope. | |
void | set_global_index (const size_t idx) |
Set the global index. | |
bool | is_boundary () const |
Return true if Polytope is a boundary object, false otherwise. | |
void | set_boundary (bool val) |
Set the boundary value of the Polytope. | |
std::vector< Polytope< 0 > * > | get_vertices () const |
Return the vertices of the Polytope. | |
std::vector< Polytope< 1 > * > | get_edges () const |
Return the edges of the Polytope. | |
std::vector< Polytope< DIMENSION - 1 > * > | get_faces () const |
Return the faces of the Polytope. | |
std::vector< Polytope< DIMENSION > * > | get_cells () const |
Return the cells of the Polytope. | |
size_t | n_vertices () const |
Return the number of vertices of the Polytope. | |
size_t | n_edges () const |
Return the number of edges of the Polytope. | |
size_t | n_faces () const |
Return the number of faces of the Polytope. | |
size_t | n_cells () const |
Return the number of cells of the Polytope. | |
Polytope< 0 > * | vertex (const size_t i) const |
Return the i-th vertex of the Polytope. | |
Polytope< 1 > * | edge (const size_t i) const |
Return the i-th edge of the Polytope. | |
Polytope< DIMENSION - 1 > * | face (const size_t i) const |
Return the i-th face of the Polytope. | |
Polytope< DIMENSION > * | cell (const size_t i) const |
Return the i-th cell of the Polytope. | |
void | add_vertex (Polytope< 0 > *vertex) |
Add a vertex to the Polytope. | |
void | add_edge (Polytope< 1 > *edge) |
Add an edge to the Polytope. | |
void | add_face (Polytope< DIMENSION - 1 > *face) |
Add a face to the Polytope. | |
void | add_cell (Polytope< DIMENSION > *cell) |
Add a cell to the Polytope. | |
int | index_vertex (const Polytope< 0 > *vertex) const |
Returns the local index of a vertex. | |
int | index_edge (const Polytope< 1 > *edge) const |
Returns the local index of an edge. | |
int | index_face (const Polytope< DIMENSION - 1 > *face) const |
Returns the local index of a face. | |
int | index_cell (const Polytope< DIMENSION > *cell) const |
Returns the local index of a cell. | |
VectorRd | coords () const |
Return the coordinates of a Vertex. | |
VectorRd | face_normal (const size_t face_index) const |
Return the outer normal of a Cell towards the Face located at face_index. | |
VectorRd | edge_normal (const size_t edge_index) const |
Return the edge normal of a 2D object. | |
int | face_orientation (const size_t face_index) const |
Return the orientation of a Face. | |
int | edge_orientation (const size_t edge_index) const |
Return the orientation of a Edge. | |
int | vertex_orientation (const size_t vertex_index) const |
Return the orientation of a Vertex. | |
VectorRd | normal () const |
Return the normal of a Face. | |
VectorRd | tangent () const |
Return the tangent of a Edge. | |
void | construct_face_normals () |
Set the directions of the face normals of a cell. | |
void | plot_simplices (std::ofstream *out) const |
Plot the simplices to out. | |
void | plot (std::ofstream *out) const |
Plot the polytope to out. | |
A Vertex is a Polytope with object_dim = 0.
Polytope is a templated class describing polytopes in two dimensional space. It takes in one template parameter - object_dim - the dimension of the polytope. object_dim must be less than or equal to two