15#ifndef dealii_distributed_tria_base_h
16#define dealii_distributed_tria_base_h
77 template <
int dim,
int spacedim = dim>
87 const typename ::Triangulation<dim, spacedim>::MeshSmoothing
118 const ::Triangulation<dim, spacedim> &old_tria)
override;
184 const std::set<types::subdomain_id> &
202 const std::set<types::subdomain_id> &
205 std::weak_ptr<const Utilities::MPI::Partitioner>
208 std::weak_ptr<const Utilities::MPI::Partitioner>
210 const unsigned int level)
const override;
225 virtual std::vector<types::boundary_id>
243 virtual std::vector<types::manifold_id>
300 const std::vector<bool> &vertex_locally_moved);
377 std::shared_ptr<const Utilities::MPI::Partitioner>
383 std::vector<std::shared_ptr<const Utilities::MPI::Partitioner>>
455 template <
int dim,
int spacedim = dim>
466 const typename ::Triangulation<dim, spacedim>::MeshSmoothing
471 typename ::Triangulation<dim, spacedim>::cell_iterator;
517 load(
const std::string &filename,
const bool autopartition) = 0;
Triangulation(const MeshSmoothing smooth_grid=none, const bool check_for_distorted_cells=false)
void save(Archive &ar, const unsigned int version) const
const bool check_for_distorted_cells
Triangulation(const MeshSmoothing smooth_grid=none, const bool check_for_distorted_cells=false)
MeshSmoothing smooth_grid
DistributedTriangulationBase(const MPI_Comm mpi_communicator, const typename ::Triangulation< dim, spacedim >::MeshSmoothing smooth_grid=(::Triangulation< dim, spacedim >::none), const bool check_for_distorted_cells=false)
virtual void load(const std::string &filename, const bool autopartition)=0
typename ::Triangulation< dim, spacedim >::cell_iterator cell_iterator
virtual bool has_hanging_nodes() const override
const std::set< types::subdomain_id > & level_ghost_owners() const
virtual std::size_t memory_consumption() const override
virtual types::global_cell_index n_global_active_cells() const override
void update_reference_cells() override
const std::set< types::subdomain_id > & ghost_owners() const
std::weak_ptr< const Utilities::MPI::Partitioner > global_level_cell_index_partitioner(const unsigned int level) const override
types::subdomain_id n_subdomains
types::subdomain_id locally_owned_subdomain() const override
const MPI_Comm mpi_communicator
virtual unsigned int n_global_levels() const override
virtual std::vector< types::boundary_id > get_boundary_ids() const override
unsigned int n_locally_owned_active_cells() const
virtual types::coarse_cell_id n_global_coarse_cells() const override
virtual bool is_multilevel_hierarchy_constructed() const =0
virtual void update_number_cache()
virtual void clear() override
std::weak_ptr< const Utilities::MPI::Partitioner > global_active_cell_index_partitioner() const override
TriangulationBase(const MPI_Comm mpi_communicator, const typename ::Triangulation< dim, spacedim >::MeshSmoothing smooth_grid=(::Triangulation< dim, spacedim >::none), const bool check_for_distorted_cells=false)
void communicate_locally_moved_vertices(const std::vector< bool > &vertex_locally_moved)
virtual MPI_Comm get_communicator() const override
void reset_global_cell_indices()
types::subdomain_id my_subdomain
virtual void copy_triangulation(const ::Triangulation< dim, spacedim > &old_tria) override
#define DEAL_II_DEPRECATED
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_CXX20_REQUIRES(condition)
#define DEAL_II_NAMESPACE_CLOSE
virtual std::vector< types::manifold_id > get_manifold_ids() const override
unsigned int subdomain_id
global_cell_index coarse_cell_id
unsigned int global_cell_index
unsigned int n_global_levels
unsigned int n_locally_owned_active_cells
std::set< types::subdomain_id > level_ghost_owners
types::global_cell_index n_global_active_cells
std::set< types::subdomain_id > ghost_owners
std::shared_ptr< const Utilities::MPI::Partitioner > active_cell_index_partitioner
std::vector< std::shared_ptr< const Utilities::MPI::Partitioner > > level_cell_index_partitioners
types::coarse_cell_id number_of_global_coarse_cells