25 #ifndef OPM_NEWTONITERATIONBLACKOILINTERLEAVED_HEADER_INCLUDED 26 #define OPM_NEWTONITERATIONBLACKOILINTERLEAVED_HEADER_INCLUDED 28 #include <opm/autodiff/NewtonIterationBlackoilInterface.hpp> 29 #include <opm/core/utility/parameters/ParameterGroup.hpp> 39 double linear_solver_reduction_;
40 double ilu_relaxation_;
41 int linear_solver_maxiter_;
42 int linear_solver_restart_;
43 int linear_solver_verbosity_;
44 int ilu_fillin_level_;
45 bool newton_use_gmres_;
46 bool require_full_sparsity_pattern_;
47 bool ignoreConvergenceFailure_;
48 bool linear_solver_use_amg_;
58 newton_use_gmres_ = param.getDefault(
"newton_use_gmres", newton_use_gmres_ );
59 linear_solver_reduction_ = param.getDefault(
"linear_solver_reduction", linear_solver_reduction_ );
60 linear_solver_maxiter_ = param.getDefault(
"linear_solver_maxiter", linear_solver_maxiter_);
61 linear_solver_restart_ = param.getDefault(
"linear_solver_restart", linear_solver_restart_);
62 linear_solver_verbosity_ = param.getDefault(
"linear_solver_verbosity", linear_solver_verbosity_);
63 require_full_sparsity_pattern_ = param.getDefault(
"require_full_sparsity_pattern", require_full_sparsity_pattern_);
64 ignoreConvergenceFailure_ = param.getDefault(
"linear_solver_ignoreconvergencefailure", ignoreConvergenceFailure_);
65 linear_solver_use_amg_ = param.getDefault(
"linear_solver_use_amg", linear_solver_use_amg_ );
66 ilu_relaxation_ = param.getDefault(
"ilu_relaxation", ilu_relaxation_ );
67 ilu_fillin_level_ = param.getDefault(
"ilu_fillin_level", ilu_fillin_level_ );
73 newton_use_gmres_ =
false;
74 linear_solver_reduction_ = 1e-2;
75 linear_solver_maxiter_ = 150;
76 linear_solver_restart_ = 40;
77 linear_solver_verbosity_ = 0;
78 require_full_sparsity_pattern_ =
false;
79 ignoreConvergenceFailure_ =
false;
80 linear_solver_use_amg_ =
false;
81 ilu_fillin_level_ = 0;
82 ilu_relaxation_ = 0.9;
116 static const int maxNumberEquations_ = 6 ;
118 mutable std::array< std::unique_ptr< NewtonIterationBlackoilInterface >, maxNumberEquations_+1 > newtonIncrementDoublePrecision_;
119 mutable std::array< std::unique_ptr< NewtonIterationBlackoilInterface >, maxNumberEquations_+1 > newtonIncrementSinglePrecision_;
121 boost::any parallelInformation_;
122 mutable int iterations_;
128 #endif // OPM_NEWTONITERATIONBLACKOILINTERLEAVED_HEADER_INCLUDED LinearisedBlackoilResidual::ADB::V SolutionVector
Return type for linearSolve(). A simple, non-ad vector type.
Definition: NewtonIterationBlackoilInterface.hpp:35
virtual const boost::any & parallelInformation() const
Get the information about the parallelization of the grid.
Definition: NewtonIterationBlackoilInterleaved.cpp:490
This class solves the fully implicit black-oil system by solving the reduced system (after eliminatin...
Definition: NewtonIterationBlackoilInterleaved.hpp:90
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: AdditionalObjectDeleter.hpp:22
virtual SolutionVector computeNewtonIncrement(const LinearisedBlackoilResidual &residual) const
Solve the system of linear equations Ax = b, with A being the combined derivative matrix of the resid...
Definition: NewtonIterationBlackoilInterleaved.cpp:469
NewtonIterationBlackoilInterleaved(const ParameterGroup ¶m, const boost::any ¶llelInformation=boost::any())
Construct a system solver.
Definition: NewtonIterationBlackoilInterleaved.cpp:303
Residual structure of the fully implicit solver.
Definition: LinearisedBlackoilResidual.hpp:47
virtual int iterations() const
Definition: NewtonIterationBlackoilInterleaved.hpp:109
Interface class for (linear) solvers for the fully implicit black-oil system.
Definition: NewtonIterationBlackoilInterface.hpp:31
This class carries all parameters for the NewtonIterationBlackoilInterleaved class.
Definition: NewtonIterationBlackoilInterleaved.hpp:37