From aaba2173def9ff419e42b291e66d1cbabe39d3b4 Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Tue, 7 Apr 2015 16:04:30 +0200 Subject: [PATCH] [Extend] Introduce a dimension-specific config --- src/CMakeLists.txt | 2 ++ src/sand-wedge-data/parset-2D.cfg | 21 +++++++++++++++++++++ src/sand-wedge-data/parset-3D.cfg | 21 +++++++++++++++++++++ src/sand-wedge-data/parset.cfg | 7 ------- src/sand-wedge.cc | 4 ++++ 5 files changed, 48 insertions(+), 7 deletions(-) create mode 100644 src/sand-wedge-data/parset-2D.cfg create mode 100644 src/sand-wedge-data/parset-3D.cfg diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e8454b20..7da8041f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -19,6 +19,8 @@ set(SOURCE_FILES file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/sand-wedge-data") dune_symlink_to_source_files("sand-wedge-data/boundaryconditions.py") dune_symlink_to_source_files("sand-wedge-data/parset.cfg") +dune_symlink_to_source_files("sand-wedge-data/parset-2D.cfg") +dune_symlink_to_source_files("sand-wedge-data/parset-3D.cfg") find_package(Boost REQUIRED system filesystem serialization) diff --git a/src/sand-wedge-data/parset-2D.cfg b/src/sand-wedge-data/parset-2D.cfg new file mode 100644 index 00000000..a61cfba2 --- /dev/null +++ b/src/sand-wedge-data/parset-2D.cfg @@ -0,0 +1,21 @@ +# -*- mode:conf -*- +[boundary.friction] +smallestDiameter= 2e-3 # [m] + +[timeSteps] +refinementTolerance = 1e-5 + +[u0.solver] +tolerance = 1e-8 + +[a0.solver] +tolerance = 1e-8 + +[v.solver] +tolerance = 1e-8 + +[v.fpi] +tolerance = 1e-5 + +[solver.tnnmg.linear] +tolerance = 1e-10 diff --git a/src/sand-wedge-data/parset-3D.cfg b/src/sand-wedge-data/parset-3D.cfg new file mode 100644 index 00000000..3495d53f --- /dev/null +++ b/src/sand-wedge-data/parset-3D.cfg @@ -0,0 +1,21 @@ +# -*- mode:conf -*- +[boundary.friction] +smallestDiameter= 2e-2 # [m] + +[timeSteps] +refinementTolerance = 1e-5 + +[u0.solver] +tolerance = 1e-6 + +[a0.solver] +tolerance = 1e-6 + +[v.solver] +tolerance = 1e-6 + +[v.fpi] +tolerance = 1e-5 + +[solver.tnnmg.linear] +tolerance = 1e-10 diff --git a/src/sand-wedge-data/parset.cfg b/src/sand-wedge-data/parset.cfg index a0841f42..21c7d5fc 100644 --- a/src/sand-wedge-data/parset.cfg +++ b/src/sand-wedge-data/parset.cfg @@ -21,7 +21,6 @@ shearViscosity = 1e4 # [Pas] bulkViscosity = 1e4 # [Pas] [boundary.friction] -smallestDiameter= 2e-3 # [m] C = 10 # [Pa] mu0 = 0.7 # [ ] V0 = 5e-5 # [m/s] @@ -42,32 +41,26 @@ first = 0 spacing = 20 [timeSteps] -refinementTolerance = 1e-5 scheme = newmark [u0.solver] -tolerance = 1e-8 maximumIterations = 100000 verbosity = quiet [a0.solver] -tolerance = 1e-8 maximumIterations = 100000 verbosity = quiet [v.solver] -tolerance = 1e-8 maximumIterations = 100000 verbosity = quiet [v.fpi] -tolerance = 1e-5 maximumIterations = 10000 lambda = 0.5 [solver.tnnmg.linear] maxiumumIterations = 100000 -tolerance = 1e-10 pre = 3 cycle = 1 # 1 = V, 2 = W, etc. post = 3 diff --git a/src/sand-wedge.cc b/src/sand-wedge.cc index 24c68e86..c717b887 100644 --- a/src/sand-wedge.cc +++ b/src/sand-wedge.cc @@ -92,6 +92,10 @@ Dune::ParameterTree getParameters(int argc, char *argv[], fs::path sharedParsetPath(dataDirectory / fs::path(sharedParsetName)); Dune::ParameterTreeParser::readINITree(sharedParsetPath.string(), parset); + std::string individualParsetName(str(boost::format("parset-%dD.cfg") % dims)); + fs::path individualParsetPath(dataDirectory / fs::path(individualParsetName)); + Dune::ParameterTreeParser::readINITree(individualParsetPath.string(), parset); + Dune::ParameterTreeParser::readOptions(argc, argv, parset); return parset; -- GitLab