DOLFIN-X
DOLFIN-X C++ interface
BoxMesh.h
1 // Copyright (C) 2005-2017 Anders Logg and Garth N. Wells
2 //
3 // This file is part of DOLFINX (https://www.fenicsproject.org)
4 //
5 // SPDX-License-Identifier: LGPL-3.0-or-later
6 
7 #pragma once
8 
9 #include <array>
10 #include <cstddef>
11 #include <dolfinx/mesh/Mesh.h>
12 #include <mpi.h>
13 
14 namespace dolfinx
15 {
16 
17 namespace fem
18 {
19 class CoordinateElement;
20 }
21 
22 namespace generation
23 {
24 
29 
30 class BoxMesh
31 {
32 public:
44  static mesh::Mesh create(MPI_Comm comm,
45  const std::array<Eigen::Vector3d, 2>& p,
46  std::array<std::size_t, 3> n,
47  const fem::CoordinateElement& element,
48  const mesh::GhostMode ghost_mode);
49 };
50 } // namespace generation
51 } // namespace dolfinx
dolfinx::mesh::GhostMode
GhostMode
Enum for different partitioning ghost modes.
Definition: Mesh.h:37
dolfinx::generation::BoxMesh::create
static mesh::Mesh create(MPI_Comm comm, const std::array< Eigen::Vector3d, 2 > &p, std::array< std::size_t, 3 > n, const fem::CoordinateElement &element, const mesh::GhostMode ghost_mode)
Create a uniform finite element Mesh over the rectangular prism spanned by the two _geometry::Point_s...
Definition: BoxMesh.cpp:191
dolfinx::mesh::Mesh
A Mesh consists of a set of connected and numbered mesh topological entities, and geometry data.
Definition: Mesh.h:47
dolfinx::generation::BoxMesh
Tetrahedral mesh of the 3D rectangular prism spanned by two points p0 and p1. Given the number of cel...
Definition: BoxMesh.h:31
dolfinx::fem::CoordinateElement
This class manages coordinate mappings for isoparametric cells.
Definition: CoordinateElement.h:24