17#ifndef dealii_mg_transfer_internal_h
18#define dealii_mg_transfer_internal_h
44 template <
int dim,
int spacedim>
49 std::vector<std::vector<
50 std::pair<types::global_dof_index, types::global_dof_index>>>
52 std::vector<std::vector<
53 std::pair<types::global_dof_index, types::global_dof_index>>>
54 ©_indices_global_mine,
55 std::vector<std::vector<
56 std::pair<types::global_dof_index, types::global_dof_index>>>
57 & copy_indices_level_mine,
58 const bool skip_interface_dofs =
true);
70 const unsigned int fe_shift_1d,
71 const unsigned int fe_degree);
78 template <
typename Number>
122 template <
int dim,
typename Number>
127 const std::vector<std::shared_ptr<const Utilities::MPI::Partitioner>>
128 & external_partitioners,
130 std::vector<std::vector<unsigned int>> &level_dof_indices,
131 std::vector<std::vector<std::pair<unsigned int, unsigned int>>>
132 & parent_child_connect,
133 std::vector<unsigned int> &n_owned_level_cells,
134 std::vector<std::vector<std::vector<unsigned short>>> &dirichlet_indices,
135 std::vector<std::vector<Number>> & weights_on_refined,
137 MGLevelObject<std::shared_ptr<const Utilities::MPI::Partitioner>>
138 &vector_partitioners);
150 const unsigned int level,
151 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