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