]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Remove deprecated Multigrid related constructors 9750/head
authorDaniel Arndt <arndtd@ornl.gov>
Fri, 27 Mar 2020 14:56:21 +0000 (10:56 -0400)
committerDaniel Arndt <arndtd@ornl.gov>
Fri, 27 Mar 2020 16:48:49 +0000 (12:48 -0400)
53 files changed:
doc/news/changes/incompatibilities/20200327DanielArndt-1 [new file with mode: 0644]
include/deal.II/dofs/dof_handler.h
include/deal.II/multigrid/mg_block_smoother.h
include/deal.II/multigrid/mg_transfer.h
include/deal.II/multigrid/mg_transfer_block.h
include/deal.II/multigrid/multigrid.h
source/dofs/dof_handler.cc
source/multigrid/mg_transfer_prebuilt.cc
source/multigrid/multigrid.cc
tests/bits/step-16.cc
tests/matrix_free/cell_level_and_index.cc
tests/matrix_free/multigrid_dg_periodic.cc
tests/matrix_free/multigrid_dg_sip_01.cc
tests/matrix_free/multigrid_dg_sip_02.cc
tests/matrix_free/parallel_multigrid.cc
tests/matrix_free/parallel_multigrid_02.cc
tests/matrix_free/parallel_multigrid_adaptive_01.cc
tests/matrix_free/parallel_multigrid_adaptive_02.cc
tests/matrix_free/parallel_multigrid_adaptive_03.cc
tests/matrix_free/parallel_multigrid_adaptive_04.cc
tests/matrix_free/parallel_multigrid_adaptive_05.cc
tests/matrix_free/parallel_multigrid_adaptive_06ref.cc
tests/matrix_free/parallel_multigrid_adaptive_08.cc
tests/matrix_free/parallel_multigrid_fullydistributed.cc
tests/matrix_free/parallel_multigrid_mf.cc
tests/matrix_free/parallel_multigrid_mf_02.cc
tests/matrix_free/step-37.cc
tests/mpi/multigrid_adaptive.cc
tests/mpi/multigrid_uniform.cc
tests/mpi/step-39-block.cc
tests/mpi/step-39.cc
tests/multigrid/events_01.cc
tests/multigrid/mg_coarse_01.cc
tests/multigrid/mg_data_out_03.cc
tests/multigrid/mg_data_out_04.cc
tests/multigrid/mg_data_out_05.cc
tests/multigrid/mg_renumbered_01.cc
tests/multigrid/step-16-02.cc
tests/multigrid/step-16-03.cc
tests/multigrid/step-16-05.cc
tests/multigrid/step-16-06.cc
tests/multigrid/step-16-07.cc
tests/multigrid/step-16-50-mpi-linear-operator.cc
tests/multigrid/step-16-50-mpi-smoother.cc
tests/multigrid/step-16-50-mpi.cc
tests/multigrid/step-16-50-serial.cc
tests/multigrid/step-16-bdry1.cc
tests/multigrid/step-16.cc
tests/multigrid/step-39-02.cc
tests/multigrid/step-39-02a.cc
tests/multigrid/step-39-03.cc
tests/multigrid/step-39.cc
tests/multigrid/step-50_01.cc

diff --git a/doc/news/changes/incompatibilities/20200327DanielArndt-1 b/doc/news/changes/incompatibilities/20200327DanielArndt-1
new file mode 100644 (file)
index 0000000..4726b2a
--- /dev/null
@@ -0,0 +1,6 @@
+Removed: The deprecated functions DoFHandler::distribute_mg_dofs() and
+MGTransferPrebuilt::initialize_constraints() and deprecated constructors for
+MGSmootherBlock, MGTransferPrebuilt, MGTransferBlockBase and
+MGTransferBlockSelect have been removed.
+<br>
+(Daniel Arndt, 2020/03/27)
index 1572d52f99b6df4929c91496fdef22cfdd1c0bef..be7c0258fe7f676d07794f499abb50b0a9f2545a 100644 (file)
@@ -533,18 +533,6 @@ public:
   virtual void
   distribute_dofs(const FiniteElement<dim, spacedim> &fe);
 
-  /**
-   * Distribute level degrees of freedom on each level for geometric
-   * multigrid. The active DoFs need to be distributed using distribute_dofs()
-   * before calling this function and the @p fe needs to be identical to the
-   * finite element passed to distribute_dofs().
-   *
-   * @deprecated Use the version without parameter instead.
-   */
-  DEAL_II_DEPRECATED
-  virtual void
-  distribute_mg_dofs(const FiniteElement<dim, spacedim> &fe);
-
   /**
    * Distribute level degrees of freedom on each level for geometric
    * multigrid. The active DoFs need to be distributed using distribute_dofs()
index 2a1458baf909b7abb0e095d027dbac584bd083bc..2b32c1b2693177195ddb02bdbe5d73544bc7eb9f 100644 (file)
@@ -51,20 +51,6 @@ template <typename MatrixType, class RelaxationType, typename number>
 class MGSmootherBlock : public MGSmoother<BlockVector<number>>
 {
 public:
-  /**
-   * @deprecated Since GrowingVectorMemory now uses a joint memory pool, it is
-   * recommended to use the constructor without the memory object.
-   *
-   * Constructor. Sets memory and smoothing parameters.
-   */
-  DEAL_II_DEPRECATED
-  MGSmootherBlock(VectorMemory<BlockVector<number>> &mem,
-                  const unsigned int                 steps     = 1,
-                  const bool                         variable  = false,
-                  const bool                         symmetric = false,
-                  const bool                         transpose = false,
-                  const bool                         reverse   = false);
-
   /**
    * Constructor.
    */
@@ -149,19 +135,6 @@ private:
 
 #ifndef DOXYGEN
 
