diff --git a/dumux/linear/istlsolverfactorybackend.hh b/dumux/linear/istlsolverfactorybackend.hh index dae993adb117a5ed75afdeaa536317d9dc94026a..65cca90660c38d700f74655820ad54e4a62ca6c2 100644 --- a/dumux/linear/istlsolverfactorybackend.hh +++ b/dumux/linear/istlsolverfactorybackend.hh @@ -209,32 +209,40 @@ IstlSolverFactoryBackend<Matrix, Vector, Geometry>::dumuxToIstlSolverParams = {"MaxOrthogonalizationVectors", "mmax"}, // preconditioner params + // we expect parameters in the subgroup "Preconditioner" + // there are some legacy param names that are still supported + // subgroup parameters overwrite legacy parameters {"PreconditionerVerbosity", "preconditioner.verbosity"}, + {"Preconditioner.Verbosity", "preconditioner.verbosity"}, {"PreconditionerType", "preconditioner.type"}, + {"Preconditioner.Type", "preconditioner.type"}, {"PreconditionerIterations", "preconditioner.iterations"}, + {"Preconditioner.Iterations", "preconditioner.iterations"}, {"PreconditionerRelaxation", "preconditioner.relaxation"}, - {"ILUOrder", "preconditioner.n"}, - {"ILUResort", "preconditioner.resort"}, - {"AmgSmootherRelaxation", "preconditioner.smootherRelaxation"}, - {"AmgSmootherIterations", "preconditioner.smootherIterations"}, - {"AmgMaxLevel", "preconditioner.maxLevel"}, - {"AmgCoarsenTarget", "preconditioner.coarsenTarget"}, - {"MinCoarseningRate", "preconditioner.minCoarseningRate"}, - {"AmgProlongationDampingFactor", "preconditioner.prolongationDampingFactor"}, - {"AmgAlpha", "preconditioner.alpha"}, - {"AmgBeta", "preconditioner.beta"}, - {"AmgAdditive", "preconditioner.additive"}, - {"AmgGamma", "preconditioner.gamma"}, - {"AmgPreSmoothingSteps", "preconditioner.preSteps"}, - {"AmgPostSmoothingSteps", "preconditioner.postSteps"}, - {"AmgCriterionSymmetric", "preconditioner.criterionSymmetric"}, - {"AmgStrengthMeasure", "preconditioner.strengthMeasure"}, - {"AmgDiagonalRowIndex", "preconditioner.diagonalRowIndex"}, - {"DefaultAggregationSizeMode", "preconditioner.defaultAggregationSizeMode"}, - {"defaultAggregationDimension", "preconditioner.defaultAggregationDimension"}, - {"MaxAggregateDistance", "preconditioner.maxAggregateDistance"}, - {"MinAggregateSize", "preconditioner.minAggregateSize"}, - {"MaxAggregateSize", "preconditioner.maxAggregateSize"} + {"Preconditioner.Relaxation", "preconditioner.relaxation"}, + {"Preconditioner.ILUOrder", "preconditioner.n"}, + {"Preconditioner.ILUResort", "preconditioner.resort"}, + {"Preconditioner.AmgSmootherRelaxation", "preconditioner.smootherRelaxation"}, + {"Preconditioner.AmgSmootherIterations", "preconditioner.smootherIterations"}, + {"Preconditioner.AmgMaxLevel", "preconditioner.maxLevel"}, + {"Preconditioner.AmgCoarsenTarget", "preconditioner.coarsenTarget"}, + {"Preconditioner.AmgMinCoarseningRate", "preconditioner.minCoarseningRate"}, + {"Preconditioner.AmgAccumulationMode", "preconditioner.accumulationMode"}, + {"Preconditioner.AmgProlongationDampingFactor", "preconditioner.prolongationDampingFactor"}, + {"Preconditioner.AmgAlpha", "preconditioner.alpha"}, + {"Preconditioner.AmgBeta", "preconditioner.beta"}, + {"Preconditioner.AmgAdditive", "preconditioner.additive"}, + {"Preconditioner.AmgGamma", "preconditioner.gamma"}, + {"Preconditioner.AmgPreSmoothingSteps", "preconditioner.preSteps"}, + {"Preconditioner.AmgPostSmoothingSteps", "preconditioner.postSteps"}, + {"Preconditioner.AmgCriterionSymmetric", "preconditioner.criterionSymmetric"}, + {"Preconditioner.AmgStrengthMeasure", "preconditioner.strengthMeasure"}, + {"Preconditioner.AmgDiagonalRowIndex", "preconditioner.diagonalRowIndex"}, + {"Preconditioner.AmgDefaultAggregationSizeMode", "preconditioner.defaultAggregationSizeMode"}, + {"Preconditioner.AmgDefaultAggregationDimension", "preconditioner.defaultAggregationDimension"}, + {"Preconditioner.AmgMaxAggregateDistance", "preconditioner.maxAggregateDistance"}, + {"Preconditioner.AmgMinAggregateSize", "preconditioner.minAggregateSize"}, + {"Preconditioner.AmgMaxAggregateSize", "preconditioner.maxAggregateSize"} }; } // end namespace Dumux diff --git a/test/freeflow/shallowwater/dambreak/params.input b/test/freeflow/shallowwater/dambreak/params.input index e6ccb7fe55dc656a0e48726dcd47da73e20c35e5..03b5a00414da28ed0bf224231e67ed1fa9b87659 100644 --- a/test/freeflow/shallowwater/dambreak/params.input +++ b/test/freeflow/shallowwater/dambreak/params.input @@ -19,9 +19,11 @@ EnableDynamicOutput = false [LinearSolver] Type = cgsolver MaxIterations = 80 -PreconditionerType = amg -PreconditionerVerbosity = 0 + +[LinearSolver.Preconditioner] +Type = amg +Verbosity = 0 AmgMaxLevel = 2 AmgPreSmoothingSteps = 1 AmgPostSmoothingSteps = 1 -CriterionSymmetric = true +AmgCriterionSymmetric = true diff --git a/test/porousmediumflow/richards/implicit/lens/params.input b/test/porousmediumflow/richards/implicit/lens/params.input index f247d2d9cffec564761751d805cad6d165d5a7f8..72e9e5fedd8e3ab958f3ea220a40e769b8efd0b6 100644 --- a/test/porousmediumflow/richards/implicit/lens/params.input +++ b/test/porousmediumflow/richards/implicit/lens/params.input @@ -16,6 +16,8 @@ EnableChop = true # chop for better convergence [LinearSolver] Type = bicgstabsolver -PreconditionerType = amg + +[LinearSolver.Preconditioner] +Type = amg AmgMaxLevel = 2 AmgAccumulationMode = atOnce