20 #ifndef LIBMESH_MESH_COMMUNICATION_H 21 #define LIBMESH_MESH_COMMUNICATION_H 29 #include <unordered_map> 36 class DistributedMesh;
102 bool newly_coarsened_only =
false)
const;
176 template <
typename ForwardIterator>
178 const ForwardIterator &,
179 const ForwardIterator &,
180 std::unordered_map<dof_id_type, dof_id_type> &)
const;
186 template <
typename ForwardIterator>
189 const ForwardIterator &,
190 const ForwardIterator &,
191 std::vector<dof_id_type> &)
const;
198 #ifdef LIBMESH_ENABLE_AMR 203 #endif // LIBMESH_ENABLE_AMR 256 MeshBase::const_element_iterator elem_it,
257 MeshBase::const_element_iterator elem_end,
258 std::set<const Elem *, CompareElemIdsByLevel> & connected_elements);
263 MeshBase::const_element_iterator elem_it,
264 MeshBase::const_element_iterator elem_end,
265 std::set<const Elem *, CompareElemIdsByLevel> & connected_elements);
269 void connect_families(std::set<const Elem *, CompareElemIdsByLevel> & connected_elements);
272 void reconnect_nodes (
const std::set<const Elem *, CompareElemIdsByLevel> & connected_elements,
273 std::set<const Node *> & connected_nodes);
283 #endif // LIBMESH_MESH_COMMUNICATION_H void find_global_indices(const Parallel::Communicator &communicator, const libMesh::BoundingBox &, const ForwardIterator &, const ForwardIterator &, std::vector< dof_id_type > &) const
void make_node_unique_ids_parallel_consistent(MeshBase &)
void make_elems_parallel_consistent(MeshBase &)
uint8_t processor_id_type
void assign_global_indices(MeshBase &) const
void check_for_duplicate_global_indices(MeshBase &) const
void make_new_node_proc_ids_parallel_consistent(MeshBase &)
void reconnect_nodes(const std::set< const Elem *, CompareElemIdsByLevel > &connected_elements, std::set< const Node *> &connected_nodes)
static const processor_id_type invalid_processor_id
void connect_families(std::set< const Elem *, CompareElemIdsByLevel > &connected_elements)
void make_p_levels_parallel_consistent(MeshBase &)
void find_local_indices(const libMesh::BoundingBox &, const ForwardIterator &, const ForwardIterator &, std::unordered_map< dof_id_type, dof_id_type > &) const
void allgather(DistributedMesh &mesh) const
Mesh data structure which is distributed across all processors.
void gather_neighboring_elements(DistributedMesh &) const
void query_ghosting_functors(const MeshBase &mesh, processor_id_type pid, MeshBase::const_element_iterator elem_it, MeshBase::const_element_iterator elem_end, std::set< const Elem *, CompareElemIdsByLevel > &connected_elements)
void send_coarse_ghosts(MeshBase &) const
void make_node_ids_parallel_consistent(MeshBase &)
void make_nodes_parallel_consistent(MeshBase &)
void broadcast(MeshBase &) const
void make_node_proc_ids_parallel_consistent(MeshBase &)
void connect_children(const MeshBase &mesh, MeshBase::const_element_iterator elem_it, MeshBase::const_element_iterator elem_end, std::set< const Elem *, CompareElemIdsByLevel > &connected_elements)
void make_new_nodes_parallel_consistent(MeshBase &)
void gather(const processor_id_type root_id, DistributedMesh &) const
void delete_remote_elements(DistributedMesh &, const std::set< Elem *> &) const
void redistribute(DistributedMesh &mesh, bool newly_coarsened_only=false) const