Skip to content
Snippets Groups Projects
Commit 90d8423f authored by Elias Pipping's avatar Elias Pipping
Browse files

[Cleanup] Friction writing: Move templates around

parent be5e12fc
No related branches found
No related tags found
No related merge requests found
...@@ -4,26 +4,27 @@ ...@@ -4,26 +4,27 @@
#include "friction_writer.hh" #include "friction_writer.hh"
template <class BitVector> template <class ScalarVector, class Vector>
FrictionWriter<BitVector>::FrictionWriter(BitVector const &_boundaryNodes) FrictionWriter<ScalarVector, Vector>::FrictionWriter(
Dune::BitSetVector<1> const &_boundaryNodes)
: coefficientWriter("coefficients", std::fstream::out), : coefficientWriter("coefficients", std::fstream::out),
displacementWriter("displacements", std::fstream::out), displacementWriter("displacements", std::fstream::out),
stateWriter("states", std::fstream::out), stateWriter("states", std::fstream::out),
velocityWriter("velocities", std::fstream::out), velocityWriter("velocities", std::fstream::out),
boundaryNodes(_boundaryNodes) {} boundaryNodes(_boundaryNodes) {}
template <class BitVector> FrictionWriter<BitVector>::~FrictionWriter() { template <class ScalarVector, class Vector>
FrictionWriter<ScalarVector, Vector>::~FrictionWriter() {
stateWriter.close(); stateWriter.close();
displacementWriter.close(); displacementWriter.close();
velocityWriter.close(); velocityWriter.close();
coefficientWriter.close(); coefficientWriter.close();
} }
template <class BitVector>
template <class ScalarVector, class Vector> template <class ScalarVector, class Vector>
void FrictionWriter<BitVector>::writeInfo(ScalarVector const &coefficient, void FrictionWriter<ScalarVector, Vector>::writeInfo(
ScalarVector const &alpha, ScalarVector const &coefficient, ScalarVector const &alpha, Vector const &u,
Vector const &u, Vector const &v) { Vector const &v) {
for (size_t i = 0; i < boundaryNodes.size(); ++i) { for (size_t i = 0; i < boundaryNodes.size(); ++i) {
if (!boundaryNodes[i][0]) if (!boundaryNodes[i][0])
continue; continue;
......
...@@ -3,13 +3,14 @@ ...@@ -3,13 +3,14 @@
#include <fstream> #include <fstream>
template <class BitVector> class FrictionWriter { #include <dune/common/bitsetvector.hh>
template <class ScalarVector, class Vector> class FrictionWriter {
public: public:
FrictionWriter(BitVector const &_boundaryNodes); FrictionWriter(Dune::BitSetVector<1> const &_boundaryNodes);
~FrictionWriter(); ~FrictionWriter();
template <class ScalarVector, class Vector>
void writeInfo(ScalarVector const &coefficient, ScalarVector const &alpha, void writeInfo(ScalarVector const &coefficient, ScalarVector const &alpha,
Vector const &u, Vector const &v); Vector const &u, Vector const &v);
...@@ -18,6 +19,6 @@ template <class BitVector> class FrictionWriter { ...@@ -18,6 +19,6 @@ template <class BitVector> class FrictionWriter {
std::fstream displacementWriter; std::fstream displacementWriter;
std::fstream stateWriter; std::fstream stateWriter;
std::fstream velocityWriter; std::fstream velocityWriter;
BitVector const &boundaryNodes; Dune::BitSetVector<1> const &boundaryNodes;
}; };
#endif #endif
...@@ -2,14 +2,6 @@ ...@@ -2,14 +2,6 @@
#error DIM unset #error DIM unset
#endif #endif
#include <dune/common/bitsetvector.hh>
#include "explicitvectors.hh" #include "explicitvectors.hh"
using BitVector = Dune::BitSetVector<1>; template class FrictionWriter<ScalarVector, Vector>;
template class FrictionWriter<BitVector>;
template void FrictionWriter<BitVector>::writeInfo(
ScalarVector const &coefficient, ScalarVector const &alpha, Vector const &u,
Vector const &v);
...@@ -269,7 +269,7 @@ int main(int argc, char *argv[]) { ...@@ -269,7 +269,7 @@ int main(int argc, char *argv[]) {
parset.sub("a0.solver")); parset.sub("a0.solver"));
} }
// }}} // }}}
FrictionWriter<Dune::BitSetVector<1>> writer(frictionalNodes); FrictionWriter<ScalarVector, Vector> writer(frictionalNodes);
{ {
ScalarVector c; ScalarVector c;
myGlobalNonlinearity->coefficientOfFriction(v_initial, c); myGlobalNonlinearity->coefficientOfFriction(v_initial, c);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment