1#ifndef included_AMP_TrilinosNOXSolver
2#define included_AMP_TrilinosNOXSolver
5#include "AMP/AMP_TPLs.h"
6#include "AMP/solvers/SolverStrategy.h"
7#include "AMP/solvers/trilinos/nox/TrilinosNOXSolverParameters.h"
12#include "Teuchos_RCP.hpp"
29class TrilinosThyraModelEvaluator;
92 static std::unique_ptr<SolverStrategy>
98 std::string
type()
const override {
return "TrilinosNOXSolver"; }
105 void reset( std::shared_ptr<SolverStrategyParameters> parameters )
override;
112 void apply( std::shared_ptr<const AMP::LinearAlgebra::Vector> f,
113 std::shared_ptr<AMP::LinearAlgebra::Vector>
u )
override;
128 void initialize( std::shared_ptr<const SolverStrategyParameters> parameters )
override;
130 std::shared_ptr<SolverStrategy>
Provides C++ wrapper around MPI routines.
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
std::shared_ptr< AMP::Solver::SolverStrategy > shared_ptr
Teuchos::RCP< Thyra::PreconditionerBase< double > > d_precOp
Teuchos::RCP<::Thyra::LinearOpWithSolveFactoryBase< double > > d_lowsFactory
void reset(std::shared_ptr< SolverStrategyParameters > parameters) override
Teuchos::RCP< TrilinosThyraModelEvaluator > d_thyraModel
TrilinosNOXSolver(std::shared_ptr< SolverStrategyParameters > parameters)
Teuchos::RCP< NOX::StatusTest::Combo > d_status
void initialize(std::shared_ptr< const SolverStrategyParameters > parameters) override
static std::unique_ptr< SolverStrategy > createSolver(std::shared_ptr< SolverStrategyParameters > solverStrategyParameters)
static create routine that is used by SolverFactory
AMP::LinearAlgebra::Vector::shared_ptr d_initialGuess
virtual ~TrilinosNOXSolver()
void apply(std::shared_ptr< const AMP::LinearAlgebra::Vector > f, std::shared_ptr< AMP::LinearAlgebra::Vector > u) override
Teuchos::RCP< Teuchos::ParameterList > d_nlParams
void setInitialGuess(std::shared_ptr< AMP::LinearAlgebra::Vector > initialGuess) override
std::string type() const override
Return the name of the solver.
std::shared_ptr< SolverStrategy > createPreconditioner(std::shared_ptr< AMP::Database > pc_solver_db)
Teuchos::RCP< NOX::Solver::Generic > d_solver
#define DISABLE_WARNINGS
Re-enable warnings.
#define ENABLE_WARNINGS
Suppress all warnings.