47 #ifndef Xyce_N_NLS_MatrixFreeEpetraOperator_h
48 #define Xyce_N_NLS_MatrixFreeEpetraOperator_h
51 #include <Teuchos_RefCountPtr.hpp>
55 #include <Epetra_Operator.h>
56 #include <Epetra_MultiVector.h>
57 #include <Epetra_Comm.h>
58 #include <Epetra_Map.h>
62 #include <N_LAS_MultiVector.h>
69 using Teuchos::RefCountPtr;
90 RefCountPtr<N_NLS_NonLinearSolver> nonlinearSolver,
91 RefCountPtr<N_LAS_Vector> solVector,
92 RefCountPtr<N_LAS_Vector> rhsVector,
93 RefCountPtr<const Epetra_Map> solutionMap
117 int Apply(
const Epetra_MultiVector& X, Epetra_MultiVector& Y)
const;
118 int Apply(
const N_LAS_MultiVector& X, N_LAS_MultiVector& Y)
const;
132 int ApplyInverse(
const Epetra_MultiVector& X, Epetra_MultiVector& Y)
const;
133 int ApplyInverse(
const N_LAS_MultiVector& X, N_LAS_MultiVector& Y)
const;
144 const char *
Label()
const;
153 const Epetra_Comm &
Comm()
const;
171 RefCountPtr<N_NLS_NonLinearSolver> nonlinearSolver,
172 RefCountPtr<N_LAS_Vector> solVector,
173 RefCountPtr<N_LAS_Vector> rhsVector,
174 RefCountPtr<const Epetra_Map> solutionMap
177 #endif // Xyce_N_NLS_MatrixFreeEpetraOperator_h