16 #ifndef dealii_mg_tools_h
17 #define dealii_mg_tools_h
34 template <
int dim,
int spacedim>
56 template <
int dim,
int spacedim>
60 const unsigned int level,
61 std::vector<unsigned int> & row_lengths,
68 template <
int dim,
int spacedim>
71 const unsigned int level,
72 std::vector<unsigned int> & row_lengths,
88 template <
int dim,
int spacedim,
typename number =
double>
93 const unsigned int level,
95 const bool keep_constrained_dofs =
true);
105 template <
int dim,
int spacedim,
typename number =
double>
110 const unsigned int level,
112 const bool keep_constrained_dofs =
true);
121 template <
int dim,
int spacedim>
125 const unsigned int level);
135 template <
int dim,
int spacedim>
139 const unsigned int level,
151 template <
int dim,
int spacedim>
156 const unsigned int level,
166 template <
int dim,
int spacedim>
171 const unsigned int level);
180 template <
int dim,
int spacedim>
184 std::vector<std::vector<types::global_dof_index>> &dofs_per_block,
185 std::vector<unsigned int> target_block = {});
194 template <
int dim,
int spacedim>
198 std::vector<std::vector<types::global_dof_index>> &result,
199 const bool only_once =
false,
200 std::vector<unsigned int> target_component = {});
221 template <
int dim,
int spacedim>
227 std::vector<std::set<types::global_dof_index>> &boundary_indices,
237 template <
int dim,
int spacedim>
242 std::vector<IndexSet> &boundary_indices,
252 template <
int dim,
int spacedim>
255 const std::set<types::boundary_id> &boundary_ids,
256 std::vector<IndexSet> & boundary_indices,
264 template <
int dim,
int spacedim>
267 std::vector<IndexSet> & interface_dofs);
278 template <
int dim,
int spacedim>
292 template <
int dim,
int spacedim>
293 std::vector<types::global_dof_index>
303 template <
int dim,
int spacedim>
304 std::vector<types::global_dof_index>
327 template <
int dim,
int spacedim>
336 template <
int dim,
int spacedim>
349 template <
int dim,
int spacedim>
350 std::vector<std::pair<types::global_dof_index, types::global_dof_index>>
361 template <
int dim,
int spacedim>
362 std::vector<std::pair<types::global_dof_index, types::global_dof_index>>
378 template <
int dim,
int spacedim>
387 template <
int dim,
int spacedim>
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
const ::Triangulation< dim, spacedim > & tria