16 #ifndef dealii_mg_tools_h 17 #define dealii_mg_tools_h 19 #include <deal.II/base/config.h> 20 #include <deal.II/base/index_set.h> 21 #include <deal.II/dofs/dof_tools.h> 22 #include <deal.II/dofs/dof_handler.h> 28 DEAL_II_NAMESPACE_OPEN
30 template <
int dim,
int spacedim>
class DoFHandler;
50 template <
int dim,
int spacedim>
53 const unsigned int level,
54 std::vector<unsigned int> &row_lengths,
61 template <
int dim,
int spacedim>
64 const unsigned int level,
65 std::vector<unsigned int> &row_lengths,
78 template <
typename DoFHandlerType,
typename SparsityPatternType>
81 SparsityPatternType &sparsity,
82 const unsigned int level);
92 template <
int dim,
typename SparsityPatternType,
int spacedim>
95 SparsityPatternType &sparsity,
96 const unsigned int level);
104 template <
int dim,
typename SparsityPatternType,
int spacedim>
107 SparsityPatternType &sparsity,
108 const unsigned int level);
118 template <
int dim,
typename SparsityPatternType,
int spacedim>
121 SparsityPatternType &sparsity,
122 const unsigned int level,
134 template <
int dim,
typename SparsityPatternType,
int spacedim>
137 SparsityPatternType &sparsity,
138 const unsigned int level,
147 template <
typename DoFHandlerType,
typename SparsityPatternType>
151 SparsityPatternType &sparsity,
152 const unsigned int level);
161 template <
typename DoFHandlerType>
164 std::vector<std::vector<types::global_dof_index> > &dofs_per_block,
165 std::vector<unsigned int> target_block = std::vector<unsigned int>());
174 template <
int dim,
int spacedim>
177 std::vector<std::vector<types::global_dof_index> > &result,
178 const bool only_once =
false,
179 std::vector<unsigned int> target_component = std::vector<unsigned int>());
200 template <
int dim,
int spacedim>
204 std::vector<std::set<types::global_dof_index> > &boundary_indices,
214 template <
int dim,
int spacedim>
218 std::vector<IndexSet> &boundary_indices,
228 template <
int dim,
int spacedim>
231 const std::set<types::boundary_id> &boundary_ids,
232 std::vector<IndexSet> &boundary_indices,
240 template <
int dim,
int spacedim>
243 std::vector<IndexSet> &interface_dofs);
246 template <
int dim,
int spacedim>
249 std::vector<std::set<types::global_dof_index> > &non_interface_dofs);
259 template <
int dim,
int spacedim>
266 DEAL_II_NAMESPACE_CLOSE
std::map< types::boundary_id, const Function< dim, Number > * > type