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