Modify default solver parameters.

These should work well for both Norne and the SPE cases.
This commit is contained in:
Atgeirr Flø Rasmussen 2015-04-21 12:40:21 +02:00
parent 78be86a9ed
commit f007bf561c
4 changed files with 12 additions and 12 deletions

View File

@ -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;
}

View File

@ -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>

View File

@ -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 ))
{

View File

@ -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_ ) );
}