From 7318dc56b008421789a3b5fc17dfa6dc620c7ca5 Mon Sep 17 00:00:00 2001
From: Sebastian Eibl <sebastian.eibl@fau.de>
Date: Wed, 3 Feb 2021 15:46:17 +0100
Subject: [PATCH] added vtk output to VBondModel benchmark

---
 apps/benchmarks/CNT/VBondModel.cpp | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/apps/benchmarks/CNT/VBondModel.cpp b/apps/benchmarks/CNT/VBondModel.cpp
index 091327c2f..048ba24ef 100644
--- a/apps/benchmarks/CNT/VBondModel.cpp
+++ b/apps/benchmarks/CNT/VBondModel.cpp
@@ -27,9 +27,11 @@
 #include "mesa_pd/kernel/cnt/Parameters.h"
 #include "mesa_pd/kernel/cnt/VBondContact.h"
 #include "mesa_pd/kernel/VelocityVerlet.h"
+#include "mesa_pd/vtk/ParticleVtkOutput.h"
 
 #include "core/Environment.h"
 #include "core/math/Constants.h"
+#include "vtk/VTKOutput.h"
 
 namespace walberla {
 using namespace walberla::mesa_pd;
@@ -62,6 +64,17 @@ int main(int argc, char **argv)
    }
    data::Particle &&last_segment = *(ps->end() - 1);
 
+   WALBERLA_LOG_INFO_ON_ROOT("setting up VTK output");
+   auto vtkOutput       = make_shared<mesa_pd::vtk::ParticleVtkOutput>(ps);
+   vtkOutput->addOutput<data::SelectParticlePosition>("position");
+   auto vtkWriter       = walberla::vtk::createVTKOutput_PointData(vtkOutput,
+                                                                   "cnt",
+                                                                   1,
+                                                                   "vtk",
+                                                                   "particles",
+                                                                   false,
+                                                                   false);
+
    WALBERLA_LOG_INFO_ON_ROOT("setting up interaction models");
    kernel::cnt::VBondContact vbond;
    kernel::VelocityVerletPreForceUpdate vv_pre(kernel::cnt::dT);
@@ -73,6 +86,8 @@ int main(int argc, char **argv)
    std::ofstream fout("output.txt");
    for (auto i = 0; i < numSimulationSteps; ++i)
    {
+      vtkWriter->write();
+
       ps->forEachParticle(false,
                           kernel::SelectAll(),
                           ac,
-- 
GitLab