-template <typename MatrixType, class RelaxationType, typename number>
-inline MGSmootherBlock<MatrixType, RelaxationType, number>::MGSmootherBlock(
-  VectorMemory<BlockVector<number>> &mem,
-  const unsigned int                 steps,
-  const bool                         variable,
-  const bool                         symmetric,
-  const bool                         transpose,
-  const bool                         reverse)
-  : MGSmoother<BlockVector<number>>(steps, variable, symmetric, transpose)
-  , reverse(reverse)
-  , mem(&mem)
-{}
-
 template <typename MatrixType, class RelaxationType, typename number>
 inline MGSmootherBlock<MatrixType, RelaxationType, number>::MGSmootherBlock(
   const unsigned int steps,
index 89cef8c89c11928b4327d73a63bbe55ca7ea7359..4a87c0d404778d47c1fcb63a8a19305e44828a9d 100644 (file)
@@ -683,16 +683,6 @@ public:
    */
   MGTransferPrebuilt(const MGConstrainedDoFs &mg_constrained_dofs);
 
-  /**
-   * Constructor with constraints. Equivalent to the default constructor
-   * followed by initialize_constraints().
-   *
-   * @deprecated @p constraints is unused.
-   */
-  DEAL_II_DEPRECATED
-  MGTransferPrebuilt(const AffineConstraints<double> &constraints,
-                     const MGConstrainedDoFs &        mg_constrained_dofs);
-
   /**
    * Destructor.
    */
@@ -704,16 +694,6 @@ public:
   void
   initialize_constraints(const MGConstrainedDoFs &mg_constrained_dofs);
 
-  /**
-   * Initialize the constraints to be used in build().
-   *
-   * @deprecated @p constraints is unused.
-   */
-  DEAL_II_DEPRECATED
-  void
-  initialize_constraints(const AffineConstraints<double> &constraints,
-                         const MGConstrainedDoFs &        mg_constrained_dofs);
-
   /**
    * Reset the object to the state it had right after the default constructor.
    */
index b2536c1c3ddec8feaa13deb0d7aa025b864f7f04..03a28cde9ff4f33d6e1ecb7975fcf83cb105e455 100644 (file)
@@ -74,15 +74,6 @@ public:
    */
   MGTransferBlockBase(const MGConstrainedDoFs &mg_constrained_dofs);
 
-  /**
-   * Constructor with constraint matrices as well as mg_constrained_dofs.
-   *
-   * @deprecated @p constraints is unused.
-   */
-  DEAL_II_DEPRECATED
-  MGTransferBlockBase(const AffineConstraints<double> &constraints,
-                      const MGConstrainedDoFs &        mg_constrained_dofs);
-
   /**
    * Memory used by this object.
    */
@@ -352,15 +343,6 @@ public:
    */
   MGTransferBlockSelect(const MGConstrainedDoFs &mg_constrained_dofs);
 
-  /**
-   * Constructor with constraint matrices as well as mg_constrained_dofs.
-   *
-   * @deprecated @p constraints is unused.
-   */
-  DEAL_II_DEPRECATED
-  MGTransferBlockSelect(const AffineConstraints<double> &constraints,
-                        const MGConstrainedDoFs &        mg_constrained_dofs);
-
   /**
    * Destructor.
    */
index 0a9d3984dc349fdd9031bc6ef982c70423f85ef9..32f54b6a7f7b2d2a2803bdae173ed930cdda6a29 100644 (file)
@@ -153,35 +153,6 @@ public:
   using vector_type       = VectorType;
   using const_vector_type = const VectorType;
 
-  /**
-   * Constructor. The DoFHandler is used to check whether the provided
-   * minlevel and maxlevel are in the range of valid levels.
-   * If maxlevel is set to the default value, the highest valid
-   * level is used.
-   * <tt>transfer</tt> is an object performing prolongation and
-   * restriction.
-   *
-   * This function already initializes the vectors which will be used later in
-   * the course of the computations. You should therefore create objects of
-   * this type as late as possible.
-   *
-   * @deprecated Use the other constructor instead.
-   * The DoFHandler is actually not needed.
-   */
-  template <int dim>
-#ifndef _MSC_VER
-  DEAL_II_DEPRECATED
-#endif
-  Multigrid(const DoFHandler<dim> &             dof_handler,
-            const MGMatrixBase<VectorType> &    matrix,
-            const MGCoarseGridBase<VectorType> &coarse,
-            const MGTransferBase<VectorType> &  transfer,
-            const MGSmootherBase<VectorType> &  pre_smooth,
-            const MGSmootherBase<VectorType> &  post_smooth,
-            const unsigned int                  minlevel = 0,
-            const unsigned int maxlevel = numbers::invalid_unsigned_int,
-            Cycle              cycle    = v_cycle);
-
   /**
    * Constructor. <tt>transfer</tt> is an object performing prolongation and
    * restriction. For levels in [minlevel, maxlevel] matrix has to contain
@@ -636,40 +607,6 @@ private:
 /* --------------------------- inline functions --------------------- */
 
 
-template <typename VectorType>
-template <int dim>
-Multigrid<VectorType>::Multigrid(const DoFHandler<dim> &         dof_handler,
-                                 const MGMatrixBase<VectorType> &matrix,
-                                 const MGCoarseGridBase<VectorType> &coarse,
-                                 const MGTransferBase<VectorType> &  transfer,
-                                 const MGSmootherBase<VectorType> &  pre_smooth,
-                                 const MGSmootherBase<VectorType> &post_smooth,
-                                 const unsigned int                min_level,
-                                 const unsigned int                max_level,
-                                 Cycle                             cycle)
-  : cycle_type(cycle)
-  , minlevel(min_level)
-  , matrix(&matrix, typeid(*this).name())
-  , coarse(&coarse, typeid(*this).name())
-  , transfer(&transfer, typeid(*this).name())
-  , pre_smooth(&pre_smooth, typeid(*this).name())
-  , post_smooth(&post_smooth, typeid(*this).name())
-  , edge_down(nullptr, typeid(*this).name())
-  , edge_up(nullptr, typeid(*this).name())
-  , debug(0)
-{
-  const unsigned int dof_handler_max_level =
-    dof_handler.get_triangulation().n_global_levels() - 1;
-  if (max_level == numbers::invalid_unsigned_int)
-    maxlevel = dof_handler_max_level;
-  else
-    maxlevel = max_level;
-
-  reinit(minlevel, maxlevel);
-}
-
-
-
 template <typename VectorType>
 Multigrid<VectorType>::Multigrid(const MGMatrixBase<VectorType> &    matrix,
                                  const MGCoarseGridBase<VectorType> &coarse,
index 69133d732d07cf970c1f3f772ef541d4840a3698..571770c3c9997c8b5e29b657d909843bf3cc7fce 100644 (file)
@@ -1294,16 +1294,6 @@ DoFHandler<dim, spacedim>::distribute_dofs(
 
 
 
-template <int dim, int spacedim>
-void
-DoFHandler<dim, spacedim>::distribute_mg_dofs(
-  const FiniteElement<dim, spacedim> &)
-{
-  this->distribute_mg_dofs();
-}
-
-
-
 template <int dim, int spacedim>
 void
 DoFHandler<dim, spacedim>::distribute_mg_dofs()
index e4bb863167c977b280a0ce54bb71806d8dcc44e8..3b416156882ee4ad3e5c5964290d6b9cb7c617e4 100644 (file)
@@ -54,16 +54,6 @@ MGTransferPrebuilt<VectorType>::MGTransferPrebuilt(
 
 
 
-template <typename VectorType>
-MGTransferPrebuilt<VectorType>::MGTransferPrebuilt(
-  const AffineConstraints<double> & /*c*/,
-  const MGConstrainedDoFs &mg_c)
-{
-  this->mg_constrained_dofs = &mg_c;
-}
-
-
-
 template <typename VectorType>
 void
 MGTransferPrebuilt<VectorType>::initialize_constraints(
@@ -74,17 +64,6 @@ MGTransferPrebuilt<VectorType>::initialize_constraints(
 
 
 
-template <typename VectorType>
-void
-MGTransferPrebuilt<VectorType>::initialize_constraints(
-  const AffineConstraints<double> & /*c*/,
-  const MGConstrainedDoFs &mg_c)
-{
-  initialize_constraints(mg_c);
-}
-
-
-
 template <typename VectorType>
 void
 MGTransferPrebuilt<VectorType>::clear()
index 310fc0da1356755a267171bd8d832f01db152590..77842e8aaba31bc161c8d533af7d1300a650876a 100644 (file)
@@ -49,14 +49,6 @@ MGTransferBlockBase::MGTransferBlockBase(const MGConstrainedDoFs &mg_c)
 
 
 
-MGTransferBlockBase::MGTransferBlockBase(
-  const AffineConstraints<double> & /*c*/,
-  const MGConstrainedDoFs &mg_c)
-  : n_mg_blocks(0)
-  , mg_constrained_dofs(&mg_c)
-{}
-
-
 template <typename number>
 MGTransferBlock<number>::MGTransferBlock()
   : memory(nullptr, typeid(*this).name())
@@ -269,16 +261,6 @@ MGTransferBlockSelect<number>::MGTransferBlockSelect(
 
 
 
-template <typename number>
-MGTransferBlockSelect<number>::MGTransferBlockSelect(
-  const AffineConstraints<double> & /*c*/,
-  const MGConstrainedDoFs &mg_c)
-  : MGTransferBlockBase(mg_c)
-  , selected_block(0)
-{}
-
-
-
 template <typename number>
 void
 MGTransferBlockSelect<number>::prolongate(const unsigned int    to_level,
index 6a9a0a6274202665ca6f74981def89ce294febe1..6318ebb57e0f1454fb0fb9586e35a63f29d71a5e 100644 (file)
@@ -273,12 +273,8 @@ LaplaceProblem<dim>::solve()
   mg_smoother.set_symmetric(true);
 
   mg::Matrix<Vector<double>> mg_matrix(mg_matrices);
-  Multigrid<Vector<double>>  mg(mg_dof_handler,
-                               mg_matrix,
-                               mg_coarse,
-                               mg_transfer,
-                               mg_smoother,
-                               mg_smoother);
+  Multigrid<Vector<double>>  mg(
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
   PreconditionMG<dim, Vector<double>, MGTransferPrebuilt<Vector<double>>>
     preconditioner(mg_dof_handler, mg, mg_transfer);
 
index 0dbccc766ab46c71b27517c4e516f81162e3f284..2f0436839dbf213a1c945d8b1447782ff18aa113 100644 (file)
@@ -97,7 +97,7 @@ test(const bool adaptive_ref = true)
   FE_Q<dim>       fe(fe_degree);
   DoFHandler<dim> dof(tria);
   dof.distribute_dofs(fe);
-  dof.distribute_mg_dofs(fe);
+  dof.distribute_mg_dofs();
 
   AffineConstraints<double> constraints;
   constraints.close();
index 65000afebc80dd0bd1f7935199e60e4ddcd85862..2960cb21a9f1384919997217fb23137fdccc564b 100644 (file)
@@ -584,7 +584,7 @@ do_test(const DoFHandler<dim> &dof)
   mg::Matrix<LinearAlgebra::distributed::Vector<double>> mg_matrix(mg_matrices);
 
   Multigrid<LinearAlgebra::distributed::Vector<double>> mg(
-    dof, mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
   PreconditionMG<dim,
                  LinearAlgebra::distributed::Vector<double>,
                  MGTransferMF<LevelMatrixType>>
index 5c550e8497d029a622914e88b921d97a83af62ff..493b25f86bbd9e97361147de993122defd9e4fda 100644 (file)
@@ -601,7 +601,7 @@ do_test(const DoFHandler<dim> &dof, const bool also_test_parallel = false)
   mg::Matrix<LinearAlgebra::distributed::Vector<double>> mg_matrix(mg_matrices);
 
   Multigrid<LinearAlgebra::distributed::Vector<double>> mg(
-    dof, mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
   PreconditionMG<dim,
                  LinearAlgebra::distributed::Vector<double>,
                  MGTransferMF<dim, LevelMatrixType>>
index 7df1f593a076fe13dc920fea98ce66d4afc2a351..3d8adf4e0a3e5203f3d562089824a403ac5d53ec 100644 (file)
@@ -509,7 +509,7 @@ do_test(const DoFHandler<dim> &dof, const bool also_test_parallel = false)
   mg::Matrix<LinearAlgebra::distributed::Vector<double>> mg_matrix(mg_matrices);
 
   Multigrid<LinearAlgebra::distributed::Vector<double>> mg(
-    dof, mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
   PreconditionMG<dim,
                  LinearAlgebra::distributed::Vector<double>,
                  MGTransferMF<dim, LevelMatrixType>>
index a151604ac692de5b980499bcd98d9854606dbbc5..ea737f3e469bebc7275f4e4ea46b5af5325dbb0c 100644 (file)
@@ -408,7 +408,7 @@ do_test(const DoFHandler<dim> &dof)
   mg::Matrix<LinearAlgebra::distributed::Vector<double>> mg_matrix(mg_matrices);
 
   Multigrid<LinearAlgebra::distributed::Vector<double>> mg(
-    dof, mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
   PreconditionMG<dim,
                  LinearAlgebra::distributed::Vector<double>,
                  MGTransferPrebuiltMF<LevelMatrixType>>
index 1306acac3c203376f12d25b7488b772579a9073f..c24f09287ab318a09a32409bf49d7be0d10ee568 100644 (file)
@@ -221,7 +221,7 @@ do_test(const DoFHandler<dim> &dof)
   mg::Matrix<LinearAlgebra::distributed::Vector<double>> mg_matrix(mg_matrices);
 
   Multigrid<LinearAlgebra::distributed::Vector<double>> mg(
-    dof, mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
   PreconditionMG<dim,
                  LinearAlgebra::distributed::Vector<double>,
                  MGTransferMatrixFree<dim, double>>
index ece9bf6a08101a1a728bdbcbcaf444ce13485a24..9e809aacc0fb5edd9d6f14e8c9c409bd758675d8 100644 (file)
@@ -593,7 +593,7 @@ do_test(const DoFHandler<dim> &dof)
     mg_interface_matrices);
 
   Multigrid<LinearAlgebra::distributed::Vector<double>> mg(
-    dof, mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
   mg.set_edge_matrices(mg_interface, mg_interface);
   PreconditionMG<dim,
                  LinearAlgebra::distributed::Vector<double>,
index 9039dbb84ef690707d7a2dc04a53f1665e97c3bc..2cbcf4a8fc3699538e2284742ce9641bc94acf51 100644 (file)
@@ -282,7 +282,7 @@ do_test(const DoFHandler<dim> &dof)
     mg_interface_matrices);
 
   Multigrid<LinearAlgebra::distributed::Vector<double>> mg(
-    dof, mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
   mg.set_edge_matrices(mg_interface, mg_interface);
   PreconditionMG<dim,
                  LinearAlgebra::distributed::Vector<double>,
index 1f2f3bca58fec61bad7b88ef2101bfd9ad5a7c54..b6ca3b283e2845b5c6e98d1538e6838a2de171a2 100644 (file)
@@ -604,7 +604,7 @@ do_test(const DoFHandler<dim> &dof, const bool threaded)
     mg_interface_matrices);
 
   Multigrid<LinearAlgebra::distributed::Vector<number>> mg(
-    dof, mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
   mg.set_edge_matrices(mg_interface, mg_interface);
   PreconditionMG<dim,
                  LinearAlgebra::distributed::Vector<number>,
index 717f263723d88587a40a99a091c676f904a8da91..ed56aa4feacc8cdfc3ab7526af9f710e512cd935 100644 (file)
@@ -280,7 +280,7 @@ do_test(const DoFHandler<dim> &dof)
     mg_interface_matrices);
 
   Multigrid<LinearAlgebra::distributed::Vector<double>> mg(
-    dof, mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
   mg.set_edge_matrices(mg_interface, mg_interface);
   PreconditionMG<dim,
                  LinearAlgebra::distributed::Vector<double>,
index 172f4c06636d4b8888a15e607fedf18d30dabfd4..06e0c69bceb1fc15cdc84d3a15db5cb56129de04 100644 (file)
@@ -601,7 +601,7 @@ do_test(const DoFHandler<dim> &dof, const bool threaded)
     mg_interface_matrices);
 
   Multigrid<LinearAlgebra::distributed::Vector<number>> mg(
-    dof, mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
   mg.set_edge_matrices(mg_interface, mg_interface);
   PreconditionMG<dim,
                  LinearAlgebra::distributed::Vector<number>,
index 77b07516a75c0a45bbd41fcb01707804ccbfc3d5..db0f7a98ebd3bf83ab7ccfac3efd6e4517ffbb9d 100644 (file)
@@ -269,7 +269,7 @@ do_test(const DoFHandler<dim> &dof)
     mg_interface_matrices);
 
   Multigrid<LinearAlgebra::distributed::Vector<double>> mg(
-    dof, mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
   mg.set_edge_matrices(mg_interface, mg_interface);
   PreconditionMG<dim,
                  LinearAlgebra::distributed::Vector<double>,
index c193161501c84980271df3935725767dd14a0391..2a617960be70ede0d9dba89f307415d93d3d10e0 100644 (file)
@@ -353,7 +353,7 @@ do_test(const DoFHandler<dim> &dof)
     mg_interface_matrices);
 
   Multigrid<LinearAlgebra::distributed::Vector<number>> mg(
-    dof, mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
   mg.set_edge_matrices(mg_interface, mg_interface);
   PreconditionMG<dim,
                  LinearAlgebra::distributed::Vector<number>,
index 57097b23256ba161048153e37b36aac2b7e4784c..a0daf331f2b4284ca36548d2c907075872bae8ae 100644 (file)
@@ -420,7 +420,7 @@ do_test(const DoFHandler<dim> &dof)
   mg::Matrix<LinearAlgebra::distributed::Vector<number>> mg_matrix(mg_matrices);
 
   Multigrid<LinearAlgebra::distributed::Vector<number>> mg(
-    dof, mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
   PreconditionMG<dim,
                  LinearAlgebra::distributed::Vector<number>,
                  MGTransferPrebuiltMF<dim, LevelMatrixType>>
index b0d651abf82754081df70f4fd8cc261e0e8084b6..41b154fcc0bd3b506d66c04fefc185c854af0cd4 100644 (file)
@@ -416,7 +416,7 @@ do_test(const DoFHandler<dim> &dof)
   mg::Matrix<LinearAlgebra::distributed::Vector<number>> mg_matrix(mg_matrices);
 
   Multigrid<LinearAlgebra::distributed::Vector<number>> mg(
-    dof, mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
   PreconditionMG<dim,
                  LinearAlgebra::distributed::Vector<number>,
                  MGTransferPrebuiltMF<dim, LevelMatrixType>>
index 857765176c43258c7e120c7b420a736658a6f7b8..d11ef738645a8fc802c3bad47bbe84b0cb9eec65 100644 (file)
@@ -218,7 +218,7 @@ do_test(const DoFHandler<dim> &dof)
   mg::Matrix<LinearAlgebra::distributed::Vector<number>> mg_matrix(mg_matrices);
 
   Multigrid<LinearAlgebra::distributed::Vector<number>> mg(
-    dof, mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
   PreconditionMG<dim,
                  LinearAlgebra::distributed::Vector<number>,
                  MGTransferMatrixFree<dim, number>>
index 28a7380e86539d4604711c64cd12488d1f24bbbb..598fba0d58a0badc39c9876ee410d91ef20e24f2 100644 (file)
@@ -591,7 +591,7 @@ namespace Step37
     mg::Matrix<Vector<double>> mg_matrix(mg_matrices);
 
     Multigrid<Vector<double>> mg(
-      dof_handler, mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+      mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
     PreconditionMG<dim, Vector<double>, MGTransferPrebuilt<Vector<double>>>
       preconditioner(dof_handler, mg, mg_transfer);
 
index 1325736d3b32f6e1d8c07379fdf435e40619f6f7..264d6f54bda28dde9c65cbe2d4cbdebb02b422bd 100644 (file)
@@ -423,13 +423,8 @@ namespace Step50
     // Now, we are ready to set up the
     // V-cycle operator and the
     // multilevel preconditioner.
-    Multigrid<vector_t> mg(mg_dof_handler,
-                           mg_matrix,
-                           coarse_grid_solver,
-                           mg_transfer,
-                           mg_smoother,
-                           mg_smoother);
-    mg.set_debug(2);
+    Multigrid<vector_t> mg(
+      mg_matrix, coarse_grid_solver, mg_transfer, mg_smoother, mg_smoother);
     mg.set_edge_matrices(mg_interface_down, mg_interface_up);
 
     PreconditionMG<dim, vector_t, MGTransferPrebuilt<vector_t>> preconditioner(
index 8a4d907f5c208699264e8840991fd771fdb6f606..5b871d5718ad77e8e4e735ce74c7bfa358b48088 100644 (file)
@@ -410,13 +410,8 @@ namespace Step50
     // Now, we are ready to set up the
     // V-cycle operator and the
     // multilevel preconditioner.
-    Multigrid<vector_t> mg(mg_dof_handler,
-                           mg_matrix,
-                           coarse_grid_solver,
-                           mg_transfer,
-                           mg_smoother,
-                           mg_smoother);
-    mg.set_debug(2);
+    Multigrid<vector_t> mg(
+      mg_matrix, coarse_grid_solver, mg_transfer, mg_smoother, mg_smoother);
     mg.set_edge_matrices(mg_interface_down, mg_interface_up);
 
     PreconditionMG<dim, vector_t, MGTransferPrebuilt<vector_t>> preconditioner(
index dae2a799b41df9eb859147f444e68d941d7de250..a61d845ad6db2ff35398da5017b7bf9d1d34746d 100644 (file)
@@ -682,12 +682,8 @@ namespace Step39
     mg::Matrix<TrilinosWrappers::MPI::Vector> mgdown(mg_matrix_dg_down);
     mg::Matrix<TrilinosWrappers::MPI::Vector> mgup(mg_matrix_dg_up);
 
-    Multigrid<TrilinosWrappers::MPI::Vector> mg(dof_handler,
-                                                mgmatrix,
-                                                coarse_grid_solver,
-                                                mg_transfer,
-                                                mg_smoother,
-                                                mg_smoother);
+    Multigrid<TrilinosWrappers::MPI::Vector> mg(
+      mgmatrix, coarse_grid_solver, mg_transfer, mg_smoother, mg_smoother);
     mg.set_edge_flux_matrices(mgdown, mgup);
 
     PreconditionMG<dim,
index b63c6c0d0dfd2be69b71b62c3f966158a9ee3682..421b69a7a2e5ac3555c5595d88c8031ab38387a8 100644 (file)
@@ -652,12 +652,8 @@ namespace Step39
     mg::Matrix<TrilinosWrappers::MPI::Vector> mgdown(mg_matrix_dg_down);
     mg::Matrix<TrilinosWrappers::MPI::Vector> mgup(mg_matrix_dg_up);
 
-    Multigrid<TrilinosWrappers::MPI::Vector> mg(dof_handler,
-                                                mgmatrix,
-                                                coarse_grid_solver,
-                                                mg_transfer,
-                                                mg_smoother,
-                                                mg_smoother);
+    Multigrid<TrilinosWrappers::MPI::Vector> mg(
+      mgmatrix, coarse_grid_solver, mg_transfer, mg_smoother, mg_smoother);
     mg.set_edge_flux_matrices(mgdown, mgup);
 
     PreconditionMG<dim,
index 2ac2f9881de132a427f19c05f639548f3d28db6e..371cec7fb7317a1d4ac302b1dc10b7bf153b644d 100644 (file)
@@ -398,12 +398,8 @@ namespace Step50
     mg::Matrix<vector_t> mg_interface_up(mg_interface_matrices);
     mg::Matrix<vector_t> mg_interface_down(mg_interface_matrices);
 
-    Multigrid<vector_t> mg(mg_dof_handler,
-                           mg_matrix,
-                           coarse_grid_solver,
-                           mg_transfer,
-                           mg_smoother,
-                           mg_smoother);
+    Multigrid<vector_t> mg(
+      mg_matrix, coarse_grid_solver, mg_transfer, mg_smoother, mg_smoother);
 
     auto print_transfer_to_mg = [](const bool start) {
       deallog << "transfer_to_mg " << (start ? "started" : "finished")
index 48f03c0e931b87ece8a70553a2328a414024d435..56992dc5c828d1c7b73eb3aca329df420152b1e0 100644 (file)
@@ -469,12 +469,8 @@ namespace Step50
     mg::Matrix<vector_t> mg_interface_up(mg_interface_matrices);
     mg::Matrix<vector_t> mg_interface_down(mg_interface_matrices);
 
-    Multigrid<vector_t> mg(mg_dof_handler,
-                           mg_matrix,
-                           coarse_grid_solver,
-                           mg_transfer,
-                           mg_smoother,
-                           mg_smoother);
+    Multigrid<vector_t> mg(
+      mg_matrix, coarse_grid_solver, mg_transfer, mg_smoother, mg_smoother);
 
     mg.set_edge_matrices(mg_interface_down, mg_interface_up);
 
index 088d6a48e300660745a3671dd33608e7714bbdda..b9d3362f3bb5aa2bf2c0879f32163023e20b9696 100644 (file)
@@ -51,7 +51,7 @@ do_test()
 
   DoFHandler<dim> dof_handler(triangulation);
   dof_handler.distribute_dofs(fe);
-  dof_handler.distribute_mg_dofs(fe);
+  dof_handler.distribute_mg_dofs();
 
   Vector<double> global_dof_vector(dof_handler.n_dofs());
   VectorTools::interpolate(dof_handler,
index 649c980eb59ef86383b75a9c268a5adbb1a9ce61..d51ac4f8d2d48b3ee8e7e89221bee9ef17c64a44 100644 (file)
@@ -50,7 +50,7 @@ do_test()
   FE_Q<dim>       fe(1);
   DoFHandler<dim> dof_handler(triangulation);
   dof_handler.distribute_dofs(fe);
-  dof_handler.distribute_mg_dofs(fe);
+  dof_handler.distribute_mg_dofs();
 
   // Make FE vector
   IndexSet locally_relevant_dofs;
index f524d9b4968353e6721dc9cd080bfecfb69dbdc9..3149084cfbbcb56dccb6df7d23f1af953c080087 100644 (file)
@@ -56,7 +56,7 @@ do_test()
 
   DoFHandler<dim> dof_handler(triangulation);
   dof_handler.distribute_dofs(fe);
-  dof_handler.distribute_mg_dofs(fe);
+  dof_handler.distribute_mg_dofs();
 
   // Make FE vector
   IndexSet locally_relevant_dofs;
index 9313baacb11b5f10e7db4b657999814b24f6c979..ce8a8e8766d20f275bbb8f9011092fb3cc45addb 100644 (file)
@@ -391,15 +391,10 @@ LaplaceProblem<dim>::test()
 
   mg::Matrix<Vector<double>> mg_matrix_renumbered(mg_matrices_renumbered);
 
-  Multigrid<Vector<double>> mg(mg_dof_handler,
-                               mg_matrix,
-                               mg_coarse,
-                               mg_transfer,
-                               mg_smoother,
-                               mg_smoother);
-
-  Multigrid<Vector<double>> mg_renumbered(mg_dof_handler_renumbered,
-                                          mg_matrix_renumbered,
+  Multigrid<Vector<double>> mg(
+    mg_matrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+
+  Multigrid<Vector<double>> mg_renumbered(mg_matrix_renumbered,
                                           mg_coarse_renumbered,
                                           mg_transfer_renumbered,
                                           mg_smoother_renumbered,
index f4caccc6e024ef0f5652dd4acfd847be45daed09..67aa226df200e5499f31576ba39da22835ce7aa9 100644 (file)
@@ -491,12 +491,8 @@ LaplaceProblem<dim>::solve()
   mg::Matrix<> mg_interface_up(mg_interface_in);
   mg::Matrix<> mg_interface_down(mg_interface_in);
 
-  Multigrid<Vector<double>> mg(mg_dof_handler,
-                               mg_matrix,
-                               coarse_grid_solver,
-                               mg_transfer,
-                               mg_smoother,
-                               mg_smoother);
+  Multigrid<Vector<double>> mg(
+    mg_matrix, coarse_grid_solver, mg_transfer, mg_smoother, mg_smoother);
   mg.set_edge_matrices(mg_interface_down, mg_interface_up);
 
   PreconditionMG<dim, Vector<double>, MGTransferPrebuilt<Vector<double>>>
index f558806d72a510f100051646c6dbce066bc0302b..d0fc89b5c6528a3cb83a3d0a5ed01c6a1063f3ce 100644 (file)
@@ -385,8 +385,7 @@ LaplaceProblem<dim>::solve()
   mg::Matrix<> mg_interface_up(mg_interface_matrices);
   mg::Matrix<> mg_interface_down(mg_interface_matrices);
 
-  Multigrid<Vector<double>> mg(mg_dof_handler,
-                               mg_matrix,
+  Multigrid<Vector<double>> mg(mg_matrix,
                                coarse_grid_solver,
                                mg_transfer,
                                mg_smoother,
index fb12e0f51f1574dd3b4285b44fc371b78a3f5c43..9cd051790e1ecf44e9d1a935d12a409345bc5cc0 100644 (file)
@@ -374,7 +374,7 @@ void
 LaplaceProblem<dim>::solve()
 {
   MGTransferPrebuilt<LinearAlgebra::distributed::Vector<double>> mg_transfer(
-    hanging_node_constraints, mg_constrained_dofs);
+    mg_constrained_dofs);
   mg_transfer.build(mg_dof_handler);
 
   SolverControl coarse_solver_control(1000, 1e-10, false, false);
index e77da649fafc75542c3ca5eb027be2cac7c04af8..d89da1bb9166a09552cfb32c399c15f5e29d2de0 100644 (file)
@@ -374,7 +374,7 @@ void
 LaplaceProblem<dim>::solve()
 {
   MGTransferPrebuilt<LinearAlgebra::distributed::Vector<double>> mg_transfer(
-    hanging_node_constraints, mg_constrained_dofs);
+    mg_constrained_dofs);
   mg_transfer.build(mg_dof_handler);
 
   SolverControl coarse_solver_control(1000, 1e-10, false, false);
index 9b097fa2760dd8476096f321f87fed6b6e365b35..5a7a99bac9d209488dfbd81324487199f0c9683a 100644 (file)
@@ -465,12 +465,8 @@ LaplaceProblem<dim>::solve()
   mg::Matrix<> mg_interface_up(mg_interface_matrices);
   mg::Matrix<> mg_interface_down(mg_interface_matrices);
 
-  Multigrid<Vector<double>> mg(mg_dof_handler,
-                               mg_matrix,
-                               coarse_grid_solver,
-                               mg_transfer,
-                               mg_smoother,
-                               mg_smoother);
+  Multigrid<Vector<double>> mg(
+    mg_matrix, coarse_grid_solver, mg_transfer, mg_smoother, mg_smoother);
   mg.set_edge_matrices(mg_interface_down, mg_interface_up);
 
   PreconditionMG<dim, Vector<double>, MGTransferPrebuilt<Vector<double>>>
index fccf9abf7ce0c06084569290b50ea615d03fa971..3b9809d749ca8e3392188cf5d82df82be1b0a9f4 100644 (file)
@@ -454,12 +454,8 @@ namespace Step50
     mg::Matrix<vector_t> mg_interface_up(mg_interface_matrices);
     mg::Matrix<vector_t> mg_interface_down(mg_interface_matrices);
 
-    Multigrid<vector_t> mg(mg_dof_handler,
-                           mg_matrix,
-                           coarse_grid_solver,
-                           mg_transfer,
-                           mg_smoother,
-                           mg_smoother);
+    Multigrid<vector_t> mg(
+      mg_matrix, coarse_grid_solver, mg_transfer, mg_smoother, mg_smoother);
     mg.set_edge_matrices(mg_interface_down, mg_interface_up);
 
     PreconditionMG<dim, vector_t, MGTransferPrebuilt<vector_t>> preconditioner(
index d1f1ee06c5161a24d48ff1044408fdd900756f04..1136ad4598c7c6bf192a78f8a2db72c4805e855d 100644 (file)
@@ -457,12 +457,8 @@ namespace Step50
     mg::Matrix<vector_t> mg_interface_up(mg_interface_matrices);
     mg::Matrix<vector_t> mg_interface_down(mg_interface_matrices);
 
-    Multigrid<vector_t> mg(mg_dof_handler,
-                           mg_matrix,
-                           coarse_grid_solver,
-                           mg_transfer,
-                           mg_smoother,
-                           mg_smoother);
+    Multigrid<vector_t> mg(
+      mg_matrix, coarse_grid_solver, mg_transfer, mg_smoother, mg_smoother);
     mg.set_edge_matrices(mg_interface_down, mg_interface_up);
 
     PreconditionMG<dim, vector_t, MGTransferPrebuilt<vector_t>> preconditioner(
index 05c919bb5bf44c640d5f05f0688040bd46639a03..3a8212cb0bd5e44478e38f5a0b639c8462d63fdc 100644 (file)
@@ -454,12 +454,8 @@ namespace Step50
     mg::Matrix<vector_t> mg_interface_up(mg_interface_matrices);
     mg::Matrix<vector_t> mg_interface_down(mg_interface_matrices);
 
-    Multigrid<vector_t> mg(mg_dof_handler,
-                           mg_matrix,
-                           coarse_grid_solver,
-                           mg_transfer,
-                           mg_smoother,
-                           mg_smoother);
+    Multigrid<vector_t> mg(
+      mg_matrix, coarse_grid_solver, mg_transfer, mg_smoother, mg_smoother);
     mg.set_edge_matrices(mg_interface_down, mg_interface_up);
 
     PreconditionMG<dim, vector_t, MGTransferPrebuilt<vector_t>> preconditioner(
index 1c0ee0a758361fbb439a043e9ca8b0f8680353c0..1f56b6cdeb2848b84612850a68eac504681d1a38 100644 (file)
@@ -387,12 +387,8 @@ LaplaceProblem<dim>::solve()
   mg::Matrix<vector_t> mg_interface_up(mg_interface_matrices);
   mg::Matrix<vector_t> mg_interface_down(mg_interface_matrices);
 
-  Multigrid<vector_t> mg(mg_dof_handler,
-                         mg_matrix,
-                         coarse_grid_solver,
-                         mg_transfer,
-                         mg_smoother,
-                         mg_smoother);
+  Multigrid<vector_t> mg(
+    mg_matrix, coarse_grid_solver, mg_transfer, mg_smoother, mg_smoother);
   mg.set_edge_matrices(mg_interface_down, mg_interface_up);
 
   PreconditionMG<dim, vector_t, MGTransferPrebuilt<vector_t>> preconditioner(
index 68a0ab1bd60936dafdc571807c9a0d2d4693be44..995d80468d2977a62e4fe41380b2e377953aa251 100644 (file)
@@ -510,12 +510,8 @@ LaplaceProblem<dim>::solve(bool use_mw)
   // if (use_mw)
   // mg_interface_down.initialize(mg_interface_out);
 
-  Multigrid<Vector<double>> mg(mg_dof_handler,
-                               mg_matrix,
-                               coarse_grid_solver,
-                               mg_transfer,
-                               mg_smoother,
-                               mg_smoother);
+  Multigrid<Vector<double>> mg(
+    mg_matrix, coarse_grid_solver, mg_transfer, mg_smoother, mg_smoother);
   mg.set_edge_matrices(mg_interface_down, mg_interface_up);
 
   PreconditionMG<dim, Vector<double>, MGTransferPrebuilt<Vector<double>>>
index b4c8fca1d1f5dffa293494402536c9ebe37d60ac..b12d45e237f9f83d03e1c80d6146c257a503c865 100644 (file)
@@ -466,12 +466,8 @@ LaplaceProblem<dim>::solve()
   mg::Matrix<> mg_interface_up(mg_interface_matrices);
   mg::Matrix<> mg_interface_down(mg_interface_matrices);
 
-  Multigrid<Vector<double>> mg(mg_dof_handler,
-                               mg_matrix,
-                               coarse_grid_solver,
-                               mg_transfer,
-                               mg_smoother,
-                               mg_smoother);
+  Multigrid<Vector<double>> mg(
+    mg_matrix, coarse_grid_solver, mg_transfer, mg_smoother, mg_smoother);
   mg.set_edge_matrices(mg_interface_down, mg_interface_up);
 
   PreconditionMG<dim, Vector<double>, MGTransferPrebuilt<Vector<double>>>
index 958fd55420548e7100b631f0958ab4b1ba7a2855..a5e9a968c793e7a7f89ce3673225e441994a0197 100644 (file)
@@ -612,7 +612,7 @@ namespace Step39
     mg::Matrix<Vector<double>> mgedge(mg_matrix_in_out);
 
     Multigrid<Vector<double>> mg(
-      dof_handler, mgmatrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+      mgmatrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
     mg.set_edge_flux_matrices(mgdown, mgup);
     mg.set_edge_matrices(mgedge, mgedge);
 
index 8a0d4c86e4711be6cfd7231fd467fd7d95a84b10..bc52a9de588ac7401d0797ba13883f561654ead5 100644 (file)
@@ -619,7 +619,7 @@ namespace Step39
     mg::Matrix<Vector<double>> mgedge(mg_matrix_in_out);
 
     Multigrid<Vector<double>> mg(
-      dof_handler, mgmatrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+      mgmatrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
     mg.set_edge_flux_matrices(mgdown, mgup);
     mg.set_edge_matrices(mgedge, mgedge);
 
index 5e136df70b300e259ddb128447ba85eb41bac4d1..a6aede4a852ee388c41d63fe3a95b5f4cbdc7c0e 100644 (file)
@@ -618,7 +618,7 @@ namespace Step39
     mg::Matrix<Vector<double>> mgedge(mg_matrix_in_out);
 
     Multigrid<Vector<double>> mg(
-      dof_handler, mgmatrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+      mgmatrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
     mg.set_edge_flux_matrices(mgdown, mgup);
     mg.set_edge_matrices(mgedge, mgedge);
 
index 3eb8bb756ef879e414a193695ae5d002ea5e7f4d..fb4db17f3d86beb761c33195404027c0b6d0e02d 100644 (file)
@@ -601,7 +601,7 @@ namespace Step39
     mg::Matrix<Vector<double>> mgup(mg_matrix_dg_up);
 
     Multigrid<Vector<double>> mg(
-      dof_handler, mgmatrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
+      mgmatrix, mg_coarse, mg_transfer, mg_smoother, mg_smoother);
     mg.set_edge_flux_matrices(mgdown, mgup);
 
     PreconditionMG<dim, Vector<double>, MGTransferPrebuilt<Vector<double>>>
index b15d4a4284d42ccc44cd3ee68b8b21bb64c37977..0e21f3e0865d38a7a985dff518d4ba5256eea722 100644 (file)
@@ -454,12 +454,8 @@ namespace Step50
     mg::Matrix<vector_t> mg_interface_up(mg_interface_matrices);
     mg::Matrix<vector_t> mg_interface_down(mg_interface_matrices);
 
-    Multigrid<vector_t> mg(mg_dof_handler,
-                           mg_matrix,
-                           coarse_grid_solver,
-                           mg_transfer,
-                           mg_smoother,
-                           mg_smoother);
+    Multigrid<vector_t> mg(
+      mg_matrix, coarse_grid_solver, mg_transfer, mg_smoother, mg_smoother);
 
     mg.set_edge_matrices(mg_interface_down, mg_interface_up);
 

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.