20 #ifndef LIBMESH_DISTRIBUTED_MESH_H 21 #define LIBMESH_DISTRIBUTED_MESH_H 89 virtual std::unique_ptr<MeshBase>
clone ()
const override 90 {
return libmesh_make_unique<DistributedMesh>(*this); }
100 virtual void clear()
override;
149 template <
typename T>
177 template <
typename T>
236 #ifdef LIBMESH_ENABLE_UNIQUE_ID 297 virtual const_element_iterator
elements_end()
const override;
373 virtual const_element_iterator
level_elements_end (
unsigned int level)
const override;
440 virtual element_iterator
444 virtual element_iterator
448 virtual const_element_iterator
452 virtual const_element_iterator
456 #ifdef LIBMESH_ENABLE_AMR 470 #endif // LIBMESH_ENABLE_AMR 476 virtual node_iterator
nodes_end ()
override;
477 virtual const_node_iterator
nodes_begin ()
const override;
478 virtual const_node_iterator
nodes_end ()
const override;
509 virtual node_iterator
512 virtual node_iterator
515 virtual const_node_iterator
518 virtual const_node_iterator
559 #ifdef LIBMESH_ENABLE_UNIQUE_ID 592 #endif // LIBMESH_DISTRIBUTED_MESH_H
virtual element_iterator subactive_elements_begin() override
virtual element_iterator active_local_elements_end() override
virtual void update_parallel_id_counts() override
virtual dof_id_type parallel_n_nodes() const override
mapvector< Elem *, dof_id_type > _elements
virtual node_iterator active_nodes_begin() override
A geometric point in (x,y,z) space associated with a DOF.
virtual element_iterator active_local_subdomain_elements_end(subdomain_id_type subdomain_id) override
virtual node_iterator evaluable_nodes_end(const DofMap &dof_map, unsigned int var_num=libMesh::invalid_uint) override
void libmesh_assert_valid_parallel_object_ids(const mapvector< T *, dof_id_type > &) const
virtual SimpleRange< element_iterator > active_element_ptr_range() override
virtual element_iterator active_pid_elements_begin(processor_id_type proc_id) override
const unsigned int invalid_uint
virtual void libmesh_assert_valid_parallel_ids() const override
virtual element_iterator flagged_elements_begin(unsigned char rflag) override
virtual element_iterator not_ancestor_elements_begin() override
virtual void fix_broken_node_and_element_numbering() override
virtual const Node * query_node_ptr(const dof_id_type i) const override
virtual void renumber_elem(dof_id_type old_id, dof_id_type new_id) override
virtual element_iterator local_level_elements_end(unsigned int level) override
virtual element_iterator flagged_pid_elements_end(unsigned char rflag, processor_id_type pid) override
virtual element_iterator ancestor_elements_end() override
bool _is_serial_on_proc_0
virtual dof_id_type max_node_id() const override
virtual element_iterator not_subactive_elements_end() override
virtual void clear() override
virtual void renumber_nodes_and_elements() override
virtual element_iterator elements_end() override
dof_id_type _next_free_local_node_id
virtual element_iterator local_level_elements_begin(unsigned int level) override
virtual void allgather() override
virtual void own_node(Node &n) override
virtual element_iterator type_elements_begin(ElemType type) override
virtual dof_id_type n_active_elem() const override
virtual element_iterator semilocal_elements_end() override
The base class for all geometric element types.
virtual element_iterator active_type_elements_begin(ElemType type) override
uint8_t processor_id_type
virtual node_iterator pid_nodes_begin(processor_id_type proc_id) override
virtual element_iterator ghost_elements_begin() override
virtual node_iterator active_nodes_end() override
virtual element_iterator active_unpartitioned_elements_end() override
virtual node_iterator nodes_begin() override
void libmesh_assert_valid_parallel_flags() const
virtual element_iterator active_elements_begin() override
virtual void add_extra_ghost_elem(Elem *e)
virtual SimpleRange< const_element_iterator > active_element_ptr_range() const override
virtual element_iterator ghost_elements_end() override
virtual element_iterator pid_elements_begin(processor_id_type proc_id) override
mapvector< Node *, dof_id_type >::veclike_iterator node_iterator_imp
virtual unique_id_type parallel_max_unique_id() const override
virtual element_iterator not_subactive_elements_begin() override
virtual element_iterator not_local_elements_end() override
virtual void delete_remote_elements() override
virtual element_iterator not_active_elements_end() override
void libmesh_assert_valid_parallel_p_levels() const
virtual element_iterator facelocal_elements_end() override
virtual Elem * add_elem(Elem *e) override
virtual element_iterator level_elements_begin(unsigned int level) override
Manages the degrees of freedom (DOFs) in a simulation.
dof_id_type renumber_dof_objects(mapvector< T *, dof_id_type > &)
virtual SimpleRange< const_node_iterator > node_ptr_range() const override
virtual SimpleRange< node_iterator > node_ptr_range() override
virtual element_iterator active_subdomain_set_elements_begin(std::set< subdomain_id_type > ss) override
virtual dof_id_type parallel_n_elem() const override
virtual element_iterator active_type_elements_end(ElemType type) override
mapvector< Node *, dof_id_type > _nodes
virtual Elem * insert_elem(Elem *e) override
static const processor_id_type invalid_processor_id
std::set< Elem * > _extra_ghost_elems
Base class for Replicated and Distributed meshes.
virtual element_iterator subactive_elements_end() override
virtual element_iterator not_active_elements_begin() override
virtual element_iterator not_ancestor_elements_end() override
virtual Node * insert_node(Node *n) override
virtual element_iterator active_subdomain_set_elements_end(std::set< subdomain_id_type > ss) override
virtual dof_id_type n_nodes() const override
virtual SimpleRange< node_iterator > local_node_ptr_range() override
mapvector< Node *, dof_id_type >::const_veclike_iterator const_node_iterator_imp
virtual SimpleRange< const_element_iterator > active_local_element_ptr_range() const override
virtual element_iterator active_semilocal_elements_end() override
static const dof_id_type invalid_id
virtual void renumber_node(dof_id_type old_id, dof_id_type new_id) override
virtual Node * add_point(const Point &p, const dof_id_type id=DofObject::invalid_id, const processor_id_type proc_id=DofObject::invalid_processor_id) override
virtual element_iterator flagged_elements_end(unsigned char rflag) override
virtual void clear_extra_ghost_elems()
virtual element_iterator active_subdomain_elements_end(subdomain_id_type subdomain_id) override
virtual element_iterator evaluable_elements_end(const DofMap &dof_map, unsigned int var_num=libMesh::invalid_uint) override
dof_id_type parallel_max_node_id() const
virtual void set_distributed() override
virtual void reserve_nodes(const dof_id_type) override
virtual ~DistributedMesh()
virtual node_iterator bid_nodes_end(boundary_id_type bndry_id) override
Mesh data structure which is distributed across all processors.
virtual const Point & point(const dof_id_type i) const override
dof_id_type _next_free_unpartitioned_node_id
virtual const Elem * elem_ptr(const dof_id_type i) const override
virtual element_iterator active_subdomain_elements_begin(subdomain_id_type subdomain_id) override
virtual element_iterator pid_elements_end(processor_id_type proc_id) override
virtual element_iterator unpartitioned_elements_begin() override
virtual element_iterator active_pid_elements_end(processor_id_type proc_id) override
virtual element_iterator local_elements_begin() override
virtual node_iterator bid_nodes_begin(boundary_id_type bndry_id) override
virtual element_iterator unpartitioned_elements_end() override
virtual element_iterator not_level_elements_begin(unsigned int level) override
virtual node_iterator local_nodes_end() override
virtual void redistribute() override
virtual std::unique_ptr< MeshBase > clone() const override
virtual element_iterator active_local_elements_begin() override
DistributedMesh & operator=(const DistributedMesh &)=delete
virtual element_iterator type_elements_end(ElemType type) override
virtual element_iterator active_not_local_elements_end() override
dof_id_type _next_free_unpartitioned_elem_id
virtual const Node * node_ptr(const dof_id_type i) const override
DistributedMesh(const Parallel::Communicator &comm_in, unsigned char dim=1)
virtual void gather_to_zero() override
virtual element_iterator flagged_pid_elements_begin(unsigned char rflag, processor_id_type pid) override
virtual node_iterator evaluable_nodes_begin(const DofMap &dof_map, unsigned int var_num=libMesh::invalid_uint) override
virtual node_iterator nodes_end() override
virtual dof_id_type n_elem() const override
virtual Node * add_node(Node *n) override
virtual node_iterator bnd_nodes_begin() override
virtual SimpleRange< element_iterator > element_ptr_range() override
virtual element_iterator semilocal_elements_begin() override
virtual element_iterator active_semilocal_elements_begin() override
virtual element_iterator local_not_level_elements_begin(unsigned int level) override
virtual element_iterator active_local_subdomain_elements_begin(subdomain_id_type subdomain_id) override
virtual element_iterator facelocal_elements_begin() override
virtual SimpleRange< const_node_iterator > local_node_ptr_range() const override
virtual element_iterator active_elements_end() override
virtual void update_post_partitioning() override
virtual element_iterator active_unpartitioned_elements_begin() override
virtual SimpleRange< element_iterator > active_local_element_ptr_range() override
virtual const Elem * query_elem_ptr(const dof_id_type i) const override
virtual element_iterator not_level_elements_end(unsigned int level) override
unique_id_type _next_unpartitioned_unique_id
virtual element_iterator evaluable_elements_begin(const DofMap &dof_map, unsigned int var_num=libMesh::invalid_uint) override
mapvector< Elem *, dof_id_type >::const_veclike_iterator const_elem_iterator_imp
virtual void delete_node(Node *n) override
virtual element_iterator local_not_level_elements_end(unsigned int level) override
mapvector< Elem *, dof_id_type >::veclike_iterator elem_iterator_imp
virtual node_iterator local_nodes_begin() override
virtual element_iterator not_local_elements_begin() override
virtual element_iterator active_not_local_elements_begin() override
dof_id_type _next_free_local_elem_id
virtual dof_id_type max_elem_id() const override
virtual void reserve_elem(const dof_id_type) override
A geometric point in (x,y,z) space.
virtual element_iterator elements_begin() override
virtual element_iterator local_elements_end() override
virtual bool is_serial() const override
dof_id_type parallel_max_elem_id() const
virtual void delete_elem(Elem *e) override
virtual element_iterator level_elements_end(unsigned int level) override
virtual SimpleRange< const_element_iterator > element_ptr_range() const override
virtual bool is_replicated() const override
virtual node_iterator pid_nodes_end(processor_id_type proc_id) override
virtual element_iterator ancestor_elements_begin() override
virtual bool is_serial_on_zero() const override
virtual node_iterator bnd_nodes_end() override