13#ifndef dealii_distributed_shared_tria_h
14#define dealii_distributed_shared_tria_h
37#ifdef DEAL_II_WITH_MPI
104 template <
int dim,
int spacedim = dim>
111 typename ::Triangulation<dim, spacedim>::active_cell_iterator;
113 typename ::Triangulation<dim, spacedim>::cell_iterator;
258 const typename ::Triangulation<dim, spacedim>::MeshSmoothing =
260 const bool allow_artificial_cells =
false,
261 const Settings settings = partition_auto);
320 &construction_data)
override;
334 const ::Triangulation<dim, spacedim> &other_tria)
override;
342 template <
class Archive>
344 serialize(Archive &archive,
const unsigned int version);
348 BOOST_SERIALIZATION_SPLIT_MEMBER()
375 template <
class Archive>
377 load(Archive &ar,
const unsigned int version);
387 const std::vector<types::subdomain_id> &
398 const std::vector<types::subdomain_id> &
458 std::vector<std::vector<types::subdomain_id>>
464 template <
int dim,
int spacedim>
466 template <
class Archive>
468 const unsigned int version)
492 template <
int dim,
int spacedim = dim>
513 const std::vector<types::subdomain_id> &
519 const std::vector<types::subdomain_id> &
571 template <
int dim,
int spacedim = dim>
599 const ::parallel::shared::Triangulation<dim, spacedim>>
friend class ObserverPointer
void save(Archive &ar, const unsigned int version) const
std::vector< Point< spacedim > > vertices
std::vector< unsigned int > saved_subdomain_ids
const ObserverPointer< const ::parallel::shared::Triangulation< dim, spacedim > > shared_tria
~TemporarilyRestoreSubdomainIds()
TemporarilyRestoreSubdomainIds(const Triangulation< dim, spacedim > &tria)
virtual void update_number_cache()
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)
virtual void execute_coarsening_and_refinement() override
std::vector< types::subdomain_id > true_subdomain_ids_of_cells
virtual void copy_triangulation(const ::Triangulation< dim, spacedim > &other_tria) override
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
@ partition_custom_signal
@ construct_multigrid_hierarchy
virtual bool prepare_coarsening_and_refinement() override
bool with_artificial_cells() const
const std::vector< types::subdomain_id > & get_true_level_subdomain_ids_of_cells(const unsigned int level) const
void serialize(Archive &archive, const unsigned int version)
virtual ~Triangulation() override=default
typename ::Triangulation< dim, spacedim >::cell_iterator cell_iterator
void communicate_coarsening_and_refinement_flags()
typename ::Triangulation< dim, spacedim >::active_cell_iterator active_cell_iterator
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
virtual void create_triangulation(const std::vector< Point< spacedim > > &vertices, const std::vector< CellData< dim > > &cells, const SubCellData &subcelldata) override
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_CXX20_REQUIRES(condition)
#define DEAL_II_NAMESPACE_CLOSE