20 #ifndef LIBMESH_TRILINOS_NOX_NONLINEAR_SOLVER_H 21 #define LIBMESH_TRILINOS_NOX_NONLINEAR_SOLVER_H 26 #if defined(LIBMESH_TRILINOS_HAVE_NOX) && defined(LIBMESH_TRILINOS_HAVE_EPETRA) 33 #include "Epetra_Vector.h" 34 #include "Epetra_Operator.h" 35 #include "Epetra_RowMatrix.h" 36 #include "NOX_Epetra_Interface_Required.H" 37 #include "NOX_Epetra_Interface_Jacobian.H" 38 #include "NOX_Epetra_Interface_Preconditioner.H" 49 class Problem_Interface;
83 virtual void clear ()
override;
88 virtual void init (
const char *
name =
nullptr)
override;
94 virtual std::pair<unsigned int, Real>
99 const unsigned int)
override;
113 { libmesh_not_implemented();
return 0; }
135 template <
typename T>
141 _n_linear_iterations(0)
147 template <
typename T>
158 #endif // LIBMESH_TRILINOS_HAVE_NOX && LIBMESH_TRILINOS_HAVE_EPETRA 159 #endif // LIBMESH_TRILINOS_NOX_NONLINEAR_SOLVER_H std::string name(const ElemQuality q)
virtual ~NoxNonlinearSolver()
virtual int get_total_linear_iterations() override
virtual void init(const char *name=nullptr) override
Problem_Interface * _interface
Provides a uniform interface to vector storage schemes for different linear algebra libraries...
virtual std::pair< unsigned int, Real > solve(SparseMatrix< T > &, NumericVector< T > &, NumericVector< T > &, const double, const unsigned int) override
NOX::Solver::Generic * _solver
virtual void clear() override
const sys_type & system() const
NonlinearImplicitSystem sys_type
Manages consistently variables, degrees of freedom, coefficient vectors, matrices and non-linear solv...
NoxNonlinearSolver(sys_type &system)
virtual unsigned get_current_nonlinear_iteration_number() const override