From 3de62a71e9316235d937232eed9563db8e052c44 Mon Sep 17 00:00:00 2001 From: Konstantin Kutscher <kutscher@irmb.tu-bs.de> Date: Mon, 11 Mar 2019 10:44:42 +0100 Subject: [PATCH] fix compatibility issue with Intel compiler for std::vector<std::stringstream> --- .../CoProcessors/MicrophoneArrayCoProcessor.cpp | 7 ++++--- .../CoProcessors/MicrophoneArrayCoProcessor.h | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/source/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.cpp b/source/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.cpp index de496c427..f814475c2 100644 --- a/source/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.cpp @@ -10,6 +10,7 @@ #include "UbScheduler.h" #include "BCProcessor.h" #include "BCArray3D.h" +#include <sstream> MicrophoneArrayCoProcessor::MicrophoneArrayCoProcessor(SPtr<Grid3D> grid, SPtr<UbScheduler> s, const std::string & path, SPtr<Communicator> comm) : CoProcessor(grid, s), path(path), comm(comm) { @@ -70,7 +71,7 @@ bool MicrophoneArrayCoProcessor::addMicrophone(Vector3D coords) mic->nodeIndexes = grid->getNodeIndexes(block, coords[0], coords[1], coords[2]); microphones.push_back(mic); - strVector.resize(microphones.size()); + strVector.push_back(new std::stringstream); std::string fname = path+"/mic/mic_"+UbSystem::toString(micID)+".csv"; std::ofstream ostr; @@ -100,7 +101,7 @@ void MicrophoneArrayCoProcessor::collectData(double step) microphones[i]->distridution->getDistribution(f, val<1>(microphones[i]->nodeIndexes), val<2>(microphones[i]->nodeIndexes), val<3>(microphones[i]->nodeIndexes)); LBMReal vx1, vx2, vx3, rho; calcMacros(f, rho, vx1, vx2, vx3); - strVector[i] << step << ';' << rho << '\n'; + *strVector[i] << step << ';' << rho << '\n'; } } @@ -118,7 +119,7 @@ void MicrophoneArrayCoProcessor::writeFile(double step) if (path.size()>0) { UbSystem::makeDirectory(path); ostr.open(fname.c_str(), std::ios_base::out | std::ios_base::app); } if (!ostr) throw UbException(UB_EXARGS, "couldn't open file "+fname); } - ostr << strVector[i].str(); + ostr << strVector[i]->str(); ostr.close(); } } \ No newline at end of file diff --git a/source/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.h b/source/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.h index 67b1aadca..e8a884d78 100644 --- a/source/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.h +++ b/source/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.h @@ -45,7 +45,7 @@ private: }; std::vector< SPtr<Mic> > microphones; - std::vector<std::stringstream > strVector; + std::vector<std::stringstream* > strVector; int count; int micID; -- GitLab