]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
base classes renamed
authorguido <guido@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 4 Feb 2003 17:11:53 +0000 (17:11 +0000)
committerguido <guido@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 4 Feb 2003 17:11:53 +0000 (17:11 +0000)
git-svn-id: https://svn.dealii.org/trunk@7014 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/multigrid/mg_base.h
deal.II/deal.II/include/multigrid/mg_coarse.h
deal.II/deal.II/include/multigrid/mg_smoother.h
deal.II/deal.II/include/multigrid/mg_transfer.h
deal.II/deal.II/include/multigrid/multigrid.h
deal.II/deal.II/source/multigrid/mg_base.cc
deal.II/deal.II/source/multigrid/mg_smoother.cc

index 33ecc62f74880ef002f3248409bc6f9dd3fbfc67..9322e39d456c7bd685f1b3744a1b5d21c40fdaee 100644 (file)
 #ifndef __deal2__mg_base_h
 #define __deal2__mg_base_h
 
+/*
+ * This file contains MGLevelObject and some abstract base classes
+ * used by Multigrid.
+ */
 
 #include <base/config.h>
 #include <base/subscriptor.h>
@@ -161,13 +165,13 @@ class MGMatrixBase : public Subscriptor
  * @author Guido Kanschat, 2002
  */
 template <class VECTOR>
