DOLFIN-X
DOLFIN-X C++ interface
|
11 #include <dolfinx/common/MPI.h>
62 bool mark(std::int32_t edge_index);
89 int num_ghost_cells,
bool redistribute)
const;
104 static std::vector<std::int64_t>
105 adjust_indices(
const std::shared_ptr<const common::IndexMap>& index_map,
113 Eigen::Array<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>
114 _new_vertex_coordinates;
117 std::vector<bool> _marked_edges;
121 std::vector<std::vector<std::int64_t>> _marked_for_update;
124 std::map<std::int32_t, std::set<std::int32_t>> _shared_edges;
127 MPI_Comm _neighbor_comm;
mesh::Mesh build_local(const std::vector< std::int64_t > &cell_topology) const
Build local mesh from internal data when not running in parallel.
Definition: ParallelRefinement.cpp:395
void mark_all()
Mark all edges in mesh.
Definition: ParallelRefinement.cpp:226
mesh::Mesh partition(const std::vector< std::int64_t > &cell_topology, int num_ghost_cells, bool redistribute) const
Use vertex and topology data to partition new mesh across processes.
Definition: ParallelRefinement.cpp:415
bool mark(std::int32_t edge_index)
Mark edge by index.
Definition: ParallelRefinement.cpp:202
const std::vector< bool > & marked_edges() const
Return markers for all edges.
Definition: ParallelRefinement.cpp:197
ParallelRefinement(const ParallelRefinement &p)=delete
Disable copy constructor.
~ParallelRefinement()
Destructor.
Definition: ParallelRefinement.cpp:195
void update_logical_edgefunction()
Transfer marked edges between processes.
Definition: ParallelRefinement.cpp:256
Data structure and methods for refining meshes in parallel.
Definition: ParallelRefinement.h:41
A Mesh consists of a set of connected and numbered mesh topological entities, and geometry data.
Definition: Mesh.h:47
std::map< std::int32_t, std::int64_t > create_new_vertices()
Add new vertex for each marked edge, and create new_vertex_coordinates and global_edge->new_vertex ma...
Definition: ParallelRefinement.cpp:282
static std::vector< std::int64_t > adjust_indices(const std::shared_ptr< const common::IndexMap > &index_map, std::int32_t n)
Adjust indices to account for extra n values on each process This is a utility to help add new topolo...
Definition: ParallelRefinement.cpp:366
ParallelRefinement(const mesh::Mesh &mesh)
Constructor.
Definition: ParallelRefinement.cpp:152
ParallelRefinement & operator=(const ParallelRefinement &p)=delete
Disable copy assignment.