DOLFIN-X
DOLFIN-X C++ interface
|
11 #include "cell_types.h"
12 #include <Eigen/Dense>
13 #include <dolfinx/common/MPI.h>
14 #include <dolfinx/common/UniqueIdGenerator.h>
23 class CoordinateElement;
53 template <
typename Topology,
typename Geometry>
82 const Eigen::Ref<
const Eigen::Array<
double, Eigen::Dynamic,
83 Eigen::Dynamic, Eigen::RowMajor>>& x,
84 const Eigen::Ref<
const Eigen::Array<std::int64_t, Eigen::Dynamic,
85 Eigen::Dynamic, Eigen::RowMajor>>&
88 const std::vector<std::int64_t>& global_cell_indices,
89 const GhostMode ghost_mode, std::int32_t num_ghost_cells = 0);
103 Mesh& operator=(
const Mesh& mesh) =
delete;
107 Mesh& operator=(
Mesh&& mesh) =
default;
156 std::size_t
hash()
const;
160 std::size_t
id()
const {
return _unique_id; }
190 const Eigen::Array<
double, Eigen::Dynamic, Eigen::Dynamic,
Topology & topology_mutable() const
Get mesh topology if one really needs the mutable version.
Definition: Mesh.cpp:141
CellType
Cell type identifier.
Definition: cell_types.h:22
std::size_t id() const
Get unique identifier for the mesh.
Definition: Mesh.h:160
This class provides a static adjacency list data structure. It is commonly used to store directed gra...
Definition: assemble_matrix_impl.h:26
GhostMode
Enum for different partitioning ghost modes.
Definition: Mesh.h:36
Mesh create(MPI_Comm comm, const graph::AdjacencyList< std::int64_t > &cells, const fem::CoordinateElement &element, const Eigen::Array< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > &x, GhostMode ghost_mode)
Create a mesh.
Definition: Mesh.cpp:64
Topology & topology()
Get mesh topology.
Definition: Mesh.cpp:137
Mesh(MPI_Comm comm, Topology &&topology, Geometry &&geometry)
Create a mesh.
Definition: Mesh.h:54
double rmax() const
Compute maximum cell inradius.
Definition: Mesh.cpp:153
A Mesh consists of a set of connected and numbered mesh topological entities, and geometry data.
Definition: Mesh.h:46
~Mesh()=default
Destructor.
A duplicate MPI communicator and manage lifetime of the communicator.
Definition: MPI.h:34
std::string name
Name.
Definition: Mesh.h:167
double rmin() const
Compute minimum cell inradius.
Definition: Mesh.cpp:151
Topology stores the topology of a mesh, consisting of mesh entities and connectivity (incidence relat...
Definition: Topology.h:58
Geometry & geometry()
Get mesh geometry.
Definition: Mesh.cpp:143
std::size_t hash() const
Compute hash of mesh, currently based on the has of the mesh geometry and mesh topology.
Definition: Mesh.cpp:155
MPI_Comm mpi_comm() const
Mesh MPI communicator.
Definition: Mesh.cpp:169
double hmin() const
Compute minimum cell size in mesh, measured greatest distance between any two vertices of a cell.
Definition: Mesh.cpp:147
Geometry stores the geometry imposed on a mesh.
Definition: Geometry.h:38
static std::size_t id()
Generate a unique ID.
Definition: UniqueIdGenerator.cpp:22
This class manages coordinate mappings for isoparametric cells.
Definition: CoordinateElement.h:23
double hmax() const
Compute maximum cell size in mesh, measured greatest distance between any two vertices of a cell.
Definition: Mesh.cpp:149