26 #ifndef GRINS_SOLVER_H
27 #define GRINS_SOLVER_H
30 #include "boost/tr1/memory.hpp"
36 #include "libmesh/equation_systems.h"
38 #ifdef GRINS_HAVE_GRVY
48 class ParameterVector;
49 class SensitivityData;
55 class MultiphysicsSystem;
61 Solver(
const GetPot& input );
65 std::tr1::shared_ptr<libMesh::EquationSystems> equation_system,
72 const libMesh::QoISet& ,
73 const libMesh::ParameterVector& ,
74 libMesh::SensitivityData& )
76 { libmesh_not_implemented(); }
80 const libMesh::QoISet& ,
81 const libMesh::ParameterVector& ,
82 libMesh::SensitivityData& )
84 { libmesh_not_implemented(); }
127 #endif //GRINS_SOLVER_H
double _absolute_residual_tolerance
virtual void init_time_solver(GRINS::MultiphysicsSystem *system)=0
double _relative_residual_tolerance
virtual void solve(SolverContext &context)=0
Solver(const GetPot &input)
unsigned int _max_linear_iterations
void set_solver_options(libMesh::DiffSolver &solver)
double _relative_step_tolerance
void steady_adjoint_solve(SolverContext &context)
Do steady version of adjoint solve.
virtual void adjoint_qoi_parameter_sensitivity(SolverContext &, const libMesh::QoISet &, const libMesh::ParameterVector &, libMesh::SensitivityData &) const
bool _continue_after_backtrack_failure
virtual void forward_qoi_parameter_sensitivity(SolverContext &, const libMesh::QoISet &, const libMesh::ParameterVector &, libMesh::SensitivityData &) const
double _minimum_linear_tolerance
double _absolute_step_tolerance
Interface with libMesh for solving Multiphysics problems.
bool _continue_after_max_iterations
std::map< std::string, GRINS::NBCContainer > _neumann_bc_funcs
virtual void initialize(const GetPot &input, std::tr1::shared_ptr< libMesh::EquationSystems > equation_system, GRINS::MultiphysicsSystem *system)
Simple class to hold objects passed to Solver::solve.
unsigned int _max_nonlinear_iterations
double _initial_linear_tolerance