From: guido Date: Tue, 4 Feb 2003 17:11:53 +0000 (+0000) Subject: base classes renamed X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=44d5e8cd33113f1834578eee3cae375c5601b277;p=dealii-svn.git base classes renamed git-svn-id: https://svn.dealii.org/trunk@7014 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/multigrid/mg_base.h b/deal.II/deal.II/include/multigrid/mg_base.h index 33ecc62f74..9322e39d45 100644 --- a/deal.II/deal.II/include/multigrid/mg_base.h +++ b/deal.II/deal.II/include/multigrid/mg_base.h @@ -13,6 +13,10 @@ #ifndef __deal2__mg_base_h #define __deal2__mg_base_h +/* + * This file contains MGLevelObject and some abstract base classes + * used by Multigrid. + */ #include #include @@ -161,13 +165,13 @@ class MGMatrixBase : public Subscriptor * @author Guido Kanschat, 2002 */ template -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 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 MGSmoother : public Subscriptor +class MGSmootherBase : public Subscriptor { public: /** * Virtual destructor. */ - virtual ~MGSmoother(); + virtual ~MGSmootherBase(); /** * Smoothing function. This is the diff --git a/deal.II/deal.II/include/multigrid/mg_coarse.h b/deal.II/deal.II/include/multigrid/mg_coarse.h index 6110238a7d..4e9944f8e6 100644 --- a/deal.II/deal.II/include/multigrid/mg_coarse.h +++ b/deal.II/deal.II/include/multigrid/mg_coarse.h @@ -29,7 +29,7 @@ * @author Guido Kanschat, 1999, Ralf Hartmann, 2002. */ template > -class MGCoarseGridLACIteration : public MGCoarseGrid +class MGCoarseGridLACIteration : public MGCoarseGridBase { public: /** diff --git a/deal.II/deal.II/include/multigrid/mg_smoother.h b/deal.II/deal.II/include/multigrid/mg_smoother.h index 56a415958d..813dcdb565 100644 --- a/deal.II/deal.II/include/multigrid/mg_smoother.h +++ b/deal.II/deal.II/include/multigrid/mg_smoother.h @@ -23,6 +23,10 @@ template 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 class MGDoFHandler; * @author Guido Kanschat, 1999, 2002 */ template -class MGSmootherIdentity : public MGSmoother +class MGSmootherIdentity : public MGSmootherBase { public: /** @@ -61,7 +65,7 @@ class MGSmootherIdentity : public MGSmoother * @author Wolfgang Bangerth, Guido Kanschat, 1999, 2002 */ template -class MGSmootherContinuous : public MGSmoother +class MGSmootherContinuous : public MGSmootherBase { private: /** @@ -196,7 +200,7 @@ class MGSmootherContinuous : public MGSmoother * @author Guido Kanschat, 2003 */ template -class MGSmootherRelaxation : public MGSmoother +class MGSmootherRelaxation : public MGSmootherBase { public: /** diff --git a/deal.II/deal.II/include/multigrid/mg_transfer.h b/deal.II/deal.II/include/multigrid/mg_transfer.h index c83a7f6287..a7cd15ca81 100644 --- a/deal.II/deal.II/include/multigrid/mg_transfer.h +++ b/deal.II/deal.II/include/multigrid/mg_transfer.h @@ -21,6 +21,9 @@ template class MGDoFHandler; +/* + * MGTransferBase is defined in mg_base.h + */ /** * Implementation of the @p{MGTransferBase} interface for which the transfer @@ -32,7 +35,7 @@ template class MGDoFHandler; * @author Wolfgang Bangerth, Guido Kanschat, 1999, 2000, 2001, 2002 */ template -class MGTransferPrebuilt : public MGTransfer > +class MGTransferPrebuilt : public MGTransferBase > { public: /** @@ -257,7 +260,7 @@ class MGTransferBlockBase * @author Guido Kanschat, 2001, 2002 */ template -class MGTransferBlock : public MGTransfer >, +class MGTransferBlock : public MGTransferBase >, private MGTransferBlockBase { public: @@ -386,7 +389,7 @@ class MGTransferBlock : public MGTransfer >, * @author Guido Kanschat, 2001, 2002 */ template -class MGTransferSelect : public MGTransfer >, +class MGTransferSelect : public MGTransferBase >, private MGTransferBlockBase { public: diff --git a/deal.II/deal.II/include/multigrid/multigrid.h b/deal.II/deal.II/include/multigrid/multigrid.h index fc924440ca..4b2e4ee699 100644 --- a/deal.II/deal.II/include/multigrid/multigrid.h +++ b/deal.II/deal.II/include/multigrid/multigrid.h @@ -93,10 +93,10 @@ class Multigrid : public Subscriptor template Multigrid(const MGDoFHandler& mg_dof_handler, const MGMatrixBase& matrix, - const MGCoarseGrid& coarse, - const MGTransfer& transfer, - const MGSmoother& pre_smooth, - const MGSmoother& post_smooth, + const MGCoarseGridBase& coarse, + const MGTransferBase& transfer, + const MGSmootherBase& pre_smooth, + const MGSmootherBase& 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 > coarse; + SmartPointer > coarse; /** * Object for grid tranfer. */ - SmartPointer > transfer; + SmartPointer > transfer; /** * The pre-smoothing object. */ - SmartPointer > pre_smooth; + SmartPointer > pre_smooth; /** * The post-smoothing object. */ - SmartPointer > post_smooth; + SmartPointer > post_smooth; /** * Edge matrix from fine to coarse. @@ -342,10 +342,10 @@ template template Multigrid::Multigrid (const MGDoFHandler& mg_dof_handler, const MGMatrixBase& matrix, - const MGCoarseGrid& coarse, - const MGTransfer& transfer, - const MGSmoother& pre_smooth, - const MGSmoother& post_smooth, + const MGCoarseGridBase& coarse, + const MGTransferBase& transfer, + const MGSmootherBase& pre_smooth, + const MGSmootherBase& post_smooth, const unsigned int min_level, const unsigned int max_level) : diff --git a/deal.II/deal.II/source/multigrid/mg_base.cc b/deal.II/deal.II/source/multigrid/mg_base.cc index 7e8cde1628..575da498f6 100644 --- a/deal.II/deal.II/source/multigrid/mg_base.cc +++ b/deal.II/deal.II/source/multigrid/mg_base.cc @@ -18,7 +18,7 @@ template -MGTransfer::~MGTransfer() +MGTransferBase::~MGTransferBase() {} @@ -28,23 +28,33 @@ MGMatrixBase::~MGMatrixBase() template -MGCoarseGrid::~MGCoarseGrid() +MGSmootherBase::~MGSmootherBase() +{} + + +template +MGCoarseGridBase::~MGCoarseGridBase() {} // Explicit instantiations -template class MGTransfer >; -template class MGTransfer >; -template class MGTransfer >; -template class MGTransfer >; +template class MGTransferBase >; +template class MGTransferBase >; +template class MGTransferBase >; +template class MGTransferBase >; template class MGMatrixBase >; template class MGMatrixBase >; template class MGMatrixBase >; template class MGMatrixBase >; -template class MGCoarseGrid >; -template class MGCoarseGrid >; -template class MGCoarseGrid >; -template class MGCoarseGrid >; +template MGSmootherBase >; +template MGSmootherBase >; +template MGSmootherBase >; +template MGSmootherBase >; + +template class MGCoarseGridBase >; +template class MGCoarseGridBase >; +template class MGCoarseGridBase >; +template class MGCoarseGridBase >; diff --git a/deal.II/deal.II/source/multigrid/mg_smoother.cc b/deal.II/deal.II/source/multigrid/mg_smoother.cc index 45bd4a7d9a..73519ddba4 100644 --- a/deal.II/deal.II/source/multigrid/mg_smoother.cc +++ b/deal.II/deal.II/source/multigrid/mg_smoother.cc @@ -28,11 +28,6 @@ #include -template -MGSmoother::~MGSmoother() -{} - - ////////////////////////////////////////////////////////////////////// @@ -139,11 +134,6 @@ MGSmootherContinuous::set_zero_interior_boundary (const unsigned int lev // explicit instantiations -template MGSmoother >::~MGSmoother(); -template MGSmoother >::~MGSmoother(); -template MGSmoother >::~MGSmoother(); -template MGSmoother >::~MGSmoother(); - // don't do the following instantiation in 1d, since there is a specialized // function there #if deal_II_dimension > 1