|
HArD::Core3D
Hybrid Arbitrary Degree::Core 3D - Library to implement 3D schemes with vertex, edge, face and cell polynomials as unknowns
|
Provides tools to transform a mesh (coarsen, change format, etc.) More...
Classes | |
| class | DirectedFace |
| class | DirectedCell |
| class | CellNodeArray |
| class | GraphNodeArray |
| class | DirectedGraph |
| struct | Element |
| Structure to store elements. More... | |
Typedefs | |
| typedef std::vector< std::vector< std::size_t > > | Array |
| Type definition for a matrix of unsigned ints. | |
Functions | |
| int | main (const int argc, const char *argv[]) |
| Main executable (CheckMesh) to check the sanity of an RF mesh. | |
| DirectedFace::DirectedFace () | |
| Null constructor. | |
| DirectedFace::~DirectedFace () | |
| Destructor. | |
| DirectedFace::DirectedFace (std::vector< std::size_t >) | |
| Class Constructor: Initialises the face with the two nodes that form the face. | |
| void | DirectedFace::add_vertex (size_t) |
| Add a vertex to face. | |
| bool | operator== (const DirectedFace &, const DirectedFace &) |
| Boolean operation to test if two faces are equal. | |
| DirectedCell::DirectedCell () | |
| Null Constructor. | |
| DirectedCell::DirectedCell (std::size_t) | |
| Constructor. | |
| DirectedCell::~DirectedCell () | |
| Destructor. | |
| DirectedCell::DirectedCell (std::vector< DirectedFace > &, std::size_t) | |
| Class Constructor: Initialises the cell with a vector of faces and the cell ID. | |
| void | DirectedCell::add_face (DirectedFace &) |
| Method to append an face to the end of the cell. | |
| void | DirectedCell::remove_face (std::size_t) |
| Remove face at a given position. | |
| void | DirectedCell::append_cell (DirectedCell &) |
| bool | DirectedCell::check_cell () |
| bool | DirectedCell::has_face (DirectedFace) |
| Tests if cell has an face. | |
| void | DirectedCell::print () |
| Prints all the faces of the cell. | |
| CellNodeArray::CellNodeArray () | |
| Null constructor. | |
| CellNodeArray::~CellNodeArray () | |
| Default constructor. | |
| CellNodeArray::CellNodeArray (Array &) | |
| Class Constructor: Initialises the NodeArray with the cell-node array. | |
| bool | CellNodeArray::node_exists (std::size_t) |
| Test if a given node exists in the cell-node array. | |
| void | CellNodeArray::renum_nodes (std::size_t) |
| Subtracts one from all nodes greater than a given node. | |
| void | CellNodeArray::print (std::ofstream *, std::size_t) |
| Prints the cell node array to an out file stream. | |
| GraphNodeArray::GraphNodeArray () | |
| Null constructor. | |
| GraphNodeArray::~GraphNodeArray () | |
| Default constructor. | |
| GraphNodeArray::GraphNodeArray (std::vector< CellNodeArray > &) | |
| Class Constructor: Initialises the NodeArray with the cell-node array. | |
| bool | GraphNodeArray::node_exists (std::size_t) |
| Test if a given node exists in the cell-node array. | |
| void | GraphNodeArray::renum_nodes (std::size_t) |
| Subtracts one from all nodes greater than a given node. | |
| void | GraphNodeArray::print (std::ofstream *) |
| Prints the cell node array to an out file stream. | |
| DirectedGraph::DirectedGraph () | |
| Null constructor. | |
| DirectedGraph::~DirectedGraph () | |
| Default constructor. | |
| DirectedGraph::DirectedGraph (std::vector< DirectedCell > &) | |
| Class Constructor: Initialises the DirectedGraph with the cells. | |
| void | DirectedGraph::add_cell (DirectedCell &) |
| Appends a cell to the end of the graph. | |
| void | DirectedGraph::remove_cell (std::size_t) |
| Removes cell from a given position. | |
| bool | DirectedGraph::test_graph () |
| Test if graph has duplicate faces or unordered cells. | |
| void | DirectedGraph::randomise () |
| Randomise order of cells in graph. | |
| void | DirectedGraph::order () |
| Order cells in graph by the number of faces in each cell. | |
| void | DirectedGraph::coarsen () |
| Coarsen the graph by merging cells. | |
| GraphNodeArray | DirectedGraph::graph_to_array () |
| Returns the cell-node array the graph corresponds to. | |
| std::string | DirectedGraph::get_partition () |
| Returns list of fine cells that each coarse cell consists of. | |
| void | DirectedGraph::plotfile (std::ofstream *, std::vector< Eigen::VectorXd > &) |
| Outputs to a .dat file for gnuplot to read. | |
| size_t | coplanar_idx (const std::vector< VectorRd > &points) |
| Given a family of points, returns the maximum N such that the first N points are co-planar. | |
| int | main (int argc, char *argv[]) |
| Main executable (MeshCoarsen) to coarsen a mesh. | |
| void | write_RF (HArDCore3D::Mesh *mesh, const std::string filename) |
| Writes RF files from a mesh. | |
| void | random_move (HArDCore3D::Mesh *mesh, double &factor) |
| Move vertices randomly, except boundary and those with x=1/2 or z=1/2. | |
| void | apply_transformation (HArDCore3D::Mesh *mesh, std::function< VectorRd(const VectorRd &)> trans) |
| Apply algebraic transformation to all vertices. | |
| Element::Element (const size_t &_type, const size_t &_id, const std::vector< size_t > &_vertices) | |
| Constructor. | |
| void | Element::printRF (std::ofstream &file) const |
| Plots the element in RF format into the file provided. | |
Variables | |
| constexpr int | dimspace = 3 |
| const std::string | mesh_dir = "../../../meshes/" |
| std::string | default_mesh = mesh_dir + "Cubic-Cells/RF_fmt/gcube_2x2x2" |
| std::vector< std::size_t > | DirectedFace::V |
| vector of vertices | |
| std::vector< DirectedFace > | DirectedCell::T |
| The faces the cell consists of. | |
| std::vector< std::size_t > | DirectedCell::part |
| The cell ID's of the cell's that have formed this cell. | |
| Array | CellNodeArray::A |
| The cell-node array. | |
| std::vector< CellNodeArray > | GraphNodeArray::GA |
| The cell-node array. | |
| std::vector< DirectedCell > | DirectedGraph::G |
| Vector of cells that form the graph. | |
| const std::string | mesh_dir = "../../../meshes/" |
| std::string | default_mesh = mesh_dir + "Cubic-Cells/RF_fmt/gcube_2x2x2" |
| const std::string | mesh_root = "" |
| const std::string | mesh_dir = "../../../meshes/" |
| std::string | default_mesh = mesh_dir + "Cubic-Cells/RF_fmt/gcube_2x2x2" |
| const size_t | Element::type |
| const size_t | Element::id |
| const std::vector< size_t > | Element::vertices |
| size_t | Element::n_vertices |
| size_t | Element::n_faces |
| const std::string | mesh_dir = "../../../meshes/" |
| std::string | default_mesh = mesh_dir + "ComplexGeometries/CubeCavityWedge/MSH_fmt/hexa.1" |
| const std::string | mesh_dir = "../../../meshes/" |
| std::string | default_mesh = mesh_dir + "Cubic-Cells/RF_fmt/gcube_2x2x2" |
| const std::string | mesh_dir = "../../../meshes/" |
| std::string | default_mesh = mesh_dir + "Cubic-Cells/RF_fmt/gcube_2x2x2" |
Provides tools to transform a mesh (coarsen, change format, etc.)
| typedef std::vector<std::vector<std::size_t> > Array |
Type definition for a matrix of unsigned ints.
| void DirectedGraph::add_cell | ( | DirectedCell & | T | ) |
Appends a cell to the end of the graph.
| T | Cell to be added |
| void DirectedCell::add_face | ( | DirectedFace & | f | ) |
Method to append an face to the end of the cell.
| f | Face to be added |
| void DirectedFace::add_vertex | ( | size_t | v | ) |
Add a vertex to face.
| v | Vertex to be added |
| void DirectedCell::append_cell | ( | DirectedCell & | K | ) |
Appends the vector of faces and partition vector of a cell to the faces and partition of this cell
| K | Cell to be added |
| void apply_transformation | ( | HArDCore3D::Mesh * | mesh, |
| std::function< VectorRd(const VectorRd &)> | trans | ||
| ) |
Apply algebraic transformation to all vertices.
| CellNodeArray::CellNodeArray | ( | ) |
Null constructor.
| CellNodeArray::CellNodeArray | ( | Array & | _A | ) |
Class Constructor: Initialises the NodeArray with the cell-node array.
| _A | The cell-node array |
| bool DirectedCell::check_cell | ( | ) |
| void DirectedGraph::coarsen | ( | ) |
Coarsen the graph by merging cells.
| size_t coplanar_idx | ( | const std::vector< VectorRd > & | points | ) |
Given a family of points, returns the maximum N such that the first N points are co-planar.
| DirectedCell::DirectedCell | ( | ) |
Null Constructor.
| DirectedCell::DirectedCell | ( | std::size_t | cell_num | ) |
Constructor.
| DirectedCell::DirectedCell | ( | std::vector< DirectedFace > & | _T, |
| std::size_t | cell_num | ||
| ) |
Class Constructor: Initialises the cell with a vector of faces and the cell ID.
| _T | A reference to the faces that the cell consists of |
| cell_num | Initial cell ID |
| DirectedFace::DirectedFace | ( | ) |
Null constructor.
| DirectedFace::DirectedFace | ( | std::vector< std::size_t > | _V | ) |
Class Constructor: Initialises the face with the two nodes that form the face.
| DirectedGraph::DirectedGraph | ( | ) |
Null constructor.
| DirectedGraph::DirectedGraph | ( | std::vector< DirectedCell > & | _G | ) |
Class Constructor: Initialises the DirectedGraph with the cells.
| _G | Initial cells |
|
inline |
Constructor.
| _type | Type of element |
| _id | Id of the element |
| _vertices | List of indices of vertices |
| std::string DirectedGraph::get_partition | ( | ) |
Returns list of fine cells that each coarse cell consists of.
| GraphNodeArray DirectedGraph::graph_to_array | ( | ) |
Returns the cell-node array the graph corresponds to.
| GraphNodeArray::GraphNodeArray | ( | ) |
Null constructor.
| GraphNodeArray::GraphNodeArray | ( | std::vector< CellNodeArray > & | _GA | ) |
Class Constructor: Initialises the NodeArray with the cell-node array.
| _GA | The graph-node array |
| bool DirectedCell::has_face | ( | DirectedFace | f | ) |
Tests if cell has an face.
| f | Face to check for |
| int main | ( | const int | argc, |
| const char * | argv[] | ||
| ) |
Main executable (CheckMesh) to check the sanity of an RF mesh.
Main executable (RFToVTU) to transform an RF mesh into a VTU file.
Main executable (RFToFVCA10format) to transform an RF mesh into a .msh FVCA10 format.
Main executable (MoveVertices) to modify a mesh by moving its vertices.
Main executable (MakeFlatFaces) to try and create a mesh with flat faces (by subdivision)
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
Main executable (MeshCoarsen) to coarsen a mesh.
Main executable (MSHToRF) to convert a .msh mesh in RF format.
| bool CellNodeArray::node_exists | ( | std::size_t | node | ) |
Test if a given node exists in the cell-node array.
| node | Node to test for |
| bool GraphNodeArray::node_exists | ( | std::size_t | node | ) |
Test if a given node exists in the cell-node array.
| node | Node to test for |
| bool operator== | ( | const DirectedFace & | lhs, |
| const DirectedFace & | rhs | ||
| ) |
Boolean operation to test if two faces are equal.
| void DirectedGraph::order | ( | ) |
Order cells in graph by the number of faces in each cell.
| void DirectedGraph::plotfile | ( | std::ofstream * | , |
| std::vector< Eigen::VectorXd > & | |||
| ) |
Outputs to a .dat file for gnuplot to read.
| void DirectedCell::print | ( | ) |
Prints all the faces of the cell.
| void GraphNodeArray::print | ( | std::ofstream * | out | ) |
Prints the cell node array to an out file stream.
| out | Pointer to the file stream to print to |
| void CellNodeArray::print | ( | std::ofstream * | out, |
| std::size_t | cell_num | ||
| ) |
Prints the cell node array to an out file stream.
| out | Pointer to the file stream to print to |
|
inline |
Plots the element in RF format into the file provided.
| void random_move | ( | HArDCore3D::Mesh * | mesh, |
| double & | factor | ||
| ) |
Move vertices randomly, except boundary and those with x=1/2 or z=1/2.
| void DirectedGraph::randomise | ( | ) |
Randomise order of cells in graph.
| void DirectedGraph::remove_cell | ( | std::size_t | pos | ) |
Removes cell from a given position.
| pos | Cell to be removed |
| void DirectedCell::remove_face | ( | std::size_t | pos | ) |
Remove face at a given position.
| pos | Position of face to be removed |
| void CellNodeArray::renum_nodes | ( | std::size_t | node | ) |
Subtracts one from all nodes greater than a given node.
| node | Node given |
| void GraphNodeArray::renum_nodes | ( | std::size_t | node | ) |
Subtracts one from all nodes greater than a given node.
| node | Node given |
| bool DirectedGraph::test_graph | ( | ) |
Test if graph has duplicate faces or unordered cells.
| void write_RF | ( | HArDCore3D::Mesh * | mesh, |
| const std::string | filename | ||
| ) |
Writes RF files from a mesh.
| CellNodeArray::~CellNodeArray | ( | ) |
Default constructor.
| DirectedCell::~DirectedCell | ( | ) |
Destructor.
| DirectedFace::~DirectedFace | ( | ) |
Destructor.
| DirectedGraph::~DirectedGraph | ( | ) |
Default constructor.
| GraphNodeArray::~GraphNodeArray | ( | ) |
Default constructor.
| Array CellNodeArray::A |
The cell-node array.
| std::string default_mesh = mesh_dir + "Cubic-Cells/RF_fmt/gcube_2x2x2" |
| std::string default_mesh = mesh_dir + "Cubic-Cells/RF_fmt/gcube_2x2x2" |
| std::string default_mesh = mesh_dir + "Cubic-Cells/RF_fmt/gcube_2x2x2" |
| std::string default_mesh = mesh_dir + "ComplexGeometries/CubeCavityWedge/MSH_fmt/hexa.1" |
| std::string default_mesh = mesh_dir + "Cubic-Cells/RF_fmt/gcube_2x2x2" |
| std::string default_mesh = mesh_dir + "Cubic-Cells/RF_fmt/gcube_2x2x2" |
|
constexpr |
| std::vector<DirectedCell> DirectedGraph::G |
Vector of cells that form the graph.
| std::vector<CellNodeArray> GraphNodeArray::GA |
The cell-node array.
| const size_t Element::id |
| const std::string mesh_dir = "../../../meshes/" |
| const std::string mesh_dir = "../../../meshes/" |
| const std::string mesh_dir = "../../../meshes/" |
| const std::string mesh_dir = "../../../meshes/" |
| const std::string mesh_dir = "../../../meshes/" |
| const std::string mesh_dir = "../../../meshes/" |
| const std::string mesh_root = "" |
| size_t Element::n_faces |
| size_t Element::n_vertices |
| std::vector<std::size_t> DirectedCell::part |
The cell ID's of the cell's that have formed this cell.
| std::vector<DirectedFace> DirectedCell::T |
The faces the cell consists of.
| const size_t Element::type |
| std::vector<std::size_t> DirectedFace::V |
vector of vertices
| const std::vector<size_t> Element::vertices |