From e3f7808d035f852ab90adda849fb43f51fad3762 Mon Sep 17 00:00:00 2001
From: Lisa Julia Nebel <lisa_julia.nebel@tu-dresden.de>
Date: Mon, 15 Feb 2021 08:31:58 +0100
Subject: [PATCH] Add option to use the CosseratVTKWriter with a TupleVector

---
 dune/gfe/cosseratvtkwriter.hh | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/dune/gfe/cosseratvtkwriter.hh b/dune/gfe/cosseratvtkwriter.hh
index c7012e81..1ccc013a 100644
--- a/dune/gfe/cosseratvtkwriter.hh
+++ b/dune/gfe/cosseratvtkwriter.hh
@@ -109,6 +109,23 @@ class CosseratVTKWriter
     }
 
 public:
+    /** \brief Write a configuration given with respect to a scalar function space basis
+     */
+    template <typename Basis>
+    static void write(const Basis& basis,
+                      const Dune::TupleVector<std::vector<RealTuple<double,3> >,
+                                        std::vector<Rotation<double,3> > >& configuration,
+                      const std::string& filename)
+    {
+      using namespace Dune::TypeTree::Indices;
+      std::vector<RigidBodyMotion<double,3>> xRBM(basis.size());
+      for (int i = 0; i < basis.size(); i++) {
+        for (int j = 0; j < 3; j ++) // Displacement part
+          xRBM[i].r[j] = configuration[_0][i][j];
+        xRBM[i].q = configuration[_1][i];    // Rotation part
+      }
+      write(basis,xRBM,filename);
+    }
 
     /** \brief Write a configuration given with respect to a scalar function space basis
      */
-- 
GitLab