Skip to content

Commit

Permalink
Add performs_global_coarsening()
Browse files Browse the repository at this point in the history
  • Loading branch information
peterrum committed Dec 5, 2023
1 parent 9b505b5 commit 4a34731
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
9 changes: 9 additions & 0 deletions include/deal.II/multigrid/mg_transfer_matrix_free.h
Original file line number Diff line number Diff line change
Expand Up @@ -1167,6 +1167,15 @@ class MGTransferMatrixFree : public dealii::MGLevelGlobalTransfer<
void
clear();

/**
* Indicate if global coarsening or local smoothing is performed. Note
* that in the case local smoothing copy_to_mg() and copy_from_mg()
* are more complex and edge constraints need to be considered during
* the multigrid algorithm.
*/
bool
performs_global_coarsening() const;

/** @} */

private:
Expand Down
8 changes: 8 additions & 0 deletions include/deal.II/multigrid/mg_transfer_matrix_free.templates.h
Original file line number Diff line number Diff line change
Expand Up @@ -4320,6 +4320,14 @@ MGTransferMatrixFree<dim, Number>::clear()
}


template <int dim, typename Number>
inline bool
MGTransferMatrixFree<dim, Number>::performs_global_coarsening() const
{
return this->perform_plain_copy || this->perform_renumbered_plain_copy;
}



template <int dim, typename Number>
MGTransferBlockMatrixFree<dim, Number>::MGTransferBlockMatrixFree(
Expand Down

0 comments on commit 4a34731

Please sign in to comment.