CCAFFEINE  0.8.8
SimpleLinearSolverContainer.h
00001 #ifdef HAVE_CLASSIC
00002 #ifndef SimpleLinearSolverContainer_h_seen
00003 #define SimpleLinearSolverContainer_h_seen
00004 
00009 template<class Scalar, class Ordinal>
00010 class SimpleLinearSolverContainer : public virtual classic::gov::cca::Port {
00011 
00012 public:
00013 
00014   virtual ~SimpleLinearSolverContainer() {}
00015 
00027   virtual void setEquation(Ordinal equationId, Ordinal variableLen, Ordinal *variableIds, Scalar *variableCoefs, Scalar rhs) = 0;
00028 
00035   virtual int buildSystem() = 0;
00036 
00043   virtual int solve() = 0;
00044 
00049   virtual int getResidual(Ordinal equationLen, Ordinal *equationIds, Scalar *residual) = 0;
00050 
00055   virtual int getSolution(Ordinal variableLen, Ordinal *variableIds, Scalar *solution) = 0;
00056 
00057 };
00058 #endif //SimpleLinearSolverContainer_h_seen
00059 #endif // HAVE_CLASSIC