From: guido Date: Tue, 7 Jan 2003 11:49:38 +0000 (+0000) Subject: specific MGMatrix classes moved to mg_matrix.h X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9a2cf4cb479249ff4505d98dcea88be749b929ad;p=dealii-svn.git specific MGMatrix classes moved to mg_matrix.h git-svn-id: https://svn.dealii.org/trunk@6880 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 1cfb583fd1..33ecc62f74 100644 --- a/deal.II/deal.II/include/multigrid/mg_base.h +++ b/deal.II/deal.II/include/multigrid/mg_base.h @@ -1,22 +1,19 @@ -//---------------------------- mg_base.h --------------------------- +//-------------------------------------------------------------------- // $Id$ // Version: $Name$ // -// Copyright (C) 1998, 1999, 2000, 2001, 2002 by the deal.II authors +// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 by the deal.II authors // // This file is subject to QPL and may not be distributed // without copyright and license information. Please refer // to the file deal.II/doc/license.html for the text and // further information on this license. // -//---------------------------- mg_base.h --------------------------- +//-------------------------------------------------------------------- #ifndef __deal2__mg_base_h #define __deal2__mg_base_h -/*---------------------------- mgbase.h ---------------------------*/ - - #include #include #include @@ -156,57 +153,6 @@ class MGMatrixBase : public Subscriptor }; -/** - * Multilevel matrix. This class implements the interface defined by - * @ref{MGMatrixBase}, using @ref{MGLevelObject} of an arbitrary - * matrix class. - * - * @author Guido Kanschat, 2002 - */ -template -class MGMatrix : public MGMatrixBase, - public SmartPointer > -{ - public: - /** - * Constructor. The argument is - * handed over to the - * @p{SmartPointer} constructor. - */ - MGMatrix (MGLevelObject* = 0); - - /** - * Matrix-vector-multiplication on - * a certain level. - */ - virtual void vmult(unsigned int level, VECTOR& dst, - const VECTOR& src) const; - - /** - * Adding matrix-vector-multiplication on - * a certain level. - */ - virtual void vmult_add(unsigned int level, VECTOR& dst, - const VECTOR& src) const; - - /** - * Transpose - * matrix-vector-multiplication on - * a certain level. - */ - virtual void Tvmult(unsigned int level, VECTOR& dst, - const VECTOR& src) const; - - /** - * Adding transpose - * matrix-vector-multiplication on - * a certain level. - */ - virtual void Tvmult_add(unsigned int level, VECTOR& dst, - const VECTOR& src) const; -}; - - /** * Base class for coarse grid solvers. This defines the virtual * parenthesis operator, being the interface used by multigrid @@ -397,60 +343,6 @@ MGLevelObject::get_maxlevel () const return minlevel + objects.size() - 1; } -/*----------------------------------------------------------------------*/ - -template -MGMatrix::MGMatrix (MGLevelObject* p) - : - SmartPointer > (p) -{} - - - -template -void -MGMatrix::vmult (unsigned int level, - VECTOR& dst, - const VECTOR& src) const -{ - const MGLevelObject& m = **this; - m[level].vmult(dst, src); -} - - -template -void -MGMatrix::vmult_add (unsigned int level, - VECTOR& dst, - const VECTOR& src) const -{ - const MGLevelObject& m = **this; - m[level].vmult_add(dst, src); -} - - -template -void -MGMatrix::Tvmult (unsigned int level, - VECTOR& dst, - const VECTOR& src) const -{ - const MGLevelObject& m = **this; - m[level].Tvmult(dst, src); -} - - -template -void -MGMatrix::Tvmult_add (unsigned int level, - VECTOR& dst, - const VECTOR& src) const -{ - const MGLevelObject& m = **this; - m[level].Tvmult_add(dst, src); -} - - /*---------------------------- mgbase.h ---------------------------*/ #endif