From 2f30c080e204aead8648925cf406bf597a399bd7 Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Fri, 4 Nov 2011 17:30:55 +0100
Subject: [PATCH] Solve a bigger problem

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

diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index accd6355..e7e9af94 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -45,7 +45,7 @@
 
 #include "boost/format.hpp"
 
-int const dim = 2;
+int const dim = 3;
 
 template <class GridView>
 void setup_boundary(GridView const &gridView,
@@ -93,7 +93,7 @@ void assemble_neumann(GridView const &gridView, FEBasis const &feBasis,
                       Dune::BlockVector<LocalVectorType> &
                           f) { // constant sample function on neumann boundary
   BoundaryPatch<GridView> neumannBoundary(gridView, neumannNodes);
-  LocalVectorType SampleVector;
+  LocalVectorType SampleVector(0);
   // FIXME: random values
   SampleVector[0] = 1;
   SampleVector[1] = 2;
@@ -135,11 +135,11 @@ int main() {
     typedef Dune::BlockVector<SmallVector> VectorType;
 
     // FIXME: Random values
-    size_t const runs = 3;
-    double const E = 1;
+    size_t const runs = 1000;
+    double const E = 1e4;
     double const nu = 0.3;
-    int const refinements = 5;
-    size_t const solver_maxIterations = 100;
+    int const refinements = 3;
+    size_t const solver_maxIterations = 10000;
     double const solver_tolerance = 1e-4;
 
     // {{{ Set up grid
@@ -194,6 +194,7 @@ int main() {
         leafView, p1Basis, frictionalNodes, nodalIntegrals);
 
     for (size_t run = 1; run <= runs; ++run) {
+      std::cout << "Run: " << run << std::endl;
       // b = neumann
       assemble_neumann<GridType, GridType::LeafGridView, SmallVector, P1Basis>(
           leafView, p1Basis, neumannNodes, b);
@@ -205,7 +206,7 @@ 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.0);
 
       // TODO: Random value
       std::vector<double> coefficientOfFriction;
@@ -225,7 +226,7 @@ int main() {
 
         LoopSolver<VectorType> solver(&nonlinearGSStep, solver_maxIterations,
                                       solver_tolerance, &energyNorm,
-                                      Solver::FULL); // Solver::QUIET);
+                                      Solver::QUIET); // Solver::QUIET);
         solver.solve();
 
         Dune::VTKWriter<GridType::LeafGridView> writer(leafView);
@@ -247,7 +248,7 @@ int main() {
 
         LoopSolver<VectorType> solver(&blockGSStep, solver_maxIterations,
                                       solver_tolerance, &energyNorm,
-                                      Solver::FULL); // Solver::QUIET);
+                                      Solver::QUIET); // Solver::QUIET);
         solver.solve();
       }
     }
-- 
GitLab