From acfa70a57ab7f0a9851dca68d848e15a1fecc5a1 Mon Sep 17 00:00:00 2001 From: Elias Pipping <elias.pipping@fu-berlin.de> Date: Fri, 31 Jan 2014 17:31:48 +0100 Subject: [PATCH] [Cleanup] Add toBool() convenience method --- src/boundary_writer.cc | 5 +++-- src/friction_writer.cc | 3 ++- src/sand-wedge.cc | 1 + src/state/dieterichstateupdater.hh | 3 ++- src/state/ruinastateupdater.hh | 3 ++- src/tobool.hh | 9 +++++++++ 6 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 src/tobool.hh diff --git a/src/boundary_writer.cc b/src/boundary_writer.cc index 7a372080..8649f3d8 100644 --- a/src/boundary_writer.cc +++ b/src/boundary_writer.cc @@ -3,6 +3,7 @@ #endif #include "boundary_writer.hh" +#include "tobool.hh" template <class ScalarVector, class Vector> BoundaryWriter<ScalarVector, Vector>::BoundaryWriter( @@ -16,7 +17,7 @@ BoundaryWriter<ScalarVector, Vector>::BoundaryWriter( std::fstream vertexCoordinateWriter(prefix + "Coordinates", std::fstream::out); for (size_t i = 0; i < boundaryNodes.size(); ++i) - if (boundaryNodes[i][0]) + if (toBool(boundaryNodes[i])) vertexCoordinateWriter << vertexCoordinates[i] << std::endl; vertexCoordinateWriter.close(); } @@ -31,7 +32,7 @@ template <class ScalarVector, class Vector> void BoundaryWriter<ScalarVector, Vector>::writeKinetics(Vector const &u, Vector const &v) { for (size_t i = 0; i < boundaryNodes.size(); ++i) { - if (!boundaryNodes[i][0]) + if (!toBool(boundaryNodes[i])) continue; displacementWriter << projector_(u[i]) << " "; diff --git a/src/friction_writer.cc b/src/friction_writer.cc index 9f07b3c2..175f8e6a 100644 --- a/src/friction_writer.cc +++ b/src/friction_writer.cc @@ -3,6 +3,7 @@ #endif #include "friction_writer.hh" +#include "tobool.hh" template <class ScalarVector, class Vector> FrictionWriter<ScalarVector, Vector>::FrictionWriter( @@ -23,7 +24,7 @@ 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]) + if (!toBool(boundaryNodes[i])) continue; coefficientWriter << coefficient[i] << " "; diff --git a/src/sand-wedge.cc b/src/sand-wedge.cc index e2e7ecb1..173aa450 100644 --- a/src/sand-wedge.cc +++ b/src/sand-wedge.cc @@ -68,6 +68,7 @@ #include <dune/tectonic/globalnonlinearity.hh> #include "assemblers.hh" +#include "tobool.hh" #include "enum_parser.cc" #include "enum_scheme.cc" #include "enum_state_model.cc" diff --git a/src/state/dieterichstateupdater.hh b/src/state/dieterichstateupdater.hh index ffb417a0..30a9c6dc 100644 --- a/src/state/dieterichstateupdater.hh +++ b/src/state/dieterichstateupdater.hh @@ -1,6 +1,7 @@ #ifndef DIETERICH_STATE_UPDATER_HH #define DIETERICH_STATE_UPDATER_HH +#include "tobool.hh" #include "stateupdater.hh" template <class ScalarVector, class Vector> @@ -56,7 +57,7 @@ template <class ScalarVector, class Vector> void DieterichStateUpdater<ScalarVector, Vector>::solve( Vector const &velocity_field) { for (size_t i = 0; i < nodes.size(); ++i) { - if (not nodes[i][0]) + if (not toBool(nodes[i])) continue; double const VoL = velocity_field[i].two_norm() / L; diff --git a/src/state/ruinastateupdater.hh b/src/state/ruinastateupdater.hh index d87870bb..578f1e9f 100644 --- a/src/state/ruinastateupdater.hh +++ b/src/state/ruinastateupdater.hh @@ -1,6 +1,7 @@ #ifndef RUINA_STATE_UPDATER_HH #define RUINA_STATE_UPDATER_HH +#include "tobool.hh" #include "stateupdater.hh" template <class ScalarVector, class Vector> @@ -42,7 +43,7 @@ template <class ScalarVector, class Vector> void RuinaStateUpdater<ScalarVector, Vector>::solve( Vector const &velocity_field) { for (size_t i = 0; i < nodes.size(); ++i) { - if (not nodes[i][0]) + if (not toBool(nodes[i])) continue; double const VoL = velocity_field[i].two_norm() / L; diff --git a/src/tobool.hh b/src/tobool.hh new file mode 100644 index 00000000..d561225d --- /dev/null +++ b/src/tobool.hh @@ -0,0 +1,9 @@ +#ifndef TO_BOOL_HH +#define TO_BOOL_HH + +template <class Alloc> +bool toBool(Dune::BitSetVectorConstReference<1, Alloc> x) { + return x[0]; +} + +#endif -- GitLab