From 7ba35ad7d2e61d04e1ebaffcad52e29ec7c76789 Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Mon, 17 Sep 2012 17:41:44 +0200
Subject: [PATCH] 1/eta -> V0

---
 dune/tectonic/globalruinanonlinearity.hh |  4 ++--
 dune/tectonic/nicefunction.hh            | 18 +++++++++---------
 src/assemblers.cc                        |  6 +++---
 src/one-body-sample.cc                   |  6 +++---
 src/one-body-sample.parset               |  2 +-
 5 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/dune/tectonic/globalruinanonlinearity.hh b/dune/tectonic/globalruinanonlinearity.hh
index 257b472f..4c32e199 100644
--- a/dune/tectonic/globalruinanonlinearity.hh
+++ b/dune/tectonic/globalruinanonlinearity.hh
@@ -24,7 +24,7 @@ class GlobalRuinaNonlinearity
   using GlobalNonlinearity<MatrixType, VectorType>::dim;
 
   GlobalRuinaNonlinearity(dataref nodalIntegrals, dataref a, dataref mu,
-                          dataref eta, dataref normalStress, dataref b,
+                          dataref V0, dataref normalStress, dataref b,
                           dataref state, dataref L)
       : restrictions(nodalIntegrals.size()) {
     auto trivialNonlinearity = make_shared<LocalNonlinearity<dim> const>(
@@ -34,7 +34,7 @@ class GlobalRuinaNonlinearity
                             ? trivialNonlinearity
                             : make_shared<LocalNonlinearity<dim> const>(
                                   make_shared<RuinaFunction const>(
-                                      nodalIntegrals[i], a[i], mu[i], eta[i],
+                                      nodalIntegrals[i], a[i], mu[i], V0[i],
                                       normalStress[i], b[i], state[i], L[i]));
     }
   }
diff --git a/dune/tectonic/nicefunction.hh b/dune/tectonic/nicefunction.hh
index f1647d5a..979efc78 100644
--- a/dune/tectonic/nicefunction.hh
+++ b/dune/tectonic/nicefunction.hh
@@ -40,18 +40,18 @@ class NiceFunction {
 
 class RuinaFunction : public NiceFunction {
 public:
-  RuinaFunction(double coefficient, double a, double mu, double eta,
+  RuinaFunction(double coefficient, double a, double mu, double V0,
                 double normalStress, double b, double state, double L)
       : NiceFunction(),
         a(a),
-        eta(eta),
+        V0(V0),
         coefficientProduct(coefficient * normalStress),
-        K(mu + b * (state - std::log(eta * L))), // state is assumed to be
-                                                 // logarithmic
+        K(mu +
+          b * (state + std::log(V0 / L))), // state is assumed to be logarithmic
         rho(std::exp(-K / a)) {}
 
   double virtual evaluate(double x) const {
-    double const arg = x * eta;
+    double const arg = x / V0;
     if (arg <= rho)
       return 0;
 
@@ -60,7 +60,7 @@ class RuinaFunction : public NiceFunction {
   }
 
   double virtual leftDifferential(double x) const {
-    double const arg = x * eta;
+    double const arg = x / V0;
     if (arg <= rho)
       return 0;
 
@@ -73,7 +73,7 @@ class RuinaFunction : public NiceFunction {
   }
 
   double virtual second_deriv(double x) const {
-    double const arg = x * eta;
+    double const arg = x / V0;
     if (arg <= rho)
       return 0;
 
@@ -81,7 +81,7 @@ class RuinaFunction : public NiceFunction {
   }
 
   double virtual regularity(double x) const {
-    double const arg = x * eta;
+    double const arg = x / V0;
     // TODO: Make this controllable
     if (std::abs(arg - rho) < 1e-14)
       return std::numeric_limits<double>::infinity();
@@ -93,7 +93,7 @@ class RuinaFunction : public NiceFunction {
 
 private:
   double const a;
-  double const eta;
+  double const V0;
   double const coefficientProduct;
   double const K;
   double const rho;
diff --git a/src/assemblers.cc b/src/assemblers.cc
index 1527c790..cad3e273 100644
--- a/src/assemblers.cc
+++ b/src/assemblers.cc
@@ -74,8 +74,8 @@ assemble_nonlinearity(
       SingletonVectorType a(size);
       a = parset.get<double>("ruina.a");
 
-      SingletonVectorType eta(size);
-      eta = parset.get<double>("eta");
+      SingletonVectorType V0(size);
+      V0 = parset.get<double>("V0");
 
       SingletonVectorType b(size);
       b = parset.get<double>("ruina.b");
@@ -85,7 +85,7 @@ assemble_nonlinearity(
 
       return Dune::make_shared<
           Dune::GlobalRuinaNonlinearity<MatrixType, VectorType> const>(
-          nodalIntegrals, a, mu, eta, normalStress, b, state, L);
+          nodalIntegrals, a, mu, V0, normalStress, b, state, L);
     }
     case Config::Laursen:
       assert(false);
diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index 4b5586fb..596615b1 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -277,7 +277,7 @@ int main(int argc, char *argv[]) {
     auto const L = parset.get<double>("boundary.friction.ruina.L");
     auto const a = parset.get<double>("boundary.friction.ruina.a");
     auto const b = parset.get<double>("boundary.friction.ruina.b");
-    auto const eta = parset.get<double>("boundary.friction.eta");
+    auto const V0 = parset.get<double>("boundary.friction.V0");
     auto const mu = parset.get<double>("boundary.friction.mu");
     auto const timesteps = parset.get<size_t>("timeSteps");
     double const tau = 1.0 / timesteps;
@@ -450,8 +450,8 @@ int main(int argc, char *argv[]) {
 
         for (size_t i = 0; i < frictionalNodes.size(); ++i)
           if (frictionalNodes[i][0])
-            coefficient_writer << mu + a *std::log(ud[i].two_norm() * eta) +
-                                      b * (alpha[i] - std::log(eta * L)) << " ";
+            coefficient_writer << mu + a *std::log(ud[i].two_norm() / V0) +
+                                      b * (alpha[i] + std::log(V0 / L)) << " ";
         coefficient_writer << std::endl;
       }
 
diff --git a/src/one-body-sample.parset b/src/one-body-sample.parset
index 1bb03df5..64fa3a2b 100644
--- a/src/one-body-sample.parset
+++ b/src/one-body-sample.parset
@@ -52,7 +52,7 @@ requiredResidual = 1e-12
 #    constitutive properties for earthquake prediction
 #    http://earthquake.usgs.gov/research/physics/lab/prediction.pdf
 mu = 0.6
-eta = 1
+V0 = 1
 model = Exponential
 
 [boundary.friction.state]
-- 
GitLab