11#include <dolfinx/common/MPI.h>
21template <std::
floating_po
int T>
33 requires std::is_convertible_v<std::remove_cvref_t<V>,
Geometry<T>>
52 Mesh& operator=(
const Mesh& mesh) =
delete;
64 std::shared_ptr<Topology>
topology() {
return _topology; }
68 std::shared_ptr<const Topology>
topology()
const {
return _topology; }
84 MPI_Comm
comm()
const {
return _comm.comm(); }
94 std::shared_ptr<Topology> _topology;
A duplicate MPI communicator and manage lifetime of the communicator.
Definition MPI.h:43
Geometry stores the geometry imposed on a mesh.
Definition Geometry.h:33
A Mesh consists of a set of connected and numbered mesh topological entities, and geometry data.
Definition Mesh.h:23
std::shared_ptr< Topology > topology_mutable() const
Get mesh topology if one really needs the mutable version.
Definition Mesh.h:72
const Geometry< T > & geometry() const
Get mesh geometry (const version)
Definition Mesh.h:80
std::shared_ptr< Topology > topology()
Get mesh topology.
Definition Mesh.h:64
Mesh & operator=(Mesh &&mesh)=default
Assignment move operator.
Mesh(const Mesh &mesh)=default
Copy constructor.
Geometry< T > & geometry()
Get mesh geometry.
Definition Mesh.h:76
Mesh(MPI_Comm comm, std::shared_ptr< Topology > topology, V &&geometry)
Create a mesh.
Definition Mesh.h:34
Mesh(Mesh &&mesh)=default
Move constructor.
std::string name
Name.
Definition Mesh.h:87
~Mesh()=default
Destructor.
MPI_Comm comm() const
Mesh MPI communicator.
Definition Mesh.h:84
std::shared_ptr< const Topology > topology() const
Get mesh topology (const version)
Definition Mesh.h:68
Mesh data structures and algorithms on meshes.
Definition DofMap.h:32