From 8f34386f580870e70d3912c515390292aee4a61a Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Fri, 31 Jan 2014 13:15:32 +0100
Subject: [PATCH] [Output]  Friction writing: Report (negative) horizontal
 instead of x component

---
 src/sand-wedge.cc | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/src/sand-wedge.cc b/src/sand-wedge.cc
index 33be5768..b1c6178d 100644
--- a/src/sand-wedge.cc
+++ b/src/sand-wedge.cc
@@ -100,11 +100,6 @@ template <class GridView> class SpecialWriter {
   using ElementPointer =
       typename GridView::Grid::template Codim<0>::EntityPointer;
 
-  void writeMagnitude(LocalVector const &v) {
-    writer_ << v[0] << " "; // Because of Dirichlet conditions, this is like a
-                            // signed norm
-  }
-
   void writeHorizontal(LocalVector const &v) {
     writer_ << MyGeometry::horizontalProjection(v) << " ";
   }
@@ -140,7 +135,7 @@ template <class GridView> class SpecialWriter {
         I(globalToLocal(MyGeometry::I)),
         U(globalToLocal(MyGeometry::U)),
         Z(globalToLocal(MyGeometry::Z)) {
-    writer_ << "|G| |H| |J| |I| Uv Uh Zv Zh" << std::endl;
+    writer_ << "Gh Hh Jh Ih Uv Uh Zv Zh" << std::endl;
   }
 
   void write(VirtualGridFunction<typename GridView::Grid, LocalVector> const &
@@ -148,16 +143,16 @@ template <class GridView> class SpecialWriter {
     LocalVector value;
 
     specialField.evaluateLocal(*G.first, G.second, value);
-    writeMagnitude(value);
+    writeHorizontal(value);
 
     specialField.evaluateLocal(*H.first, H.second, value);
-    writeMagnitude(value);
+    writeHorizontal(value);
 
     specialField.evaluateLocal(*J.first, J.second, value);
-    writeMagnitude(value);
+    writeHorizontal(value);
 
     specialField.evaluateLocal(*I.first, I.second, value);
-    writeMagnitude(value);
+    writeHorizontal(value);
 
     specialField.evaluateLocal(*U.first, U.second, value);
     writeVertical(value);
@@ -361,7 +356,7 @@ int main(int argc, char *argv[]) {
 
     FrictionWriter<ScalarVector, Vector> frictionWriter(
         vertexCoordinates, frictionalNodes, "friction",
-        [](LocalVector const &x) { return x[0]; });
+        MyGeometry::horizontalProjection);
     BoundaryWriter<ScalarVector, Vector> verticalSurfaceWriter(
         vertexCoordinates, surfaceNodes, "verticalSurface",
         MyGeometry::verticalProjection);
-- 
GitLab