From 6b1bd618d941b22fad0622ad3c173de7caeca34d Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Thu, 19 Jun 2014 14:54:52 +0200 Subject: [PATCH] [Extend] Allow lambda to be specified --- src/sand-wedge-data/parset.cfg | 1 + src/sand-wedge.cc | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/sand-wedge-data/parset.cfg b/src/sand-wedge-data/parset.cfg index f6ad4f34..0becf2b5 100644 --- a/src/sand-wedge-data/parset.cfg +++ b/src/sand-wedge-data/parset.cfg @@ -61,6 +61,7 @@ tolerance = 1e-10 maximumIterations = 10000 relaxation = 0.5 requiredReduction = 0.5 +lambda = 0.5 [solver.tnnmg.linear] maxiumumIterations = 100000 diff --git a/src/sand-wedge.cc b/src/sand-wedge.cc index c58817d7..65f2ec00 100644 --- a/src/sand-wedge.cc +++ b/src/sand-wedge.cc @@ -369,6 +369,7 @@ int main(int argc, char *argv[]) { auto const printProgress = parset.get<bool>("io.printProgress"); auto const verbosity = parset.get<Solver::VerbosityMode>("v.solver.verbosity"); + auto const lambda = parset.get<double>("v.fpi.lambda"); for (size_t timeStep = 1; timeStep <= timeSteps; ++timeStep) { if (printProgress) std::cout << std::setw(7) << timeStep << " " << std::flush; @@ -415,8 +416,8 @@ int main(int argc, char *argv[]) { double lastStateCorrection; for (size_t stateFPI = 1; stateFPI <= maximumStateFPI; ++stateFPI) { timeSteppingScheme->extractOldVelocity(v_m); - v_m *= 0.5; - Arithmetic::addProduct(v_m, 0.5, v); + v_m *= 1.0 - lambda; + Arithmetic::addProduct(v_m, lambda, v); stateUpdater->solve(v_m); stateUpdater->extractLogState(alpha); -- GitLab