add the parameters which were introduced by the MILU PR

i.e., make it possible to specify them via the eWoms parameter system.
This commit is contained in:
Andreas Lauser 2018-08-02 12:58:55 +02:00
parent 61650a22df
commit 0714ab5930

View File

@ -46,6 +46,9 @@ NEW_PROP_TAG(FlowLinearSolverMaxIter);
NEW_PROP_TAG(FlowLinearSolverRestart);
NEW_PROP_TAG(FlowLinearSolverVerbosity);
NEW_PROP_TAG(FlowIluFillinLevel);
NEW_PROP_TAG(FlowMIluVariant);
NEW_PROP_TAG(FlowIluRedblack);
NEW_PROP_TAG(FlowIluReorderSpheres);
NEW_PROP_TAG(FlowUseGmres);
NEW_PROP_TAG(FlowLinearSolverRequireFullSparsityPattern);
NEW_PROP_TAG(FlowLinearSolverIgnoreConvergenceFailure);
@ -58,6 +61,9 @@ SET_INT_PROP(FlowIstlSolverParams, FlowLinearSolverMaxIter, 150);
SET_INT_PROP(FlowIstlSolverParams, FlowLinearSolverRestart, 40);
SET_INT_PROP(FlowIstlSolverParams, FlowLinearSolverVerbosity, 0);
SET_INT_PROP(FlowIstlSolverParams, FlowIluFillinLevel, 0);
SET_STRING_PROP(FlowIstlSolverParams, FlowMIluVariant, "ILU");
SET_BOOL_PROP(FlowIstlSolverParams, FlowIluRedblack, false);
SET_BOOL_PROP(FlowIstlSolverParams, FlowIluReorderSpheres, false);
SET_BOOL_PROP(FlowIstlSolverParams, FlowUseGmres, false);
SET_BOOL_PROP(FlowIstlSolverParams, FlowLinearSolverRequireFullSparsityPattern, false);
SET_BOOL_PROP(FlowIstlSolverParams, FlowLinearSolverIgnoreConvergenceFailure, false);
@ -97,6 +103,9 @@ namespace Opm
linear_solver_restart_ = EWOMS_GET_PARAM(TypeTag, int, FlowLinearSolverRestart);
linear_solver_verbosity_ = EWOMS_GET_PARAM(TypeTag, int, FlowLinearSolverVerbosity);
ilu_fillin_level_ = EWOMS_GET_PARAM(TypeTag, int, FlowIluFillinLevel);
ilu_milu_ = convertString2Milu(EWOMS_GET_PARAM(TypeTag, std::string, FlowMIluVariant));
ilu_redblack_ = EWOMS_GET_PARAM(TypeTag, bool, FlowIluRedblack);
ilu_reorder_sphere_ = EWOMS_GET_PARAM(TypeTag, bool, FlowIluReorderSpheres);
newton_use_gmres_ = EWOMS_GET_PARAM(TypeTag, bool, FlowUseGmres);
require_full_sparsity_pattern_ = EWOMS_GET_PARAM(TypeTag, bool, FlowLinearSolverRequireFullSparsityPattern);
ignoreConvergenceFailure_ = EWOMS_GET_PARAM(TypeTag, bool, FlowLinearSolverIgnoreConvergenceFailure);
@ -113,6 +122,9 @@ namespace Opm
EWOMS_REGISTER_PARAM(TypeTag, int, FlowLinearSolverRestart, "The number of iterations after which GMRES is restarted");
EWOMS_REGISTER_PARAM(TypeTag, int, FlowLinearSolverVerbosity, "The verbosity level of the linear solver (0: off, 2: all)");
EWOMS_REGISTER_PARAM(TypeTag, int, FlowIluFillinLevel, "The fill-in level of the linear solver's ILU preconditioner");
EWOMS_REGISTER_PARAM(TypeTag, std::string, FlowMIluVariant, "Specify which variant of the modified-ILU preconditioner ought to be used");
EWOMS_REGISTER_PARAM(TypeTag, bool, FlowIluRedblack, "Use red-black partioning for the ILU preconditioner");
EWOMS_REGISTER_PARAM(TypeTag, bool, FlowIluReorderSpheres, "Reorder the entries of the matrix in the ILU preconditioner");
EWOMS_REGISTER_PARAM(TypeTag, bool, FlowUseGmres, "Use GMRES as the linear solver");
EWOMS_REGISTER_PARAM(TypeTag, bool, FlowLinearSolverRequireFullSparsityPattern, "Produce the full sparsity pattern for the linear solver");
EWOMS_REGISTER_PARAM(TypeTag, bool, FlowLinearSolverIgnoreConvergenceFailure, "Continue with the simulation like nothing happened after the linear solver did not converge");