PlayaILUFactorizableOp.hpp
00001
00002
00003
00004
00005 #ifndef PLAYA_ILUFACTORIZABLEOP_HPP
00006 #define PLAYA_ILUFACTORIZABLEOP_HPP
00007
00008 #include "PlayaDefs.hpp"
00009
00010
00011 namespace Playa
00012 {
00013 template <class Scalar> class Preconditioner;
00014
00016 enum LeftOrRight {Left, Right};
00017
00022 template <class Scalar>
00023 class ILUFactorizableOp
00024 {
00025 public:
00027 virtual ~ILUFactorizableOp(){;}
00028
00029
00044 virtual void getILUKPreconditioner(int fillLevels,
00045 int overlapFill,
00046 double relaxationValue,
00047 double relativeThreshold,
00048 double absoluteThreshold,
00049 LeftOrRight leftOrRight,
00050 Preconditioner<Scalar>& rtn) const=0;
00052
00053
00054 private:
00055 };
00056 }
00057
00058
00059 #endif