16 #ifndef dealii_distributed_shared_tria_h
17 #define dealii_distributed_shared_tria_h
40 #ifdef DEAL_II_WITH_MPI
107 template <
int dim,
int spacedim = dim>
114 typename ::Triangulation<dim, spacedim>::active_cell_iterator;
116 typename ::Triangulation<dim, spacedim>::cell_iterator;
142 partition_auto = 0x0,
147 partition_metis = 0x1,
166 partition_zorder = 0x2,
171 partition_zoltan = 0x3,
222 partition_custom_signal = 0x4,
260 const MPI_Comm mpi_communicator,
261 const typename ::Triangulation<dim, spacedim>::MeshSmoothing =
263 const bool allow_artificial_cells =
false,
275 is_multilevel_hierarchy_constructed()
const override;
286 execute_coarsening_and_refinement()
override;
307 &construction_data)
override;
321 const ::Triangulation<dim, spacedim> &other_tria)
override;
347 template <
class Archive>
349 load(Archive &ar,
const unsigned int version);
359 const std::vector<types::subdomain_id> &
360 get_true_subdomain_ids_of_cells()
const;
370 const std::vector<types::subdomain_id> &
371 get_true_level_subdomain_ids_of_cells(
const unsigned int level)
const;
378 with_artificial_cells()
const;
420 std::vector<std::vector<types::subdomain_id>>
426 template <
int dim,
int spacedim>
428 template <
class Archive>
430 const unsigned int version)
434 this->update_number_cache();
454 template <
int dim,
int spacedim = dim>
475 const std::vector<types::subdomain_id> &
481 const std::vector<types::subdomain_id> &
533 template <
int dim,
int spacedim = dim>
561 const ::parallel::shared::Triangulation<dim, spacedim>>
void load(Archive &ar, const unsigned int version)
std::vector< unsigned int > saved_subdomain_ids
const SmartPointer< const ::parallel::shared::Triangulation< dim, spacedim > > shared_tria
~TemporarilyRestoreSubdomainIds()
TemporarilyRestoreSubdomainIds(const Triangulation< dim, spacedim > &tria)
std::vector< types::subdomain_id > true_subdomain_ids_of_cells
typename ::Triangulation< dim, spacedim >::active_cell_iterator active_cell_iterator
const std::vector< types::subdomain_id > & get_true_subdomain_ids_of_cells() const
std::vector< std::vector< types::subdomain_id > > true_level_subdomain_ids_of_cells
typename ::Triangulation< dim, spacedim >::cell_iterator cell_iterator
bool with_artificial_cells() const
const std::vector< types::subdomain_id > & get_true_level_subdomain_ids_of_cells(const unsigned int level) const
virtual ~Triangulation() override=default
Triangulation(const MPI_Comm mpi_communicator, const typename ::Triangulation< dim, spacedim >::MeshSmoothing=(::Triangulation< dim, spacedim >::none), const bool allow_artificial_cells=false, const Settings settings=partition_auto)
virtual bool is_multilevel_hierarchy_constructed() const override
void load(Archive &ar, const unsigned int version)
const bool allow_artificial_cells
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_CXX20_REQUIRES(condition)
#define DEAL_II_NAMESPACE_CLOSE
void create_triangulation(Triangulation< dim, dim > &tria, const AdditionalData &additional_data=AdditionalData())
@ construct_multigrid_hierarchy
const TriangulationDescription::Settings settings
const ::Triangulation< dim, spacedim > & tria