* @note: If @p i is contained in the list of processor @p j, then @p j
* will also be contained in the list of processor @p i.
*/
- const std::set<unsigned int> &ghost_owners () const;
+ const std::set<types::subdomain_id> &
+ ghost_owners () const;
/**
* Return a set of MPI ranks of the processors that have at least one
* @note: If @p i is contained in the list of processor @p j, then @p j
* will also be contained in the list of processor @p i.
*/
- const std::set<unsigned int> &level_ghost_owners () const;
+ const std::set<types::subdomain_id> &
+ level_ghost_owners () const;
protected:
/**
* This vector stores the number of locally owned active cells per MPI
* rank.
*/
- std::vector<unsigned int> n_locally_owned_active_cells;
+ std::vector<unsigned int> n_locally_owned_active_cells;
/**
* The total number of active cells (sum of @p
* n_locally_owned_active_cells).
*/
- types::global_dof_index n_global_active_cells;
+ types::global_dof_index n_global_active_cells;
/**
* The global number of levels computed as the maximum number of levels
* taken over all MPI ranks, so <tt>n_levels()<=n_global_levels =
* max(n_levels() on proc i)</tt>.
*/
- unsigned int n_global_levels;
+ unsigned int n_global_levels;
/**
* A set containing the subdomain_id (MPI rank) of the owners of the
* ghost cells on this processor.
*/
- std::set<unsigned int> ghost_owners;
+ std::set<types::subdomain_id> ghost_owners;
/**
* A set containing the MPI ranks of the owners of the level ghost cells
* on this processor (for all levels).
*/
- std::set<unsigned int> level_ghost_owners;
+ std::set<types::subdomain_id> level_ghost_owners;
NumberCache();
};
* Update the number_cache variable after mesh creation or refinement.
*/
virtual void update_number_cache ();
-
-
};
} // namespace parallel
template <int dim, int spacedim>
void
- match_quadrant (const dealii::Triangulation<dim,spacedim> *tria,
- unsigned int dealii_index,
+ match_quadrant (const dealii::Triangulation<dim,spacedim> *tria,
+ unsigned int dealii_index,
typename internal::p4est::types<dim>::quadrant &ghost_quadrant,
- unsigned int ghost_owner)
+ types::subdomain_id ghost_owner)
{
int i, child_id;
int l = ghost_quadrant.level;
void build_lists (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
const typename internal::p4est::types<dim>::quadrant &p4est_cell,
- const unsigned int myid);
+ const types::subdomain_id myid);
};
int dummy = 0;
unsigned int req_counter = 0;
- for (std::set<unsigned int>::iterator it = this->number_cache.level_ghost_owners.begin();
+ for (std::set<types::subdomain_id>::iterator it = this->number_cache.level_ghost_owners.begin();
it != this->number_cache.level_ghost_owners.end();
++it, ++req_counter)
{
- MPI_Isend(&dummy, 1, MPI_INT,
+ Assert (typeid(types::subdomain_id)
+ == typeid(unsigned int),
+ ExcNotImplemented());
+ MPI_Isend(&dummy, 1, MPI_UNSIGNED,
*it, 9001, this->mpi_communicator,
&requests[req_counter]);
}
- for (std::set<unsigned int>::iterator it = this->number_cache.level_ghost_owners.begin();
+ for (std::set<types::subdomain_id>::iterator it = this->number_cache.level_ghost_owners.begin();
it != this->number_cache.level_ghost_owners.end();
++it)
{
- int dummy;
- MPI_Recv(&dummy, 1, MPI_INT,
+ Assert (typeid(types::subdomain_id)
+ == typeid(unsigned int),
+ ExcNotImplemented());
+ unsigned int dummy;
+ MPI_Recv(&dummy, 1, MPI_UNSIGNED,
*it, 9001, this->mpi_communicator,
MPI_STATUS_IGNORE);
}
}
#endif
- Assert(this->number_cache.level_ghost_owners.size() < Utilities::MPI::n_mpi_processes(this->mpi_communicator), ExcInternalError());
+ Assert(this->number_cache.level_ghost_owners.size() < Utilities::MPI::n_mpi_processes(this->mpi_communicator),
+ ExcInternalError());
}
}
// every ghostquadrant, find corresponding deal coarsecell and
// recurse.
typename dealii::internal::p4est::types<dim>::quadrant *quadr;
- unsigned int ghost_owner=0;
+ types::subdomain_id ghost_owner=0;
typename dealii::internal::p4est::types<dim>::topidx ghost_tree=0;
for (unsigned int g_idx=0; g_idx<parallel_ghost->ghosts.elem_count; ++g_idx)