00001 #ifndef SMOOTHER_H
00002 #define SMOOTHER_H
00003
00004 #include <petscvec.h>
00005 #include <petscmat.h>
00006
00007 class Smoother
00008 {
00009 public:
00010 virtual ~Smoother() {}
00011 virtual void Smooth(Vec x, int global, int local) = 0;
00012 virtual void PreSmoothing(Mat matrix, Vec b) = 0;
00013 virtual void SetRhs(Vec rhs) = 0;
00014 virtual Vec GetResidual(Vec x) = 0;
00015
00016 };
00017
00018
00019 #endif