From d695e7e9ecf5a7a04f25c983948456d77107fcdc Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Thu, 30 Jan 2014 14:05:51 +0100
Subject: [PATCH] [Output]  Write friction data to friction* files

---
 src/boundary_writer.cc | 10 ++++++----
 src/boundary_writer.hh |  2 +-
 src/friction_writer.cc |  8 ++++----
 src/friction_writer.hh |  2 +-
 src/sand-wedge.cc      |  2 +-
 src/sliding-block.cc   |  2 +-
 6 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/src/boundary_writer.cc b/src/boundary_writer.cc
index 8d039d9d..7a372080 100644
--- a/src/boundary_writer.cc
+++ b/src/boundary_writer.cc
@@ -7,12 +7,14 @@
 template <class ScalarVector, class Vector>
 BoundaryWriter<ScalarVector, Vector>::BoundaryWriter(
     Vector const &vertexCoordinates,
-    Dune::BitSetVector<1> const &_boundaryNodes, Projector projector)
-    : displacementWriter("displacements", std::fstream::out),
-      velocityWriter("velocities", std::fstream::out),
+    Dune::BitSetVector<1> const &_boundaryNodes, std::string prefix,
+    Projector projector)
+    : displacementWriter(prefix + "Displacements", std::fstream::out),
+      velocityWriter(prefix + "Velocities", std::fstream::out),
       boundaryNodes(_boundaryNodes),
       projector_(projector) {
-  std::fstream vertexCoordinateWriter("coordinates", std::fstream::out);
+  std::fstream vertexCoordinateWriter(prefix + "Coordinates",
+                                      std::fstream::out);
   for (size_t i = 0; i < boundaryNodes.size(); ++i)
     if (boundaryNodes[i][0])
       vertexCoordinateWriter << vertexCoordinates[i] << std::endl;
diff --git a/src/boundary_writer.hh b/src/boundary_writer.hh
index 670e68b0..5e4b0085 100644
--- a/src/boundary_writer.hh
+++ b/src/boundary_writer.hh
@@ -13,7 +13,7 @@ template <class ScalarVector, class Vector> class BoundaryWriter {
 public:
   BoundaryWriter(Vector const &vertexCoordinates,
                  Dune::BitSetVector<1> const &_boundaryNodes,
-                 Projector projector);
+                 std::string prefix, Projector projector);
 
   virtual ~BoundaryWriter();
 
diff --git a/src/friction_writer.cc b/src/friction_writer.cc
index b018f802..9f07b3c2 100644
--- a/src/friction_writer.cc
+++ b/src/friction_writer.cc
@@ -7,11 +7,11 @@
 template <class ScalarVector, class Vector>
 FrictionWriter<ScalarVector, Vector>::FrictionWriter(
     Vector const &vertexCoordinates,
-    Dune::BitSetVector<1> const &_boundaryNodes,
+    Dune::BitSetVector<1> const &_boundaryNodes, std::string prefix,
     typename BW::Projector projector)
-    : BW(vertexCoordinates, _boundaryNodes, projector),
-      coefficientWriter("coefficients", std::fstream::out),
-      stateWriter("logstates", std::fstream::out) {}
+    : BW(vertexCoordinates, _boundaryNodes, prefix, projector),
+      coefficientWriter(prefix + "Coefficients", std::fstream::out),
+      stateWriter(prefix + "LogStates", std::fstream::out) {}
 
 template <class ScalarVector, class Vector>
 FrictionWriter<ScalarVector, Vector>::~FrictionWriter() {
diff --git a/src/friction_writer.hh b/src/friction_writer.hh
index 32b42ed4..dc78e057 100644
--- a/src/friction_writer.hh
+++ b/src/friction_writer.hh
@@ -15,7 +15,7 @@ class FrictionWriter : public BoundaryWriter<ScalarVector, Vector> {
 public:
   FrictionWriter(Vector const &vertexCoordinates,
                  Dune::BitSetVector<1> const &_boundaryNodes,
-                 typename BW::Projector projector);
+                 std::string prefix, typename BW::Projector projector);
 
   ~FrictionWriter();
 
diff --git a/src/sand-wedge.cc b/src/sand-wedge.cc
index e8ae93c6..c985b1f1 100644
--- a/src/sand-wedge.cc
+++ b/src/sand-wedge.cc
@@ -354,7 +354,7 @@ int main(int argc, char *argv[]) {
       }
     }
     FrictionWriter<ScalarVector, Vector> frictionWriter(
-        vertexCoordinates, frictionalNodes,
+        vertexCoordinates, frictionalNodes, "friction",
         [](LocalVector const &x) { return x[0]; });
     auto const reportFriction = [&](Vector const &_u, Vector const &_v,
                                     ScalarVector const &_alpha) {
diff --git a/src/sliding-block.cc b/src/sliding-block.cc
index 55185c36..42a284e6 100644
--- a/src/sliding-block.cc
+++ b/src/sliding-block.cc
@@ -276,7 +276,7 @@ int main(int argc, char *argv[]) {
       }
     }
     FrictionWriter<ScalarVector, Vector> frictionWriter(
-        vertexCoordinates, frictionalNodes,
+        vertexCoordinates, frictionalNodes, "friction",
         [](LocalVector const &x) { return x[0]; });
     auto const reportFriction = [&](Vector const &_u, Vector const &_v,
                                     ScalarVector const &_alpha) {
-- 
GitLab