17 #ifndef dealii_mg_transfer_internal_h 18 #define dealii_mg_transfer_internal_h 20 #include <deal.II/base/mg_level_object.h> 21 #include <deal.II/dofs/dof_handler.h> 22 #include <deal.II/lac/la_parallel_vector.h> 23 #include <deal.II/multigrid/mg_constrained_dofs.h> 25 DEAL_II_NAMESPACE_OPEN
40 template <
int dim,
int spacedim>
41 void fill_copy_indices(const ::DoFHandler<dim,spacedim> &mg_dof,
43 std::vector<std::vector<std::pair<types::global_dof_index, types::global_dof_index> > > ©_indices,
44 std::vector<std::vector<std::pair<types::global_dof_index, types::global_dof_index> > > ©_indices_global_mine,
45 std::vector<std::vector<std::pair<types::global_dof_index, types::global_dof_index> > > ©_indices_level_mine,
46 const bool skip_interface_dofs =
true);
57 compute_shift_within_children(
const unsigned int child,
58 const unsigned int fe_shift_1d,
59 const unsigned int fe_degree);
66 template <
typename Number>
111 template <
int dim,
typename Number>
112 void setup_transfer(const ::DoFHandler<dim> &mg_dof,
115 std::vector<std::vector<unsigned int> > &level_dof_indices,
116 std::vector<std::vector<std::pair<unsigned int,unsigned int> > > &parent_child_connect,
117 std::vector<unsigned int> &n_owned_level_cells,
118 std::vector<std::vector<std::vector<unsigned short> > > &dirichlet_indices,
119 std::vector<std::vector<Number> > &weights_on_refined,
120 std::vector<std::vector<std::pair<unsigned int, unsigned int> > > ©_indices_global_mine,
126 DEAL_II_NAMESPACE_CLOSE
unsigned int n_components
bool element_is_continuous
std::vector< Number > prolongation_matrix_1d
unsigned int n_child_cell_dofs
std::vector< unsigned int > lexicographic_numbering