From 824e947d0ba98915c3902c9d286282f9042bc03c Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Tue, 22 Nov 2011 23:04:56 +0100
Subject: [PATCH] Control solvers through parset

---
 src/one-body-sample.cc     | 6 +++---
 src/one-body-sample.parset | 4 ++++
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index bb8d1282..b1eec24b 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -283,7 +283,7 @@ int main(int argc, char *argv[]) {
       }
       // }}}
 
-      {
+      if (parset.get<bool>("useNonlinearGS")) {
         MyConvexProblemType myConvexProblem(
             stiffnessMatrix, *myGlobalNonlinearity, b1, u1_diff_new);
         MyBlockProblemType myBlockProblem(parset, myConvexProblem);
@@ -318,7 +318,7 @@ int main(int argc, char *argv[]) {
         writer.write(filename.c_str());
       }
 
-      {
+      if (parset.get<bool>("useGS")) {
         BlockGSStep<OperatorType, VectorType> blockGSStep(stiffnessMatrix,
                                                           u2_diff_new, b2);
         blockGSStep.ignoreNodes_ = &ignoreNodes;
@@ -333,7 +333,7 @@ int main(int argc, char *argv[]) {
 
       // Use a linear solver for comparison; should return roughly the
       // same results if phi vanishes (e.g. because the normalstress is zero)
-      {
+      if (parset.get<bool>("useTruncatedGS")) {
         TruncatedBlockGSStep<OperatorType, VectorType> blockGSStep(
             stiffnessMatrix, u3_diff_new, b3);
         blockGSStep.ignoreNodes_ = &ignoreNodes;
diff --git a/src/one-body-sample.parset b/src/one-body-sample.parset
index b3d33975..36ba4842 100644
--- a/src/one-body-sample.parset
+++ b/src/one-body-sample.parset
@@ -3,6 +3,10 @@ timesteps = 100
 
 verbose = false
 
+useNonlinearGS = true
+useGS = false
+useTruncatedGS = false
+
 [grid]
 refinements = 5
 
-- 
GitLab