]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Remove deprecated class MGMatrix.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Sun, 25 Jan 2015 18:45:52 +0000 (12:45 -0600)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Mon, 26 Jan 2015 00:50:28 +0000 (18:50 -0600)
17 files changed:
doc/news/changes.h
examples/step-39/step-39.cc
include/deal.II/multigrid/mg_matrix.h
tests/bits/step-16.cc
tests/bits/step-16b.cc
tests/matrix_free/step-37.cc
tests/mpi/multigrid_adaptive.cc
tests/mpi/multigrid_uniform.cc
tests/mpi/step-39.cc
tests/multigrid/cycles.cc
tests/multigrid/mg_renumbered_01.cc
tests/multigrid/step-16-02.cc
tests/multigrid/step-16-bdry1.cc
tests/multigrid/step-16.cc
tests/multigrid/step-39-02.cc
tests/multigrid/step-39-03.cc
tests/multigrid/step-39.cc

index 92e96e6ff3f20921b5c97acd02872a1ccccf7049..aa24f298dd90c2830bf871235b908865be4f8232 100644 (file)
@@ -206,6 +206,7 @@ inconvenience this causes.
   - MGTools::count_dofs_per_component.
   - MGTools::apply_boundary_values.
   - MGTools::extract_inner_interface_dofs.
+  - Class MGMatrix.
   <br>
   This release also removes the deprecated class MGDoFHandler. The
   functionality of this class had previously been incorporated into
index 22c12ef4d0e39cf0d5a25f087bb7aec6eb8a69d2..cf340a9ab517126adc3f2d4465d0513efaf7fa59 100644 (file)
@@ -1,6 +1,6 @@
 /* ---------------------------------------------------------------------
  *
- * Copyright (C) 2010 - 2014 by the deal.II authors
+ * Copyright (C) 2010 - 2015 by the deal.II authors
  *
  * This file is part of the deal.II library.
  *
@@ -712,9 +712,9 @@ namespace Step39
 
     // Finally, we must wrap our matrices in an object having the required
     // multiplication functions.
-    MGMatrix<SparseMatrix<double>, Vector<double> > mgmatrix(&mg_matrix);
-    MGMatrix<SparseMatrix<double>, Vector<double> > mgdown(&mg_matrix_dg_down);
-    MGMatrix<SparseMatrix<double>, Vector<double> > mgup(&mg_matrix_dg_up);
+    mg::Matrix<Vector<double> > mgmatrix(mg_matrix);
+    mg::Matrix<Vector<double> > mgdown(mg_matrix_dg_down);
+    mg::Matrix<Vector<double> > mgup(mg_matrix_dg_up);
 
     // Now, we are ready to set up the V-cycle operator and the multilevel
     // preconditioner.
index f0112786ffd0bbcb2557d01260956a2ef141e0fe..85c98b60489251335d71897751387f639ddf71f8 100644 (file)
@@ -83,34 +83,6 @@ namespace mg
 
 }
 
-/**
- * @deprecated Use the much simpler class mg::Matrix instead.
- * @author Guido Kanschat, 2002
- */
-template <class MATRIX = SparseMatrix<double>, class VECTOR = Vector<double> >
-class MGMatrix : public MGMatrixBase<VECTOR>
-{
-public:
-  MGMatrix (MGLevelObject<MATRIX> *matrix= 0);
-
-  void set_matrix (MGLevelObject<MATRIX> *M);
-  virtual void vmult (const unsigned int level,
-                      VECTOR &dst,
-                      const VECTOR &src) const;
-  virtual void vmult_add (const unsigned int level,
-                          VECTOR &dst,
-                          const VECTOR &src) const;
-  virtual void Tvmult (const unsigned int level,
-                       VECTOR &dst,
-                       const VECTOR &src) const;
-  virtual void Tvmult_add (const unsigned int level,
-                           VECTOR &dst,
-                           const VECTOR &src) const;
-  std::size_t memory_consumption () const;
-private:
-  SmartPointer<MGLevelObject<MATRIX>,MGMatrix<MATRIX,VECTOR> > matrix;
-} DEAL_II_DEPRECATED;
-
 
 /**
  * Multilevel matrix selecting from block matrices. This class implements the
@@ -283,81 +255,6 @@ namespace mg
   }
 }
 
-/*----------------------------------------------------------------------*/
-
-template <class MATRIX, class VECTOR>
-MGMatrix<MATRIX, VECTOR>::MGMatrix (MGLevelObject<MATRIX> *p)
-  :
-  matrix (p, typeid(*this).name())
-{}
-
-
-template <class MATRIX, class VECTOR>
-void
-MGMatrix<MATRIX, VECTOR>::set_matrix (MGLevelObject<MATRIX> *p)
-{
-  matrix = p;
-}
-
-
-template <class MATRIX, class VECTOR>
-void
-MGMatrix<MATRIX, VECTOR>::vmult  (const unsigned int level,
-                                  VECTOR &dst,
-                                  const VECTOR &src) const
-{
-  Assert(matrix != 0, ExcNotInitialized());
-
-  const MGLevelObject<MATRIX> &m = *matrix;
-  m[level].vmult(dst, src);
-}
-
-
-template <class MATRIX, class VECTOR>
-void
-MGMatrix<MATRIX, VECTOR>::vmult_add  (const unsigned int level,
-                                      VECTOR &dst,
-                                      const VECTOR &src) const
-{
-  Assert(matrix != 0, ExcNotInitialized());
-
-  const MGLevelObject<MATRIX> &m = *matrix;
-  m[level].vmult_add(dst, src);
-}
-
-
-template <class MATRIX, class VECTOR>
-void
-MGMatrix<MATRIX, VECTOR>::Tvmult  (const unsigned int level,
-                                   VECTOR &dst,
-                                   const VECTOR &src) const
-{
-  Assert(matrix != 0, ExcNotInitialized());
-
-  const MGLevelObject<MATRIX> &m = *matrix;
-  m[level].Tvmult(dst, src);
-}
-
-
-template <class MATRIX, class VECTOR>
-void
-MGMatrix<MATRIX, VECTOR>::Tvmult_add  (const unsigned int level,
-                                       VECTOR &dst,
-                                       const VECTOR &src) const
-{
-  Assert(matrix != 0, ExcNotInitialized());
-
-  const MGLevelObject<MATRIX> &m = *matrix;
-  m[level].Tvmult_add(dst, src);
-}
-
-
-template <class MATRIX, class VECTOR>
-std::size_t
-MGMatrix<MATRIX, VECTOR>::memory_consumption () const
-{
-  return sizeof(*this) + matrix->memory_consumption();
-}
 
 /*----------------------------------------------------------------------*/
 
