From: guido Date: Sat, 9 Aug 2003 06:20:50 +0000 (+0000) Subject: preconditionMG for mixed vectors X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=23fe2995eca80e29bcce176cc897b27ebe23ad3b;p=dealii-svn.git preconditionMG for mixed vectors git-svn-id: https://svn.dealii.org/trunk@7909 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/multigrid/multigrid.h b/deal.II/deal.II/include/multigrid/multigrid.h index 0a1e0f9978..b3b0329ec0 100644 --- a/deal.II/deal.II/include/multigrid/multigrid.h +++ b/deal.II/deal.II/include/multigrid/multigrid.h @@ -292,8 +292,9 @@ class PreconditionMG : public Subscriptor * This is the operator used by * LAC iterative solvers. */ - void vmult (VECTOR &dst, - const VECTOR &src) const; + template + void vmult (VECTOR2 &dst, + const VECTOR2 &src) const; /** * Preconditioning operator. @@ -301,8 +302,9 @@ class PreconditionMG : public Subscriptor * of the @p{MG} object passed to * the constructor. */ - void vmult_add (VECTOR &dst, - const VECTOR &src) const; + template + void vmult_add (VECTOR2 &dst, + const VECTOR2 &src) const; /** * Tranposed preconditioning operator. @@ -310,8 +312,9 @@ class PreconditionMG : public Subscriptor * Not implemented, but the * definition may be needed. */ - void Tvmult (VECTOR &dst, - const VECTOR &src) const; + template + void Tvmult (VECTOR2 &dst, + const VECTOR2 &src) const; /** * Tranposed preconditioning operator. @@ -319,8 +322,9 @@ class PreconditionMG : public Subscriptor * Not implemented, but the * definition may be needed. */ - void Tvmult_add (VECTOR &dst, - const VECTOR &src) const; + template + void Tvmult_add (VECTOR2 &dst, + const VECTOR2 &src) const; private: /** @@ -408,10 +412,11 @@ PreconditionMG::empty () const } template +template void PreconditionMG::vmult ( - VECTOR& dst, - const VECTOR& src) const + VECTOR2& dst, + const VECTOR2& src) const { transfer->copy_to_mg(*mg_dof_handler, multigrid->defect, @@ -426,10 +431,11 @@ PreconditionMG::vmult ( template +template void PreconditionMG::vmult_add ( - VECTOR& dst, - const VECTOR& src) const + VECTOR2& dst, + const VECTOR2& src) const { transfer->copy_to_mg(*mg_dof_handler, multigrid->defect, @@ -444,20 +450,22 @@ PreconditionMG::vmult_add ( template +template void PreconditionMG::Tvmult ( - VECTOR&, - const VECTOR&) const + VECTOR2&, + const VECTOR2&) const { Assert(false, ExcNotImplemented()); } template +template void PreconditionMG::Tvmult_add ( - VECTOR&, - const VECTOR&) const + VECTOR2&, + const VECTOR2&) const { Assert(false, ExcNotImplemented()); }