-class MGCoarseGrid : public Subscriptor
+class MGCoarseGridBase : public Subscriptor
 {
   public:
                                     /**
                                      * Virtual destructor.
                                      */
-    virtual ~MGCoarseGrid ();
+    virtual ~MGCoarseGridBase ();
 
                                     /**
                                      * Solver method implemented by
@@ -188,14 +192,14 @@ class MGCoarseGrid : public Subscriptor
  * @author Wolfgang Bangerth, Guido Kanschat, 1999, 2002
  */
  template <class VECTOR>
- class MGTransfer : public Subscriptor
+ class MGTransferBase : public Subscriptor
  {
    public:
                                     /**
                                      * Destructor. Does nothing here, but
                                      * needs to be declared virtual anyway.
                                      */
-     virtual ~MGTransfer();
+     virtual ~MGTransferBase();
 
                                     /**
                                      * Prolongate a vector from level
@@ -253,13 +257,13 @@ class MGCoarseGrid : public Subscriptor
  * @author Guido Kanschat, 2002
  */
 template <class VECTOR>
-class MGSmoother : public Subscriptor
+class MGSmootherBase : public Subscriptor
 {
   public:
                                   /**
                                    * Virtual destructor.
                                    */
-  virtual ~MGSmoother();
+  virtual ~MGSmootherBase();
 
                                   /**
                                    * Smoothing function. This is the
index 6110238a7d083722a108870ff9e5fa1334d67892..4e9944f8e6f1ddb5d792bb69a8fada3d1375966e 100644 (file)
@@ -29,7 +29,7 @@
  * @author Guido Kanschat, 1999, Ralf Hartmann, 2002.
  */
 template<class SOLVER, class MATRIX, class PRECOND, class VECTOR = Vector<double> >
-class MGCoarseGridLACIteration :  public MGCoarseGrid<VECTOR>
+class MGCoarseGridLACIteration :  public MGCoarseGridBase<VECTOR>
 {
   public:
                                     /**
index 56a415958df3933e38dc2d7d2c732c31e7a3dbca..813dcdb5654a9fbcf13355b731a8cc6a20c29160 100644 (file)
 template <int dim> class MGDoFHandler;
 
 
+/*
+ * MGSmootherBase is defined in mg_base.h
+ */
+
 /**
  * Smoother doing nothing. This class is not useful for many applications other
  * than for testing some multigrid procedures. Also some applications might
@@ -32,7 +36,7 @@ template <int dim> class MGDoFHandler;
  * @author Guido Kanschat, 1999, 2002
  */
 template <class VECTOR>
-class MGSmootherIdentity : public MGSmoother<VECTOR>
+class MGSmootherIdentity : public MGSmootherBase<VECTOR>
 {
   public:
                                     /**
@@ -61,7 +65,7 @@ class MGSmootherIdentity : public MGSmoother<VECTOR>
  * @author Wolfgang Bangerth, Guido Kanschat, 1999, 2002
  */
 template <class VECTOR>
-class MGSmootherContinuous : public MGSmoother<VECTOR>
+class MGSmootherContinuous : public MGSmootherBase<VECTOR>
 {
   private:
                                     /**
@@ -196,7 +200,7 @@ class MGSmootherContinuous : public MGSmoother<VECTOR>
  * @author Guido Kanschat, 2003
  */
 template<class MATRIX, class RELAX, class VECTOR>
-class MGSmootherRelaxation : public MGSmoother<VECTOR>
+class MGSmootherRelaxation : public MGSmootherBase<VECTOR>
 {
   public:
                                     /**
index c83a7f628738acd9806dd42d885f632d6d2f8e77..a7cd15ca8180510d0261bf99e0b6b4d866fdd745 100644 (file)
@@ -21,6 +21,9 @@
 
 template <int dim> class MGDoFHandler;
 
+/*
+ * MGTransferBase is defined in mg_base.h
+ */
 
 /**
  * Implementation of the @p{MGTransferBase} interface for which the transfer
@@ -32,7 +35,7 @@ template <int dim> class MGDoFHandler;
  * @author Wolfgang Bangerth, Guido Kanschat, 1999, 2000, 2001, 2002
  */
 template<typename number>
-class MGTransferPrebuilt : public MGTransfer<Vector<number> > 
+class MGTransferPrebuilt : public MGTransferBase<Vector<number> > 
 {
   public:
                                     /**
@@ -257,7 +260,7 @@ class MGTransferBlockBase
  * @author Guido Kanschat, 2001, 2002
  */
 template <typename number>
-class MGTransferBlock : public MGTransfer<BlockVector<number> >,
+class MGTransferBlock : public MGTransferBase<BlockVector<number> >,
                        private MGTransferBlockBase
 {
   public:
@@ -386,7 +389,7 @@ class MGTransferBlock : public MGTransfer<BlockVector<number> >,
  * @author Guido Kanschat, 2001, 2002
  */
 template <typename number>
-class MGTransferSelect : public MGTransfer<Vector<number> >,
+class MGTransferSelect : public MGTransferBase<Vector<number> >,
                         private MGTransferBlockBase
 {
   public:
index fc924440cab35a162ba5755e44bd084cc3ecbe4d..4b2e4ee6993e76eebfe892bc3f59f4f2336db1bf 100644 (file)
@@ -93,10 +93,10 @@ class Multigrid : public Subscriptor
   template <int dim>
     Multigrid(const MGDoFHandler<dim>& mg_dof_handler,
              const MGMatrixBase<VECTOR>& matrix,
-             const MGCoarseGrid<VECTOR>& coarse,
-             const MGTransfer<VECTOR>& transfer,
-             const MGSmoother<VECTOR>& pre_smooth,
-             const MGSmoother<VECTOR>& post_smooth,
+             const MGCoarseGridBase<VECTOR>& coarse,
+             const MGTransferBase<VECTOR>& transfer,
+             const MGSmootherBase<VECTOR>& pre_smooth,
+             const MGSmootherBase<VECTOR>& post_smooth,
              const unsigned int            minlevel = 0,
              const unsigned int            maxlevel = 1000000);
 
@@ -201,22 +201,22 @@ class Multigrid : public Subscriptor
                                     /**
                                      * The matrix for each level.
                                      */
-    SmartPointer<const MGCoarseGrid<VECTOR> > coarse;
+    SmartPointer<const MGCoarseGridBase<VECTOR> > coarse;
     
                                     /**
                                      * Object for grid tranfer.
                                      */
-    SmartPointer<const MGTransfer<VECTOR> > transfer;
+    SmartPointer<const MGTransferBase<VECTOR> > transfer;
 
                                     /**
                                      * The pre-smoothing object.
                                      */
-    SmartPointer<const MGSmoother<VECTOR> > pre_smooth;
+    SmartPointer<const MGSmootherBase<VECTOR> > pre_smooth;
 
                                     /**
                                      * The post-smoothing object.
                                      */
-    SmartPointer<const MGSmoother<VECTOR> > post_smooth;
+    SmartPointer<const MGSmootherBase<VECTOR> > post_smooth;
     
                                     /**
                                      * Edge matrix from fine to coarse.
@@ -342,10 +342,10 @@ template <class VECTOR>
 template <int dim>
 Multigrid<VECTOR>::Multigrid (const MGDoFHandler<dim>& mg_dof_handler,
                              const MGMatrixBase<VECTOR>& matrix,
-                             const MGCoarseGrid<VECTOR>& coarse,
-                             const MGTransfer<VECTOR>& transfer,
-                             const MGSmoother<VECTOR>& pre_smooth,
-                             const MGSmoother<VECTOR>& post_smooth,
+                             const MGCoarseGridBase<VECTOR>& coarse,
+                             const MGTransferBase<VECTOR>& transfer,
+                             const MGSmootherBase<VECTOR>& pre_smooth,
+                             const MGSmootherBase<VECTOR>& post_smooth,
                              const unsigned int min_level,
                              const unsigned int max_level)
                :
index 7e8cde162888e2d3db3f8a1276793663e0a3d2cd..575da498f625caa7604c18d7aa4b60566fe6940a 100644 (file)
@@ -18,7 +18,7 @@
 
 
 template <class VECTOR>
-MGTransfer<VECTOR>::~MGTransfer()
+MGTransferBase<VECTOR>::~MGTransferBase()
 {}
 
 
@@ -28,23 +28,33 @@ MGMatrixBase<VECTOR>::~MGMatrixBase()
 
 
 template <class VECTOR>
-MGCoarseGrid<VECTOR>::~MGCoarseGrid()
+MGSmootherBase<VECTOR>::~MGSmootherBase()
+{}
+
+
+template <class VECTOR>
+MGCoarseGridBase<VECTOR>::~MGCoarseGridBase()
 {}
 
 
 // Explicit instantiations
 
-template class MGTransfer<Vector<double> >;
-template class MGTransfer<Vector<float> >;
-template class MGTransfer<BlockVector<double> >;
-template class MGTransfer<BlockVector<float> >;
+template class MGTransferBase<Vector<double> >;
+template class MGTransferBase<Vector<float> >;
+template class MGTransferBase<BlockVector<double> >;
+template class MGTransferBase<BlockVector<float> >;
 
 template class MGMatrixBase<Vector<double> >;
 template class MGMatrixBase<Vector<float> >;
 template class MGMatrixBase<BlockVector<double> >;
 template class MGMatrixBase<BlockVector<float> >;
 
-template class MGCoarseGrid<Vector<double> >;
-template class MGCoarseGrid<Vector<float> >;
-template class MGCoarseGrid<BlockVector<double> >;
-template class MGCoarseGrid<BlockVector<float> >;
+template MGSmootherBase<Vector<float> >;
+template MGSmootherBase<Vector<double> >;
+template MGSmootherBase<BlockVector<float> >;
+template MGSmootherBase<BlockVector<double> >;
+
+template class MGCoarseGridBase<Vector<double> >;
+template class MGCoarseGridBase<Vector<float> >;
+template class MGCoarseGridBase<BlockVector<double> >;
+template class MGCoarseGridBase<BlockVector<float> >;
index 45bd4a7d9acef358e771dab9f3147e82623f37a9..73519ddba4aaa5e9181d07784ecd9d768a0f3ad8 100644 (file)
 #include <algorithm>
 
 
-template <class VECTOR>
-MGSmoother<VECTOR>::~MGSmoother()
-{}
-
-
 //////////////////////////////////////////////////////////////////////
 
 
@@ -139,11 +134,6 @@ MGSmootherContinuous<VECTOR>::set_zero_interior_boundary (const unsigned int lev
 
 // explicit instantiations
 
-template MGSmoother<Vector<float> >::~MGSmoother();
-template MGSmoother<Vector<double> >::~MGSmoother();
-template MGSmoother<BlockVector<float> >::~MGSmoother();
-template MGSmoother<BlockVector<double> >::~MGSmoother();
-
 // don't do the following instantiation in 1d, since there is a specialized
 // function there
 #if deal_II_dimension > 1

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.