index 1281c6c21efa42790cfc4fa996d7f49f0fb2c34d..225d02148c39ed2aaebbec19877aa2d0d4101865 100644 (file)
@@ -260,8 +260,8 @@ void LaplaceProblem<dim>::solve ()
   mg_smoother.set_steps(2);
   mg_smoother.set_symmetric(true);
 
-  MGMatrix<SparseMatrix<float>, Vector<double> >
-  mg_matrix(&mg_matrices);
+  mg::Matrix<Vector<double> >
+  mg_matrix(mg_matrices);
   Multigrid<Vector<double> > mg(mg_dof_handler,
                                 mg_matrix,
                                 mg_coarse,
index 374c750fe7bbd03622330edffb11303907323f08..a2fc9aedec0db4017280a421276686f3ba323a62 100644 (file)
@@ -262,8 +262,8 @@ void LaplaceProblem<dim>::solve ()
   mg_smoother.set_steps(2);
   mg_smoother.set_symmetric(true);
 
-  MGMatrix<SparseMatrix<float>, Vector<double> >
-  mg_matrix(&mg_matrices);
+  mg::Matrix<Vector<double> >
+  mg_matrix(mg_matrices);
   Multigrid<Vector<double> > mg(mg_dof_handler,
                                 mg_matrix,
                                 mg_coarse,
index d9ecb57a736f00b519cfdc867c3cd1325a3c63b7..b208e6bf4d8ae134c8108081b68bcfe89b98573e 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2012 - 2014 by the deal.II authors
+// Copyright (C) 2012 - 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -583,8 +583,8 @@ namespace Step37
     smoother_data.eig_cg_n_iterations = 10;
     mg_smoother.initialize(mg_matrices, smoother_data);
 
-    MGMatrix<LevelMatrixType, Vector<double> >
-    mg_matrix(&mg_matrices);
+    mg::Matrix<Vector<double> >
+    mg_matrix(mg_matrices);
 
     Multigrid<Vector<double> > mg(dof_handler,
                                   mg_matrix,
index 73d7097fc420d9989887518dd1577a6cf0c9a5b1..498f95b00dc9c3640ec20fcab8220dd8fdd10424 100644 (file)
@@ -395,9 +395,9 @@ namespace Step50
     MGSmootherPrecondition<matrix_t, Smoother, vector_t> mg_smoother;
     mg_smoother.initialize(mg_matrices);
     mg_smoother.set_steps(2);
-    MGMatrix<matrix_t,vector_t> mg_matrix(&mg_matrices);
-    MGMatrix<matrix_t,vector_t> mg_interface_up(&mg_interface_matrices);
-    MGMatrix<matrix_t,vector_t> mg_interface_down(&mg_interface_matrices);
+    mg::Matrix<vector_t> mg_matrix(mg_matrices);
+    mg::Matrix<vector_t> mg_interface_up(mg_interface_matrices);
+    mg::Matrix<vector_t> mg_interface_down(mg_interface_matrices);
 
     // Now, we are ready to set up the
     // V-cycle operator and the
index f041ec9cc520620bac5f597499f6f236acb4c231..189c57332af4b98803346f90ecac7610767a021d 100644 (file)
@@ -395,9 +395,9 @@ namespace Step50
     MGSmootherPrecondition<matrix_t, Smoother, vector_t> mg_smoother;
     mg_smoother.initialize(mg_matrices);
     mg_smoother.set_steps(2);
-    MGMatrix<matrix_t,vector_t> mg_matrix(&mg_matrices);
-    MGMatrix<matrix_t,vector_t> mg_interface_up(&mg_interface_matrices);
-    MGMatrix<matrix_t,vector_t> mg_interface_down(&mg_interface_matrices);
+    mg::Matrix<vector_t> mg_matrix(mg_matrices);
+    mg::Matrix<vector_t> mg_interface_up(mg_interface_matrices);
+    mg::Matrix<vector_t> mg_interface_down(mg_interface_matrices);
 
     // Now, we are ready to set up the
     // V-cycle operator and the
index 9180b959cf797362d412f8a90292d2d0b51c689c..5dfe10eaa2e0bc165b0b7a58097b510b43cb8206 100644 (file)
@@ -572,9 +572,9 @@ namespace Step39
     mg_smoother.initialize(mg_matrix, .7);
     mg_smoother.set_steps(2);
 
-    MGMatrix<TrilinosWrappers::SparseMatrix, TrilinosWrappers::MPI::Vector> mgmatrix(&mg_matrix);
-    MGMatrix<TrilinosWrappers::SparseMatrix, TrilinosWrappers::MPI::Vector> mgdown(&mg_matrix_dg_down);
-    MGMatrix<TrilinosWrappers::SparseMatrix, TrilinosWrappers::MPI::Vector> mgup(&mg_matrix_dg_up);
+    mg::Matrix<TrilinosWrappers::MPI::Vector> mgmatrix(mg_matrix);
+    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,
index 21a9a0cab49df18e4dcc6b99f99b91ff0beec2cf..0e2812ab97ba5e05e5cb025f72b9d83a117da0f2 100644 (file)
@@ -1,6 +1,6 @@
 // ---------------------------------------------------------------------
 //
-// Copyright (C) 2000 - 2014 by the deal.II authors
+// Copyright (C) 2000 - 2015 by the deal.II authors
 //
 // This file is part of the deal.II library.
 //
@@ -70,7 +70,7 @@ void test_cycles(unsigned int minlevel, unsigned int maxlevel)
   MGLevelObject<FullMatrix<double> > level_matrices(0, maxlevel);
   for (unsigned int i=0; i<=maxlevel; ++i)
     level_matrices[i].reinit(N, N);
-  MGMatrix<FullMatrix<double>, VECTOR> mgmatrix(&level_matrices);
+  mg::Matrix<VECTOR> mgmatrix(level_matrices);
 
   Multigrid<VECTOR> mg1(minlevel, maxlevel, mgmatrix, all, all, all, all,
                         Multigrid<VECTOR>::v_cycle);
index fa7cf93e659273ed89694b3eb290488563941409..681d0bc686f345ee96e4c6a25bf0532cae23b28a 100644 (file)
@@ -372,11 +372,11 @@ void LaplaceProblem<dim>::test ()
   mg_smoother.set_steps(1);
   mg_smoother_renumbered.set_steps(1);
 
-  MGMatrix<SparseMatrix<double>, Vector<double> >
-  mg_matrix(&mg_matrices);
+  mg::Matrix<Vector<double> >
+  mg_matrix(mg_matrices);
 
-  MGMatrix<SparseMatrix<double>, Vector<double> >
-  mg_matrix_renumbered(&mg_matrices_renumbered);
+  mg::Matrix<Vector<double> >
+  mg_matrix_renumbered(mg_matrices_renumbered);
 
   Multigrid<Vector<double> > mg(mg_dof_handler,
                                 mg_matrix,
index 1d908207385bcc67675ab4e955b2fad9138e7149..9fcb182d78f39648846edb2980e6345211b85267 100644 (file)
@@ -466,9 +466,9 @@ void LaplaceProblem<dim>::solve ()
   mg_smoother.set_steps(2);
   mg_smoother.set_symmetric(true);
 
-  MGMatrix<> mg_matrix(&mg_matrices);
-  MGMatrix<> mg_interface_up(&mg_interface_in);
-  MGMatrix<> mg_interface_down(&mg_interface_in);
+  mg::Matrix<> mg_matrix(mg_matrices);
+  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,
index 179034e82c18a5ada17cad474b09ed05de7ec68c..18c0f1c1e18122bfd3803188187196565ed5fe29 100644 (file)
@@ -467,9 +467,9 @@ void LaplaceProblem<dim>::solve ()
   mg_smoother.set_steps(2);
   mg_smoother.set_symmetric(true);
 
-  MGMatrix<> mg_matrix(&mg_matrices);
-  MGMatrix<> mg_interface_up(&mg_interface_in);
-  MGMatrix<> mg_interface_down(&mg_interface_in);
+  mg::Matrix<> mg_matrix(mg_matrices);
+  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,
index 76e049b0a1ea09e5de64dcd99e541825979ed04e..cf11734a75ac39ddb431819541bf51dc7da8215b 100644 (file)
@@ -449,9 +449,9 @@ void LaplaceProblem<dim>::solve ()
   mg_smoother.set_steps(2);
   mg_smoother.set_symmetric(true);
 
-  MGMatrix<> mg_matrix(&mg_matrices);
-  MGMatrix<> mg_interface_up(&mg_interface_matrices);
-  MGMatrix<> mg_interface_down(&mg_interface_matrices);
+  mg::Matrix<> mg_matrix(mg_matrices);
+  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,
index d07fd59eacb3fdd8ce4ae941f7b96980b3b314bb..f3356e06152fe81b71ed2601eaaf109410404273 100644 (file)
@@ -543,10 +543,10 @@ namespace Step39
     mg_smoother.set_symmetric(true);
     mg_smoother.set_variable(false);
 
-    MGMatrix<SparseMatrix<double>, Vector<double> > mgmatrix(&mg_matrix);
-    MGMatrix<SparseMatrix<double>, Vector<double> > mgdown(&mg_matrix_dg_down);
-    MGMatrix<SparseMatrix<double>, Vector<double> > mgup(&mg_matrix_dg_up);
-    MGMatrix<SparseMatrix<double>, Vector<double> > mgedge(&mg_matrix_in_out);
+    mg::Matrix<Vector<double> > mgmatrix(mg_matrix);
+    mg::Matrix<Vector<double> > mgdown(mg_matrix_dg_down);
+    mg::Matrix<Vector<double> > mgup(mg_matrix_dg_up);
+    mg::Matrix<Vector<double> > mgedge(mg_matrix_in_out);
 
     Multigrid<Vector<double> > mg(mg_dof_handler, mgmatrix,
                                   mg_coarse, mg_transfer,
index aed9a2f96ea4402578bcff0fc8e3833df2435c0b..c98fd1f909a52b14496e725ab98e49fb59ae8182 100644 (file)
@@ -549,10 +549,10 @@ namespace Step39
     mg_smoother.set_symmetric(true);
     mg_smoother.set_variable(false);
 
-    MGMatrix<SparseMatrix<double>, Vector<double> > mgmatrix(&mg_matrix);
-    MGMatrix<SparseMatrix<double>, Vector<double> > mgdown(&mg_matrix_dg_down);
-    MGMatrix<SparseMatrix<double>, Vector<double> > mgup(&mg_matrix_dg_up);
-    MGMatrix<SparseMatrix<double>, Vector<double> > mgedge(&mg_matrix_in_out);
+    mg::Matrix<Vector<double> > mgmatrix(mg_matrix);
+    mg::Matrix<Vector<double> > mgdown(mg_matrix_dg_down);
+    mg::Matrix<Vector<double> > mgup(mg_matrix_dg_up);
+    mg::Matrix<Vector<double> > mgedge(mg_matrix_in_out);
 
     Multigrid<Vector<double> > mg(mg_dof_handler, mgmatrix,
                                   mg_coarse, mg_transfer,
index b60aefdc0365fe79ed3e2d5dedbf0b5c70c19bae..c9767ec9ac68fbf3ccf1c4c4d0e1204fa2591a2a 100644 (file)
@@ -534,9 +534,9 @@ namespace Step39
     mg_smoother.set_symmetric(true);
     mg_smoother.set_variable(false);
 
-    MGMatrix<SparseMatrix<double>, Vector<double> > mgmatrix(&mg_matrix);
-    MGMatrix<SparseMatrix<double>, Vector<double> > mgdown(&mg_matrix_dg_down);
-    MGMatrix<SparseMatrix<double>, Vector<double> > mgup(&mg_matrix_dg_up);
+    mg::Matrix<Vector<double> > mgmatrix(mg_matrix);
+    mg::Matrix<Vector<double> > mgdown(mg_matrix_dg_down);
+    mg::Matrix<Vector<double> > mgup(mg_matrix_dg_up);
 
     Multigrid<Vector<double> > mg(mg_dof_handler, mgmatrix,
                                   mg_coarse, mg_transfer,

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.