16 #ifndef dealii_distributed_tria_base_h 17 #define dealii_distributed_tria_base_h 78 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> &
228 std::set<::types::subdomain_id>>
237 virtual std::vector<types::boundary_id>
246 virtual std::vector<types::manifold_id>
303 const std::vector<bool> &vertex_locally_moved);
394 template <
int dim,
int spacedim = dim>
444 template <
int dim,
int spacedim = dim>
454 const typename ::Triangulation<dim, spacedim>::MeshSmoothing
468 typename ::Triangulation<dim, spacedim>::cell_iterator;
471 typename ::Triangulation<dim, spacedim>::CellStatus;
481 save(
const std::string &filename)
const = 0;
489 load(
const std::string &filename,
const bool autopartition =
true) = 0;
600 register_data_attach(
603 const bool returns_variable_size_data);
654 notify_ready_to_unpack(
655 const unsigned int handle,
659 const boost::iterator_range<std::vector<char>::const_iterator> &)>
670 save_attached_data(
const unsigned int global_first_cell,
671 const unsigned int global_num_cells,
672 const std::string &filename)
const;
682 load_attached_data(
const unsigned int global_first_cell,
683 const unsigned int global_num_cells,
684 const unsigned int local_num_cells,
685 const std::string &filename,
686 const unsigned int n_attached_deserialize_fixed,
687 const unsigned int n_attached_deserialize_variable);
697 update_cell_relations() = 0;
737 typename ::Triangulation<dim, spacedim>::cell_iterator,
738 typename ::Triangulation<dim, spacedim>::CellStatus)>;
772 pack_data(
const std::vector<cell_relation_t> &cell_relations,
773 const std::vector<typename CellAttachedData::pack_callback_t>
774 &pack_callbacks_fixed,
775 const std::vector<typename CellAttachedData::pack_callback_t>
776 &pack_callbacks_variable);
788 unpack_cell_status(std::vector<cell_relation_t> &cell_relations)
const;
804 const std::vector<cell_relation_t> &cell_relations,
805 const unsigned int handle,
806 const std::function<
void(
807 const typename ::Triangulation<dim, spacedim>::cell_iterator &,
808 const typename ::Triangulation<dim, spacedim>::CellStatus &,
809 const boost::iterator_range<std::vector<char>::const_iterator> &)>
810 &unpack_callback)
const;
827 save(
const unsigned int global_first_cell,
828 const unsigned int global_num_cells,
829 const std::string &filename)
const;
850 load(
const unsigned int global_first_cell,
851 const unsigned int global_num_cells,
852 const unsigned int local_num_cells,
853 const std::string &filename,
854 const unsigned int n_attached_deserialize_fixed,
855 const unsigned int n_attached_deserialize_variable);
virtual types::global_cell_index n_global_active_cells() const override
const std::set< types::subdomain_id > & level_ghost_owners() const
const Utilities::MPI::Partitioner & global_level_cell_index_partitioner(const unsigned int level) const
std::vector< char > src_data_variable
virtual std::vector< types::boundary_id > get_boundary_ids() const override
const std::set< types::subdomain_id > & ghost_owners() const
DataTransfer data_transfer
unsigned int n_attached_deserialize
std::vector< int > dest_sizes_variable
virtual void copy_triangulation(const ::Triangulation< dim, spacedim > &old_tria) override
MPI_Comm mpi_communicator
MeshSmoothing smooth_grid
std::vector< char > dest_data_fixed
MPI_Comm mpi_communicator
virtual std::vector< types::manifold_id > get_manifold_ids() const override
unsigned int n_global_levels
virtual ~TriangulationBase() override
std::vector< Utilities::MPI::Partitioner > level_cell_index_partitioners
std::vector< pack_callback_t > pack_callbacks_variable
std::set< types::subdomain_id > ghost_owners
virtual std::size_t memory_consumption() const override
virtual bool is_multilevel_hierarchy_constructed() const =0
const bool check_for_distorted_cells
std::vector< char > src_data_fixed
void load(Archive &ar, const unsigned int version)
std::function< std::vector< char >(typename ::Triangulation< dim, spacedim >::cell_iterator, typename ::Triangulation< dim, spacedim >::CellStatus)> pack_callback_t
#define DEAL_II_NAMESPACE_CLOSE
types::global_cell_index n_global_active_cells
typename std::tuple< CellStatus, cell_iterator > cell_relation_t
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)
types::subdomain_id locally_owned_subdomain() const override
void save(Archive &ar, const unsigned int version) const
void communicate_locally_moved_vertices(const std::vector< bool > &vertex_locally_moved)
virtual const MPI_Comm & get_communicator() const
CellAttachedData cell_attached_data
std::set< types::subdomain_id > level_ghost_owners
virtual std::map< unsigned int, std::set<::types::subdomain_id > > compute_vertices_with_ghost_neighbors() const
void update_reference_cells() override
virtual void update_number_cache()
typename ::Triangulation< dim, spacedim >::cell_iterator cell_iterator
unsigned int n_locally_owned_active_cells() const
const Utilities::MPI::Partitioner & global_active_cell_index_partitioner() const
void reset_global_cell_indices()
#define DEAL_II_NAMESPACE_OPEN
virtual unsigned int n_global_levels() const override
bool variable_size_data_stored
Utilities::MPI::Partitioner active_cell_index_partitioner
std::vector< unsigned int > sizes_fixed_cumulative
unsigned int n_locally_owned_active_cells
types::subdomain_id my_subdomain
unsigned int n_attached_data_sets
std::vector< int > src_sizes_variable
#define DEAL_II_DEPRECATED
std::vector< cell_relation_t > local_cell_relations
std::vector< char > dest_data_variable
std::vector< pack_callback_t > pack_callbacks_fixed
types::subdomain_id n_subdomains