Skip to content

Commit bb11d08

Browse files
authored
Merge pull request dealii#18864 from peterrum/mg_transfer_mf_clean_up
MGTransferMF: clean up
2 parents 0c5890f + 4804d9e commit bb11d08

File tree

9 files changed

+17
-626
lines changed

9 files changed

+17
-626
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Removed: The classes MGTransferMF, MGTransferGlobalCoarsening, MGTransferBlockMF, and MGTransferBlockGlobalCoarsening
2+
have been deprecated. Their functionalities are now part of MGTransferMatrixFree and MGTransferBlockMatrixFree.
3+
<br>
4+
(Peter Munch, 2025/09/12)

examples/step-37/doc/results.dox

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -684,7 +684,7 @@ one hand, increasing the polynomial degree to three or four will further
684684
improve the time per unknown. (Even higher degrees typically get slower again,
685685
because the multigrid iteration counts increase slightly with the chosen
686686
simple smoother. One could then use hybrid multigrid algorithms to use
687-
polynomial coarsening through MGTransferGlobalCoarsening, to reduce the impact
687+
polynomial coarsening through MGTransferMatrixFree, to reduce the impact
688688
of the coarser level on the communication latency.) A more significant
689689
improvement can be obtained by data-locality optimizations. The class
690690
PreconditionChebyshev, when combined with a `DiagonalMatrix` inner

examples/step-59/doc/results.dox

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -357,8 +357,8 @@ Another way of extending the program would be to include support for adaptive
357357
meshes. While the classical approach of defining interface operations at edges
358358
of different refinement level, as discussed in step-39, is one possibility,
359359
for Poisson-type problems another option is typically more beneficial. Using
360-
the class MGTransferGlobalCoarsening, which is explained in the step-75
361-
tutorial program, one can deal with meshes of hanging nodes on all levels. An
360+
the class MGTransferMatrixFree, which is explained in the step-75
361+
tutorial program, one can also deal with meshes of hanging nodes on all levels. An
362362
algorithmic improvement can be obtained by combining the discontinuous
363363
function space with the auxiliary continuous finite element space of the same
364364
polynomial degree. This idea, introduced by Antonietti et al.
@@ -370,7 +370,7 @@ spaces. The latter work also proposes p-multigrid techniques and combination
370370
with algebraic multigrid coarse spaces as a means to efficiently solve Poisson
371371
problems with high-order discontinuous Galerkin discretizations on complicated
372372
geometries, representing the current state-of-the-art for simple Poisson-type
373-
problems. The class MGTransferGlobalCoarsening provides features for each of
373+
problems. The class MGTransferMatrixFree provides features for each of
374374
these three coarsening variants, the discontinuous-continuous auxiliary
375375
function concept, p-multigrid, and traditional h-multigrid. The main
376376
ingredient is to define an appropriate MGTwoLevelTransfer object and call

examples/step-75/doc/intro.dox

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ solver to a hybrid multigrid solver.
224224
We will create a custom hybrid multigrid preconditioner with the special
225225
level requirements as described above with the help of the existing
226226
global-coarsening infrastructure via the use of
227-
MGTransferGlobalCoarsening.
227+
MGTransferMatrixFree.
228228

229229

230230
<h3>The test case</h3>

examples/step-75/step-75.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -635,7 +635,7 @@ namespace Step75
635635
// The above function deals with the actual solution for a given sequence of
636636
// multigrid objects. This functions creates the actual multigrid levels, in
637637
// particular the operators, and the transfer operator as a
638-
// MGTransferGlobalCoarsening object.
638+
// MGTransferMatrixFree object.
639639
template <typename VectorType, typename OperatorType, int dim>
640640
void solve_with_gmg(SolverControl &solver_control,
641641
const OperatorType &system_matrix,
@@ -804,7 +804,7 @@ namespace Step75
804804
constraints[level + 1],
805805
constraints[level]);
806806

807-
MGTransferGlobalCoarsening<dim, VectorType> transfer(
807+
MGTransferMatrixFree<dim, typename VectorType::value_type> transfer(
808808
transfers, [&](const auto l, auto &vec) {
809809
operators[l]->initialize_dof_vector(vec);
810810
});

examples/step-87/doc/results.dox

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ the computational mesh. This is useful if one wants to output the results
257257
on a coarser mesh or one does not want to output 3D results but instead 2D
258258
slices. In addition, MGTwoLevelTransferNonNested allows to prolongate solutions
259259
and restrict residuals between two independent meshes. By passing a sequence
260-
of such two-level transfer operators to MGTransferMF and, finally, to Multigrid,
260+
of such two-level transfer operators to MGTransferMatrixFree and, finally, to Multigrid,
261261
non-nested multigrid can be computed.
262262
- Utilities::MPI::RemotePointEvaluation can be used to couple non-matching
263263
grids via surfaces (example: fluid-structure interaction, independently created

include/deal.II/multigrid/mg_transfer_global_coarsening.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,19 +138,20 @@ namespace MGTransferGlobalCoarseningTools
138138

139139

140140
template <int dim, typename Number>
141-
using MGTransferMF = MGTransferMatrixFree<dim, Number>;
141+
using MGTransferMF DEAL_II_DEPRECATED_EARLY = MGTransferMatrixFree<dim, Number>;
142142

143143
template <int dim, typename Number>
144-
using MGTransferBlockMF = MGTransferBlockMatrixFree<dim, Number>;
144+
using MGTransferBlockMF DEAL_II_DEPRECATED_EARLY =
145+
MGTransferBlockMatrixFree<dim, Number>;
145146

146147
template <int dim, typename VectorType>
147-
using MGTransferGlobalCoarsening =
148+
using MGTransferGlobalCoarsening DEAL_II_DEPRECATED_EARLY =
148149
MGTransferMatrixFree<dim,
149150
typename VectorType::value_type,
150151
::dealii::MemorySpace::Host>;
151152

152153
template <int dim, typename VectorType>
153-
using MGTransferBlockGlobalCoarsening =
154+
using MGTransferBlockGlobalCoarsening DEAL_II_DEPRECATED_EARLY =
154155
MGTransferBlockMatrixFree<dim, typename VectorType::value_type>;
155156

156157

0 commit comments

Comments
 (0)