41 #ifndef _AMESOS_BASESOLVER_H_ 42 #define _AMESOS_BASESOLVER_H_ 48 #include "Teuchos_RCP.hpp" 49 #include "Teuchos_ParameterList.hpp" 50 #include "Teuchos_ParameterListAcceptor.hpp" 224 :
public Teuchos::ParameterListAcceptor
229 Teuchos::RCP<Teuchos::ParameterList> paramList_ ;
235 using Teuchos::ParameterListAcceptor::getParameterList;
325 virtual int Solve() = 0;
372 virtual int SetParameters( Teuchos::ParameterList &ParameterList ) = 0 ;
412 Teuchos::RCP<Teuchos::ParameterList> temp = paramList;
420 Teuchos::RCP<Teuchos::ParameterList> PL ;
427 Teuchos::RCP<Teuchos::ParameterList> PL ;
433 virtual void GetTiming( Teuchos::ParameterList &TimingParameterList )
const 435 Teuchos::ParameterList temp;
436 TimingParameterList = temp.setName(
"NULL");
virtual const Epetra_Comm & Comm() const =0
Returns a pointer to the Epetra_Comm communicator associated with this operator.
virtual Teuchos::RCP< Teuchos::ParameterList > getNonconstParameterList()
This is an empty stub.
virtual int Solve()=0
Solves A X = B (or AT x = B)
virtual int NumSolve() const =0
Returns the number of solves performed by this object.
virtual int NumNumericFact() const =0
Returns the number of numeric factorizations performed by this object.
virtual int NumSymbolicFact() const =0
Returns the number of symbolic factorizations performed by this object.
virtual int NumericFactorization()=0
Performs NumericFactorization on the matrix A.
virtual int SymbolicFactorization()=0
Performs SymbolicFactorization on the matrix A.
virtual int SetParameters(Teuchos::ParameterList &ParameterList)=0
Updates internal variables.
virtual bool UseTranspose() const =0
Returns the current UseTranspose setting.
virtual void PrintTiming() const =0
Prints timing information about the current solver.
virtual int SetUseTranspose(bool UseTranspose)=0
If set true, X will be set to the solution of AT X = B (not A X = B)
virtual void PrintStatus() const =0
Prints status information about the current solver.
const int NumericallySingularMatrixError
const int StructurallySingularMatrixError
virtual const Epetra_LinearProblem * GetProblem() const =0
Returns the Epetra_LinearProblem.
virtual bool MatrixShapeOK() const =0
Returns true if the solver can handle this matrix shape.
Amesos_BaseSolver: A pure virtual class for direct solution of real-valued double-precision operators...
virtual ~Amesos_BaseSolver()
Destructor.
virtual Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
This is an empty stub.
virtual void GetTiming(Teuchos::ParameterList &TimingParameterList) const
Extracts timing information from the current solver and places it in the parameter list...
virtual void setParameterList(Teuchos::RCP< Teuchos::ParameterList > const ¶mList)
Redefined from Teuchos::ParameterListAcceptor (Does Not Work)