mginterpolatorinterface.h

Go to the documentation of this file.
00001 #ifndef  __MgInterpolatorInterface_h
00002 #define  __MgInterpolatorInterface_h
00003 
00004 #include  "gascoigne.h"
00005 
00006 /*--------------------------------------------------------*/
00007 
00008 namespace Gascoigne
00009 {
00010   class MgInterpolatorInterface
00011   {
00012     private:
00013 
00014     protected:
00015 
00016     public:
00017       MgInterpolatorInterface() {}
00018       virtual ~MgInterpolatorInterface() {}
00019 
00020       virtual void restrict_zero   (GlobalVector&, const GlobalVector&) const=0;
00021       virtual void prolongate_add  (GlobalVector&, const GlobalVector&) const=0;
00022       virtual void SolutionTransfer(GlobalVector&, const GlobalVector&) const=0;
00023       virtual void SolutionTransferUp(GlobalVector& ul, const GlobalVector& uL) const {
00024         prolongate_add(ul,uL); 
00025       }
00026       virtual void Pi(GlobalVector& u) const {
00027         std::cerr << "\"MgInterpolatorInterface::Pi\" not written!" << std::endl;
00028         abort();
00029       }
00030   };
00031 }
00032 
00033 #endif

Generated on Thu Sep 14 10:34:36 2006 for Gascoigne by  doxygen 1.4.7