16#ifndef dealii_mg_transfer_internal_h
17#define dealii_mg_transfer_internal_h
43 template <
int dim,
int spacedim>
48 std::vector<std::vector<
49 std::pair<types::global_dof_index, types::global_dof_index>>>
51 std::vector<std::vector<
52 std::pair<types::global_dof_index, types::global_dof_index>>>
53 ©_indices_global_mine,
54 std::vector<std::vector<
55 std::pair<types::global_dof_index, types::global_dof_index>>>
56 ©_indices_level_mine,
57 const bool skip_interface_dofs =
true);
69 const unsigned int fe_shift_1d,
70 const unsigned int fe_degree);
77 template <
typename Number>
121 template <
int dim,
typename Number>
126 const std::vector<std::shared_ptr<const Utilities::MPI::Partitioner>>
127 &external_partitioners,
129 std::vector<std::vector<unsigned int>> &level_dof_indices,
130 std::vector<std::vector<std::pair<unsigned int, unsigned int>>>
131 &parent_child_connect,
132 std::vector<unsigned int> &n_owned_level_cells,
133 std::vector<std::vector<std::vector<unsigned short>>> &dirichlet_indices,
134 std::vector<std::vector<Number>> &weights_on_refined,
136 MGLevelObject<std::shared_ptr<const Utilities::MPI::Partitioner>>
137 &vector_partitioners);
149 const unsigned int level,
150 std::vector<types::global_dof_index> &dof_indices);
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
void resolve_identity_constraints(const MGConstrainedDoFs *mg_constrained_dofs, const unsigned int level, std::vector< types::global_dof_index > &dof_indices)
unsigned int compute_shift_within_children(const unsigned int child, const unsigned int fe_shift_1d, const unsigned int fe_degree)
void setup_transfer(const DoFHandler< dim > &dof_handler, const MGConstrainedDoFs *mg_constrained_dofs, const std::vector< std::shared_ptr< const Utilities::MPI::Partitioner > > &external_partitioners, ElementInfo< Number > &elem_info, std::vector< std::vector< unsigned int > > &level_dof_indices, std::vector< std::vector< std::pair< unsigned int, unsigned int > > > &parent_child_connect, std::vector< unsigned int > &n_owned_level_cells, std::vector< std::vector< std::vector< unsigned short > > > &dirichlet_indices, std::vector< std::vector< Number > > &weights_on_refined, std::vector< Table< 2, unsigned int > > ©_indices_global_mine, MGLevelObject< std::shared_ptr< const Utilities::MPI::Partitioner > > &vector_partitioners)
void fill_copy_indices(const DoFHandler< dim, spacedim > &dof_handler, const MGConstrainedDoFs *mg_constrained_dofs, std::vector< std::vector< std::pair< types::global_dof_index, types::global_dof_index > > > ©_indices, std::vector< std::vector< std::pair< types::global_dof_index, types::global_dof_index > > > ©_indices_global_mine, std::vector< std::vector< std::pair< types::global_dof_index, types::global_dof_index > > > ©_indices_level_mine, const bool skip_interface_dofs=true)
std::vector< Number > prolongation_matrix_1d
unsigned int n_child_cell_dofs
std::vector< unsigned int > lexicographic_numbering
bool element_is_continuous
unsigned int n_components