deal.II version GIT relicensing-2291-g668cd86249 2024-12-24 11:30:00+00:00
|
Classes | |
struct | DoFPair |
struct | ElementInfo |
Functions | |
template<int dim, int spacedim> | |
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) |
template<int dim> | |
unsigned int | compute_shift_within_children (const unsigned int child, const unsigned int fe_shift_1d, const unsigned int fe_degree) |
template<int dim, typename Number > | |
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 | resolve_identity_constraints (const MGConstrainedDoFs *mg_constrained_dofs, const unsigned int level, std::vector< types::global_dof_index > &dof_indices) |
void | reinit_level_partitioner (const IndexSet &locally_owned, std::vector< types::global_dof_index > &ghosted_level_dofs, const std::shared_ptr< const Utilities::MPI::Partitioner > &external_partitioner, const MPI_Comm communicator, std::shared_ptr< const Utilities::MPI::Partitioner > &target_partitioner, Table< 2, unsigned int > ©_indices_global_mine) |
void | copy_indices_to_mpi_local_numbers (const Utilities::MPI::Partitioner &part, const std::vector< types::global_dof_index > &mine, const std::vector< types::global_dof_index > &remote, std::vector< unsigned int > &localized_indices) |
template<int dim> | |
void | add_child_indices (const unsigned int child, const unsigned int fe_shift_1d, const unsigned int fe_degree, const std::vector< unsigned int > &lexicographic_numbering, const std::vector< types::global_dof_index > &local_dof_indices, types::global_dof_index *target_indices) |
template<int dim, typename Number > | |
void | setup_element_info (ElementInfo< Number > &elem_info, const FiniteElement< 1 > &fe, const DoFHandler< dim > &dof_handler) |
void internal::MGTransfer::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 > > > & | copy_indices, | ||
std::vector< std::vector< std::pair< types::global_dof_index, types::global_dof_index > > > & | copy_indices_global_mine, | ||
std::vector< std::vector< std::pair< types::global_dof_index, types::global_dof_index > > > & | copy_indices_level_mine, | ||
const bool | skip_interface_dofs = true |
||
) |
Internal function for filling the copy indices from global to level indices
If skip_interface_dofs
is false, the mapping will also contain DoFs at the interface between levels. This is desirable when transferring solution vectors instead of residuals.
Definition at line 60 of file mg_transfer_internal.cc.
unsigned int internal::MGTransfer::compute_shift_within_children | ( | const unsigned int | child, |
const unsigned int | fe_shift_1d, | ||
const unsigned int | fe_degree | ||
) |
Given the collection of child cells in lexicographic ordering as seen from the parent, this function computes the first index of the given child
Definition at line 484 of file mg_transfer_internal.cc.
void internal::MGTransfer::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 > > & | copy_indices_global_mine, | ||
MGLevelObject< std::shared_ptr< const Utilities::MPI::Partitioner > > & | vector_partitioners | ||
) |
Set up most of the internal data structures of MGTransferMatrixFree
Definition at line 615 of file mg_transfer_internal.cc.
void internal::MGTransfer::resolve_identity_constraints | ( | const MGConstrainedDoFs * | mg_constrained_dofs, |
const unsigned int | level, | ||
std::vector< types::global_dof_index > & | dof_indices | ||
) |
Helper function for setup_transfer. Checks for identity constrained dofs and replace with the indices of the dofs to which they are constrained
Definition at line 1006 of file mg_transfer_internal.cc.
void internal::MGTransfer::reinit_level_partitioner | ( | const IndexSet & | locally_owned, |
std::vector< types::global_dof_index > & | ghosted_level_dofs, | ||
const std::shared_ptr< const Utilities::MPI::Partitioner > & | external_partitioner, | ||
const MPI_Comm | communicator, | ||
std::shared_ptr< const Utilities::MPI::Partitioner > & | target_partitioner, | ||
Table< 2, unsigned int > & | copy_indices_global_mine | ||
) |
Definition at line 395 of file mg_transfer_internal.cc.
|
inline |
Definition at line 461 of file mg_transfer_internal.cc.
void internal::MGTransfer::add_child_indices | ( | const unsigned int | child, |
const unsigned int | fe_shift_1d, | ||
const unsigned int | fe_degree, | ||
const std::vector< unsigned int > & | lexicographic_numbering, | ||
const std::vector< types::global_dof_index > & | local_dof_indices, | ||
types::global_dof_index * | target_indices | ||
) |
Definition at line 514 of file mg_transfer_internal.cc.
void internal::MGTransfer::setup_element_info | ( | ElementInfo< Number > & | elem_info, |
const FiniteElement< 1 > & | fe, | ||
const DoFHandler< dim > & | dof_handler | ||
) |
Definition at line 551 of file mg_transfer_internal.cc.