From fd15cd97fe1abfc111e6e56406f313fb9110c0bd Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Thu, 10 Nov 2011 10:57:11 +0100
Subject: [PATCH] Solve another problem

---
 src/one-body-sample.cc | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index 45485ce7..30fbeb28 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -74,7 +74,7 @@ void setup_boundary(GridView const &gridView,
       size_t const id = myVertexMapper.map(*it);
       frictionalNodes[id] = true;
       ignoreNodes[id][1] = true; // Zero displacement in direction y
-    } else if (coordinates[0] == 0) {
+    } else if (coordinates[0] == 0 || coordinates[0] == end_points[0]) {
       ++neumann_nodes;
       size_t const id = myVertexMapper.map(*it);
       neumannNodes[id] = true;
@@ -94,8 +94,8 @@ void assemble_neumann(GridView const &gridView, FEBasis const &feBasis,
   BoundaryPatch<GridView> neumannBoundary(gridView, neumannNodes);
   LocalVectorType SampleVector(0);
   // FIXME: random values
-  SampleVector[0] = 1 + run / 1000;
-  SampleVector[1] = 2;
+  SampleVector[0] = 1 + run / 200;
+  SampleVector[1] = 0;
   ConstantFunction<LocalVectorType, LocalVectorType> fNeumann(SampleVector);
   NeumannBoundaryAssembler<GridType, LocalVectorType> neumannBoundaryAssembler(
       fNeumann);
@@ -136,11 +136,11 @@ int main() {
 
     // FIXME: Random values
     size_t const runs = 1000;
-    double const E = 5e3;
+    double const E = 1e4;
     double const nu = 0.3;
-    int const refinements = 3;
-    size_t const solver_maxIterations = 10000;
-    double const solver_tolerance = 1e-4;
+    int const refinements = 5;
+    size_t const solver_maxIterations = 100000;
+    double const solver_tolerance = 1e-6;
 
     // {{{ Set up grid
     typedef Dune::YaspGrid<dim> GridType;
@@ -214,13 +214,13 @@ int main() {
       // TODO: Random value
       std::vector<double> normalStress;
       normalStress.resize(grid.size(grid.maxLevel(), dim));
-      std::fill(normalStress.begin(), normalStress.end(), 2.0);
+      std::fill(normalStress.begin(), normalStress.end(), 0.1);
 
       // TODO: Random value
       std::vector<double> coefficientOfFriction;
       coefficientOfFriction.resize(grid.size(grid.maxLevel(), dim));
       std::fill(coefficientOfFriction.begin(), coefficientOfFriction.end(),
-                1.0);
+                0.75);
 
       Dune::GlobalNonlinearity<dim, Dune::LinearFunction> myGlobalNonlinearity(
           coefficientOfFriction, normalStress, nodalIntegrals);
-- 
GitLab