From 9c6be6e7378de6ee1be7cf7e7255db8d3c07a791 Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Fri, 13 Dec 2013 02:59:16 +0100
Subject: [PATCH] [Cleanup] Force mumin=0

---
 dune/tectonic/frictiondata.hh      | 2 --
 dune/tectonic/frictionpotential.hh | 9 +++++----
 src/one-body-sample.parset         | 1 -
 3 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/dune/tectonic/frictiondata.hh b/dune/tectonic/frictiondata.hh
index 656683f9..8cc72469 100644
--- a/dune/tectonic/frictiondata.hh
+++ b/dune/tectonic/frictiondata.hh
@@ -9,7 +9,6 @@ struct FrictionData {
         a(parset.get<double>("a")),
         b(parset.get<double>("b")),
         mu0(parset.get<double>("mu0")),
-        mumin(parset.get<double>("mumin")),
         normalStress(normalStress) {}
 
   double const L;
@@ -17,7 +16,6 @@ struct FrictionData {
   double const a;
   double const b;
   double const mu0;
-  double const mumin;
   double const normalStress;
 };
 #endif
diff --git a/dune/tectonic/frictionpotential.hh b/dune/tectonic/frictionpotential.hh
index f4baa624..9498740f 100644
--- a/dune/tectonic/frictionpotential.hh
+++ b/dune/tectonic/frictionpotential.hh
@@ -38,7 +38,7 @@ class FrictionPotential : public FrictionPotentialWrapper {
   double differential(double V) const {
     assert(V >= 0.0);
     if (V <= V_cutoff)
-      return fd.mumin;
+      return 0.0;
 
     return weightTimesNormalStress * fd.a * (std::log(V) - logV_m);
   }
@@ -62,9 +62,10 @@ class FrictionPotential : public FrictionPotentialWrapper {
   }
 
   void updateLogState(double logState) {
-    logV_m = std::log(fd.V0) +
-             (-(fd.mu0 + fd.b * (logState + std::log(fd.V0 / fd.L))) / fd.a);
-    V_cutoff = std::exp(logV_m + fd.mumin / fd.a);
+    double const tmp =
+        (fd.mu0 + fd.b * (logState + std::log(fd.V0 / fd.L))) / fd.a;
+    logV_m = std::log(fd.V0) - tmp;
+    V_cutoff = fd.V0 / std::exp(tmp);
   }
 
 private:
diff --git a/src/one-body-sample.parset b/src/one-body-sample.parset
index 7a244923..5f61cf30 100644
--- a/src/one-body-sample.parset
+++ b/src/one-body-sample.parset
@@ -17,7 +17,6 @@ bulkViscosity  = 0
 
 [boundary.friction]
 mu0          = 0.6
-mumin        = 0.0
 a            = 0.010
 b            = 0.015
 V0           = 1e-6
-- 
GitLab