|
Mallard 0.8.0
Unstructured, GPU accelerated, high-order finite volume CFD solver
Mallard website |
Mesh class declaration. More...
#include <array>#include <map>#include <memory>#include <string>#include <vector>#include <unordered_map>#include <Kokkos_Core.hpp>#include <toml.hpp>#include "curved.h"#include "zone.h"Go to the source code of this file.
Classes | |
| class | Mesh |
| struct | Mesh::PeriodicPair |
| A periodic pair of boundary zones: zone_b is zone_a translated by translation. More... | |
| struct | Mesh::BoundaryFace |
| A boundary face (2 nodes in 2D; 3 or 4 nodes in 3D) and its zone name. More... | |
Typedefs | |
| using | Stretching = std::array< rtype, 3 > |
| Tanh stretching factor of each direction of a generated mesh, 0 for uniform spacing. | |
Enumerations | |
| enum class | MeshType { FROM_FILE , CARTESIAN , CARTESIAN_TRI , WEDGE , CARTESIAN_TET , CARTESIAN_PRISM , CARTESIAN_PYRAMID , CARTESIAN_MIXED } |
| enum class | CellType { TRIANGLE , QUAD , TETRAHEDRON , PYRAMID , PRISM , HEXAHEDRON } |
Functions | |
| const std::vector< std::vector< uint8_t > > & | cell_local_faces (uint32_t n_nodes) |
| Local faces of a positively oriented 3D cell with n_nodes nodes (4 tetrahedron, 5 pyramid, 6 prism, 8 hexahedron; Gmsh/VTK node order), each ordered so its right-hand normal points out of the cell. | |
| void | cell_tetrahedra (const std::vector< std::array< double, 3 > > &nodes, std::vector< std::array< std::array< double, 3 >, 4 > > &tets) |
| Decompose a 3D cell (node coordinates in Gmsh/VTK order, positively oriented) into tetrahedra: each face is fanned around its vertex average and joined to the cell's vertex average. This is the decomposition that defines the mesh's cell volumes and centroids. | |
| using Stretching = std::array<rtype, 3> |
Tanh stretching factor of each direction of a generated mesh, 0 for uniform spacing.
| const std::vector< std::vector< uint8_t > > & cell_local_faces | ( | uint32_t | n_nodes | ) |
Local faces of a positively oriented 3D cell with n_nodes nodes (4 tetrahedron, 5 pyramid, 6 prism, 8 hexahedron; Gmsh/VTK node order), each ordered so its right-hand normal points out of the cell.
| void cell_tetrahedra | ( | const std::vector< std::array< double, 3 > > & | nodes, |
| std::vector< std::array< std::array< double, 3 >, 4 > > & | tets | ||
| ) |
Decompose a 3D cell (node coordinates in Gmsh/VTK order, positively oriented) into tetrahedra: each face is fanned around its vertex average and joined to the cell's vertex average. This is the decomposition that defines the mesh's cell volumes and centroids.