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