From b72b6138b9b1e16e750ffa35deb68cc96a9712b5 Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Mon, 7 Jul 2014 12:17:46 +0200
Subject: [PATCH] [Cleanup] Track time incrementally

---
 src/sand-wedge.cc | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/sand-wedge.cc b/src/sand-wedge.cc
index 0b77d199..14806f47 100644
--- a/src/sand-wedge.cc
+++ b/src/sand-wedge.cc
@@ -488,16 +488,19 @@ int main(int argc, char *argv[]) {
         parset.get<double>("boundary.friction.V0"));
 
     auto const finalTime = parset.get<double>("problem.finalTime");
-    auto const timeSteps = parset.get<size_t>("timeSteps.number");
-    auto const relativeTau = 1.0 / timeSteps;
-    for (size_t timeStep = 1; timeStep <= timeSteps; ++timeStep) {
-      auto const relativeTime = double(timeStep) / double(timeSteps);
+    auto const relativeTau = 1.0 / parset.get<size_t>("timeSteps.number");
+    double relativeTime = 0.0;
+    size_t timeStep = 1;
+    while (relativeTime < 1.0 - 1e-10) {
+
       CoupledTimeStepper<NonlinearFactory, StateUpdater<ScalarVector, Vector>,
                          TimeSteppingScheme<Vector, Matrix, Function, dims>>
       coupledTimeStepper(finalTime, factory, parset, myGlobalFriction,
                          stateUpdater, velocityUpdater, computeExternalForces);
       coupledTimeStepper.step(relativeTime, relativeTau);
 
+      relativeTime += relativeTau;
+
       Vector u, ur, vr;
       ScalarVector alpha;
       velocityUpdater->extractDisplacement(u);
@@ -521,6 +524,7 @@ int main(int argc, char *argv[]) {
                                            body.getPoissonRatio(), u, stress);
         vtkWriter.write(timeStep, ur, vr, alpha, stress);
       }
+      timeStep++;
     }
     Python::stop();
   }
-- 
GitLab