From 71363f134863cb76f500f1422a9a67fbb92b1ed3 Mon Sep 17 00:00:00 2001 From: Kilian Weishaupt <kilian.weishaupt@iws.uni-stuttgart.de> Date: Thu, 9 Feb 2017 11:08:08 +0100 Subject: [PATCH] [staggeredGrid][vtk] Adapt staggeredvtkoutputmodule * Adapt to new sequence writer --- dumux/io/staggeredvtkoutputmodule.hh | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/dumux/io/staggeredvtkoutputmodule.hh b/dumux/io/staggeredvtkoutputmodule.hh index acbeb5afe3..8acc0fad10 100644 --- a/dumux/io/staggeredvtkoutputmodule.hh +++ b/dumux/io/staggeredvtkoutputmodule.hh @@ -26,7 +26,8 @@ #include <dune/common/fvector.hh> #include <dumux/io/vtkoutputmodulebase.hh> -#include <dumux/io/staggeredvtkwriter.hh> +#include <dumux/io/pointcloudvtkwriter.hh> +#include <dumux/io/vtksequencewriter.hh> namespace Properties { @@ -70,7 +71,11 @@ class StaggeredVtkOutputModule : public VtkOutputModuleBase<TypeTag> public: StaggeredVtkOutputModule(const Problem& problem, - Dune::VTK::DataMode dm = Dune::VTK::conforming) : ParentType(problem, dm), faceWriter_(coordinates_) + Dune::VTK::DataMode dm = Dune::VTK::conforming) : ParentType(problem, dm), + faceWriter_(std::make_shared<PointCloudVtkWriter<Scalar, dim>>(coordinates_)), + sequenceWriter_(faceWriter_, problem.name() + "-face", "","", + problem.gridView().comm().rank(), + problem.gridView().comm().size() ) { writeFaceVars_ = GET_PARAM_FROM_GROUP(TypeTag, bool, Vtk, WriteFaceData); @@ -203,21 +208,21 @@ private: // transfer priVar scalar data to writer for(int i = 0; i < priVarScalarDataInfo_.size(); ++i) - faceWriter_.addPointData(priVarScalarData[i], priVarScalarDataInfo_[i].name); + faceWriter_->addPointData(priVarScalarData[i], priVarScalarDataInfo_[i].name); // transfer priVar vector data to writer for(int i = 0; i < priVarVectorDataInfo_.size(); ++i) - faceWriter_.addPointData(priVarVectorData[i], priVarVectorDataInfo_[i].name, priVarVectorDataInfo_[i].pvIdx.size()); + faceWriter_->addPointData(priVarVectorData[i], priVarVectorDataInfo_[i].name, priVarVectorDataInfo_[i].pvIdx.size()); // transfer custom scalar data to writer for(auto&& scalarField : faceScalarFields_) - faceWriter_.addPointData(scalarField.first, scalarField.second); + faceWriter_->addPointData(scalarField.first, scalarField.second); // transfer custom vector data to writer for(auto&& vectorField : faceVectorFields_) - faceWriter_.addPointData(vectorField.first, vectorField.second, 3); + faceWriter_->addPointData(vectorField.first, vectorField.second, 3); - faceWriter_.write(); + sequenceWriter_.write(this->problem().timeManager().time()); faceScalarFields_.clear(); faceVectorFields_.clear(); } @@ -253,7 +258,10 @@ private: = this->problem().model().curSol()[faceIdx][dofIdxGlobal][priVarVectorDataInfo_[i].pvIdx[j]]; } - StaggeredVtkWriter<dimWorld> faceWriter_; + std::shared_ptr<PointCloudVtkWriter<Scalar, dim>> faceWriter_; + + VTKSequenceWriter<PointCloudVtkWriter<Scalar, dim>> sequenceWriter_; + bool writeFaceVars_; std::vector<GlobalPosition> coordinates_; -- GitLab