#ifdef DEBUG
- {
+ {MPI_Barrier(tr->get_communicator());
//check all msgs got sent and received
unsigned int sum_send=0;
unsigned int sum_recv=0;
unsigned int sent=needs_to_get_cells.size();
unsigned int recv=senders.size();
- MPI_Reduce(&sent, &sum_send, 1, MPI_UNSIGNED, MPI_SUM, 0, tr->get_communicator());
- MPI_Reduce(&recv, &sum_recv, 1, MPI_UNSIGNED, MPI_SUM, 0, tr->get_communicator());
+ MPI_Reduce(&sent, &sum_send, 1, MPI_UNSIGNED, MPI_SUM, 56345, tr->get_communicator());
+ MPI_Reduce(&recv, &sum_recv, 1, MPI_UNSIGNED, MPI_SUM, 56346, tr->get_communicator());
Assert(sum_send==sum_recv, ExcInternalError());
}
#endif
{
Assert (has_children.size () == levels.size (), ExcInternalError ());
- // In each refinement at most one new
- // new level may appear. If that happened
- // it is appended to the DoFHandler
- // levels.
- if (levels.size () < tria->n_levels ())
+ // Normally only one level is added, but if this Triangulation
+ // is created by copy_triangulation, it can be more than one level.
+ while (levels.size () < tria->n_levels ())
levels.push_back (new dealii::internal::hp::DoFLevel<dim>);
// Coarsening can lead to the loss
levels.pop_back ();
}
+ Assert(levels.size () == tria->n_levels (), ExcInternalError());
+
// Resize active_fe_indices
// vectors. use zero indicator to
// extend