From 5487cac39999c6784c13880a7539a91f763728fd Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Wed, 14 Dec 2011 00:17:11 +0100 Subject: [PATCH] Control smoothing steps through parset --- src/one-body-sample.cc | 10 ++++++++-- src/one-body-sample.parset | 10 ++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index 564b7f5d..c9089853 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -327,7 +327,10 @@ int main(int argc, char *argv[]) { MultigridStep<OperatorType, VectorType> *linearIterationStep = new MultigridStep<OperatorType, VectorType>; linearIterationStep->setNumberOfLevels(levels); - linearIterationStep->setMGType(1, 3, 3); // 1/3/3 (mu/nu1/nu2) + linearIterationStep->setMGType( + parset.get<int>("solver.tnnmg.linear.mu"), + parset.get<int>("solver.tnnmg.linear.nu1"), + parset.get<int>("solver.tnnmg.linear.nu2")); linearIterationStep->basesolver_ = linearBaseSolver; linearIterationStep->setSmoother(linearPresmoother, linearPostsmoother); @@ -353,7 +356,10 @@ int main(int argc, char *argv[]) { auto multigridStep = new TNNMGStepType(*linearIterationStep, *nonlinearSmoother); multigridStep->setProblem(u4_diff_new, *tnnmgProblem); - multigridStep->setSmoothingSteps(3, 1, 3); // 3/1/3 (pre/linear/post) + multigridStep->setSmoothingSteps( + parset.get<int>("solver.tnnmg.main.nu1"), + parset.get<int>("solver.tnnmg.main.mu"), + parset.get<int>("solver.tnnmg.main.nu2")); multigridStep->ignoreNodes_ = &ignoreNodes; auto energyNorm = diff --git a/src/one-body-sample.parset b/src/one-body-sample.parset index 5f332639..32366667 100644 --- a/src/one-body-sample.parset +++ b/src/one-body-sample.parset @@ -22,6 +22,16 @@ nu = 0.3 maxiterations = 1000000 tolerance = 1e-12 +[solver.tnnmg.linear] +nu1 = 3 +mu = 1 +nu2 = 3 + +[solver.tnnmg.main] +nu1 = 3 +mu = 1 +nu2 = 3 + [localsolver] steps = 1 -- GitLab