16#ifndef dealii_trilinos_nox
17#define dealii_trilinos_nox
21#ifdef DEAL_II_TRILINOS_WITH_NOX
27# include <Teuchos_ParameterList.hpp>
87 template <
typename VectorType>
172 const Teuchos::RCP<Teuchos::ParameterList> &
parameters =
173 Teuchos::rcp(
new Teuchos::ParameterList));
205 std::function<void(
const VectorType &u, VectorType &F)>
residual;
283 void(
const VectorType &y, VectorType &x,
const double tolerance)>
316 int(
const VectorType &y, VectorType &x,
const double tolerance)>
340 const VectorType & current_u,
341 const VectorType & f)>
std::function< void(const VectorType &x, VectorType &y)> apply_jacobian
unsigned int n_residual_evaluations
unsigned int n_nonlinear_iterations
std::function< void(const VectorType ¤t_u)> setup_preconditioner
unsigned int n_last_linear_iterations
std::function< void(const VectorType &y, VectorType &x, const double tolerance)> solve_with_jacobian
std::function< bool()> update_preconditioner_predicate
std::function< void(const VectorType &u, VectorType &F)> residual
AdditionalData additional_data
unsigned int solve(VectorType &solution)
NOXSolver(AdditionalData &additional_data, const Teuchos::RCP< Teuchos::ParameterList > ¶meters=Teuchos::rcp(new Teuchos::ParameterList))
std::function< void(const VectorType ¤t_u)> setup_jacobian
const Teuchos::RCP< Teuchos::ParameterList > parameters
std::exception_ptr pending_exception
std::function< SolverControl::State(const unsigned int i, const double norm_f, const VectorType ¤t_u, const VectorType &f)> check_iteration_status
unsigned int n_jacobian_applications
std::function< int(const VectorType &y, VectorType &x, const double tolerance)> solve_with_jacobian_and_track_n_linear_iterations
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define DeclException0(Exception0)
static ::ExceptionBase & ExcNOXNoConvergence()
unsigned int threshold_n_linear_iterations
unsigned int threshold_nonlinear_iterations
AdditionalData(const unsigned int max_iter=10, const double abs_tol=1.e-20, const double rel_tol=1.e-5, const unsigned int threshold_nonlinear_iterations=1, const unsigned int threshold_n_linear_iterations=0, const bool reuse_solver=false)