16 #ifndef dealii_distributed_tria_base_h
17 #define dealii_distributed_tria_base_h
78 template <
int dim,
int spacedim = dim>
87 const MPI_Comm mpi_communicator,
88 const typename ::Triangulation<dim, spacedim>::MeshSmoothing
90 const bool check_for_distorted_cells =
false);
101 get_communicator()
const override;
119 const ::Triangulation<dim, spacedim> &old_tria)
override;
140 n_locally_owned_active_cells()
const;
148 n_global_active_cells()
const override;
165 n_global_levels()
const override;
174 locally_owned_subdomain()
const override;
185 const std::set<types::subdomain_id> &
186 ghost_owners()
const;
203 const std::set<types::subdomain_id> &
204 level_ghost_owners()
const;
206 std::weak_ptr<const Utilities::MPI::Partitioner>
207 global_active_cell_index_partitioner()
const override;
209 std::weak_ptr<const Utilities::MPI::Partitioner>
210 global_level_cell_index_partitioner(
211 const unsigned int level)
const override;
219 virtual std::vector<types::boundary_id>
220 get_boundary_ids()
const override;
228 virtual std::vector<types::manifold_id>
229 get_manifold_ids()
const override;
284 communicate_locally_moved_vertices(
285 const std::vector<bool> &vertex_locally_moved);
288 n_global_coarse_cells()
const override;
353 std::shared_ptr<const Utilities::MPI::Partitioner>
359 std::vector<std::shared_ptr<const Utilities::MPI::Partitioner>>
371 update_number_cache();
377 update_reference_cells()
override;
383 reset_global_cell_indices();
434 template <
int dim,
int spacedim = dim>
444 const MPI_Comm mpi_communicator,
445 const typename ::Triangulation<dim, spacedim>::MeshSmoothing
447 const bool check_for_distorted_cells =
false);
459 typename ::Triangulation<dim, spacedim>::cell_iterator;
477 has_hanging_nodes()
const override;
505 load(
const std::string &filename,
const bool autopartition) = 0;
virtual void load(const std::string &filename, const bool autopartition)=0
typename ::Triangulation< dim, spacedim >::cell_iterator cell_iterator
types::subdomain_id n_subdomains
const MPI_Comm mpi_communicator
virtual bool is_multilevel_hierarchy_constructed() const =0
types::subdomain_id my_subdomain
#define DEAL_II_DEPRECATED
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_CXX20_REQUIRES(condition)
#define DEAL_II_NAMESPACE_CLOSE
std::enable_if_t< std::is_fundamental_v< T >, std::size_t > memory_consumption(const T &t)
global_cell_index coarse_cell_id
unsigned int subdomain_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