From 231259dcae42bb175958943da4ebe0309392afab Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Sat, 25 Feb 2012 19:31:38 +0100
Subject: [PATCH] New test case

---
 src/one-body-sample.cc     | 9 ++++++---
 src/one-body-sample.parset | 7 ++++---
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index ce74f64e..dd0b31d8 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -63,7 +63,7 @@
 #include <dune/tectonic/mydirectionalconvexfunction.hh>
 #include <dune/grid/io/file/vtk/vtkwriter.hh>
 
-int const dim = 3;
+int const dim = 2;
 
 template <class GridView>
 void setup_boundary(GridView const &gridView,
@@ -113,7 +113,8 @@ void assemble_neumann(GridView const &gridView, FEBasis const &feBasis,
   BoundaryPatch<GridView> neumannBoundary(gridView, neumannNodes);
   LocalVectorType SampleVector(0);
   // FIXME: random values (time-dependent)
-  SampleVector[0] = 10 * sqrt(time);
+  SampleVector[0] =
+      (time <= 0.5) ? sin(time * 2 * M_PI) * 1e3 : (time - 0.5) * 2 * 1e4;
   SampleVector[1] = 0;
   ConstantFunction<LocalVectorType, LocalVectorType> fNeumann(SampleVector);
   NeumannBoundaryAssembler<GridType, LocalVectorType> neumannBoundaryAssembler(
@@ -298,7 +299,9 @@ int main(int argc, char *argv[]) {
 
     Dune::BlockVector<Dune::FieldVector<double, 1>> s4_old(
         grid->size(grid->maxLevel(), dim));
-    s4_old = 50; // FIXME: magic value (-500 is still workable; -1000 is not)
+    s4_old = parset.get<double>("state.initial"); // FIXME: magic value (-500 is
+                                                  // still workable; -1000 is
+                                                  // not)
 
     VectorType u1_diff(grid->size(grid->maxLevel(), dim));
     u1_diff = 0.0; // Has to be zero!
diff --git a/src/one-body-sample.parset b/src/one-body-sample.parset
index 008757d6..9629b741 100644
--- a/src/one-body-sample.parset
+++ b/src/one-body-sample.parset
@@ -1,16 +1,17 @@
 # -*- mode:conf -*-
-timesteps = 100
+timesteps = 30
 
 verbose = false
 printFrictionalBoundary = false
-printProgress = true
+printProgress = false
 printDifference = false
 
 writeVTK = false
 
 [state]
 enable = true
-iterations = 6
+iterations = 5
+initial = 10
 
 [grid]
 refinements = 3
-- 
GitLab