2121
2222#include < memory>
2323
24- // Forward Declarations
25- class Map ;
26-
2724FOUR_C_NAMESPACE_OPEN
2825
2926namespace NOX
@@ -37,8 +34,7 @@ namespace NOX
3734 {
3835 // / Matrix Free Newton Krylov based on an approximation of the residuum derivatives
3936 class FSIMatrixFree : public Core ::LinAlg::SparseOperator,
40- public virtual NOX::Nln::Interface::JacobianBase,
41- public Epetra_Operator
37+ public virtual NOX::Nln::Interface::JacobianBase
4238 {
4339 public:
4440 /* ! \brief Constructor
@@ -93,65 +89,6 @@ namespace NOX
9389 void multiply (bool TransA, const Core::LinAlg::MultiVector<double >& X,
9490 Core::LinAlg::MultiVector<double >& Y) const override ;
9591
96-
97- // Methods of Epetra_Operator interface
98- // ! If set true, transpose of this operator will be applied.
99- /* ! This flag allows the transpose of the given operator to be used implicitly. Setting this
100- flag affects only the Apply() and ApplyInverse() methods. If the implementation of this
101- interface does not support transpose use, this method should return a value of -1. \param
102- UseTranspose -If true, multiply by the transpose of operator, otherwise just use operator.
103-
104- \return Integer error code, set to 0 if successful. Set to -1 if this implementation does
105- not support transpose.
106- */
107- int SetUseTranspose (bool UseTranspose) override ;
108-
109- // ! Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y.
110- /* !
111- \param X - A Epetra_MultiVector of dimension NumVectors to multiply with matrix.
112- \param Y - A Epetra_MultiVector of dimension NumVectors containing result.
113-
114- \return Integer error code, set to 0 if successful.
115- */
116- int Apply (const Epetra_MultiVector& X, Epetra_MultiVector& Y) const override ;
117-
118- // ! Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y.
119- /* !
120- \param X - A Epetra_MultiVector of dimension NumVectors to solve for.
121- \param Y -A Epetra_MultiVector of dimension NumVectors containing result.
122-
123- \return Integer error code, set to 0 if successful.
124-
125- \warning In order to work with an iterative solver, any implementation of this method must
126- support the case where X and Y are the same object.
127- */
128- int ApplyInverse (const Epetra_MultiVector& X, Epetra_MultiVector& Y) const override ;
129-
130- // ! Returns the infinity norm of the global matrix.
131- /* Returns the quantity \f$ \| A \|_\infty\f$ such that
132- \f[\| A \|_\infty = \max_{1\lei\lem} \sum_{j=1}^n |a_{ij}| \f].
133-
134- \warning This method must not be called unless HasNormInf() returns true. */
135- double NormInf () const override ;
136-
137- // ! Returns a character string describing the operator
138- const char * Label () const override ;
139-
140- // ! Returns the current UseTranspose setting.
141- bool UseTranspose () const override ;
142-
143- // ! Returns true if the \e this object can provide an approximate Inf-norm, false otherwise.
144- bool HasNormInf () const override ;
145-
146- // ! Returns a reference to the Epetra_Comm communicator associated with this operator.
147- const Epetra_Comm& Comm () const override ;
148-
149- // ! Returns the Core::LinAlg::Map object associated with the domain of this matrix operator.
150- const Epetra_Map& OperatorDomainMap () const override ;
151-
152- // ! Returns the Core::LinAlg::Map object associated with the range of this matrix operator.
153- const Epetra_Map& OperatorRangeMap () const override ;
154-
15592 // ! Compute Jacobian given the specified input vector, x. Returns true if computation was
15693 // ! successful.
15794 bool compute_jacobian (
0 commit comments