/* --------------------- class ParallelDistributed ---------------- */
+
+#ifdef DEAL_II_WITH_P4EST
+
namespace
{
template <int dim, int spacedim>
const DoFHandlerType &dof_handler,
const std::map<unsigned int, std::set<dealii::types::subdomain_id>> &)
{
-#ifndef DEAL_II_WITH_MPI
+# ifndef DEAL_II_WITH_MPI
(void)vertices_with_ghost_neighbors;
Assert(false, ExcNotImplemented());
-#else
+# else
const unsigned int dim = DoFHandlerType::dimension;
const unsigned int spacedim = DoFHandlerType::space_dimension;
// nothing we need to send that hasn't been sent so far.
// so return an empty array, but also verify that indeed
// the cell is complete
-# ifdef DEBUG
+# ifdef DEBUG
std::vector<types::global_dof_index> local_dof_indices(
cell->get_fe().dofs_per_cell);
cell->get_dof_indices(local_dof_indices);
numbers::invalid_dof_index) ==
local_dof_indices.end());
Assert(is_complete, ExcInternalError());
-# endif
+# endif
return std_cxx17::optional<
std::vector<types::global_dof_index>>();
}
"The function communicate_dof_indices_on_marked_cells() "
"only works with parallel distributed triangulations."));
}
-#endif
+# endif
}
} // namespace
+#endif // DEAL_II_WITH_P4EST
template <class DoFHandlerType>
NumberCache
ParallelDistributed<DoFHandlerType>::distribute_dofs() const
{
+#ifndef DEAL_II_WITH_P4EST
+ Assert(false, ExcNotImplemented());
+ return NumberCache();
+#else
const unsigned int dim = DoFHandlerType::dimension;
const unsigned int spacedim = DoFHandlerType::space_dimension;
// at this point, we must have taken care of the data transfer
// on all cells we had previously marked. verify this
-#ifdef DEBUG
+# ifdef DEBUG
for (const auto &cell : dof_handler->active_cell_iterators())
Assert(cell->user_flag_set() == false, ExcInternalError());
-#endif
+# endif
triangulation->load_user_flags(user_flags);
}
-#ifdef DEBUG
+# ifdef DEBUG
// check that we are really done
{
std::vector<dealii::types::global_dof_index> local_dof_indices;
}
}
}
-#endif // DEBUG
+# endif // DEBUG
return number_cache;
+#endif // DEAL_II_WITH_P4EST
}
std::vector<NumberCache>
ParallelDistributed<DoFHandlerType>::distribute_mg_dofs() const
{
+#ifndef DEAL_II_WITH_P4EST
+ Assert(false, ExcNotImplemented());
+ return std::vector<NumberCache>();
+#else
const unsigned int dim = DoFHandlerType::dimension;
const unsigned int spacedim = DoFHandlerType::space_dimension;
// in Phase 1.
communicate_mg_ghost_cells(*triangulation, *dof_handler);
-#ifdef DEBUG
+# ifdef DEBUG
// make sure we have removed all flags:
{
typename DoFHandlerType::level_cell_iterator cell,
!cell->is_locally_owned_on_level())
Assert(cell->user_flag_set() == false, ExcInternalError());
}
-#endif
+# endif
triangulation->load_user_flags(user_flags);
}
-#ifdef DEBUG
+# ifdef DEBUG
// check that we are really done
{
std::vector<dealii::types::global_dof_index> local_dof_indices;
}
}
}
-#endif // DEBUG
+# endif // DEBUG
return number_caches;
+#endif // DEAL_II_WITH_P4EST
}
Assert(new_numbers.size() == dof_handler->n_locally_owned_dofs(),
ExcInternalError());
+#ifndef DEAL_II_WITH_P4EST
+ Assert(false, ExcNotImplemented());
+ return NumberCache();
+#else
const unsigned int dim = DoFHandlerType::dimension;
const unsigned int spacedim = DoFHandlerType::space_dimension;
number_cache.locally_owned_dofs.n_elements();
return number_cache;
}
+#endif // DEAL_II_WITH_P4EST
}