From 09b97b02a812ed74034fe2725e15728ce5ed88bd Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Thu, 30 Jan 2014 13:54:53 +0100
Subject: [PATCH] [Cleanup] Friction writing: Split writeInfo up into two
 functions

---
 src/friction_writer.cc | 22 ++++++++++++++++------
 src/friction_writer.hh |  4 ++--
 src/one-body-sample.cc |  3 ++-
 3 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/src/friction_writer.cc b/src/friction_writer.cc
index b830a01c..b43bc820 100644
--- a/src/friction_writer.cc
+++ b/src/friction_writer.cc
@@ -29,22 +29,32 @@ FrictionWriter<ScalarVector, Vector>::~FrictionWriter() {
 }
 
 template <class ScalarVector, class Vector>
-void FrictionWriter<ScalarVector, Vector>::writeInfo(
-    ScalarVector const &coefficient, ScalarVector const &alpha, Vector const &u,
-    Vector const &v) {
+void FrictionWriter<ScalarVector, Vector>::writeKinetics(Vector const &u,
+                                                         Vector const &v) {
   for (size_t i = 0; i < boundaryNodes.size(); ++i) {
     if (!boundaryNodes[i][0])
       continue;
 
-    coefficientWriter << coefficient[i] << " ";
     displacementWriter << u[i][0] << " ";
-    stateWriter << alpha[i][0] << " ";
     velocityWriter << v[i][0] << " ";
   }
 
-  stateWriter << std::endl;
   displacementWriter << std::endl;
   velocityWriter << std::endl;
+}
+
+template <class ScalarVector, class Vector>
+void FrictionWriter<ScalarVector, Vector>::writeOther(
+    ScalarVector const &coefficient, ScalarVector const &alpha) {
+  for (size_t i = 0; i < boundaryNodes.size(); ++i) {
+    if (!boundaryNodes[i][0])
+      continue;
+
+    coefficientWriter << coefficient[i] << " ";
+    stateWriter << alpha[i][0] << " ";
+  }
+
+  stateWriter << std::endl;
   coefficientWriter << std::endl;
 }
 
diff --git a/src/friction_writer.hh b/src/friction_writer.hh
index 09cb1b05..f5979612 100644
--- a/src/friction_writer.hh
+++ b/src/friction_writer.hh
@@ -12,8 +12,8 @@ template <class ScalarVector, class Vector> class FrictionWriter {
 
   ~FrictionWriter();
 
-  void writeInfo(ScalarVector const &coefficient, ScalarVector const &alpha,
-                 Vector const &u, Vector const &v);
+  void writeKinetics(Vector const &u, Vector const &v);
+  void writeOther(ScalarVector const &coefficient, ScalarVector const &alpha);
 
 private:
   std::fstream coefficientWriter;
diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index 5deffbe6..fb80af6a 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -286,7 +286,8 @@ int main(int argc, char *argv[]) {
                                     ScalarVector const &_alpha) {
       ScalarVector c;
       myGlobalNonlinearity->coefficientOfFriction(_v, c);
-      writer.writeInfo(c, _alpha, _u, _v);
+      writer.writeKinetics(_u, _v);
+      writer.writeOther(c, _alpha);
     };
     reportFriction(u_initial, v_initial, alpha_initial);
 
-- 
GitLab