mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-01-28 17:14:39 -06:00
Modify default solver parameters.
These should work well for both Norne and the SPE cases.
This commit is contained in:
parent
78be86a9ed
commit
f007bf561c
@ -295,10 +295,10 @@ createEllipticPreconditionerPointer(const M& Ae, double relax,
|
||||
void reset()
|
||||
{
|
||||
cpr_relax_ = 1.0;
|
||||
cpr_solver_tol_ = 1e-4;
|
||||
cpr_solver_tol_ = 1e-2;
|
||||
cpr_ilu_n_ = 0;
|
||||
cpr_max_ell_iter_ = 5000;
|
||||
cpr_use_amg_ = false;
|
||||
cpr_max_ell_iter_ = 25;
|
||||
cpr_use_amg_ = true;
|
||||
cpr_use_bicgstab_ = true;
|
||||
cpr_solver_verbose_ = false;
|
||||
}
|
||||
|
@ -145,11 +145,11 @@ namespace detail {
|
||||
relax_increment_ = 0.1;
|
||||
relax_rel_tol_ = 0.2;
|
||||
max_iter_ = 15; // not more then 15 its by default
|
||||
min_iter_ = 0; // keep the default as it was
|
||||
max_residual_allowed_ = std::numeric_limits< double >::max();
|
||||
tolerance_mb_ = 1.0e-7;
|
||||
tolerance_cnv_ = 1.0e-3;
|
||||
tolerance_wells_ = 1./Opm::unit::day;
|
||||
min_iter_ = 1; // Default to always do at least one nonlinear iteration.
|
||||
max_residual_allowed_ = 1e5;
|
||||
tolerance_mb_ = 1.0e-5;
|
||||
tolerance_cnv_ = 1.0e-2;
|
||||
tolerance_wells_ = 1.0e-2;
|
||||
}
|
||||
|
||||
template<class T>
|
||||
|
@ -103,9 +103,9 @@ namespace Opm
|
||||
: cpr_param_( param ),
|
||||
iterations_( 0 ),
|
||||
parallelInformation_(parallelInformation),
|
||||
newton_use_gmres_( param.getDefault("newton_use_gmres", true ) ),
|
||||
linear_solver_reduction_( param.getDefault("linear_solver_reduction", 1e-3 ) ),
|
||||
linear_solver_maxiter_( param.getDefault("linear_solver_maxiter", 150 ) ),
|
||||
newton_use_gmres_( param.getDefault("newton_use_gmres", false ) ),
|
||||
linear_solver_reduction_( param.getDefault("linear_solver_reduction", 1e-2 ) ),
|
||||
linear_solver_maxiter_( param.getDefault("linear_solver_maxiter", 50 ) ),
|
||||
linear_solver_restart_( param.getDefault("linear_solver_restart", 40 ) ),
|
||||
linear_solver_verbosity_( param.getDefault("linear_solver_verbosity", 0 ))
|
||||
{
|
||||
|
@ -232,7 +232,7 @@ namespace Opm
|
||||
|
||||
// adaptive time stepping
|
||||
std::unique_ptr< AdaptiveTimeStepping > adaptiveTimeStepping;
|
||||
if( param_.getDefault("timestep.adaptive", bool(false) ) )
|
||||
if( param_.getDefault("timestep.adaptive", true ) )
|
||||
{
|
||||
adaptiveTimeStepping.reset( new AdaptiveTimeStepping( param_ ) );
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user