6#include "Kokkos_Sort.hpp"
Represents boundaries of an unstructured mesh.
A class that represents a stencil database.
Represents an unstructured mesh in NeoN.
localIdx nCells() const
Get the number of cells in the mesh.
const scalarVector & cellVolumes() const
Get the field of cell volumes in the mesh.
localIdx nBoundaryFaces() const
Get the number of boundary faces in the mesh.
const scalarVector & magFaceAreas() const
Get the field of magnitudes of face areas.
localIdx nBoundaries() const
Get the number of boundaries in the mesh.
const vectorVector & faceCentres() const
Get the field of face centres.
localIdx nInternalFaces() const
Get the number of internal faces in the mesh.
StencilDataBase & stencilDB() const
Get the stencil data base.
const vectorVector & faceAreas() const
Get the field of area face normals.
const Executor & exec() const
Get the executor.
const labelVector & faceNeighbour() const
Get the field of face neighbour cells.
const vectorVector & cellCentres() const
Get the field of cell centres in the mesh.
const labelVector & faceOwner() const
Get the field of face owner cells.
localIdx nFaces() const
Get the number of faces in the mesh.
const BoundaryMesh & boundaryMesh() const
Get the boundary mesh.
const vectorVector & points() const
Get the field of mesh points.
UnstructuredMesh(vectorVector points, scalarVector cellVolumes, vectorVector cellCentres, vectorVector faceAreas, vectorVector faceCentres, scalarVector magFaceAreas, labelVector faceOwner, labelVector faceNeighbour, localIdx nCells, localIdx nInternalFaces, localIdx nBoundaryFaces, localIdx nBoundaries, localIdx nFaces, BoundaryMesh boundaryMesh)
Constructor for the UnstructuredMesh class.
UnstructuredMesh create1DUniformMesh(const Executor exec, const localIdx nCells)
A factory function for a 1D mesh.
std::variant< SerialExecutor, CPUExecutor, GPUExecutor > Executor
UnstructuredMesh createSingleCellMesh(const Executor exec)
creates a mesh containing only a single cell @warn currently this is only a 2D mesh