From f592a86a487d3d95782f0d52e84a662858822a14 Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Thu, 10 Jul 2014 23:33:18 +0200
Subject: [PATCH] [Problem] New loading

---
 src/sand-wedge-data/boundaryconditions.py | 11 ++++++-----
 src/sand-wedge.cc                         |  2 +-
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/sand-wedge-data/boundaryconditions.py b/src/sand-wedge-data/boundaryconditions.py
index 5143bd93..05035c80 100644
--- a/src/sand-wedge-data/boundaryconditions.py
+++ b/src/sand-wedge-data/boundaryconditions.py
@@ -1,14 +1,15 @@
+import math
+
 class neumannCondition:
     def __call__(self, relativeTime):
         return 0
 
 class velocityDirichletCondition:
     def __call__(self, relativeTime):
-        if relativeTime <= 0.25:
-            factor = 4*relativeTime;
-        else:
-            factor = 1
-        return -5e-5 * factor
+        finalVelocity = -5e-5
+        if relativeTime <= 0.1:
+            return finalVelocity * ( 1.0 - math.cos(relativeTime * math.pi / 0.1) ) / 2.0
+        return finalVelocity
 
 Functions = {
     'neumannCondition' : neumannCondition(),
diff --git a/src/sand-wedge.cc b/src/sand-wedge.cc
index f39d5e58..42e90c14 100644
--- a/src/sand-wedge.cc
+++ b/src/sand-wedge.cc
@@ -258,7 +258,7 @@ int main(int argc, char *argv[]) {
     {
       double v_initial_const;
       velocityDirichletFunction.evaluate(0.0, v_initial_const);
-      assert(v_initial_const == 0.0);
+      assert(std::abs(v_initial_const) < 1e-14);
     }
     Vector vr_initial(fineVertexCount);
     vr_initial = 0.0;
-- 
GitLab