43 #ifndef IFPACK_CONTAINER_H 44 #define IFPACK_CONTAINER_H 46 class Epetra_RowMatrix;
106 virtual int NumRows()
const = 0;
109 virtual int NumVectors()
const = 0;
112 virtual int SetNumVectors(
const int i) = 0;
115 virtual double& LHS(
const int i,
const int Vector = 0) = 0;
118 virtual double& RHS(
const int i,
const int Vector = 0) = 0;
130 virtual int& ID(
const int i) = 0;
133 virtual int SetMatrixElement(
const int row,
const int col,
134 const double value) = 0;
137 virtual int Initialize() = 0;
140 virtual int Compute(
const Epetra_RowMatrix& A) = 0;
143 virtual int SetParameters(Teuchos::ParameterList& List) = 0;
146 virtual bool IsInitialized()
const = 0;
149 virtual bool IsComputed()
const = 0;
152 virtual int Apply() = 0;
155 virtual int ApplyInverse() = 0;
158 virtual const char* Label()
const = 0;
161 virtual double InitializeFlops()
const = 0;
164 virtual double ComputeFlops()
const = 0;
167 virtual double ApplyFlops()
const = 0;
170 virtual double ApplyInverseFlops()
const = 0;
173 virtual std::ostream& Print(std::ostream& os)
const = 0;
176 inline std::ostream& operator<<(std::ostream& os,
const Ifpack_Container& obj)
178 return(obj.
Print(os));
181 #endif // IFPACK_CONTAINER_H virtual ~Ifpack_Container()
Destructor.
Ifpack_Partitioner: A class to decompose local Ifpack_Graph's.
virtual std::ostream & Print(std::ostream &os) const =0
Prints out basic information about the container.
Ifpack_Container: a pure virtual class for creating and solving local linear problems.