From cd2494818cd5c6979c0434980fd0ef9707d85067 Mon Sep 17 00:00:00 2001 From: Konstantin Kutscher <kutscher@irmb.tu-bs.de> Date: Wed, 23 Mar 2016 16:04:31 +0000 Subject: [PATCH] rename Postprocessor classes to CoProcessor --- source/Applications/pChannel/pChannel.cpp | 20 ++--- source/VirtualFluids.h | 42 +++++----- ...essor.cpp => AdjustForcingCoProcessor.cpp} | 14 ++-- ...processor.h => AdjustForcingCoProcessor.h} | 16 ++-- ...essor.cpp => AverageValuesCoProcessor.cpp} | 32 ++++---- ...processor.h => AverageValuesCoProcessor.h} | 24 +++--- .../CoProcessors/BlocksPostprocessor.h | 32 -------- .../{Postprocessor.h => CoProcessor.h} | 18 ++--- ...r.cpp => DecreaseViscosityCoProcessor.cpp} | 14 ++-- ...essor.h => DecreaseViscosityCoProcessor.h} | 16 ++-- ...essor.cpp => EmergencyExitCoProcessor.cpp} | 22 +++--- .../CoProcessors/EmergencyExitCoProcessor.h | 40 ++++++++++ .../CoProcessors/EmergencyExitPostprocessor.h | 40 ---------- ...ostprocessor.cpp => ForcesCoProcessor.cpp} | 24 +++--- ...cesPostprocessor.h => ForcesCoProcessor.h} | 14 ++-- ...ssor.cpp => InSituCatalystCoProcessor.cpp} | 22 +++--- ...rocessor.h => InSituCatalystCoProcessor.h} | 16 ++-- ...processor.cpp => InSituVTKCoProcessor.cpp} | 20 ++--- ...Postprocessor.h => InSituVTKCoProcessor.h} | 16 ++-- ...p => MacroscopicQuantitiesCoProcessor.cpp} | 28 +++---- ...r.h => MacroscopicQuantitiesCoProcessor.h} | 22 +++--- ...rocessor.cpp => MeanValuesCoProcessor.cpp} | 12 +-- ...ostprocessor.h => MeanValuesCoProcessor.h} | 10 +-- ...ocessor.cpp => NUPSCounterCoProcessor.cpp} | 14 ++-- ...stprocessor.h => NUPSCounterCoProcessor.h} | 12 +-- ...tprocessor.cpp => PathLineCoProcessor.cpp} | 76 +++++++++--------- ...ePostprocessor.h => PathLineCoProcessor.h} | 14 ++-- ...part.cpp => PathLineCoProcessorMcpart.cpp} | 78 +++++++++---------- ...orMcpart.h => PathLineCoProcessorMcpart.h} | 14 ++-- ....cpp => PressureDifferenceCoProcessor.cpp} | 14 ++-- ...ssor.h => PressureDifferenceCoProcessor.h} | 12 +-- ...rocessor.cpp => QCriterionCoProcessor.cpp} | 26 +++---- ...ostprocessor.h => QCriterionCoProcessor.h} | 16 ++-- ...stprocessor.cpp => RestartCoProcessor.cpp} | 46 +++++------ ...rtPostprocessor.h => RestartCoProcessor.h} | 20 ++--- ...ocessor.cpp => ShearStressCoProcessor.cpp} | 38 ++++----- ...stprocessor.h => ShearStressCoProcessor.h} | 24 +++--- ....cpp => TimeAveragedValuesCoProcessor.cpp} | 24 +++--- ...ssor.h => TimeAveragedValuesCoProcessor.h} | 18 ++--- ...sor.cpp => TimeDependentBCCoProcessor.cpp} | 10 +-- .../CoProcessors/TimeDependentBCCoProcessor.h | 27 +++++++ .../TimeDependentBCPostprocessor.h | 27 ------- ...rocessor.cpp => TimeseriesCoProcessor.cpp} | 14 ++-- ...ostprocessor.h => TimeseriesCoProcessor.h} | 18 ++--- ...cpp => TurbulenceIntensityCoProcessor.cpp} | 24 +++--- ...sor.h => TurbulenceIntensityCoProcessor.h} | 16 ++-- ...ocessor.cpp => WriteBlocksCoProcessor.cpp} | 16 ++-- .../CoProcessors/WriteBlocksCoProcessor.h | 32 ++++++++ .../BoostSerializationClassExportHelper.h | 16 ++-- source/VirtualFluidsCore/Grid/Calculator.cpp | 2 +- source/VirtualFluidsCore/Grid/Calculator2.cpp | 2 +- source/VirtualFluidsCore/Grid/Grid3D.cpp | 2 +- source/VirtualFluidsCore/Grid/Grid3D.h | 2 +- .../VirtualFluidsCore/Grid/MTCalculator.cpp | 2 +- .../Grid/PrePostBcCalculator.cpp | 2 +- 55 files changed, 586 insertions(+), 586 deletions(-) rename source/VirtualFluidsCore/CoProcessors/{D3Q27AdjustForcingPostprocessor.cpp => AdjustForcingCoProcessor.cpp} (89%) rename source/VirtualFluidsCore/CoProcessors/{D3Q27AdjustForcingPostprocessor.h => AdjustForcingCoProcessor.h} (73%) rename source/VirtualFluidsCore/CoProcessors/{AverageValuesPostprocessor.cpp => AverageValuesCoProcessor.cpp} (92%) rename source/VirtualFluidsCore/CoProcessors/{AverageValuesPostprocessor.h => AverageValuesCoProcessor.h} (81%) delete mode 100644 source/VirtualFluidsCore/CoProcessors/BlocksPostprocessor.h rename source/VirtualFluidsCore/CoProcessors/{Postprocessor.h => CoProcessor.h} (64%) rename source/VirtualFluidsCore/CoProcessors/{DecreaseViscosityPostprocessor.cpp => DecreaseViscosityCoProcessor.cpp} (81%) rename source/VirtualFluidsCore/CoProcessors/{DecreaseViscosityPostprocessor.h => DecreaseViscosityCoProcessor.h} (76%) rename source/VirtualFluidsCore/CoProcessors/{EmergencyExitPostprocessor.cpp => EmergencyExitCoProcessor.cpp} (67%) create mode 100644 source/VirtualFluidsCore/CoProcessors/EmergencyExitCoProcessor.h delete mode 100644 source/VirtualFluidsCore/CoProcessors/EmergencyExitPostprocessor.h rename source/VirtualFluidsCore/CoProcessors/{D3Q27ForcesPostprocessor.cpp => ForcesCoProcessor.cpp} (87%) rename source/VirtualFluidsCore/CoProcessors/{D3Q27ForcesPostprocessor.h => ForcesCoProcessor.h} (77%) rename source/VirtualFluidsCore/CoProcessors/{InSituCatalystPostprocessor.cpp => InSituCatalystCoProcessor.cpp} (92%) rename source/VirtualFluidsCore/CoProcessors/{InSituCatalystPostprocessor.h => InSituCatalystCoProcessor.h} (74%) rename source/VirtualFluidsCore/CoProcessors/{InSituVTKPostprocessor.cpp => InSituVTKCoProcessor.cpp} (91%) rename source/VirtualFluidsCore/CoProcessors/{InSituVTKPostprocessor.h => InSituVTKCoProcessor.h} (68%) rename source/VirtualFluidsCore/CoProcessors/{D3Q27MacroscopicQuantitiesPostprocessor.cpp => MacroscopicQuantitiesCoProcessor.cpp} (92%) rename source/VirtualFluidsCore/CoProcessors/{D3Q27MacroscopicQuantitiesPostprocessor.h => MacroscopicQuantitiesCoProcessor.h} (64%) rename source/VirtualFluidsCore/CoProcessors/{D3Q27MeanValuesPostprocessor.cpp => MeanValuesCoProcessor.cpp} (83%) rename source/VirtualFluidsCore/CoProcessors/{D3Q27MeanValuesPostprocessor.h => MeanValuesCoProcessor.h} (64%) rename source/VirtualFluidsCore/CoProcessors/{NUPSCounterPostprocessor.cpp => NUPSCounterCoProcessor.cpp} (83%) rename source/VirtualFluidsCore/CoProcessors/{NUPSCounterPostprocessor.h => NUPSCounterCoProcessor.h} (58%) rename source/VirtualFluidsCore/CoProcessors/{D3Q27PathLinePostprocessor.cpp => PathLineCoProcessor.cpp} (91%) rename source/VirtualFluidsCore/CoProcessors/{D3Q27PathLinePostprocessor.h => PathLineCoProcessor.h} (92%) rename source/VirtualFluidsCore/CoProcessors/{D3Q27PathLinePostprocessorMcpart.cpp => PathLineCoProcessorMcpart.cpp} (91%) rename source/VirtualFluidsCore/CoProcessors/{D3Q27PathLinePostprocessorMcpart.h => PathLineCoProcessorMcpart.h} (92%) rename source/VirtualFluidsCore/CoProcessors/{D3Q27PressureDifferencePostprocessor.cpp => PressureDifferenceCoProcessor.cpp} (83%) rename source/VirtualFluidsCore/CoProcessors/{D3Q27PressureDifferencePostprocessor.h => PressureDifferenceCoProcessor.h} (74%) rename source/VirtualFluidsCore/CoProcessors/{QCriterionPostprocessor.cpp => QCriterionCoProcessor.cpp} (91%) rename source/VirtualFluidsCore/CoProcessors/{QCriterionPostprocessor.h => QCriterionCoProcessor.h} (81%) rename source/VirtualFluidsCore/CoProcessors/{RestartPostprocessor.cpp => RestartCoProcessor.cpp} (80%) rename source/VirtualFluidsCore/CoProcessors/{RestartPostprocessor.h => RestartCoProcessor.h} (60%) rename source/VirtualFluidsCore/CoProcessors/{D3Q27ShearStressPostprocessor.cpp => ShearStressCoProcessor.cpp} (94%) rename source/VirtualFluidsCore/CoProcessors/{D3Q27ShearStressPostprocessor.h => ShearStressCoProcessor.h} (76%) rename source/VirtualFluidsCore/CoProcessors/{TimeAveragedValuesPostprocessor.cpp => TimeAveragedValuesCoProcessor.cpp} (94%) rename source/VirtualFluidsCore/CoProcessors/{TimeAveragedValuesPostprocessor.h => TimeAveragedValuesCoProcessor.h} (85%) rename source/VirtualFluidsCore/CoProcessors/{TimeDependentBCPostprocessor.cpp => TimeDependentBCCoProcessor.cpp} (58%) create mode 100644 source/VirtualFluidsCore/CoProcessors/TimeDependentBCCoProcessor.h delete mode 100644 source/VirtualFluidsCore/CoProcessors/TimeDependentBCPostprocessor.h rename source/VirtualFluidsCore/CoProcessors/{TimeseriesPostprocessor.cpp => TimeseriesCoProcessor.cpp} (82%) rename source/VirtualFluidsCore/CoProcessors/{TimeseriesPostprocessor.h => TimeseriesCoProcessor.h} (67%) rename source/VirtualFluidsCore/CoProcessors/{TurbulenceIntensityPostprocessor.cpp => TurbulenceIntensityCoProcessor.cpp} (91%) rename source/VirtualFluidsCore/CoProcessors/{TurbulenceIntensityPostprocessor.h => TurbulenceIntensityCoProcessor.h} (62%) rename source/VirtualFluidsCore/CoProcessors/{BlocksPostprocessor.cpp => WriteBlocksCoProcessor.cpp} (90%) create mode 100644 source/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.h diff --git a/source/Applications/pChannel/pChannel.cpp b/source/Applications/pChannel/pChannel.cpp index 69b7392ee..7bac4e3e3 100644 --- a/source/Applications/pChannel/pChannel.cpp +++ b/source/Applications/pChannel/pChannel.cpp @@ -97,7 +97,7 @@ void run(string configname) ////////////////////////////////////////////////////////////////////////// //restart UbSchedulerPtr rSch(new UbScheduler(restartStep, restartStepStart)); - RestartPostprocessor rp(grid, rSch, comm, pathname, RestartPostprocessor::TXT); + RestartCoProcessor rp(grid, rSch, comm, pathname, RestartCoProcessor::TXT); ////////////////////////////////////////////////////////////////////////// if (grid->getTimeStep() == 0) @@ -226,8 +226,8 @@ void run(string configname) if (myid == 0) UBLOG(logINFO, "deleteSolidBlocks - end"); ////////////////////////////////////// - BlocksPostprocessorPtr ppblocks(new BlocksPostprocessor(grid, UbSchedulerPtr(new UbScheduler(1)), pathname, WbWriterVtkXmlBinary::getInstance(), comm)); - ppblocks->update(0); + WriteBlocksCoProcessorPtr ppblocks(new WriteBlocksCoProcessor(grid, UbSchedulerPtr(new UbScheduler(1)), pathname, WbWriterVtkXmlBinary::getInstance(), comm)); + ppblocks->process(0); ppblocks.reset(); unsigned long long numberOfBlocks = (unsigned long long)grid->getNumberOfBlocks(); @@ -396,9 +396,9 @@ void run(string configname) //Postrozess UbSchedulerPtr geoSch(new UbScheduler(1)); - D3Q27MacroscopicQuantitiesPostprocessorPtr ppgeo( - new D3Q27MacroscopicQuantitiesPostprocessor(grid, geoSch, pathname, WbWriterVtkXmlBinary::getInstance(), conv, true)); - ppgeo->update(0); + MacroscopicQuantitiesCoProcessorPtr ppgeo( + new MacroscopicQuantitiesCoProcessor(grid, geoSch, pathname, WbWriterVtkXmlBinary::getInstance(), conv, true)); + ppgeo->process(0); ppgeo.reset(); coord[0] = g_minX1; @@ -469,7 +469,7 @@ void run(string configname) if (myid == 0) UBLOG(logINFO, "Restart - end"); } UbSchedulerPtr nupsSch(new UbScheduler(10, 30, 100)); - NUPSCounterPostprocessor npr(grid, nupsSch, numOfThreads, comm); + NUPSCounterCoProcessor npr(grid, nupsSch, numOfThreads, comm); UbSchedulerPtr stepSch(new UbScheduler(outTime)); @@ -497,7 +497,7 @@ void run(string configname) if (myid == 0) GbSystem3D::writeGeoObject(intValHelp->getBoundingBox().get(), pathname + "/geo/IntValHelp", WbWriterVtkXmlBinary::getInstance()); double vxTarget=u_LB; - D3Q27AdjustForcingPostprocessor AdjForcPPPtr(grid, AdjForcSch, pathname, intValHelp, vxTarget, forcing, comm); + AdjustForcingCoProcessor AdjForcPPPtr(grid, AdjForcSch, pathname, intValHelp, vxTarget, forcing, comm); //mu::Parser decrViscFunc; //decrViscFunc.SetExpr("nue0+c0/(t+1)/(t+1)"); @@ -522,8 +522,8 @@ void run(string configname) //TimeAveragedValuesPostprocessor tav(grid, pathname, WbWriterVtkXmlBinary::getInstance(), tavSch, // TimeAveragedValuesPostprocessor::Velocity|TimeAveragedValuesPostprocessor::Fluctuations|TimeAveragedValuesPostprocessor::Triplecorrelations); - UbSchedulerPtr catalystSch(new UbScheduler(1)); - InSituCatalystPostprocessor catalyst(grid, catalystSch, "pchannel.py"); + //UbSchedulerPtr catalystSch(new UbScheduler(1)); + //InSituCatalystCoProcessor catalyst(grid, catalystSch, "pchannel.py"); if (myid == 0) { diff --git a/source/VirtualFluids.h b/source/VirtualFluids.h index a5aed55ac..8870af6d7 100644 --- a/source/VirtualFluids.h +++ b/source/VirtualFluids.h @@ -154,28 +154,28 @@ #include <Interactors/D3Q27TriFaceMeshInteractor.h> #include <Interactors/Interactor3D.h> #include <Interactors/InteractorsHelper.h> -#include <CoProcessors/BlocksPostprocessor.h> -#include <CoProcessors/D3Q27AdjustForcingPostprocessor.h> -#include <CoProcessors/D3Q27ForcesPostprocessor.h> -#include <CoProcessors/D3Q27MacroscopicQuantitiesPostprocessor.h> -#include <CoProcessors/D3Q27PathLinePostprocessor.h> -#include <CoProcessors/D3Q27PathLinePostprocessorMcpart.h> -#include <CoProcessors/D3Q27PressureDifferencePostprocessor.h> -#include <CoProcessors/EmergencyExitPostprocessor.h> -#include <CoProcessors/NUPSCounterPostprocessor.h> +#include <CoProcessors/WriteBlocksCoProcessor.h> +#include <CoProcessors/AdjustForcingCoProcessor.h> +#include <CoProcessors/ForcesCoProcessor.h> +#include <CoProcessors/MacroscopicQuantitiesCoProcessor.h> +#include <CoProcessors/PathLineCoProcessor.h> +#include <CoProcessors/PathLineCoProcessorMcpart.h> +#include <CoProcessors/PressureDifferenceCoProcessor.h> +#include <CoProcessors/EmergencyExitCoProcessor.h> +#include <CoProcessors/NUPSCounterCoProcessor.h> #include <CoProcessors/Particles.h> -#include <CoProcessors/Postprocessor.h> -#include <CoProcessors/RestartPostprocessor.h> -#include <CoProcessors/TurbulenceIntensityPostprocessor.h> -#include <CoProcessors/AverageValuesPostprocessor.h> -#include <CoProcessors/DecreaseViscosityPostprocessor.h> -#include <CoProcessors/TimeseriesPostprocessor.h> -#include <CoProcessors/D3Q27ShearStressPostprocessor.h> -#include <CoProcessors/QCriterionPostprocessor.h> -#include <CoProcessors/InSituVTKPostprocessor.h> -#include <CoProcessors/D3Q27MeanValuesPostprocessor.h> -#include <CoProcessors/TimeAveragedValuesPostprocessor.h> -#include <CoProcessors/InSituCatalystPostprocessor.h> +#include <CoProcessors/CoProcessor.h> +#include <CoProcessors/RestartCoProcessor.h> +#include <CoProcessors/TurbulenceIntensityCoProcessor.h> +#include <CoProcessors/AverageValuesCoProcessor.h> +#include <CoProcessors/DecreaseViscosityCoProcessor.h> +#include <CoProcessors/TimeseriesCoProcessor.h> +#include <CoProcessors/ShearStressCoProcessor.h> +#include <CoProcessors/QCriterionCoProcessor.h> +#include <CoProcessors/InSituVTKCoProcessor.h> +#include <CoProcessors/MeanValuesCoProcessor.h> +#include <CoProcessors/TimeAveragedValuesCoProcessor.h> +#include <CoProcessors/InSituCatalystCoProcessor.h> #include <LBM/D3Q27CompactInterpolationProcessor.h> #include <LBM/D3Q27IncompressibleOffsetInterpolationProcessor.h> #include <LBM/D3Q27IntegrateValuesHelper.h> diff --git a/source/VirtualFluidsCore/CoProcessors/D3Q27AdjustForcingPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/AdjustForcingCoProcessor.cpp similarity index 89% rename from source/VirtualFluidsCore/CoProcessors/D3Q27AdjustForcingPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/AdjustForcingCoProcessor.cpp index 324df1556..2af5a8432 100644 --- a/source/VirtualFluidsCore/CoProcessors/D3Q27AdjustForcingPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/AdjustForcingCoProcessor.cpp @@ -5,7 +5,7 @@ * Author: Sonja Uphoff */ -#include "D3Q27AdjustForcingPostprocessor.h" +#include "AdjustForcingCoProcessor.h" #include <SetForcingBlockVisitor.h> @@ -16,14 +16,14 @@ using namespace std; -D3Q27AdjustForcingPostprocessor::D3Q27AdjustForcingPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, +AdjustForcingCoProcessor::AdjustForcingCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string& path, D3Q27IntegrateValuesHelperPtr integrateValues, LBMReal vTarged, LBMReal forcing, CommunicatorPtr comm) - : Postprocessor(grid, s), + : CoProcessor(grid, s), path(path), integrateValues(integrateValues), comm(comm), @@ -49,17 +49,17 @@ D3Q27AdjustForcingPostprocessor::D3Q27AdjustForcingPostprocessor(Grid3DPtr grid, } } ////////////////////////////////////////////////////////////////////////// -D3Q27AdjustForcingPostprocessor::~D3Q27AdjustForcingPostprocessor() +AdjustForcingCoProcessor::~AdjustForcingCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -void D3Q27AdjustForcingPostprocessor::update(double step) +void AdjustForcingCoProcessor::process(double step) { if(scheduler->isDue(step) ) - collectPostprocessData(step); + collectData(step); } ////////////////////////////////////////////////////////////////////////// -void D3Q27AdjustForcingPostprocessor::collectPostprocessData(double step) +void AdjustForcingCoProcessor::collectData(double step) { integrateValues->calculateMQ(); diff --git a/source/VirtualFluidsCore/CoProcessors/D3Q27AdjustForcingPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/AdjustForcingCoProcessor.h similarity index 73% rename from source/VirtualFluidsCore/CoProcessors/D3Q27AdjustForcingPostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/AdjustForcingCoProcessor.h index 45f53d3bc..4dc4a9740 100644 --- a/source/VirtualFluidsCore/CoProcessors/D3Q27AdjustForcingPostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/AdjustForcingCoProcessor.h @@ -1,33 +1,33 @@ #ifndef D3Q27ADJUSTFORCINGPOSTPROCESSOR_H #define D3Q27ADJUSTFORCINGPOSTPROCESSOR_H -#include "Postprocessor.h" +#include "CoProcessor.h" #include "D3Q27IntegrateValuesHelper.h" #include "LBMUnitConverter.h" #include "Communicator.h" #include <boost/shared_ptr.hpp> -class D3Q27AdjustForcingPostprocessor; -typedef boost::shared_ptr<D3Q27AdjustForcingPostprocessor> D3Q27AdjustForcingPostprocessorPtr; +class AdjustForcingCoProcessor; +typedef boost::shared_ptr<AdjustForcingCoProcessor> AdjustForcingCoProcessorPtr; //! \brief Computes Forcing such that a given velocity (vxZiel) is reached inside an averaging domain (h1). //! \details Integrate values helper, scheduler must be set in test case. Example usage: bKanal.cpp //! \author: Konstantin Kutscher -class D3Q27AdjustForcingPostprocessor: public Postprocessor { +class AdjustForcingCoProcessor: public CoProcessor { public: - D3Q27AdjustForcingPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, + AdjustForcingCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string& path, D3Q27IntegrateValuesHelperPtr integrateValues, LBMReal vTarged, LBMReal forcing, CommunicatorPtr comm); - virtual ~D3Q27AdjustForcingPostprocessor(); + virtual ~AdjustForcingCoProcessor(); //!< calls collect PostprocessData - void update(double step); + void process(double step); protected: //!< object that can compute spacial average values in 3D-subdomain. D3Q27IntegrateValuesHelperPtr integrateValues; //!< compares velocity in integrateValues with target velocity and adjusts forcing accordingly. - void collectPostprocessData(double step); + void collectData(double step); CommunicatorPtr comm; private: double vPreviousStep; //!< velocity at previous update step. diff --git a/source/VirtualFluidsCore/CoProcessors/AverageValuesPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/AverageValuesCoProcessor.cpp similarity index 92% rename from source/VirtualFluidsCore/CoProcessors/AverageValuesPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/AverageValuesCoProcessor.cpp index 9ebbbc484..2054012a9 100644 --- a/source/VirtualFluidsCore/CoProcessors/AverageValuesPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/AverageValuesCoProcessor.cpp @@ -1,4 +1,4 @@ -#include "AverageValuesPostprocessor.h" +#include "AverageValuesCoProcessor.h" #include "LBMKernel3D.h" #include "SimulationParameters.h" #include "D3Q27ETBCProcessor.h" @@ -12,14 +12,14 @@ using namespace std; -AverageValuesPostprocessor::AverageValuesPostprocessor() +AverageValuesCoProcessor::AverageValuesCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -AverageValuesPostprocessor::AverageValuesPostprocessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, +AverageValuesCoProcessor::AverageValuesCoProcessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, UbSchedulerPtr s, UbSchedulerPtr Avs, UbSchedulerPtr rsMeans, UbSchedulerPtr rsRMS, bool restart) - : Postprocessor(grid, s), + : CoProcessor(grid, s), averageScheduler(Avs), resetSchedulerMeans(rsMeans), resetSchedulerRMS(rsRMS), @@ -59,15 +59,15 @@ AverageValuesPostprocessor::AverageValuesPostprocessor(Grid3DPtr grid, const std //restartStep = 0.0; } ////////////////////////////////////////////////////////////////////////// -void AverageValuesPostprocessor::update(double step) +void AverageValuesCoProcessor::process(double step) { //resetRMS(step); if(resetSchedulerRMS->isDue(step) ) - resetPostprocessDataRMS(step); + resetDataRMS(step); //reset(step); if(resetSchedulerMeans->isDue(step) ) - resetPostprocessDataMeans(step); + resetDataMeans(step); if(averageScheduler->isDue(step) ){ calculateAverageValues(step); @@ -75,14 +75,14 @@ void AverageValuesPostprocessor::update(double step) //collectPlotDataZ(step); } if(scheduler->isDue(step) ){ - collectPostprocessData(step); + collectData(step); } UBLOG(logDEBUG3, "AverageValuesPostprocessor::update:" << step); } -void AverageValuesPostprocessor::resetPostprocessDataRMS(double step) +void AverageValuesCoProcessor::resetDataRMS(double step) { resetStepRMS=(int)step; @@ -133,7 +133,7 @@ void AverageValuesPostprocessor::resetPostprocessDataRMS(double step) } } ////////////////////////////////////////////////////////////////////////// -void AverageValuesPostprocessor::resetPostprocessDataMeans(double step) +void AverageValuesCoProcessor::resetDataMeans(double step) { resetStepMeans=(int)step; @@ -181,7 +181,7 @@ void AverageValuesPostprocessor::resetPostprocessDataMeans(double step) } } ////////////////////////////////////////////////////////////////////////// -void AverageValuesPostprocessor::collectPostprocessData(double step) +void AverageValuesCoProcessor::collectData(double step) { int istep = int(step); @@ -191,7 +191,7 @@ void AverageValuesPostprocessor::collectPostprocessData(double step) { if (block) { - addPostprocessData(block); + addData(block); } } } @@ -218,7 +218,7 @@ void AverageValuesPostprocessor::collectPostprocessData(double step) vector<string> filenames; filenames.push_back(piece); - if (step == Postprocessor::scheduler->getMinBegin()) + if (step == CoProcessor::scheduler->getMinBegin()) { WbWriterVtkXmlASCII::getInstance()->writeCollection(cfilePath,filenames,istep,false); } @@ -232,7 +232,7 @@ void AverageValuesPostprocessor::collectPostprocessData(double step) clearData(); } ////////////////////////////////////////////////////////////////////////// -void AverageValuesPostprocessor::clearData() +void AverageValuesCoProcessor::clearData() { nodes.clear(); cells.clear(); @@ -240,7 +240,7 @@ void AverageValuesPostprocessor::clearData() data.clear(); } ////////////////////////////////////////////////////////////////////////// -void AverageValuesPostprocessor::addPostprocessData(const Block3DPtr block) +void AverageValuesCoProcessor::addData(const Block3DPtr block) { UbTupleDouble3 org = grid->getBlockWorldCoordinates(block); UbTupleDouble3 blockLengths = grid->getBlockLengths(block); @@ -368,7 +368,7 @@ void AverageValuesPostprocessor::addPostprocessData(const Block3DPtr block) } } ////////////////////////////////////////////////////////////////////////// -void AverageValuesPostprocessor::calculateAverageValues(double timeStep) +void AverageValuesCoProcessor::calculateAverageValues(double timeStep) { using namespace D3Q27System; diff --git a/source/VirtualFluidsCore/CoProcessors/AverageValuesPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/AverageValuesCoProcessor.h similarity index 81% rename from source/VirtualFluidsCore/CoProcessors/AverageValuesPostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/AverageValuesCoProcessor.h index 8e5b9461c..95a112431 100644 --- a/source/VirtualFluidsCore/CoProcessors/AverageValuesPostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/AverageValuesCoProcessor.h @@ -1,7 +1,7 @@ #ifndef AverageValuesPostprocessor_H #define AverageValuesPostprocessor_H -#include "Postprocessor.h" +#include "CoProcessor.h" #include "Grid3D.h" #include "Block3D.h" #include "LBMUnitConverter.h" @@ -11,8 +11,8 @@ #include "WbWriter.h" #include <boost/shared_ptr.hpp> -class AverageValuesPostprocessor; -typedef boost::shared_ptr<AverageValuesPostprocessor> AverageValuesPostprocessorPtr; +class AverageValuesCoProcessor; +typedef boost::shared_ptr<AverageValuesCoProcessor> AverageValuesCoProcessorPtr; //! \brief Computes the time averaged mean velocity and RMS values and writes to parallel .vtk //! \details writes at given time intervals specified in scheduler (s), does averaging according to scheduler (Avs) and resets according to scheduler (rs). <br> @@ -20,24 +20,24 @@ typedef boost::shared_ptr<AverageValuesPostprocessor> AverageValuesPostprocessor // //! \author Sonja Uphoff, Kostyantyn Kucher // \f$ u_{mean}=\frac{1}{N}\sum\limits_{i=1}^n u_{i} \f$ -class AverageValuesPostprocessor : public Postprocessor +class AverageValuesCoProcessor : public CoProcessor { public: - AverageValuesPostprocessor(); - AverageValuesPostprocessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, + AverageValuesCoProcessor(); + AverageValuesCoProcessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, UbSchedulerPtr s, UbSchedulerPtr Avs, UbSchedulerPtr rsMeans, UbSchedulerPtr rsRMS, bool restart); //! Make update - void update(double step); + void process(double step); //! Resets averaged velocity and RMS-values according to ResetSceduler void reset(double step); protected: //! Prepare data and write in .vtk file - void collectPostprocessData(double step); + void collectData(double step); //! Reset data - void resetPostprocessDataRMS(double step); - void resetPostprocessDataMeans(double step); + void resetDataRMS(double step); + void resetDataMeans(double step); //! prepare data - void addPostprocessData(const Block3DPtr block); + void addData(const Block3DPtr block); void clearData(); //! Computes average and RMS values of macroscopic quantities void calculateAverageValues(double timeStep); @@ -75,7 +75,7 @@ private: template<class Archive> void serialize(Archive & ar, const unsigned int version) { - ar & boost::serialization::base_object<Postprocessor>(*this); + ar & boost::serialization::base_object<CoProcessor>(*this); ar & path; ar & blockVector; ar & minInitLevel; diff --git a/source/VirtualFluidsCore/CoProcessors/BlocksPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/BlocksPostprocessor.h deleted file mode 100644 index 458deefba..000000000 --- a/source/VirtualFluidsCore/CoProcessors/BlocksPostprocessor.h +++ /dev/null @@ -1,32 +0,0 @@ -/* -* BlocksPostprocessor.h -* -* Created on: 24.09.2012 -* Author: K. Kucher -*/ - -#ifndef BlocksPostprocessor_H_ -#define BlocksPostprocessor_H_ - -#include "Postprocessor.h" -#include "Communicator.h" -#include "WbWriter.h" - -#include <boost/shared_ptr.hpp> -class BlocksPostprocessor; -typedef boost::shared_ptr<BlocksPostprocessor> BlocksPostprocessorPtr; - -class BlocksPostprocessor: public Postprocessor { -public: - BlocksPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string& path, WbWriter* const writer, CommunicatorPtr comm); - virtual ~BlocksPostprocessor(); - void update(double step); -protected: - void collectPostprocessData(double step); - std::string path; - WbWriter* writer; - CommunicatorPtr comm; -}; - - -#endif diff --git a/source/VirtualFluidsCore/CoProcessors/Postprocessor.h b/source/VirtualFluidsCore/CoProcessors/CoProcessor.h similarity index 64% rename from source/VirtualFluidsCore/CoProcessors/Postprocessor.h rename to source/VirtualFluidsCore/CoProcessors/CoProcessor.h index b7b2c730b..c098f46cd 100644 --- a/source/VirtualFluidsCore/CoProcessors/Postprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/CoProcessor.h @@ -8,30 +8,30 @@ #include <Grid3D.h> #include <basics/utilities/UbScheduler.h> -class Postprocessor; -typedef boost::shared_ptr<Postprocessor> PostprocessorPtr; +class CoProcessor; +typedef boost::shared_ptr<CoProcessor> PostprocessorPtr; -class Postprocessor +class CoProcessor { public: - Postprocessor() + CoProcessor() { } - Postprocessor(Grid3DPtr grid, UbSchedulerPtr s) + CoProcessor(Grid3DPtr grid, UbSchedulerPtr s) : grid(grid) , scheduler(s) { - connection = grid->connect(boost::bind(&Postprocessor::update, this, _1)); + connection = grid->connect(boost::bind(&CoProcessor::process, this, _1)); } - virtual ~Postprocessor() + virtual ~CoProcessor() { grid->disconnect(connection); } - virtual void update(double step) = 0; + virtual void process(double step) = 0; virtual void disconnect() { @@ -42,7 +42,7 @@ public: { this->grid = grid; this->grid->disconnect(connection); - connection = this->grid->connect(boost::bind(&Postprocessor::update, this, _1)); + connection = this->grid->connect(boost::bind(&CoProcessor::process, this, _1)); } protected: diff --git a/source/VirtualFluidsCore/CoProcessors/DecreaseViscosityPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/DecreaseViscosityCoProcessor.cpp similarity index 81% rename from source/VirtualFluidsCore/CoProcessors/DecreaseViscosityPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/DecreaseViscosityCoProcessor.cpp index 851f66e90..f57007634 100644 --- a/source/VirtualFluidsCore/CoProcessors/DecreaseViscosityPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/DecreaseViscosityCoProcessor.cpp @@ -5,7 +5,7 @@ * Author: uphoff */ -#include "DecreaseViscosityPostprocessor.h" +#include "DecreaseViscosityCoProcessor.h" #include <boost/foreach.hpp> #include <iostream> @@ -13,10 +13,10 @@ using namespace std; -DecreaseViscosityPostprocessor::DecreaseViscosityPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, +DecreaseViscosityCoProcessor::DecreaseViscosityCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, mu::Parser* nueFunc, CommunicatorPtr comm) - : Postprocessor(grid, s) + : CoProcessor(grid, s) ,nueFunc(nueFunc) ,comm(comm) { @@ -26,17 +26,17 @@ DecreaseViscosityPostprocessor::DecreaseViscosityPostprocessor(Grid3DPtr grid, U } } ////////////////////////////////////////////////////////////////////////// -DecreaseViscosityPostprocessor::~DecreaseViscosityPostprocessor() +DecreaseViscosityCoProcessor::~DecreaseViscosityCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -void DecreaseViscosityPostprocessor::update(double step) +void DecreaseViscosityCoProcessor::process(double step) { if(scheduler->isDue(step) ) - collectPostprocessData(step); + setViscosity(step); } ////////////////////////////////////////////////////////////////////////// -void DecreaseViscosityPostprocessor::collectPostprocessData(double step) +void DecreaseViscosityCoProcessor::setViscosity(double step) { UBLOG(logDEBUG3, "DecreaseViscosityPostprocessor::update:" << step); diff --git a/source/VirtualFluidsCore/CoProcessors/DecreaseViscosityPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/DecreaseViscosityCoProcessor.h similarity index 76% rename from source/VirtualFluidsCore/CoProcessors/DecreaseViscosityPostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/DecreaseViscosityCoProcessor.h index 041a858a3..ef1875cae 100644 --- a/source/VirtualFluidsCore/CoProcessors/DecreaseViscosityPostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/DecreaseViscosityCoProcessor.h @@ -1,14 +1,14 @@ #ifndef DecreaseViscosityPOSTPROCESSOR_H #define DecreaseViscosityPOSTPROCESSOR_H -#include "Postprocessor.h" +#include "CoProcessor.h" #include "D3Q27IntegrateValuesHelper.h" #include "LBMUnitConverter.h" #include "Communicator.h" #include <boost/shared_ptr.hpp> -class DecreaseViscosityPostprocessor; -typedef boost::shared_ptr<DecreaseViscosityPostprocessor> DecreaseViscosityPostprocessorPtr; +class DecreaseViscosityCoProcessor; +typedef boost::shared_ptr<DecreaseViscosityCoProcessor> DecreaseViscosityCoProcessorPtr; //! \brief The class sets viscosity/collision factor according to a previously defined function in time. //! \details initialization in test case (example): @@ -23,17 +23,17 @@ typedef boost::shared_ptr<DecreaseViscosityPostprocessor> DecreaseViscosityPostp //! \endcode //! \author Sonja Uphoff -class DecreaseViscosityPostprocessor: public Postprocessor +class DecreaseViscosityCoProcessor: public CoProcessor { public: - DecreaseViscosityPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, + DecreaseViscosityCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, mu::Parser* nueFunc, CommunicatorPtr comm); - virtual ~DecreaseViscosityPostprocessor(); + virtual ~DecreaseViscosityCoProcessor(); //! calls collect PostprocessData. - void update(double step); + void process(double step); protected: //! resets the collision factor depending on the current timestep. - void collectPostprocessData(double step); + void setViscosity(double step); CommunicatorPtr comm; private: mutable mu::value_type timeStep; diff --git a/source/VirtualFluidsCore/CoProcessors/EmergencyExitPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/EmergencyExitCoProcessor.cpp similarity index 67% rename from source/VirtualFluidsCore/CoProcessors/EmergencyExitPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/EmergencyExitCoProcessor.cpp index 163120e91..34bbc541a 100644 --- a/source/VirtualFluidsCore/CoProcessors/EmergencyExitPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/EmergencyExitCoProcessor.cpp @@ -1,11 +1,11 @@ -#include "EmergencyExitPostprocessor.h" +#include "EmergencyExitCoProcessor.h" #include <basics/utilities/UbFileOutputASCII.h> #include <basics/utilities/UbFileInputASCII.h> -EmergencyExitPostprocessor::EmergencyExitPostprocessor( Grid3DPtr grid, UbSchedulerPtr s, +EmergencyExitCoProcessor::EmergencyExitCoProcessor( Grid3DPtr grid, UbSchedulerPtr s, const std::string& path, - RestartPostprocessorPtr rp, CommunicatorPtr comm ) : - Postprocessor(grid, s), + RestartCoProcessorPtr rp, CommunicatorPtr comm) : + CoProcessor(grid, s), path(path), rp(rp), comm(comm) @@ -20,20 +20,20 @@ EmergencyExitPostprocessor::EmergencyExitPostprocessor( Grid3DPtr grid, UbSchedu comm->barrier(); } ////////////////////////////////////////////////////////////////////////// -EmergencyExitPostprocessor::~EmergencyExitPostprocessor() +EmergencyExitCoProcessor::~EmergencyExitCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -void EmergencyExitPostprocessor::update( double step ) +void EmergencyExitCoProcessor::process( double step ) { if(scheduler->isDue(step) ) - collectPostprocessData(step); + collectData(step); UBLOG(logDEBUG3, "EmergencyExitPostprocessor::update:" << step); } -void EmergencyExitPostprocessor::collectPostprocessData( double step ) +void EmergencyExitCoProcessor::collectData( double step ) { if(readMetafile()) { @@ -44,19 +44,19 @@ void EmergencyExitPostprocessor::collectPostprocessData( double step ) } } ////////////////////////////////////////////////////////////////////////// -void EmergencyExitPostprocessor::writeMetafile(int status ) +void EmergencyExitCoProcessor::writeMetafile(int status ) { UbFileOutputASCII out(metafile); out.writeBool(false); } ////////////////////////////////////////////////////////////////////////// -bool EmergencyExitPostprocessor::readMetafile() +bool EmergencyExitCoProcessor::readMetafile() { UbFileInputASCII in(metafile); return in.readBool(); } ////////////////////////////////////////////////////////////////////////// -void EmergencyExitPostprocessor::checkMetafile() +void EmergencyExitCoProcessor::checkMetafile() { std::ifstream file(metafile.c_str()); if (!file.is_open()) diff --git a/source/VirtualFluidsCore/CoProcessors/EmergencyExitCoProcessor.h b/source/VirtualFluidsCore/CoProcessors/EmergencyExitCoProcessor.h new file mode 100644 index 000000000..b5df123ff --- /dev/null +++ b/source/VirtualFluidsCore/CoProcessors/EmergencyExitCoProcessor.h @@ -0,0 +1,40 @@ +/* + * EmergencyExitPostprocessor.h + * + * Created on: 05.10.2012 + * Author: K. Kucher + */ + +#ifndef EmergencyExitPostprocessor_H +#define EmergencyExitPostprocessor_H + +#include "CoProcessor.h" +#include "Communicator.h" +#include "RestartCoProcessor.h" + +#include <boost/shared_ptr.hpp> +class EmergencyExitCoProcessor; +typedef boost::shared_ptr<EmergencyExitCoProcessor> EmergencyExitPostprocessorPtr; + +class EmergencyExitCoProcessor: public CoProcessor +{ +public: + EmergencyExitCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, + const std::string& path, RestartCoProcessorPtr rp, + CommunicatorPtr comm); + virtual ~EmergencyExitCoProcessor(); + void process(double step); +protected: + void collectData(double step); + void writeMetafile(int status); + bool readMetafile(); + void checkMetafile(); +private: + std::string path; + CommunicatorPtr comm; + RestartCoProcessorPtr rp; + std::string metafile; +}; + + +#endif /* EmergencyExitPostprocessor_H */ diff --git a/source/VirtualFluidsCore/CoProcessors/EmergencyExitPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/EmergencyExitPostprocessor.h deleted file mode 100644 index afe4ce442..000000000 --- a/source/VirtualFluidsCore/CoProcessors/EmergencyExitPostprocessor.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * EmergencyExitPostprocessor.h - * - * Created on: 05.10.2012 - * Author: K. Kucher - */ - -#ifndef EmergencyExitPostprocessor_H -#define EmergencyExitPostprocessor_H - -#include "Postprocessor.h" -#include "Communicator.h" -#include "RestartPostprocessor.h" - -#include <boost/shared_ptr.hpp> -class EmergencyExitPostprocessor; -typedef boost::shared_ptr<EmergencyExitPostprocessor> EmergencyExitPostprocessorPtr; - -class EmergencyExitPostprocessor: public Postprocessor -{ -public: - EmergencyExitPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, - const std::string& path, RestartPostprocessorPtr rp, - CommunicatorPtr comm); - virtual ~EmergencyExitPostprocessor(); - void update(double step); -protected: - void collectPostprocessData(double step); - void writeMetafile(int status); - bool readMetafile(); - void checkMetafile(); -private: - std::string path; - CommunicatorPtr comm; - RestartPostprocessorPtr rp; - std::string metafile; -}; - - -#endif /* EmergencyExitPostprocessor_H */ diff --git a/source/VirtualFluidsCore/CoProcessors/D3Q27ForcesPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/ForcesCoProcessor.cpp similarity index 87% rename from source/VirtualFluidsCore/CoProcessors/D3Q27ForcesPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/ForcesCoProcessor.cpp index 89c1c9d65..d292bac83 100644 --- a/source/VirtualFluidsCore/CoProcessors/D3Q27ForcesPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/ForcesCoProcessor.cpp @@ -1,12 +1,12 @@ -#include "D3Q27ForcesPostprocessor.h" +#include "ForcesCoProcessor.h" #include "D3Q27ETBCProcessor.h" #include <boost/foreach.hpp> -D3Q27ForcesPostprocessor::D3Q27ForcesPostprocessor( Grid3DPtr grid, UbSchedulerPtr s, +ForcesCoProcessor::ForcesCoProcessor( Grid3DPtr grid, UbSchedulerPtr s, const std::string &path, CommunicatorPtr comm , double v, double a) : - Postprocessor(grid, s), + CoProcessor(grid, s), path(path), comm(comm), v(v), a(a), forceX1global(0), forceX2global(0), forceX3global(0) @@ -35,20 +35,20 @@ D3Q27ForcesPostprocessor::D3Q27ForcesPostprocessor( Grid3DPtr grid, UbSchedulerP } } ////////////////////////////////////////////////////////////////////////// -D3Q27ForcesPostprocessor::~D3Q27ForcesPostprocessor() +ForcesCoProcessor::~ForcesCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -void D3Q27ForcesPostprocessor::update( double step ) +void ForcesCoProcessor::process( double step ) { if(scheduler->isDue(step) ) - collectPostprocessData(step); + collectData(step); UBLOG(logDEBUG3, "D3Q27ForcesPostprocessor::update:" << step); } ////////////////////////////////////////////////////////////////////////// -void D3Q27ForcesPostprocessor::collectPostprocessData( double step ) +void ForcesCoProcessor::collectData( double step ) { calculateForces(); @@ -79,7 +79,7 @@ void D3Q27ForcesPostprocessor::collectPostprocessData( double step ) } } ////////////////////////////////////////////////////////////////////////// -void D3Q27ForcesPostprocessor::calculateForces() +void ForcesCoProcessor::calculateForces() { forceX1global = 0.0; forceX2global = 0.0; @@ -164,7 +164,7 @@ void D3Q27ForcesPostprocessor::calculateForces() } } ////////////////////////////////////////////////////////////////////////// -UbTupleDouble3 D3Q27ForcesPostprocessor::getForces(int x1, int x2, int x3, DistributionArray3DPtr distributions, D3Q27BoundaryConditionPtr bc) +UbTupleDouble3 ForcesCoProcessor::getForces(int x1, int x2, int x3, DistributionArray3DPtr distributions, D3Q27BoundaryConditionPtr bc) { UbTupleDouble3 force(0.0,0.0,0.0); @@ -194,7 +194,7 @@ UbTupleDouble3 D3Q27ForcesPostprocessor::getForces(int x1, int x2, int x3, Distr return force; } ////////////////////////////////////////////////////////////////////////// -void D3Q27ForcesPostprocessor::calculateCoefficients() +void ForcesCoProcessor::calculateCoefficients() { double F1 = forceX1global; double F2 = forceX2global; @@ -206,12 +206,12 @@ void D3Q27ForcesPostprocessor::calculateCoefficients() C3 = 2.0*F3/(v*v*a); } ////////////////////////////////////////////////////////////////////////// -void D3Q27ForcesPostprocessor::addInteractor( D3Q27InteractorPtr interactor ) +void ForcesCoProcessor::addInteractor( D3Q27InteractorPtr interactor ) { interactors.push_back(interactor); } ////////////////////////////////////////////////////////////////////////// -void D3Q27ForcesPostprocessor::write(std::ofstream *fileObject, double value, char *separator) +void ForcesCoProcessor::write(std::ofstream *fileObject, double value, char *separator) { (*fileObject).width(12); //(*fileObject).precision(2); diff --git a/source/VirtualFluidsCore/CoProcessors/D3Q27ForcesPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/ForcesCoProcessor.h similarity index 77% rename from source/VirtualFluidsCore/CoProcessors/D3Q27ForcesPostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/ForcesCoProcessor.h index 3b2dc97f6..8021882b9 100644 --- a/source/VirtualFluidsCore/CoProcessors/D3Q27ForcesPostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/ForcesCoProcessor.h @@ -8,24 +8,24 @@ #ifndef D3Q27ForcesPostprocessor_H #define D3Q27ForcesPostprocessor_H -#include "Postprocessor.h" +#include "CoProcessor.h" #include "Communicator.h" #include "D3Q27Interactor.h" -class D3Q27ForcesPostprocessor: public Postprocessor +class ForcesCoProcessor: public CoProcessor { public: //! Constructor //! \param v - velocity of fluid in LB units //! \param a - area of object in LB units - D3Q27ForcesPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, + ForcesCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string &path, CommunicatorPtr comm, double v, double a); - virtual ~D3Q27ForcesPostprocessor(); - void update(double step); + virtual ~ForcesCoProcessor(); + void process(double step); void addInteractor(D3Q27InteractorPtr interactor); protected: - void collectPostprocessData(double step); + void collectData(double step); void calculateForces(); UbTupleDouble3 getForces(int x1, int x2, int x3, DistributionArray3DPtr distributions, D3Q27BoundaryConditionPtr bc); void calculateCoefficients(); @@ -47,7 +47,7 @@ private: template<class Archive> void serialize(Archive & ar, const unsigned int version) { - ar & boost::serialization::base_object<Postprocessor>(*this); + ar & boost::serialization::base_object<CoProcessor>(*this); ar & path; ar & v; ar & a; diff --git a/source/VirtualFluidsCore/CoProcessors/InSituCatalystPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/InSituCatalystCoProcessor.cpp similarity index 92% rename from source/VirtualFluidsCore/CoProcessors/InSituCatalystPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/InSituCatalystCoProcessor.cpp index a590b071f..b088d2722 100644 --- a/source/VirtualFluidsCore/CoProcessors/InSituCatalystPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/InSituCatalystCoProcessor.cpp @@ -1,6 +1,6 @@ #ifdef VF_CATALYST -#include "InSituCatalystPostprocessor.h" +#include "InSituCatalystCoProcessor.h" #include <LBMKernelETD3Q27.h> #include <D3Q27ETBCProcessor.h> #include <vector> @@ -15,12 +15,12 @@ using namespace std; -InSituCatalystPostprocessor::InSituCatalystPostprocessor() +InSituCatalystCoProcessor::InSituCatalystCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -InSituCatalystPostprocessor::InSituCatalystPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, std::string script) : Postprocessor(grid, s) +InSituCatalystCoProcessor::InSituCatalystCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, std::string script) : CoProcessor(grid, s) { gridRank = Communicator::getInstance()->getProcessID(); minInitLevel = this->grid->getCoarsestInitializedLevel(); @@ -43,20 +43,20 @@ InSituCatalystPostprocessor::InSituCatalystPostprocessor(Grid3DPtr grid, UbSched buildVTKGrid(); } ////////////////////////////////////////////////////////////////////////// -InSituCatalystPostprocessor::~InSituCatalystPostprocessor() +InSituCatalystCoProcessor::~InSituCatalystCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -void InSituCatalystPostprocessor::update(double step) +void InSituCatalystCoProcessor::process(double step) { if (scheduler->isDue(step)) - collectPostprocessData(step); + collectData(step); UBLOG(logDEBUG3, "InSituCatalystPostprocessor::update:" << step); } ////////////////////////////////////////////////////////////////////////// -void InSituCatalystPostprocessor::collectPostprocessData(double step) +void InSituCatalystCoProcessor::collectData(double step) { unsigned int istep = static_cast<int>(step); @@ -75,7 +75,7 @@ void InSituCatalystPostprocessor::collectPostprocessData(double step) { if (block) { - addPostprocessData(block); + addData(block); } } } @@ -99,7 +99,7 @@ void InSituCatalystPostprocessor::collectPostprocessData(double step) UBLOG(logINFO, "InSituCatalystPostprocessor step: " << istep); } ////////////////////////////////////////////////////////////////////////// -void InSituCatalystPostprocessor::addPostprocessData(Block3DPtr block) +void InSituCatalystCoProcessor::addData(Block3DPtr block) { UbTupleDouble3 org = grid->getBlockWorldCoordinates(block); UbTupleDouble3 blockLengths = grid->getBlockLengths(block); @@ -172,7 +172,7 @@ void InSituCatalystPostprocessor::addPostprocessData(Block3DPtr block) } } ////////////////////////////////////////////////////////////////////////// -void InSituCatalystPostprocessor::buildVTKGrid() +void InSituCatalystCoProcessor::buildVTKGrid() { unstructuredGrid = vtkSmartPointer<vtkUnstructuredGrid>::New(); points = vtkPoints::New(); @@ -215,7 +215,7 @@ void InSituCatalystPostprocessor::buildVTKGrid() vx3Array.resize(numOfPoints); } ////////////////////////////////////////////////////////////////////////// -void InSituCatalystPostprocessor::addVTKGridData(Block3DPtr block) +void InSituCatalystCoProcessor::addVTKGridData(Block3DPtr block) { UbTupleDouble3 org = grid->getBlockWorldCoordinates(block); UbTupleDouble3 blockLengths = grid->getBlockLengths(block); diff --git a/source/VirtualFluidsCore/CoProcessors/InSituCatalystPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/InSituCatalystCoProcessor.h similarity index 74% rename from source/VirtualFluidsCore/CoProcessors/InSituCatalystPostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/InSituCatalystCoProcessor.h index 08da5f64b..ad03df92e 100644 --- a/source/VirtualFluidsCore/CoProcessors/InSituCatalystPostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/InSituCatalystCoProcessor.h @@ -4,7 +4,7 @@ #define InSituCatalystPostprocessor_h__ -#include <Postprocessor.h> +#include <CoProcessor.h> #include <Grid3D.h> #include <LBMUnitConverter.h> @@ -19,16 +19,16 @@ #include <vtkCPPythonScriptPipeline.h> #include <vtkNew.h> -class InSituCatalystPostprocessor : public Postprocessor +class InSituCatalystCoProcessor : public CoProcessor { public: - InSituCatalystPostprocessor(); - InSituCatalystPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, std::string script); - virtual ~InSituCatalystPostprocessor(); - void update(double step); + InSituCatalystCoProcessor(); + InSituCatalystCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, std::string script); + virtual ~InSituCatalystCoProcessor(); + void process(double step); protected: - void collectPostprocessData(double step); - void addPostprocessData(Block3DPtr block); + void collectData(double step); + void addData(Block3DPtr block); void buildVTKGrid(); void addVTKGridData(Block3DPtr block); private: diff --git a/source/VirtualFluidsCore/CoProcessors/InSituVTKPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/InSituVTKCoProcessor.cpp similarity index 91% rename from source/VirtualFluidsCore/CoProcessors/InSituVTKPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/InSituVTKCoProcessor.cpp index 716b2ddd9..4a901e0c8 100644 --- a/source/VirtualFluidsCore/CoProcessors/InSituVTKPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/InSituVTKCoProcessor.cpp @@ -1,6 +1,6 @@ #ifdef VF_VTK -#include "InSituVTKPostprocessor.h" +#include "InSituVTKCoProcessor.h" #include <LBMKernelETD3Q27.h> #include <D3Q27ETBCProcessor.h> #include <vector> @@ -15,12 +15,12 @@ using namespace std; -InSituVTKPostprocessor::InSituVTKPostprocessor() +InSituVTKCoProcessor::InSituVTKCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -InSituVTKPostprocessor::InSituVTKPostprocessor( Grid3DPtr grid, UbSchedulerPtr s, const std::string& configFile, LBMUnitConverterPtr conv ) : Postprocessor(grid, s), conv(conv) +InSituVTKCoProcessor::InSituVTKCoProcessor( Grid3DPtr grid, UbSchedulerPtr s, const std::string& configFile, LBMUnitConverterPtr conv ) : CoProcessor(grid, s), conv(conv) { gridRank = Communicator::getInstance()->getProcessID(); minInitLevel = this->grid->getCoarsestInitializedLevel(); @@ -50,20 +50,20 @@ InSituVTKPostprocessor::InSituVTKPostprocessor( Grid3DPtr grid, UbSchedulerPtr s } ////////////////////////////////////////////////////////////////////////// -InSituVTKPostprocessor::~InSituVTKPostprocessor() +InSituVTKCoProcessor::~InSituVTKCoProcessor() { comm->CloseConnection(); } ////////////////////////////////////////////////////////////////////////// -void InSituVTKPostprocessor::update( double step ) +void InSituVTKCoProcessor::process( double step ) { if(scheduler->isDue(step) ) - collectPostprocessData(step); + collectData(step); UBLOG(logDEBUG3, "InSituVTKPostprocessor::update:" << step); } ////////////////////////////////////////////////////////////////////////// -void InSituVTKPostprocessor::collectPostprocessData( double step ) +void InSituVTKCoProcessor::collectData( double step ) { int istep = static_cast<int>(step); @@ -92,7 +92,7 @@ void InSituVTKPostprocessor::collectPostprocessData( double step ) { if (block) { - addPostprocessData(block); + addData(block); } } } @@ -125,7 +125,7 @@ void InSituVTKPostprocessor::collectPostprocessData( double step ) UBLOG(logINFO,"InSituVTKPostprocessor step: " << istep); } ////////////////////////////////////////////////////////////////////////// -void InSituVTKPostprocessor::addPostprocessData( Block3DPtr block ) +void InSituVTKCoProcessor::addData( Block3DPtr block ) { UbTupleDouble3 org = grid->getBlockWorldCoordinates(block); UbTupleDouble3 blockLengths = grid->getBlockLengths(block); @@ -263,7 +263,7 @@ void InSituVTKPostprocessor::addPostprocessData( Block3DPtr block ) } } ////////////////////////////////////////////////////////////////////////// -void InSituVTKPostprocessor::readConfigFile( const std::string& configFile ) +void InSituVTKCoProcessor::readConfigFile( const std::string& configFile ) { ifstream ifs; ifs.open (configFile, ifstream::in); diff --git a/source/VirtualFluidsCore/CoProcessors/InSituVTKPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/InSituVTKCoProcessor.h similarity index 68% rename from source/VirtualFluidsCore/CoProcessors/InSituVTKPostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/InSituVTKCoProcessor.h index c4f0a6749..1898ac296 100644 --- a/source/VirtualFluidsCore/CoProcessors/InSituVTKPostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/InSituVTKCoProcessor.h @@ -3,7 +3,7 @@ #ifndef InSituVTKPostprocessor_h__ #define InSituVTKPostprocessor_h__ -#include <Postprocessor.h> +#include <CoProcessor.h> #include <Grid3D.h> #include <LBMUnitConverter.h> @@ -16,16 +16,16 @@ #include <vtkUnstructuredGrid.h> #include <vtkDoubleArray.h> -class InSituVTKPostprocessor : public Postprocessor +class InSituVTKCoProcessor : public CoProcessor { public: - InSituVTKPostprocessor(); - InSituVTKPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string& configFile, LBMUnitConverterPtr conv); - virtual ~InSituVTKPostprocessor(); - void update(double step); + InSituVTKCoProcessor(); + InSituVTKCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string& configFile, LBMUnitConverterPtr conv); + virtual ~InSituVTKCoProcessor(); + void process(double step); protected: - void collectPostprocessData(double step); - void addPostprocessData(Block3DPtr block); + void collectData(double step); + void addData(Block3DPtr block); void readConfigFile(const std::string& configFile); //void clearData(); diff --git a/source/VirtualFluidsCore/CoProcessors/D3Q27MacroscopicQuantitiesPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/MacroscopicQuantitiesCoProcessor.cpp similarity index 92% rename from source/VirtualFluidsCore/CoProcessors/D3Q27MacroscopicQuantitiesPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/MacroscopicQuantitiesCoProcessor.cpp index d551a8ae8..6bbefbfcc 100644 --- a/source/VirtualFluidsCore/CoProcessors/D3Q27MacroscopicQuantitiesPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/MacroscopicQuantitiesCoProcessor.cpp @@ -1,4 +1,4 @@ -#include "D3Q27MacroscopicQuantitiesPostprocessor.h" +#include "MacroscopicQuantitiesCoProcessor.h" #include "LBMKernelETD3Q27.h" #include "D3Q27ETBCProcessor.h" #include <vector> @@ -8,16 +8,16 @@ using namespace std; -D3Q27MacroscopicQuantitiesPostprocessor::D3Q27MacroscopicQuantitiesPostprocessor() +MacroscopicQuantitiesCoProcessor::MacroscopicQuantitiesCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -D3Q27MacroscopicQuantitiesPostprocessor::D3Q27MacroscopicQuantitiesPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, +MacroscopicQuantitiesCoProcessor::MacroscopicQuantitiesCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string& path, WbWriter* const writer, LBMUnitConverterPtr conv, bool bcInformation) - : Postprocessor(grid, s), + : CoProcessor(grid, s), path(path), writer(writer), conv(conv), @@ -36,7 +36,7 @@ D3Q27MacroscopicQuantitiesPostprocessor::D3Q27MacroscopicQuantitiesPostprocessor init(); } ////////////////////////////////////////////////////////////////////////// -void D3Q27MacroscopicQuantitiesPostprocessor::init() +void MacroscopicQuantitiesCoProcessor::init() { gridRank = Communicator::getInstance()->getProcessID(); minInitLevel = this->grid->getCoarsestInitializedLevel(); @@ -50,15 +50,15 @@ void D3Q27MacroscopicQuantitiesPostprocessor::init() } } ////////////////////////////////////////////////////////////////////////// -void D3Q27MacroscopicQuantitiesPostprocessor::update(double step) +void MacroscopicQuantitiesCoProcessor::process(double step) { if(scheduler->isDue(step) ) - collectPostprocessData(step); + collectData(step); UBLOG(logDEBUG3, "D3Q27MacroscopicQuantitiesPostprocessor::update:" << step); } ////////////////////////////////////////////////////////////////////////// -void D3Q27MacroscopicQuantitiesPostprocessor::collectPostprocessData(double step) +void MacroscopicQuantitiesCoProcessor::collectData(double step) { int istep = static_cast<int>(step); @@ -70,11 +70,11 @@ void D3Q27MacroscopicQuantitiesPostprocessor::collectPostprocessData(double step { if(!bcInformation) { - addPostprocessData1(block); + addDataMQ(block); } else { - addPostprocessData2(block); + addDataGeo(block); } } } @@ -113,7 +113,7 @@ void D3Q27MacroscopicQuantitiesPostprocessor::collectPostprocessData(double step vector<string> filenames; filenames.push_back(piece); - if (step == Postprocessor::scheduler->getMinBegin()) + if (step == CoProcessor::scheduler->getMinBegin()) { WbWriterVtkXmlASCII::getInstance()->writeCollection(cfilePath,filenames,istep,false); } @@ -127,7 +127,7 @@ void D3Q27MacroscopicQuantitiesPostprocessor::collectPostprocessData(double step clearData(); } ////////////////////////////////////////////////////////////////////////// -void D3Q27MacroscopicQuantitiesPostprocessor::clearData() +void MacroscopicQuantitiesCoProcessor::clearData() { nodes.clear(); cells.clear(); @@ -135,7 +135,7 @@ void D3Q27MacroscopicQuantitiesPostprocessor::clearData() data.clear(); } ////////////////////////////////////////////////////////////////////////// -void D3Q27MacroscopicQuantitiesPostprocessor::addPostprocessData1(Block3DPtr block) +void MacroscopicQuantitiesCoProcessor::addDataMQ(Block3DPtr block) { UbTupleDouble3 org = grid->getBlockWorldCoordinates(block); UbTupleDouble3 blockLengths = grid->getBlockLengths(block); @@ -287,7 +287,7 @@ void D3Q27MacroscopicQuantitiesPostprocessor::addPostprocessData1(Block3DPtr blo } } ////////////////////////////////////////////////////////////////////////// -void D3Q27MacroscopicQuantitiesPostprocessor::addPostprocessData2(Block3DPtr block) +void MacroscopicQuantitiesCoProcessor::addDataGeo(Block3DPtr block) { UbTupleDouble3 org = grid->getBlockWorldCoordinates(block); UbTupleDouble3 blockLengths = grid->getBlockLengths(block); diff --git a/source/VirtualFluidsCore/CoProcessors/D3Q27MacroscopicQuantitiesPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/MacroscopicQuantitiesCoProcessor.h similarity index 64% rename from source/VirtualFluidsCore/CoProcessors/D3Q27MacroscopicQuantitiesPostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/MacroscopicQuantitiesCoProcessor.h index e5a26a929..8634885ee 100644 --- a/source/VirtualFluidsCore/CoProcessors/D3Q27MacroscopicQuantitiesPostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/MacroscopicQuantitiesCoProcessor.h @@ -1,7 +1,7 @@ #ifndef D3Q27MACROSCOPICQUANTITIESPOSTPROCESSOR_H #define D3Q27MACROSCOPICQUANTITIESPOSTPROCESSOR_H -#include "Postprocessor.h" +#include "CoProcessor.h" #include "Grid3D.h" #include "Block3D.h" #include "LBMUnitConverter.h" @@ -9,22 +9,22 @@ #include "WbWriter.h" #include <boost/shared_ptr.hpp> -class D3Q27MacroscopicQuantitiesPostprocessor; -typedef boost::shared_ptr<D3Q27MacroscopicQuantitiesPostprocessor> D3Q27MacroscopicQuantitiesPostprocessorPtr; +class MacroscopicQuantitiesCoProcessor; +typedef boost::shared_ptr<MacroscopicQuantitiesCoProcessor> MacroscopicQuantitiesCoProcessorPtr; -class D3Q27MacroscopicQuantitiesPostprocessor : public Postprocessor +class MacroscopicQuantitiesCoProcessor : public CoProcessor { public: - D3Q27MacroscopicQuantitiesPostprocessor(); - D3Q27MacroscopicQuantitiesPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, + MacroscopicQuantitiesCoProcessor(); + MacroscopicQuantitiesCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string& path, WbWriter* const writer, LBMUnitConverterPtr conv, bool nodesInformation = false); - void update(double step); + void process(double step); protected: - void collectPostprocessData(double step); - void addPostprocessData1(Block3DPtr block); - void addPostprocessData2(Block3DPtr block); + void collectData(double step); + void addDataMQ(Block3DPtr block); + void addDataGeo(Block3DPtr block); void clearData(); private: void init(); @@ -45,7 +45,7 @@ private: template<class Archive> void serialize(Archive & ar, const unsigned int version) { - ar & boost::serialization::base_object<Postprocessor>(*this); + ar & boost::serialization::base_object<CoProcessor>(*this); ar & path; ar & conv; ar & bcInformation; diff --git a/source/VirtualFluidsCore/CoProcessors/D3Q27MeanValuesPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/MeanValuesCoProcessor.cpp similarity index 83% rename from source/VirtualFluidsCore/CoProcessors/D3Q27MeanValuesPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/MeanValuesCoProcessor.cpp index 791a59602..73bc3da3a 100644 --- a/source/VirtualFluidsCore/CoProcessors/D3Q27MeanValuesPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/MeanValuesCoProcessor.cpp @@ -1,8 +1,8 @@ -#include "D3Q27MeanValuesPostprocessor.h" +#include "MeanValuesCoProcessor.h" -D3Q27MeanValuesPostprocessor::D3Q27MeanValuesPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string &path, +MeanValuesCoProcessor::MeanValuesCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string &path, CommunicatorPtr comm, D3Q27IntegrateValuesHelperPtr ih, double factorPressure, double factorVelocity) : - Postprocessor(grid, s), + CoProcessor(grid, s), filename(path), comm(comm), ih(ih), @@ -26,18 +26,18 @@ D3Q27MeanValuesPostprocessor::D3Q27MeanValuesPostprocessor(Grid3DPtr grid, UbSch } } ////////////////////////////////////////////////////////////////////////// -D3Q27MeanValuesPostprocessor::~D3Q27MeanValuesPostprocessor() +MeanValuesCoProcessor::~MeanValuesCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -void D3Q27MeanValuesPostprocessor::update(double step) +void MeanValuesCoProcessor::process(double step) { if (scheduler->isDue(step)) collectPostprocessData(step); } ////////////////////////////////////////////////////////////////////////// -void D3Q27MeanValuesPostprocessor::collectPostprocessData(double step) +void MeanValuesCoProcessor::collectPostprocessData(double step) { ih->calculateMQ(); diff --git a/source/VirtualFluidsCore/CoProcessors/D3Q27MeanValuesPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/MeanValuesCoProcessor.h similarity index 64% rename from source/VirtualFluidsCore/CoProcessors/D3Q27MeanValuesPostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/MeanValuesCoProcessor.h index 9ab1f2278..eb3b38381 100644 --- a/source/VirtualFluidsCore/CoProcessors/D3Q27MeanValuesPostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/MeanValuesCoProcessor.h @@ -1,18 +1,18 @@ #ifndef D3Q27MEANVALUESPOSTPROCESSOR_H #define D3Q27MEANVALUESPOSTPROCESSOR_H -#include <Postprocessor.h> +#include <CoProcessor.h> #include <D3Q27IntegrateValuesHelper.h> #include <LBMUnitConverter.h> -class D3Q27MeanValuesPostprocessor : public Postprocessor +class MeanValuesCoProcessor : public CoProcessor { public: - D3Q27MeanValuesPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string &path, + MeanValuesCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string &path, CommunicatorPtr comm, D3Q27IntegrateValuesHelperPtr ih, double factorPressure, double factorVelocity); - virtual ~D3Q27MeanValuesPostprocessor(); - void update(double step); + virtual ~MeanValuesCoProcessor(); + void process(double step); private: D3Q27IntegrateValuesHelperPtr ih; diff --git a/source/VirtualFluidsCore/CoProcessors/NUPSCounterPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.cpp similarity index 83% rename from source/VirtualFluidsCore/CoProcessors/NUPSCounterPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.cpp index c09ee0333..96cd9f083 100644 --- a/source/VirtualFluidsCore/CoProcessors/NUPSCounterPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.cpp @@ -1,8 +1,8 @@ -#include "NUPSCounterPostprocessor.h" +#include "NUPSCounterCoProcessor.h" -NUPSCounterPostprocessor::NUPSCounterPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, int numOfThreads, CommunicatorPtr comm) - : Postprocessor(grid, s), +NUPSCounterCoProcessor::NUPSCounterCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, int numOfThreads, CommunicatorPtr comm) + : CoProcessor(grid, s), numOfThreads(numOfThreads), comm(comm), nup(0), @@ -31,17 +31,17 @@ NUPSCounterPostprocessor::NUPSCounterPostprocessor(Grid3DPtr grid, UbSchedulerPt } } ////////////////////////////////////////////////////////////////////////// -NUPSCounterPostprocessor::~NUPSCounterPostprocessor() +NUPSCounterCoProcessor::~NUPSCounterCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -void NUPSCounterPostprocessor::update(double step) +void NUPSCounterCoProcessor::process(double step) { if(scheduler->isDue(step) ) - collectPostprocessData(step); + collectData(step); } ////////////////////////////////////////////////////////////////////////// -void NUPSCounterPostprocessor::collectPostprocessData(double step) +void NUPSCounterCoProcessor::collectData(double step) { if (comm->getProcessID() == comm->getRoot()) { diff --git a/source/VirtualFluidsCore/CoProcessors/NUPSCounterPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.h similarity index 58% rename from source/VirtualFluidsCore/CoProcessors/NUPSCounterPostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.h index 48a90c90c..1b1c6be6f 100644 --- a/source/VirtualFluidsCore/CoProcessors/NUPSCounterPostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.h @@ -8,18 +8,18 @@ #ifndef NUPSCOUNTERPOSTPROCESSOR_H_ #define NUPSCOUNTERPOSTPROCESSOR_H_ -#include "Postprocessor.h" +#include "CoProcessor.h" #include "Communicator.h" #include "basics/utilities/UbTiming.h" #include <boost/timer.hpp> -class NUPSCounterPostprocessor: public Postprocessor { +class NUPSCounterCoProcessor: public CoProcessor { public: - NUPSCounterPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, int numOfThreads, CommunicatorPtr comm); - virtual ~NUPSCounterPostprocessor(); - void update(double step); + NUPSCounterCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, int numOfThreads, CommunicatorPtr comm); + virtual ~NUPSCounterCoProcessor(); + void process(double step); protected: - void collectPostprocessData(double step); + void collectData(double step); UbTimer timer; //boost::timer timer; int numOfThreads; diff --git a/source/VirtualFluidsCore/CoProcessors/D3Q27PathLinePostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/PathLineCoProcessor.cpp similarity index 91% rename from source/VirtualFluidsCore/CoProcessors/D3Q27PathLinePostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/PathLineCoProcessor.cpp index 6e8ca7ea9..7ca2741c0 100644 --- a/source/VirtualFluidsCore/CoProcessors/D3Q27PathLinePostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/PathLineCoProcessor.cpp @@ -1,4 +1,4 @@ -#include "D3Q27PathLinePostprocessor.h" +#include "PathLineCoProcessor.h" #include "LBMKernelETD3Q27.h" #include "SimulationParameters.h" #include "D3Q27ETBCProcessor.h" @@ -10,11 +10,11 @@ using namespace std; -D3Q27PathLinePostprocessor::D3Q27PathLinePostprocessor(Grid3DPtr grid, const std::string& path, +PathLineCoProcessor::PathLineCoProcessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, LBMUnitConverterPtr conv, UbSchedulerPtr s, CommunicatorPtr comm, double x1, double x2, double x3, LBMReal nue, D3Q27InterpolationProcessorPtr iProcessor) - : Postprocessor(grid, s), + : CoProcessor(grid, s), path(path), comm(comm), writer(writer), @@ -39,12 +39,12 @@ D3Q27PathLinePostprocessor::D3Q27PathLinePostprocessor(Grid3DPtr grid, const std iHelper = D3Q27InterpolationHelperPtr(new D3Q27InterpolationHelper(iProcessor)); } ////////////////////////////////////////////////////////////////////////// -D3Q27PathLinePostprocessor::~D3Q27PathLinePostprocessor() +PathLineCoProcessor::~PathLineCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::update(double step) +void PathLineCoProcessor::process(double step) { this->stepcheck=(int)step; double aa=scheduler->getMinEnd(); @@ -56,7 +56,7 @@ void D3Q27PathLinePostprocessor::update(double step) UBLOG(logDEBUG3, "PathLinePostprocessor::update:" << step); } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::collectPostprocessData() +void PathLineCoProcessor::collectPostprocessData() { //for (int n=0;n<Positions[][0].size();n++) //{ @@ -194,7 +194,7 @@ void D3Q27PathLinePostprocessor::collectPostprocessData() } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::printPoint(double tau[]) +void PathLineCoProcessor::printPoint(double tau[]) { double tauxx=tau[0]; double tauyy=tau[1]; @@ -243,14 +243,14 @@ void D3Q27PathLinePostprocessor::printPoint(double tau[]) } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::clearData() +void PathLineCoProcessor::clearData() { nodes.clear(); datanames.clear(); data.clear(); } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::initialMovement(Block3DPtr block, LBMKernelETD3Q27Ptr& kernel, DistributionArray3DPtr& distributions, BCArray3D<D3Q27BoundaryCondition>& bcArray) +void PathLineCoProcessor::initialMovement(Block3DPtr block, LBMKernelETD3Q27Ptr& kernel, DistributionArray3DPtr& distributions, BCArray3D<D3Q27BoundaryCondition>& bcArray) { //UBLOG(logINFO, "addPostprocessData1"); //root = rank; @@ -270,7 +270,7 @@ void D3Q27PathLinePostprocessor::initialMovement(Block3DPtr block, LBMKernelETD3 } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::checkLevel(Block3DPtr& block, LBMKernelETD3Q27Ptr& kernel, DistributionArray3DPtr& distributions, BCArray3D<D3Q27BoundaryCondition>& bcArray,bool &isPointSuitable2) +void PathLineCoProcessor::checkLevel(Block3DPtr& block, LBMKernelETD3Q27Ptr& kernel, DistributionArray3DPtr& distributions, BCArray3D<D3Q27BoundaryCondition>& bcArray,bool &isPointSuitable2) { int minInitLevel = this->grid->getCoarsestInitializedLevel(); int maxInitLevel = this->grid->getFinestInitializedLevel(); @@ -317,7 +317,7 @@ void D3Q27PathLinePostprocessor::checkLevel(Block3DPtr& block, LBMKernelETD3Q27P else isPointSuitable2=false; } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::interpolMovement(Block3DPtr block, LBMKernelETD3Q27Ptr& kernel, DistributionArray3DPtr& distributions, BCArray3D<D3Q27BoundaryCondition>& bcArray, int &isExtrapolation,double tau[]) +void PathLineCoProcessor::interpolMovement(Block3DPtr block, LBMKernelETD3Q27Ptr& kernel, DistributionArray3DPtr& distributions, BCArray3D<D3Q27BoundaryCondition>& bcArray, int &isExtrapolation,double tau[]) { LBMReal tauxx, tauyy, tauzz, tauxy, tauxz, tauyz; LBMReal vx1,vx2,vx3,rho; @@ -430,7 +430,7 @@ void D3Q27PathLinePostprocessor::interpolMovement(Block3DPtr block, LBMKernelETD } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::extrapolMovement(Block3DPtr block, LBMKernelETD3Q27Ptr& kernel, DistributionArray3DPtr& distributions, BCArray3D<D3Q27BoundaryCondition>& bcArray,double tau[]) +void PathLineCoProcessor::extrapolMovement(Block3DPtr block, LBMKernelETD3Q27Ptr& kernel, DistributionArray3DPtr& distributions, BCArray3D<D3Q27BoundaryCondition>& bcArray,double tau[]) { LBMReal tauxx, tauyy, tauzz, tauxy, tauxz, tauyz; LBMReal vx1,vx2,vx3,rho; @@ -545,7 +545,7 @@ void D3Q27PathLinePostprocessor::extrapolMovement(Block3DPtr block, LBMKernelETD } } ////////////////////////////////////////////////////////////////////////// -bool D3Q27PathLinePostprocessor::checkNodes( Block3DPtr block) +bool PathLineCoProcessor::checkNodes( Block3DPtr block) { bool result = true; LBMKernelETD3Q27Ptr kernel = boost::dynamic_pointer_cast<LBMKernelETD3Q27>(block->getKernel()); @@ -591,7 +591,7 @@ bool D3Q27PathLinePostprocessor::checkNodes( Block3DPtr block) } ////////////////////////////////////////////////////////////////////////// -bool D3Q27PathLinePostprocessor::checkNodes2( Block3DPtr block,double x11,double x22,double x33) +bool PathLineCoProcessor::checkNodes2( Block3DPtr block,double x11,double x22,double x33) { bool result = true; LBMKernelETD3Q27Ptr kernel = boost::dynamic_pointer_cast<LBMKernelETD3Q27>(block->getKernel()); @@ -637,7 +637,7 @@ bool D3Q27PathLinePostprocessor::checkNodes2( Block3DPtr block,double x11,double } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::outICell(D3Q27ICell& iCell) +void PathLineCoProcessor::outICell(D3Q27ICell& iCell) { std::ofstream ostr; string fname = path+"_iCell"; @@ -658,7 +658,7 @@ void D3Q27PathLinePostprocessor::outICell(D3Q27ICell& iCell) ostr.close(); } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::updateDistributedValues() +void PathLineCoProcessor::updateDistributedValues() { int size; MPI_Status status; @@ -705,7 +705,7 @@ void D3Q27PathLinePostprocessor::updateDistributedValues() } ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::findPlane(int ix1,int ix2,int ix3,Grid3DPtr grid,Block3DPtr block,double &A,double &B,double &C,double &D,double &ii) +void PathLineCoProcessor::findPlane(int ix1,int ix2,int ix3,Grid3DPtr grid,Block3DPtr block,double &A,double &B,double &C,double &D,double &ii) { double x1plane=0.0,y1plane=0.0,z1plane=0.0; double x2plane=0.0,y2plane=0.0,z2plane=0.0; @@ -812,7 +812,7 @@ void D3Q27PathLinePostprocessor::findPlane(int ix1,int ix2,int ix3,Grid3DPtr gri D =-( x1plane*(y2plane*z3plane - y3plane*z2plane)+x2plane*(y3plane*z1plane - y1plane*z3plane) + x3plane* (y1plane* z2plane - y2plane* z1plane)); } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::finddisPointToCentercell(double x1,double x2,double x3,double xp000, double yp000, double zp000,double &dis,double &dx, +void PathLineCoProcessor::finddisPointToCentercell(double x1,double x2,double x3,double xp000, double yp000, double zp000,double &dis,double &dx, double &deltaT,Block3DPtr &block,int level) { UbTupleInt3 blockIndexes = grid->getBlockIndexes(xp000, yp000, zp000,level); @@ -882,7 +882,7 @@ void D3Q27PathLinePostprocessor::finddisPointToCentercell(double x1,double x2,do //} ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::getWallPosition(double input[]) +void PathLineCoProcessor::getWallPosition(double input[]) { //{0=xp000, 1=ix2ph, 2=ix3ph,3=x1,4=x2,5=x3,6=Xw,7=Yw,8=Zw,9=A,10=B,11=C,12=D,13=normalDis,14=di,15=dj,16=dk, @@ -927,7 +927,7 @@ void D3Q27PathLinePostprocessor::getWallPosition(double input[]) // else if (dixmax==disxyz){ Xw=x1-di*normalDis; Yw=x2-dj*normalDis; Zw=x3-dk*normalDis; cofWeightx=1; cofWeighty=1;cofWeightz=1;} // } //////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::findInitialCell(double s,double di,double dj,double dk,double dx,double ix1ph,double ix2ph,double ix3ph,double &xp000,double &yp000,double &zp000) +void PathLineCoProcessor::findInitialCell(double s,double di,double dj,double dk,double dx,double ix1ph,double ix2ph,double ix3ph,double &xp000,double &yp000,double &zp000) { if (s*di>0) { xp000=ix1ph+dx; } else if(s*di<0) { xp000=ix1ph-dx; } @@ -940,7 +940,7 @@ void D3Q27PathLinePostprocessor::findInitialCell(double s,double di,double dj,do else { zp000=ix3ph; } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::rearangedDouble( double dis[7]) +void PathLineCoProcessor::rearangedDouble( double dis[7]) { double item; for (int i=6;i>0;i--){ @@ -955,7 +955,7 @@ void D3Q27PathLinePostprocessor::rearangedDouble( double dis[7]) } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::rearangeInt( int dis[7]) +void PathLineCoProcessor::rearangeInt( int dis[7]) { double item; for (int i=6;i>0;i--){ @@ -970,7 +970,7 @@ void D3Q27PathLinePostprocessor::rearangeInt( int dis[7]) } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::addCorrection(double &vx1,double &vx2,double &vx3,double &tauxx,double &tauyy,double &tauzz,double &tauxy,double &tauxz,double &tauyz, +void PathLineCoProcessor::addCorrection(double &vx1,double &vx2,double &vx3,double &tauxx,double &tauyy,double &tauzz,double &tauxy,double &tauxz,double &tauyz, double dx,D3Q27ICell iCell,double Xw, double Yw, double Zw,double omega,double cofWeightx,double cofWeighty,double cofWeightz,double ii,double x1LB,double x2LB,double x3LB,double di,double dj,double dk) { LBMReal f[D3Q27System::ENDF+1]; @@ -1055,7 +1055,7 @@ void D3Q27PathLinePostprocessor::addCorrection(double &vx1,double &vx2,double &v tauyz=tauyz/dx; } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::collWall(double A,double B,double C,double D,double &x1,double &x2,double &x3,double x1old,double x2old,double x3old,double dx,double &vx1,double &vx2,double &vx3,double ii) +void PathLineCoProcessor::collWall(double A,double B,double C,double D,double &x1,double &x2,double &x3,double x1old,double x2old,double x3old,double dx,double &vx1,double &vx2,double &vx3,double ii) { if (particleHasMass) { @@ -1101,7 +1101,7 @@ void D3Q27PathLinePostprocessor::collWall(double A,double B,double C,double D,do } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::CalcVelParticle(double dx,double &vx1,double &vx2,double &vx3,double vx1old,double vx2old, +void PathLineCoProcessor::CalcVelParticle(double dx,double &vx1,double &vx2,double &vx3,double vx1old,double vx2old, double vx3old,double &vx1oldf,double &vx2oldf,double &vx3oldf) { double signDragx,signDragy,signDragz; @@ -1137,7 +1137,7 @@ void D3Q27PathLinePostprocessor::CalcVelParticle(double dx,double &vx1,double &v vx3oldf=velx3oldf; } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::CalcVelParticle2(double dx,double &vx1,double &vx2,double &vx3,double vx1old,double vx2old, +void PathLineCoProcessor::CalcVelParticle2(double dx,double &vx1,double &vx2,double &vx3,double vx1old,double vx2old, double vx3old,double &vx1oldf,double &vx2oldf,double &vx3oldf) { double signDragx,signDragy,signDragz; @@ -1167,7 +1167,7 @@ void D3Q27PathLinePostprocessor::CalcVelParticle2(double dx,double &vx1,double & vx3oldf=velx3oldf; } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::getRankWithPosition(Grid3DPtr grid,double xp000, double yp000, double zp000,int &RankNeigber,int level) +void PathLineCoProcessor::getRankWithPosition(Grid3DPtr grid,double xp000, double yp000, double zp000,int &RankNeigber,int level) { int minInitLevel = this->grid->getCoarsestInitializedLevel(); int maxInitLevel = this->grid->getFinestInitializedLevel(); @@ -1195,7 +1195,7 @@ void D3Q27PathLinePostprocessor::getRankWithPosition(Grid3DPtr grid,double xp000 } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::getRankWithPosition2(Grid3DPtr grid,double xp000, double yp000, double zp000,int &RankNeigber) +void PathLineCoProcessor::getRankWithPosition2(Grid3DPtr grid,double xp000, double yp000, double zp000,int &RankNeigber) { int minInitLevel = this->grid->getCoarsestInitializedLevel(); int maxInitLevel = this->grid->getFinestInitializedLevel(); @@ -1225,7 +1225,7 @@ void D3Q27PathLinePostprocessor::getRankWithPosition2(Grid3DPtr grid,double xp00 ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::getAllTag(int allRank[7],int allTag[7]) +void PathLineCoProcessor::getAllTag(int allRank[7],int allTag[7]) { for (int i=0;i<7;i++) @@ -1242,7 +1242,7 @@ void D3Q27PathLinePostprocessor::getAllTag(int allRank[7],int allTag[7]) } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::getAllInfoForCompare(double input[],double *Vect) +void PathLineCoProcessor::getAllInfoForCompare(double input[],double *Vect) { //{0=xp000, 1=ix2ph, 2=ix3ph,3=x1,4=x2,5=x3,6=Xw,7=Yw,8=Zw,9=A,10=B,11=C,12=D,13=normalDis,14=di,15=dj,16=dk, //17=cofWeightx,18=cofWeighty,19=cofWeightz,,20=dx,21=omega,22=level,23=disx,24=dir }; @@ -1279,7 +1279,7 @@ void D3Q27PathLinePostprocessor::getAllInfoForCompare(double input[],double *Vec } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::sendMaxtagToAllProccess(int allRank[],int allTag[],int numberpro,int &numberproccessused,int *mainproccess) +void PathLineCoProcessor::sendMaxtagToAllProccess(int allRank[],int allTag[],int numberpro,int &numberproccessused,int *mainproccess) { int allRank_[7]; @@ -1346,7 +1346,7 @@ void D3Q27PathLinePostprocessor::sendMaxtagToAllProccess(int allRank[],int allTa } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::getAllRankWithAllPositions(double ix1ph,double ix2ph,double ix3ph,double xp000,double yp000,double zp000, +void PathLineCoProcessor::getAllRankWithAllPositions(double ix1ph,double ix2ph,double ix3ph,double xp000,double yp000,double zp000, int &Rankx,int &Ranky,int &Rankz,int &Rankxy,int &Rankxz,int &Rankyz,int &Rankxyz,int level) { @@ -1360,7 +1360,7 @@ void D3Q27PathLinePostprocessor::getAllRankWithAllPositions(double ix1ph,double } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::getAllRankWithAllPositions2(double ix1ph,double ix2ph,double ix3ph,double xp000,double yp000,double zp000, +void PathLineCoProcessor::getAllRankWithAllPositions2(double ix1ph,double ix2ph,double ix3ph,double xp000,double yp000,double zp000, int &Rankx,int &Ranky,int &Rankz,int &Rankxy,int &Rankxz,int &Rankyz,int &Rankxyz) { @@ -1374,7 +1374,7 @@ void D3Q27PathLinePostprocessor::getAllRankWithAllPositions2(double ix1ph,double } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::getVectfromiCell(D3Q27ICell iCell,double *Vect) +void PathLineCoProcessor::getVectfromiCell(D3Q27ICell iCell,double *Vect) { for (int i=0*27;i<1*27;i++) { Vect[i]=iCell.TSW[i-0*27]; } @@ -1387,7 +1387,7 @@ void D3Q27PathLinePostprocessor::getVectfromiCell(D3Q27ICell iCell,double *Vect) for (int i=7*27;i<8*27;i++) { Vect[i]=iCell.BSE[i-7*27]; } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::getiCellfromVect(D3Q27ICell &iCell,double *Vect) +void PathLineCoProcessor::getiCellfromVect(D3Q27ICell &iCell,double *Vect) { for (int i=0*27;i<1*27;i++) { iCell.TSW[i-0*27]=Vect[i]; } @@ -1400,7 +1400,7 @@ void D3Q27PathLinePostprocessor::getiCellfromVect(D3Q27ICell &iCell,double *Vect for (int i=7*27;i<8*27;i++) { iCell.BSE[i-7*27]=Vect[i]; } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::getAfterCompare(double dis[],double input [7][25],double AllCell[7][8*27],double &xp000,double &yp000,double &zp000, +void PathLineCoProcessor::getAfterCompare(double dis[],double input [7][25],double AllCell[7][8*27],double &xp000,double &yp000,double &zp000, double &Xw,double &Yw,double &Zw,double &cofWeightx,double &cofWeighty,double &cofWeightz,double &dx,double &omega,D3Q27ICell &iCell) { @@ -1428,7 +1428,7 @@ void D3Q27PathLinePostprocessor::getAfterCompare(double dis[],double input [7][2 } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::SendAndReceiveData(double input[7][25],double AllCell[7][8*27],int allRank[7],int allTag[7]) +void PathLineCoProcessor::SendAndReceiveData(double input[7][25],double AllCell[7][8*27],int allRank[7],int allTag[7]) { int sizeinput =25; @@ -1489,7 +1489,7 @@ void D3Q27PathLinePostprocessor::SendAndReceiveData(double input[7][25],double A free (Cell); } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessor::sendtoOtherIsOk(int isPointSuitable) +void PathLineCoProcessor::sendtoOtherIsOk(int isPointSuitable) { if(comm->getNumberOfProcesses() > 1) { diff --git a/source/VirtualFluidsCore/CoProcessors/D3Q27PathLinePostprocessor.h b/source/VirtualFluidsCore/CoProcessors/PathLineCoProcessor.h similarity index 92% rename from source/VirtualFluidsCore/CoProcessors/D3Q27PathLinePostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/PathLineCoProcessor.h index dcc4c85a9..9677ab3cf 100644 --- a/source/VirtualFluidsCore/CoProcessors/D3Q27PathLinePostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/PathLineCoProcessor.h @@ -17,7 +17,7 @@ # define diryz 5 # define dirxyz 6 #include <mpi.h> -#include "Postprocessor.h" +#include "CoProcessor.h" #include "Grid3D.h" #include "Block3D.h" #include "LBMUnitConverter.h" @@ -28,17 +28,17 @@ #include <boost/shared_ptr.hpp> #include "WbWriter.h" -class D3Q27PathLinePostprocessor; -typedef boost::shared_ptr<D3Q27PathLinePostprocessor> D3Q27PathLinePostprocessorPtr; +class PathLineCoProcessor; +typedef boost::shared_ptr<PathLineCoProcessor> PathLineCoProcessorPtr; -class D3Q27PathLinePostprocessor : public Postprocessor +class PathLineCoProcessor : public CoProcessor { public: - D3Q27PathLinePostprocessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, + PathLineCoProcessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, LBMUnitConverterPtr conv, UbSchedulerPtr s, CommunicatorPtr comm, double x1, double x2, double x3, LBMReal nue, D3Q27InterpolationProcessorPtr iProcessor); - ~D3Q27PathLinePostprocessor(); - void update(double step); + ~PathLineCoProcessor(); + void process(double step); protected: void collectPostprocessData(); diff --git a/source/VirtualFluidsCore/CoProcessors/D3Q27PathLinePostprocessorMcpart.cpp b/source/VirtualFluidsCore/CoProcessors/PathLineCoProcessorMcpart.cpp similarity index 91% rename from source/VirtualFluidsCore/CoProcessors/D3Q27PathLinePostprocessorMcpart.cpp rename to source/VirtualFluidsCore/CoProcessors/PathLineCoProcessorMcpart.cpp index 74d87180b..e3acc7b3e 100644 --- a/source/VirtualFluidsCore/CoProcessors/D3Q27PathLinePostprocessorMcpart.cpp +++ b/source/VirtualFluidsCore/CoProcessors/PathLineCoProcessorMcpart.cpp @@ -1,4 +1,4 @@ -#include "D3Q27PathLinePostprocessorMcpart.h" +#include "PathLineCoProcessorMcpart.h" #include "LBMKernelETD3Q27.h" #include "SimulationParameters.h" #include "D3Q27ETBCProcessor.h" @@ -10,10 +10,10 @@ using namespace std; -D3Q27PathLinePostprocessorMcpart::D3Q27PathLinePostprocessorMcpart(Grid3DPtr grid, const std::string& path, WbWriter* const writer, +PathLineCoProcessorMcpart::PathLineCoProcessorMcpart(Grid3DPtr grid, const std::string& path, WbWriter* const writer, LBMUnitConverterPtr conv, UbSchedulerPtr s, CommunicatorPtr comm, std::vector<UbTupleDouble3 > _Positions, LBMReal nue, D3Q27InterpolationProcessorPtr iProcessor) - : Postprocessor(grid, s), + : CoProcessor(grid, s), path(path), comm(comm), writer(writer), @@ -30,11 +30,11 @@ D3Q27PathLinePostprocessorMcpart::D3Q27PathLinePostprocessorMcpart(Grid3DPtr gri initializeForPrinting((int)_Positions.size()); } ////////////////////////////////////////////////////////////////////////// -D3Q27PathLinePostprocessorMcpart::~D3Q27PathLinePostprocessorMcpart() +PathLineCoProcessorMcpart::~PathLineCoProcessorMcpart() { } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::update(double step) +void PathLineCoProcessorMcpart::process(double step) { this->stepcheck=(int)step; double aa=scheduler->getMinEnd(); @@ -46,7 +46,7 @@ void D3Q27PathLinePostprocessorMcpart::update(double step) UBLOG(logDEBUG3, "PathLinePostprocessor::update:" << step); } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::collectPostprocessData() +void PathLineCoProcessorMcpart::collectPostprocessData() { int ran=rank; @@ -93,7 +93,7 @@ void D3Q27PathLinePostprocessorMcpart::collectPostprocessData() istep++; } //////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::initializeForPrinting(int _number) +void PathLineCoProcessorMcpart::initializeForPrinting(int _number) { for (int i=0;i<_number;i++) { @@ -102,7 +102,7 @@ void D3Q27PathLinePostprocessorMcpart::initializeForPrinting(int _number) } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::getParticlePerProccess(std::vector<UbTupleDouble3 >particlesVec) +void PathLineCoProcessorMcpart::getParticlePerProccess(std::vector<UbTupleDouble3 >particlesVec) { for (int i=0;i<particlesVec.size();i++) { @@ -163,7 +163,7 @@ void D3Q27PathLinePostprocessorMcpart::getParticlePerProccess(std::vector<UbTupl } } //////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::initializeParticle(double x, double y,double z,int i,int level) +void PathLineCoProcessorMcpart::initializeParticle(double x, double y,double z,int i,int level) { ParticlesPtr particle = ParticlesPtr(new Particles() ); @@ -175,7 +175,7 @@ void D3Q27PathLinePostprocessorMcpart::initializeParticle(double x, double y,dou particles.push_back(particle); } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::getNeighborsRank() +void PathLineCoProcessorMcpart::getNeighborsRank() { int gridRank = grid->getRank(); int minInitLevel = this->grid->getCoarsestInitializedLevel(); @@ -240,7 +240,7 @@ void D3Q27PathLinePostprocessorMcpart::getNeighborsRank() // //} ////////////////////////////////////////////////////////////////////////// -bool D3Q27PathLinePostprocessorMcpart::checkNodes( Block3DPtr block,double _x1,double _x2,double _x3) +bool PathLineCoProcessorMcpart::checkNodes( Block3DPtr block,double _x1,double _x2,double _x3) { bool result = true; LBMKernelETD3Q27Ptr kernel = boost::dynamic_pointer_cast<LBMKernelETD3Q27>(block->getKernel()); @@ -286,7 +286,7 @@ bool D3Q27PathLinePostprocessorMcpart::checkNodes( Block3DPtr block,double _x1,d } // ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::initialMovement() +void PathLineCoProcessorMcpart::initialMovement() { BOOST_FOREACH(ParticlesPtr particle, particles) { @@ -313,7 +313,7 @@ void D3Q27PathLinePostprocessorMcpart::initialMovement() // //std::vector<Particles> *particlesVec; //} ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::sendBool(bool _bool,int distinationRank ,int i) +void PathLineCoProcessorMcpart::sendBool(bool _bool,int distinationRank ,int i) { int variable; if (_bool==false) @@ -328,7 +328,7 @@ void D3Q27PathLinePostprocessorMcpart::sendBool(bool _bool,int distinationRank , } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::sendInt(int svalue,int distinationRank ,int tag) +void PathLineCoProcessorMcpart::sendInt(int svalue,int distinationRank ,int tag) { if(comm->getNumberOfProcesses() > 1) { @@ -336,7 +336,7 @@ void D3Q27PathLinePostprocessorMcpart::sendInt(int svalue,int distinationRank ,i } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::receiveBool(bool &variable,int rankBlock) +void PathLineCoProcessorMcpart::receiveBool(bool &variable,int rankBlock) { if(comm->getNumberOfProcesses() > 1) { @@ -352,7 +352,7 @@ void D3Q27PathLinePostprocessorMcpart::receiveBool(bool &variable,int rankBlock) } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::receiveInt(int &rvalue,int root) +void PathLineCoProcessorMcpart::receiveInt(int &rvalue,int root) { if(comm->getNumberOfProcesses() > 1) { @@ -361,7 +361,7 @@ void D3Q27PathLinePostprocessorMcpart::receiveInt(int &rvalue,int root) } } //////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::sendStatusOfPoint(bool status,double x1,double x2,double x3,double level,int i) +void PathLineCoProcessorMcpart::sendStatusOfPoint(bool status,double x1,double x2,double x3,double level,int i) { for(int lev = (int)level-1; lev<=(int)level+1; lev++) { @@ -379,7 +379,7 @@ void D3Q27PathLinePostprocessorMcpart::sendStatusOfPoint(bool status,double x1,d } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::receiveStatusOfPoint(bool &status,int rankRoot,double x1,double x2,double x3,double level) +void PathLineCoProcessorMcpart::receiveStatusOfPoint(bool &status,int rankRoot,double x1,double x2,double x3,double level) { for(int lev = (int)level-1; lev<=(int)level+1; lev++) { @@ -404,7 +404,7 @@ void D3Q27PathLinePostprocessorMcpart::receiveStatusOfPoint(bool &status,int ran } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::getVectorFromParticles(std::vector<double> &particlesInfomation,ParticlesPtr particle) +void PathLineCoProcessorMcpart::getVectorFromParticles(std::vector<double> &particlesInfomation,ParticlesPtr particle) { particlesInfomation.push_back(particle->x ); particlesInfomation.push_back(particle->y ); @@ -424,7 +424,7 @@ void D3Q27PathLinePostprocessorMcpart::getVectorFromParticles(std::vector<double } //////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::getParticlesFromVector(std::vector<double> particlesInfomation,int numberOFVariable) +void PathLineCoProcessorMcpart::getParticlesFromVector(std::vector<double> particlesInfomation,int numberOFVariable) { int numParticles= (int)particlesInfomation.size()/numberOFVariable; for (int i=0;i<numParticles;i++) @@ -535,7 +535,7 @@ void D3Q27PathLinePostprocessorMcpart::getParticlesFromVector(std::vector<double // ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::updateParticles() +void PathLineCoProcessorMcpart::updateParticles() { //find particles which want to go to another process BOOST_FOREACH(ParticlesPtr particle, particles) @@ -653,7 +653,7 @@ void D3Q27PathLinePostprocessorMcpart::updateParticles() } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::checkParticles() +void PathLineCoProcessorMcpart::checkParticles() { std::list<ParticlesPtr> newparticles; BOOST_FOREACH(ParticlesPtr particle, particles) @@ -687,7 +687,7 @@ void D3Q27PathLinePostprocessorMcpart::checkParticles() particles=newparticles; } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::finalMovement(ParticlesPtr particle,double tau[]) +void PathLineCoProcessorMcpart::finalMovement(ParticlesPtr particle,double tau[]) { Block3DPtr block; UbTupleInt3 blockIndexes = grid->getBlockIndexes(particle->x, particle->y, particle->z,particle->level); @@ -712,7 +712,7 @@ void D3Q27PathLinePostprocessorMcpart::finalMovement(ParticlesPtr particle,doubl } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::interpolMovement(Block3DPtr block,DistributionArray3DPtr& distributions,ParticlesPtr particle,double tau[],int ix1, int ix2, int ix3) +void PathLineCoProcessorMcpart::interpolMovement(Block3DPtr block,DistributionArray3DPtr& distributions,ParticlesPtr particle,double tau[],int ix1, int ix2, int ix3) { D3Q27ICell iCell; //LBMReal f[D3Q27System::ENDF+1]; @@ -756,7 +756,7 @@ void D3Q27PathLinePostprocessorMcpart::interpolMovement(Block3DPtr block,Distrib particle->vzold = vx3; } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::extrapolMovement(Block3DPtr block,ParticlesPtr particle,double tau[],int ix1, int ix2, int ix3) +void PathLineCoProcessorMcpart::extrapolMovement(Block3DPtr block,ParticlesPtr particle,double tau[],int ix1, int ix2, int ix3) { LBMReal vx1,vx2,vx3; @@ -823,7 +823,7 @@ void D3Q27PathLinePostprocessorMcpart::extrapolMovement(Block3DPtr block,Particl } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::CalcVelParticle(double dx,double &vx1,double &vx2,double &vx3,double vx1old,double vx2old, +void PathLineCoProcessorMcpart::CalcVelParticle(double dx,double &vx1,double &vx2,double &vx3,double vx1old,double vx2old, double vx3old,double &vx1oldf,double &vx2oldf,double &vx3oldf) { double signDragx,signDragy,signDragz; @@ -859,7 +859,7 @@ void D3Q27PathLinePostprocessorMcpart::CalcVelParticle(double dx,double &vx1,dou vx3oldf=velx3oldf; } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::CalcVelParticle2(double dx,double &vx1,double &vx2,double &vx3,double vx1old,double vx2old, +void PathLineCoProcessorMcpart::CalcVelParticle2(double dx,double &vx1,double &vx2,double &vx3,double vx1old,double vx2old, double vx3old,double &vx1oldf,double &vx2oldf,double &vx3oldf) { LBMReal muRE = 1.002*1e-3;//m2/s @@ -882,7 +882,7 @@ void D3Q27PathLinePostprocessorMcpart::CalcVelParticle2(double dx,double &vx1,do vx3oldf=velx3oldf; } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::findPlane(int ix1,int ix2,int ix3,Grid3DPtr grid,Block3DPtr block,double &A,double &B,double &C,double &D,double &ii) +void PathLineCoProcessorMcpart::findPlane(int ix1,int ix2,int ix3,Grid3DPtr grid,Block3DPtr block,double &A,double &B,double &C,double &D,double &ii) { double x1plane=0.0,y1plane=0.0,z1plane=0.0; double x2plane=0.0,y2plane=0.0,z2plane=0.0; @@ -989,7 +989,7 @@ void D3Q27PathLinePostprocessorMcpart::findPlane(int ix1,int ix2,int ix3,Grid3DP D =-( x1plane*(y2plane*z3plane - y3plane*z2plane)+x2plane*(y3plane*z1plane - y1plane*z3plane) + x3plane* (y1plane* z2plane - y2plane* z1plane)); } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::findInitialCell(double s,double di,double dj,double dk,double dx,double ix1ph,double ix2ph,double ix3ph,double &xp000,double &yp000,double &zp000) +void PathLineCoProcessorMcpart::findInitialCell(double s,double di,double dj,double dk,double dx,double ix1ph,double ix2ph,double ix3ph,double &xp000,double &yp000,double &zp000) { if (s*di>0) { xp000=ix1ph+dx; } else if(s*di<0) { xp000=ix1ph-dx; } @@ -1002,7 +1002,7 @@ void D3Q27PathLinePostprocessorMcpart::findInitialCell(double s,double di,double else { zp000=ix3ph; } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::finddisPointToCentercell(double x1,double x2,double x3,double xp000, double yp000, double zp000,double &dis,int level) +void PathLineCoProcessorMcpart::finddisPointToCentercell(double x1,double x2,double x3,double xp000, double yp000, double zp000,double &dis,int level) { UbTupleInt3 blockIndexes = grid->getBlockIndexes(xp000, yp000, zp000,level); Block3DPtr block = grid->getBlock(val<1>(blockIndexes), val<2>(blockIndexes), val<3>(blockIndexes), level); @@ -1033,7 +1033,7 @@ void D3Q27PathLinePostprocessorMcpart::finddisPointToCentercell(double x1,double } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::collWall(double A,double B,double C,double D,double &x1,double &x2,double &x3,double x1old,double x2old,double x3old,double dx,double &vx1,double &vx2,double &vx3,double ii) +void PathLineCoProcessorMcpart::collWall(double A,double B,double C,double D,double &x1,double &x2,double &x3,double x1old,double x2old,double x3old,double dx,double &vx1,double &vx2,double &vx3,double ii) { if (particleHasMass) { @@ -1079,7 +1079,7 @@ void D3Q27PathLinePostprocessorMcpart::collWall(double A,double B,double C,doubl } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::addCorrection(double &vx1,double &vx2,double &vx3,double &tauxx,double &tauyy,double &tauzz,double &tauxy,double &tauxz,double &tauyz, +void PathLineCoProcessorMcpart::addCorrection(double &vx1,double &vx2,double &vx3,double &tauxx,double &tauyy,double &tauzz,double &tauxy,double &tauxz,double &tauyz, double dx,D3Q27ICell iCell,double Xw, double Yw, double Zw,double omega,double cofWeightx,double cofWeighty,double cofWeightz,double ii,double x1LB,double x2LB,double x3LB,double di,double dj,double dk) { //LBMReal f[D3Q27System::ENDF+1]; @@ -1165,7 +1165,7 @@ void D3Q27PathLinePostprocessorMcpart::addCorrection(double &vx1,double &vx2,dou tauyz=tauyz/dx; } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::getAllDis(double dis[],double x,double y,double z,double ix1ph,double ix2ph,double ix3ph,double xp000,double yp000,double zp000,int level) +void PathLineCoProcessorMcpart::getAllDis(double dis[],double x,double y,double z,double ix1ph,double ix2ph,double ix3ph,double xp000,double yp000,double zp000,int level) { finddisPointToCentercell(x,y,z,xp000, ix2ph, ix3ph,dis[0],level);//disx finddisPointToCentercell(x,y,z,ix1ph, yp000, ix3ph,dis[1],level);//disy @@ -1176,7 +1176,7 @@ void D3Q27PathLinePostprocessorMcpart::getAllDis(double dis[],double x,double y, finddisPointToCentercell(x,y,z,xp000, yp000, zp000,dis[6],level);//disxyz } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::getAfterCompare(double dis[],double dx,double ix1ph,double ix2ph,double ix3ph,double &xp000,double &yp000,double &zp000,double &Xw, +void PathLineCoProcessorMcpart::getAfterCompare(double dis[],double dx,double ix1ph,double ix2ph,double ix3ph,double &xp000,double &yp000,double &zp000,double &Xw, double &Yw,double &Zw,double x1,double x2,double x3,double A,double B,double C,double D,double normalDis, double di,double dj,double dk, double &cofWeightx ,double &cofWeighty,double &cofWeightz,D3Q27ICell &iCell,int level) { @@ -1199,7 +1199,7 @@ void D3Q27PathLinePostprocessorMcpart::getAfterCompare(double dis[],double dx,do } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::rearangedDouble( double dis[7]) +void PathLineCoProcessorMcpart::rearangedDouble( double dis[7]) { double item; for (int i=6;i>0;i--){ @@ -1214,7 +1214,7 @@ void D3Q27PathLinePostprocessorMcpart::rearangedDouble( double dis[7]) } } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::getIcell(D3Q27ICell &iCell,double xp000, double yp000, double zp000,int level) +void PathLineCoProcessorMcpart::getIcell(D3Q27ICell &iCell,double xp000, double yp000, double zp000,int level) { UbTupleInt3 blockIndexes = grid->getBlockIndexes(xp000, yp000, zp000,level); Block3DPtr block= grid->getBlock(val<1>(blockIndexes), val<2>(blockIndexes), val<3>(blockIndexes), level); @@ -1223,7 +1223,7 @@ void D3Q27PathLinePostprocessorMcpart::getIcell(D3Q27ICell &iCell,double xp000, iProcessor->readICell(distributions, iCell, (int)xp000, (int)yp000, (int)zp000); } //////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::printParticle(ParticlesPtr particle) +void PathLineCoProcessorMcpart::printParticle(ParticlesPtr particle) { /*BOOST_FOREACH(ParticlesPtr particle, particles) @@ -1235,13 +1235,13 @@ void D3Q27PathLinePostprocessorMcpart::printParticle(ParticlesPtr particle) } /////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::printParticle(int index) +void PathLineCoProcessorMcpart::printParticle(int index) { } ////////////////////////////////////////////////////////////////////////// -void D3Q27PathLinePostprocessorMcpart::gatherData(ParticlesPtr particle) +void PathLineCoProcessorMcpart::gatherData(ParticlesPtr particle) { //int index=particle->ID; //std::vector<std::vector<double> > tempData; diff --git a/source/VirtualFluidsCore/CoProcessors/D3Q27PathLinePostprocessorMcpart.h b/source/VirtualFluidsCore/CoProcessors/PathLineCoProcessorMcpart.h similarity index 92% rename from source/VirtualFluidsCore/CoProcessors/D3Q27PathLinePostprocessorMcpart.h rename to source/VirtualFluidsCore/CoProcessors/PathLineCoProcessorMcpart.h index 7d84fb437..0661640ee 100644 --- a/source/VirtualFluidsCore/CoProcessors/D3Q27PathLinePostprocessorMcpart.h +++ b/source/VirtualFluidsCore/CoProcessors/PathLineCoProcessorMcpart.h @@ -17,7 +17,7 @@ # define diryz 5 # define dirxyz 6 #include <mpi.h> -#include "Postprocessor.h" +#include "CoProcessor.h" #include "Grid3D.h" #include "Block3D.h" #include "LBMUnitConverter.h" @@ -30,20 +30,20 @@ #include "Particles.h" #include "basics/writer/WbWriterVtkXmlASCII.h" -class D3Q27PathLinePostprocessorMcpart; -typedef boost::shared_ptr<D3Q27PathLinePostprocessorMcpart> D3Q27PathLinePostprocessorMcpartPtr; +class PathLineCoProcessorMcpart; +typedef boost::shared_ptr<PathLineCoProcessorMcpart> PathLineCoProcessorMcpartPtr; -class D3Q27PathLinePostprocessorMcpart : public Postprocessor +class PathLineCoProcessorMcpart : public CoProcessor { public: //typedef std::map<int,ParticlesPtr> ParticlesMap; std::map<int,int> neighbors; //std::map<ofstream,std::vector<int> > pathOfstream; - D3Q27PathLinePostprocessorMcpart(Grid3DPtr grid, const std::string& path, WbWriter* const writer, + PathLineCoProcessorMcpart(Grid3DPtr grid, const std::string& path, WbWriter* const writer, LBMUnitConverterPtr conv, UbSchedulerPtr s, CommunicatorPtr comm, std::vector<UbTupleDouble3 > Positions, LBMReal nue, D3Q27InterpolationProcessorPtr iProcessor); - ~D3Q27PathLinePostprocessorMcpart(); - void update(double step); + ~PathLineCoProcessorMcpart(); + void process(double step); void getNeighborsRank(); protected: diff --git a/source/VirtualFluidsCore/CoProcessors/D3Q27PressureDifferencePostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/PressureDifferenceCoProcessor.cpp similarity index 83% rename from source/VirtualFluidsCore/CoProcessors/D3Q27PressureDifferencePostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/PressureDifferenceCoProcessor.cpp index 9dee7e1c4..c6b35e990 100644 --- a/source/VirtualFluidsCore/CoProcessors/D3Q27PressureDifferencePostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/PressureDifferenceCoProcessor.cpp @@ -5,7 +5,7 @@ * Author: kucher */ -#include "D3Q27PressureDifferencePostprocessor.h" +#include "PressureDifferenceCoProcessor.h" #include <iostream> @@ -13,12 +13,12 @@ using namespace std; -D3Q27PressureDifferencePostprocessor::D3Q27PressureDifferencePostprocessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string& path, +PressureDifferenceCoProcessor::PressureDifferenceCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string& path, D3Q27IntegrateValuesHelperPtr h1, D3Q27IntegrateValuesHelperPtr h2, LBMReal rhoReal, LBMReal uReal, LBMReal uLB, CommunicatorPtr comm) - : Postprocessor(grid, s) + : CoProcessor(grid, s) , path(path) , h1(h1) , h2(h2) @@ -47,17 +47,17 @@ D3Q27PressureDifferencePostprocessor::D3Q27PressureDifferencePostprocessor(Grid3 } } ////////////////////////////////////////////////////////////////////////// -D3Q27PressureDifferencePostprocessor::~D3Q27PressureDifferencePostprocessor() +PressureDifferenceCoProcessor::~PressureDifferenceCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -void D3Q27PressureDifferencePostprocessor::update(double step) +void PressureDifferenceCoProcessor::process(double step) { if(scheduler->isDue(step) ) - collectPostprocessData(step); + collectData(step); } ////////////////////////////////////////////////////////////////////////// -void D3Q27PressureDifferencePostprocessor::collectPostprocessData(double step) +void PressureDifferenceCoProcessor::collectData(double step) { h1->calculateMQ(); h2->calculateMQ(); diff --git a/source/VirtualFluidsCore/CoProcessors/D3Q27PressureDifferencePostprocessor.h b/source/VirtualFluidsCore/CoProcessors/PressureDifferenceCoProcessor.h similarity index 74% rename from source/VirtualFluidsCore/CoProcessors/D3Q27PressureDifferencePostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/PressureDifferenceCoProcessor.h index 28b080bfb..6c53c845d 100644 --- a/source/VirtualFluidsCore/CoProcessors/D3Q27PressureDifferencePostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/PressureDifferenceCoProcessor.h @@ -8,24 +8,24 @@ #ifndef D3Q27PRESSUREDIFFERENCEPOSTPROCESSOR_H #define D3Q27PRESSUREDIFFERENCEPOSTPROCESSOR_H -#include "Postprocessor.h" +#include "CoProcessor.h" #include "D3Q27IntegrateValuesHelper.h" #include "LBMUnitConverter.h" #include "Communicator.h" -class D3Q27PressureDifferencePostprocessor: public Postprocessor { +class PressureDifferenceCoProcessor: public CoProcessor { public: - D3Q27PressureDifferencePostprocessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string& path, + PressureDifferenceCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string& path, D3Q27IntegrateValuesHelperPtr h1, D3Q27IntegrateValuesHelperPtr h2, LBMReal rhoReal, LBMReal uReal, LBMReal uLB, /*const LBMUnitConverterPtr conv,*/ CommunicatorPtr comm); - virtual ~D3Q27PressureDifferencePostprocessor(); - void update(double step); + virtual ~PressureDifferenceCoProcessor(); + void process(double step); protected: D3Q27IntegrateValuesHelperPtr h1, h2; std::string path; LBMUnitConverterPtr conv; - void collectPostprocessData(double step); + void collectData(double step); CommunicatorPtr comm; LBMReal factor1; //= (1/3)*rhoReal*(uReal/uLB)^2 for calculation pReal = rhoLB * (1/3)*rhoReal*(uReal/uLB)^2, rhoReal and uReal in SI LBMReal factor2; //= rhoReal*(uReal/uLB)^2 for calculation pReal = press * rhoReal*(uReal/uLB)^2, rhoReal and uReal in SI diff --git a/source/VirtualFluidsCore/CoProcessors/QCriterionPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/QCriterionCoProcessor.cpp similarity index 91% rename from source/VirtualFluidsCore/CoProcessors/QCriterionPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/QCriterionCoProcessor.cpp index d70ab731f..b6d461fbd 100644 --- a/source/VirtualFluidsCore/CoProcessors/QCriterionPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/QCriterionCoProcessor.cpp @@ -1,4 +1,4 @@ -#include "QCriterionPostprocessor.h" +#include "QCriterionCoProcessor.h" #include "LBMKernel3D.h" #include "LBMKernelETD3Q27.h" #include "D3Q27ETBCProcessor.h" @@ -11,10 +11,10 @@ using namespace std; using namespace D3Q27System; -QCriterionPostprocessor::QCriterionPostprocessor(Grid3DPtr grid, const std::string& path, +QCriterionCoProcessor::QCriterionCoProcessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, UbSchedulerPtr s, CommunicatorPtr comm) - : Postprocessor(grid, s), + : CoProcessor(grid, s), path(path), comm(comm), writer(writer) @@ -22,7 +22,7 @@ QCriterionPostprocessor::QCriterionPostprocessor(Grid3DPtr grid, const std::stri init(); } ////////////////////////////////////////////////////////////////////////// -void QCriterionPostprocessor::init() +void QCriterionCoProcessor::init() { gridRank = comm->getProcessID(); minInitLevel = this->grid->getCoarsestInitializedLevel(); @@ -36,15 +36,15 @@ void QCriterionPostprocessor::init() } } ////////////////////////////////////////////////////////////////////////// -void QCriterionPostprocessor::update(double step) +void QCriterionCoProcessor::process(double step) { if(scheduler->isDue(step) ) - collectPostprocessData(step); + collectData(step); UBLOG(logDEBUG3, "QCriterionPostprocessor::update:" << step); } ////////////////////////////////////////////////////////////////////////// -void QCriterionPostprocessor::collectPostprocessData(double step) +void QCriterionCoProcessor::collectData(double step) { int istep = static_cast<int>(step); @@ -54,7 +54,7 @@ void QCriterionPostprocessor::collectPostprocessData(double step) { if (block) { - addPostprocessData(block); + addData(block); } } @@ -74,7 +74,7 @@ void QCriterionPostprocessor::collectPostprocessData(double step) vector<string> filenames; filenames.push_back(pname); - if (step == Postprocessor::scheduler->getMinBegin()) //first time in timeseries + if (step == CoProcessor::scheduler->getMinBegin()) //first time in timeseries { WbWriterVtkXmlASCII::getInstance()->writeCollection(path+"_collection",filenames,istep,false); } @@ -90,7 +90,7 @@ void QCriterionPostprocessor::collectPostprocessData(double step) } ////////////////////////////////////////////////////////////////////////// -void QCriterionPostprocessor::clearData() +void QCriterionCoProcessor::clearData() { nodes.clear(); cells.clear(); @@ -98,7 +98,7 @@ void QCriterionPostprocessor::clearData() data.clear(); } ////////////////////////////////////////////////////////////////////////// -void QCriterionPostprocessor::addPostprocessData(const Block3DPtr block) +void QCriterionCoProcessor::addData(const Block3DPtr block) { UbTupleDouble3 org = grid->getBlockWorldCoordinates(block); UbTupleDouble3 blockLengths = grid->getBlockLengths(block); @@ -216,7 +216,7 @@ void QCriterionPostprocessor::addPostprocessData(const Block3DPtr block) } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void QCriterionPostprocessor::getNeighborVelocities(int offx, int offy, int offz, int ix1, int ix2, int ix3, const Block3DPtr block, LBMReal* vE, LBMReal* vW) +void QCriterionCoProcessor::getNeighborVelocities(int offx, int offy, int offz, int ix1, int ix2, int ix3, const Block3DPtr block, LBMReal* vE, LBMReal* vW) { LBMKernelETD3Q27Ptr kernel = boost::dynamic_pointer_cast<LBMKernelETD3Q27>(block->getKernel()); BCArray3D<D3Q27BoundaryCondition>& bcArray = boost::dynamic_pointer_cast<D3Q27ETBCProcessor>(kernel->getBCProcessor())->getBCArray(); @@ -368,7 +368,7 @@ void QCriterionPostprocessor::getNeighborVelocities(int offx, int offy, int offz } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -void QCriterionPostprocessor::computeVelocity(LBMReal* f, LBMReal* v) +void QCriterionCoProcessor::computeVelocity(LBMReal* f, LBMReal* v) { ////////////////////////////////////////////////////////////////////////// //compute x,y,z-velocity components from distribution diff --git a/source/VirtualFluidsCore/CoProcessors/QCriterionPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/QCriterionCoProcessor.h similarity index 81% rename from source/VirtualFluidsCore/CoProcessors/QCriterionPostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/QCriterionCoProcessor.h index 8ba0d308f..1c0586035 100644 --- a/source/VirtualFluidsCore/CoProcessors/QCriterionPostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/QCriterionCoProcessor.h @@ -6,7 +6,7 @@ #ifndef QCriterionPostprocessor_H #define QCriterionPostprocessor_H -#include "Postprocessor.h" +#include "CoProcessor.h" #include "Grid3D.h" #include "Block3D.h" @@ -14,8 +14,8 @@ #include "WbWriter.h" #include <boost/shared_ptr.hpp> -class QCriterionPostprocessor; -typedef boost::shared_ptr<QCriterionPostprocessor> QKritPostprocessorPtr; +class QCriterionCoProcessor; +typedef boost::shared_ptr<QCriterionCoProcessor> QCriterionCoProcessorPtr; //! \brief Computes the value Q with which vortices can be visualized as isocontours to Q=0, writes to .vtk, For uniform, serial setups only! //! \details writes at given time intervals specified in scheduler (s) @@ -23,18 +23,18 @@ typedef boost::shared_ptr<QCriterionPostprocessor> QKritPostprocessorPtr; //! Q-Criterion: Visualize Vorteces as regions where Vorticity is larger than strain rate (Hunt, 1988) //! \author Sonja Uphoff -class QCriterionPostprocessor : public Postprocessor +class QCriterionCoProcessor : public CoProcessor { public: - QCriterionPostprocessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, + QCriterionCoProcessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, UbSchedulerPtr s, CommunicatorPtr comm); //! Make update if timestep is write-timestep specified in UbSchedulerPtr s - void update(double step); + void process(double step); protected: //! Prepare data and write in .vtk file - void collectPostprocessData(double step); + void collectData(double step); //! Q is computed for all points in a block. Data for writing is added to data and cell vectors. - void addPostprocessData(const Block3DPtr block); + void addData(const Block3DPtr block); //! After writing to .vtk-file, all vectors are reset void clearData(); //! Computes macroscopic velocities diff --git a/source/VirtualFluidsCore/CoProcessors/RestartPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/RestartCoProcessor.cpp similarity index 80% rename from source/VirtualFluidsCore/CoProcessors/RestartPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/RestartCoProcessor.cpp index 128195087..44898e10a 100644 --- a/source/VirtualFluidsCore/CoProcessors/RestartPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/RestartCoProcessor.cpp @@ -1,4 +1,4 @@ -#include "RestartPostprocessor.h" +#include "RestartCoProcessor.h" #include <boost/archive/binary_oarchive.hpp> #include <boost/archive/binary_iarchive.hpp> @@ -12,8 +12,8 @@ #include <MemoryUtil.h> -RestartPostprocessor::RestartPostprocessor(Grid3DPtr& grid, UbSchedulerPtr s, CommunicatorPtr comm, const std::string& path, ArchiveType type) : - Postprocessor(grid, s), +RestartCoProcessor::RestartCoProcessor(Grid3DPtr& grid, UbSchedulerPtr s, CommunicatorPtr comm, const std::string& path, ArchiveType type) : + CoProcessor(grid, s), grid(grid), path(path), archiveType(type), @@ -30,8 +30,8 @@ RestartPostprocessor::RestartPostprocessor(Grid3DPtr& grid, UbSchedulerPtr s, Co grid = restart(); } ////////////////////////////////////////////////////////////////////////// -RestartPostprocessor::RestartPostprocessor(Grid3DPtr& grid, UbSchedulerPtr s, CommunicatorPtr comm, const std::string& path, int restartStep, ArchiveType type) : -Postprocessor(grid, s), +RestartCoProcessor::RestartCoProcessor(Grid3DPtr& grid, UbSchedulerPtr s, CommunicatorPtr comm, const std::string& path, int restartStep, ArchiveType type) : +CoProcessor(grid, s), grid(grid), path(path), archiveType(type), @@ -48,12 +48,12 @@ restartStep(restartStep) grid = restart(); } ////////////////////////////////////////////////////////////////////////// -RestartPostprocessor::~RestartPostprocessor() +RestartCoProcessor::~RestartCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -void RestartPostprocessor::update(double step) +void RestartCoProcessor::process(double step) { if(scheduler->isDue(step) && step != restartStep) { @@ -65,22 +65,22 @@ void RestartPostprocessor::update(double step) } } ////////////////////////////////////////////////////////////////////////// -void RestartPostprocessor::addPostprocessor( PostprocessorPtr p ) +void RestartCoProcessor::addCoProcessor( PostprocessorPtr p ) { postprocessors.push_back(p); } ////////////////////////////////////////////////////////////////////////// -PostprocessorPtr RestartPostprocessor::getPostprocessor(int index) +PostprocessorPtr RestartCoProcessor::getCoProcessor(int index) { return postprocessors[index]; } ////////////////////////////////////////////////////////////////////////// -std::vector<PostprocessorPtr> RestartPostprocessor::getPostprocessors() +std::vector<PostprocessorPtr> RestartCoProcessor::getPostprocessors() { return postprocessors; } ////////////////////////////////////////////////////////////////////////// -void RestartPostprocessor::doCheckPoint(int step) +void RestartCoProcessor::doCheckPoint(int step) { UBLOG(logDEBUG3,"Save check point - start"); @@ -106,7 +106,7 @@ void RestartPostprocessor::doCheckPoint(int step) UBLOG(logDEBUG3,"Save check point - end"); } ////////////////////////////////////////////////////////////////////////// -Grid3DPtr RestartPostprocessor::restart() +Grid3DPtr RestartCoProcessor::restart() { restartStep = readMetafile(); @@ -141,7 +141,7 @@ Grid3DPtr RestartPostprocessor::restart() } ////////////////////////////////////////////////////////////////////////// -void RestartPostprocessor::acceptGridVisitors() +void RestartCoProcessor::acceptGridVisitors() { BOOST_FOREACH(Grid3DVisitorPtr v, gridVisitors) { @@ -149,7 +149,7 @@ void RestartPostprocessor::acceptGridVisitors() } } ////////////////////////////////////////////////////////////////////////// -void RestartPostprocessor::acceptBlockVisitors() +void RestartCoProcessor::acceptBlockVisitors() { BOOST_FOREACH(Block3DVisitorPtr v, blockVisitors) { @@ -157,17 +157,17 @@ void RestartPostprocessor::acceptBlockVisitors() } } ////////////////////////////////////////////////////////////////////////// -void RestartPostprocessor::addGridVisitor( Grid3DVisitorPtr v ) +void RestartCoProcessor::addGridVisitor( Grid3DVisitorPtr v ) { gridVisitors.push_back(v); } ////////////////////////////////////////////////////////////////////////// -void RestartPostprocessor::addBlockVisitor( Block3DVisitorPtr v ) +void RestartCoProcessor::addBlockVisitor( Block3DVisitorPtr v ) { blockVisitors.push_back(v); } ////////////////////////////////////////////////////////////////////////// -void RestartPostprocessor::saveTxtArchive(std::string filename) +void RestartCoProcessor::saveTxtArchive(std::string filename) { std::ofstream file(filename.c_str()); if(!file) @@ -191,7 +191,7 @@ void RestartPostprocessor::saveTxtArchive(std::string filename) } } ////////////////////////////////////////////////////////////////////////// -void RestartPostprocessor::loadTxtArchive( std::string filename ) +void RestartCoProcessor::loadTxtArchive( std::string filename ) { std::ifstream file(filename.c_str()); if (!file.is_open()) UB_THROW( UbException(UB_EXARGS,"Can not open check point file \"" + filename + "\"")); @@ -212,7 +212,7 @@ void RestartPostprocessor::loadTxtArchive( std::string filename ) } } ////////////////////////////////////////////////////////////////////////// -void RestartPostprocessor::saveBinArchive( std::string filename ) +void RestartCoProcessor::saveBinArchive( std::string filename ) { //impotent for binary archive add std::ios::binary std::ofstream file(filename.c_str(), std::ios::binary); @@ -237,7 +237,7 @@ void RestartPostprocessor::saveBinArchive( std::string filename ) } } ////////////////////////////////////////////////////////////////////////// -void RestartPostprocessor::loadBinArchive( std::string filename ) +void RestartCoProcessor::loadBinArchive( std::string filename ) { //impotent for binary archive add std::ios::binary std::ifstream file(filename.c_str(), std::ios::binary); @@ -259,19 +259,19 @@ void RestartPostprocessor::loadBinArchive( std::string filename ) } } ////////////////////////////////////////////////////////////////////////// -void RestartPostprocessor::writeMetafile(int step ) +void RestartCoProcessor::writeMetafile(int step ) { UbFileOutputASCII out(metafile); out.writeInteger(step); } ////////////////////////////////////////////////////////////////////////// -int RestartPostprocessor::readMetafile() +int RestartCoProcessor::readMetafile() { UbFileInputASCII in(metafile); return in.readInteger(); } ////////////////////////////////////////////////////////////////////////// -void RestartPostprocessor::checkMetafile() +void RestartCoProcessor::checkMetafile() { std::ifstream file(metafile.c_str()); if (!file.is_open()) diff --git a/source/VirtualFluidsCore/CoProcessors/RestartPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/RestartCoProcessor.h similarity index 60% rename from source/VirtualFluidsCore/CoProcessors/RestartPostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/RestartCoProcessor.h index 5db82f094..e544c950c 100644 --- a/source/VirtualFluidsCore/CoProcessors/RestartPostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/RestartCoProcessor.h @@ -1,26 +1,26 @@ #ifndef Restarter_H #define Restarter_H -#include "Postprocessor.h" +#include "CoProcessor.h" #include "Grid3DVisitor.h" #include "Block3DVisitor.h" #include "Communicator.h" #include <boost/shared_ptr.hpp> -class RestartPostprocessor; -typedef boost::shared_ptr<RestartPostprocessor> RestartPostprocessorPtr; +class RestartCoProcessor; +typedef boost::shared_ptr<RestartCoProcessor> RestartCoProcessorPtr; -class RestartPostprocessor : public Postprocessor +class RestartCoProcessor : public CoProcessor { public: enum ArchiveType {TXT, BINARY}; public: - RestartPostprocessor(Grid3DPtr& grid, UbSchedulerPtr s, CommunicatorPtr comm, const std::string& path, ArchiveType typetype = BINARY); - RestartPostprocessor(Grid3DPtr& grid, UbSchedulerPtr s, CommunicatorPtr comm, const std::string& path, int restartStep, ArchiveType typetype = BINARY); - ~RestartPostprocessor(); - void update(double step); - void addPostprocessor(PostprocessorPtr p); - PostprocessorPtr getPostprocessor(int index); + RestartCoProcessor(Grid3DPtr& grid, UbSchedulerPtr s, CommunicatorPtr comm, const std::string& path, ArchiveType typetype = BINARY); + RestartCoProcessor(Grid3DPtr& grid, UbSchedulerPtr s, CommunicatorPtr comm, const std::string& path, int restartStep, ArchiveType typetype = BINARY); + ~RestartCoProcessor(); + void process(double step); + void addCoProcessor(PostprocessorPtr p); + PostprocessorPtr getCoProcessor(int index); std::vector<PostprocessorPtr> getPostprocessors(); void addGridVisitor(Grid3DVisitorPtr v); void addBlockVisitor(Block3DVisitorPtr v); diff --git a/source/VirtualFluidsCore/CoProcessors/D3Q27ShearStressPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/ShearStressCoProcessor.cpp similarity index 94% rename from source/VirtualFluidsCore/CoProcessors/D3Q27ShearStressPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/ShearStressCoProcessor.cpp index b57dab497..6daae7557 100644 --- a/source/VirtualFluidsCore/CoProcessors/D3Q27ShearStressPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/ShearStressCoProcessor.cpp @@ -1,12 +1,12 @@ -#include "D3Q27ShearStressPostprocessor.h" +#include "ShearStressCoProcessor.h" #include "D3Q27ETBCProcessor.h" #include "WbWriterVtkXmlASCII.h" -D3Q27ShearStressPostprocessor::D3Q27ShearStressPostprocessor(Grid3DPtr grid, const std::string& path, +ShearStressCoProcessor::ShearStressCoProcessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, UbSchedulerPtr s,UbSchedulerPtr rs) - : Postprocessor(grid, s), + : CoProcessor(grid, s), Resetscheduler(rs), path(path), writer(writer) @@ -32,12 +32,12 @@ D3Q27ShearStressPostprocessor::D3Q27ShearStressPostprocessor(Grid3DPtr grid, con } } ////////////////////////////////////////////////////////////////////////// -D3Q27ShearStressPostprocessor::~D3Q27ShearStressPostprocessor() +ShearStressCoProcessor::~ShearStressCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -void D3Q27ShearStressPostprocessor::update( double step ) +void ShearStressCoProcessor::process( double step ) { if (step==0) { @@ -45,16 +45,16 @@ void D3Q27ShearStressPostprocessor::update( double step ) } calculateShearStress(step); if(scheduler->isDue(step) ) - collectPostprocessData(step); + collectData(step); UBLOG(logDEBUG3, "D3Q27ShearStressPostprocessor::update:" << step); } ////////////////////////////////////////////////////////////////////////// -void D3Q27ShearStressPostprocessor::collectPostprocessData(double step) +void ShearStressCoProcessor::collectData(double step) { using namespace std; int istep = int(step); - addPostprocessData(); + addData(); //string partName = writer->writeNodesWithNodeData(path+ UbSystem::toString(gridRank)+ "_" + UbSystem::toString(istep),nodes,datanames,data); //size_t found=partName.find_last_of("//"); @@ -103,7 +103,7 @@ void D3Q27ShearStressPostprocessor::collectPostprocessData(double step) vector<string> filenames; filenames.push_back(piece); - if (step == Postprocessor::scheduler->getMinBegin()) + if (step == CoProcessor::scheduler->getMinBegin()) { WbWriterVtkXmlASCII::getInstance()->writeCollection(cfilePath,filenames,istep,false); } @@ -117,14 +117,14 @@ void D3Q27ShearStressPostprocessor::collectPostprocessData(double step) clearData(); } ////////////////////////////////////////////////////////////////////////// -void D3Q27ShearStressPostprocessor::clearData() +void ShearStressCoProcessor::clearData() { nodes.clear(); datanames.clear(); data.clear(); } ////////////////////////////////////////////////////////////////////////// -void D3Q27ShearStressPostprocessor::calculateShearStress(double timeStep) +void ShearStressCoProcessor::calculateShearStress(double timeStep) { using namespace D3Q27System; @@ -233,7 +233,7 @@ void D3Q27ShearStressPostprocessor::calculateShearStress(double timeStep) } } ////////////////////////////////////////////////////////////////////////// -void D3Q27ShearStressPostprocessor::addPostprocessData() +void ShearStressCoProcessor::addData() { //Diese Daten werden geschrieben: datanames.resize(0); @@ -341,15 +341,15 @@ void D3Q27ShearStressPostprocessor::addPostprocessData() } ////////////////////////////////////////////////////////////////////////// -void D3Q27ShearStressPostprocessor::reset(double step) +void ShearStressCoProcessor::reset(double step) { if(Resetscheduler->isDue(step) ) - resetPostprocessData(step); + resetData(step); UBLOG(logDEBUG3, "resetPostprocessor::update:" << step); } ////////////////////////////////////////////////////////////////////////// -void D3Q27ShearStressPostprocessor::resetPostprocessData(double step) +void ShearStressCoProcessor::resetData(double step) { for(int level = minInitLevel; level<=maxInitLevel;level++) { @@ -406,12 +406,12 @@ void D3Q27ShearStressPostprocessor::resetPostprocessData(double step) } } ////////////////////////////////////////////////////////////////////////// -void D3Q27ShearStressPostprocessor::addInteractor( D3Q27InteractorPtr interactor ) +void ShearStressCoProcessor::addInteractor( D3Q27InteractorPtr interactor ) { interactors.push_back(interactor); } ////////////////////////////////////////////////////////////////////////// -void D3Q27ShearStressPostprocessor::findPlane(int ix1,int ix2,int ix3,Grid3DPtr grid,Block3DPtr block,double &A,double &B,double &C,double &D,double &ii) +void ShearStressCoProcessor::findPlane(int ix1,int ix2,int ix3,Grid3DPtr grid,Block3DPtr block,double &A,double &B,double &C,double &D,double &ii) { double x1plane=0.0,y1plane=0.0,z1plane=0.0; double x2plane=0.0,y2plane=0.0,z2plane=0.0; @@ -590,7 +590,7 @@ void D3Q27ShearStressPostprocessor::findPlane(int ix1,int ix2,int ix3,Grid3DPtr } //////////////////////////////////////////////////////////////////////////////////////////////////////// -bool D3Q27ShearStressPostprocessor::checkUndefindedNodes( BCArray3D<D3Q27BoundaryCondition>& bcArray,int ix1,int ix2,int ix3) +bool ShearStressCoProcessor::checkUndefindedNodes( BCArray3D<D3Q27BoundaryCondition>& bcArray,int ix1,int ix2,int ix3) { for(int i = ix1; i <= ix1 + 1; i++){ for(int j = ix2; j <= ix2 + 1; j++){ @@ -603,7 +603,7 @@ bool D3Q27ShearStressPostprocessor::checkUndefindedNodes( BCArray3D<D3Q27Boundar return false; } ////////////////////////////////////////////////////////////////////////////////////// -void D3Q27ShearStressPostprocessor::initDistance() +void ShearStressCoProcessor::initDistance() { BOOST_FOREACH(D3Q27InteractorPtr interactor, interactors) { diff --git a/source/VirtualFluidsCore/CoProcessors/D3Q27ShearStressPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/ShearStressCoProcessor.h similarity index 76% rename from source/VirtualFluidsCore/CoProcessors/D3Q27ShearStressPostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/ShearStressCoProcessor.h index 78c82cbe1..0666bbafd 100644 --- a/source/VirtualFluidsCore/CoProcessors/D3Q27ShearStressPostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/ShearStressCoProcessor.h @@ -1,41 +1,41 @@ #ifndef D3Q27ShearStressPostprocessor_H #define D3Q27ShearStressPostprocessor_H -#include "Postprocessor.h" +#include "CoProcessor.h" #include "Communicator.h" #include "D3Q27Interactor.h" #include "D3Q27InterpolationProcessor.h" #include "WbWriter.h" #include <boost/shared_ptr.hpp> -class D3Q27ShearStressPostprocessor; -typedef boost::shared_ptr<D3Q27ShearStressPostprocessor> D3Q27ShearStressPostprocessorPtr; +class ShearStressCoProcessor; +typedef boost::shared_ptr<ShearStressCoProcessor> ShearStressCoProcessorPtr; //! \brief Computes the shear stress and y plus values and writes to parallel .vtk //! \details writes at given time intervals specified in scheduler (s) and resets according to scheduler (rs). //! Take root to obtain during post processing (paraview). //! \author K. Kucher, S. Uphoff, M. Geier, E. Goraki Fard -class D3Q27ShearStressPostprocessor: public Postprocessor +class ShearStressCoProcessor: public CoProcessor { public: //! Defoult constructor - D3Q27ShearStressPostprocessor(){} + ShearStressCoProcessor(){} //! Constructor - D3Q27ShearStressPostprocessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, + ShearStressCoProcessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, UbSchedulerPtr s, UbSchedulerPtr rs); - virtual ~D3Q27ShearStressPostprocessor(); - void update(double step); + virtual ~ShearStressCoProcessor(); + void process(double step); void addInteractor(D3Q27InteractorPtr interactor); protected: //! Computes average and shear stress values of macroscopic quantities void calculateShearStress(double timeStep); //! Prepare data and write in .vtk file - void collectPostprocessData(double step); + void collectData(double step); //! Reset data - void resetPostprocessData(double step); + void resetData(double step); //! prepare data - void addPostprocessData(); + void addData(); void clearData(); void reset(double step); void findPlane(int ix1,int ix2,int ix3,Grid3DPtr grid,Block3DPtr block,double &A,double &B,double &C,double &D,double &ii); @@ -60,7 +60,7 @@ private: template<class Archive> void serialize(Archive & ar, const unsigned int version) { - ar & boost::serialization::base_object<Postprocessor>(*this); + ar & boost::serialization::base_object<CoProcessor>(*this); ar & path; ar & normals; ar & interactors; diff --git a/source/VirtualFluidsCore/CoProcessors/TimeAveragedValuesPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/TimeAveragedValuesCoProcessor.cpp similarity index 94% rename from source/VirtualFluidsCore/CoProcessors/TimeAveragedValuesPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/TimeAveragedValuesCoProcessor.cpp index 27ca8252d..750b56fae 100644 --- a/source/VirtualFluidsCore/CoProcessors/TimeAveragedValuesPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/TimeAveragedValuesCoProcessor.cpp @@ -1,4 +1,4 @@ -#include "TimeAveragedValuesPostprocessor.h" +#include "TimeAveragedValuesCoProcessor.h" #include "LBMKernel3D.h" #include "SimulationParameters.h" #include "D3Q27ETBCProcessor.h" @@ -12,14 +12,14 @@ using namespace std; -TimeAveragedValuesPostprocessor::TimeAveragedValuesPostprocessor() +TimeAveragedValuesCoProcessor::TimeAveragedValuesCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -TimeAveragedValuesPostprocessor::TimeAveragedValuesPostprocessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, +TimeAveragedValuesCoProcessor::TimeAveragedValuesCoProcessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, UbSchedulerPtr s, int options) - : Postprocessor(grid, s), + : CoProcessor(grid, s), path(path), writer(writer), options(options) @@ -69,7 +69,7 @@ TimeAveragedValuesPostprocessor::TimeAveragedValuesPostprocessor(Grid3DPtr grid, } ////////////////////////////////////////////////////////////////////////// -void TimeAveragedValuesPostprocessor::update(double step) +void TimeAveragedValuesCoProcessor::process(double step) { if (scheduler->isDue(step)) { @@ -79,14 +79,14 @@ void TimeAveragedValuesPostprocessor::update(double step) if (step == scheduler->getMaxEnd()) { calculateAverageValues(scheduler->getMaxEnd() - scheduler->getMinBegin()); - collectPostprocessData(step); + collectData(step); clearData(); } UBLOG(logDEBUG3, "AverageValues2Postprocessor::update:" << step); } ////////////////////////////////////////////////////////////////////////// -void TimeAveragedValuesPostprocessor::collectPostprocessData(double step) +void TimeAveragedValuesCoProcessor::collectData(double step) { int istep = int(step); @@ -96,7 +96,7 @@ void TimeAveragedValuesPostprocessor::collectPostprocessData(double step) { if (block) { - addPostprocessData(block); + addData(block); } } } @@ -123,7 +123,7 @@ void TimeAveragedValuesPostprocessor::collectPostprocessData(double step) clearData(); } ////////////////////////////////////////////////////////////////////////// -void TimeAveragedValuesPostprocessor::clearData() +void TimeAveragedValuesCoProcessor::clearData() { nodes.clear(); cells.clear(); @@ -131,7 +131,7 @@ void TimeAveragedValuesPostprocessor::clearData() data.clear(); } ////////////////////////////////////////////////////////////////////////// -void TimeAveragedValuesPostprocessor::addPostprocessData(const Block3DPtr block) +void TimeAveragedValuesCoProcessor::addData(const Block3DPtr block) { UbTupleDouble3 org = grid->getBlockWorldCoordinates(block); UbTupleDouble3 blockLengths = grid->getBlockLengths(block); @@ -289,7 +289,7 @@ void TimeAveragedValuesPostprocessor::addPostprocessData(const Block3DPtr block) } } ////////////////////////////////////////////////////////////////////////// -void TimeAveragedValuesPostprocessor::calculateAverageValues(double timeSteps) +void TimeAveragedValuesCoProcessor::calculateAverageValues(double timeSteps) { for (int level = minInitLevel; level<=maxInitLevel; level++) { @@ -390,7 +390,7 @@ void TimeAveragedValuesPostprocessor::calculateAverageValues(double timeSteps) } } ////////////////////////////////////////////////////////////////////////// -void TimeAveragedValuesPostprocessor::calculateSubtotal() +void TimeAveragedValuesCoProcessor::calculateSubtotal() { using namespace D3Q27System; diff --git a/source/VirtualFluidsCore/CoProcessors/TimeAveragedValuesPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/TimeAveragedValuesCoProcessor.h similarity index 85% rename from source/VirtualFluidsCore/CoProcessors/TimeAveragedValuesPostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/TimeAveragedValuesCoProcessor.h index 221a96b49..a5e237589 100644 --- a/source/VirtualFluidsCore/CoProcessors/TimeAveragedValuesPostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/TimeAveragedValuesCoProcessor.h @@ -1,7 +1,7 @@ #ifndef TimeAveragedValuesPostprocessor_H #define TimeAveragedValuesPostprocessor_H -#include "Postprocessor.h" +#include "CoProcessor.h" #include "Grid3D.h" #include "Block3D.h" #include "LBMUnitConverter.h" @@ -10,8 +10,8 @@ #include "WbWriter.h" #include <boost/shared_ptr.hpp> -class TimeAveragedValuesPostprocessor; -typedef boost::shared_ptr<TimeAveragedValuesPostprocessor> AverageValues2PostprocessorPtr; +class TimeAveragedValuesCoProcessor; +typedef boost::shared_ptr<TimeAveragedValuesCoProcessor> TimeAveragedValuesCoProcessorPtr; //! \brief Computes the time averaged mean velocity and RMS values and writes to parallel .vtk //! \details writes at given time intervals specified in scheduler (s), does averaging according to scheduler (Avs) and resets according to scheduler (rs). <br> @@ -19,7 +19,7 @@ typedef boost::shared_ptr<TimeAveragedValuesPostprocessor> AverageValues2Postpro // //! \author Sonja Uphoff, Kostyantyn Kucher // \f$ u_{mean}=\frac{1}{N}\sum\limits_{i=1}^n u_{i} \f$ -class TimeAveragedValuesPostprocessor : public Postprocessor +class TimeAveragedValuesCoProcessor : public CoProcessor { public: enum Options @@ -29,18 +29,18 @@ public: Triplecorrelations = 4 }; public: - TimeAveragedValuesPostprocessor(); - TimeAveragedValuesPostprocessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, + TimeAveragedValuesCoProcessor(); + TimeAveragedValuesCoProcessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, UbSchedulerPtr s, int options); //! Make update - void update(double step); + void process(double step); //! Resets averaged velocity and RMS-values according to ResetSceduler void reset(double step); protected: //! Prepare data and write in .vtk file - void collectPostprocessData(double step); + void collectData(double step); //! prepare data - void addPostprocessData(const Block3DPtr block); + void addData(const Block3DPtr block); void clearData(); //! Computes average values of velocity , fluctuations and triple correlations void calculateAverageValues(double timeStep); diff --git a/source/VirtualFluidsCore/CoProcessors/TimeDependentBCPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/TimeDependentBCCoProcessor.cpp similarity index 58% rename from source/VirtualFluidsCore/CoProcessors/TimeDependentBCPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/TimeDependentBCCoProcessor.cpp index 304d5799c..925b62e97 100644 --- a/source/VirtualFluidsCore/CoProcessors/TimeDependentBCPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/TimeDependentBCCoProcessor.cpp @@ -1,26 +1,26 @@ -#include "TimeDependentBCPostprocessor.h" +#include "TimeDependentBCCoProcessor.h" #include <boost/foreach.hpp> using namespace std; -TimeDependentBCPostprocessor::TimeDependentBCPostprocessor(Grid3DPtr grid) : Postprocessor(grid, UbSchedulerPtr(new UbScheduler(1))) +TimeDependentBCCoProcessor::TimeDependentBCCoProcessor(Grid3DPtr grid) : CoProcessor(grid, UbSchedulerPtr(new UbScheduler(1))) { } ////////////////////////////////////////////////////////////////////////// -TimeDependentBCPostprocessor::~TimeDependentBCPostprocessor() +TimeDependentBCCoProcessor::~TimeDependentBCCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -void TimeDependentBCPostprocessor::update(double step) +void TimeDependentBCCoProcessor::process(double step) { BOOST_FOREACH(Interactor3DPtr inter, interactors) inter->updateInteractor( step ); UBLOG(logDEBUG3, "TimeDependentBCPostprocessor::update:" << step); } ////////////////////////////////////////////////////////////////////////// -void TimeDependentBCPostprocessor::addInteractor( Interactor3DPtr interactor ) +void TimeDependentBCCoProcessor::addInteractor( Interactor3DPtr interactor ) { interactors.push_back(interactor); } diff --git a/source/VirtualFluidsCore/CoProcessors/TimeDependentBCCoProcessor.h b/source/VirtualFluidsCore/CoProcessors/TimeDependentBCCoProcessor.h new file mode 100644 index 000000000..01bd83a4f --- /dev/null +++ b/source/VirtualFluidsCore/CoProcessors/TimeDependentBCCoProcessor.h @@ -0,0 +1,27 @@ +#ifndef TimeDependentBCPOSTPROCESSOR_H +#define TimeDependentBCPOSTPROCESSOR_H + +#include "CoProcessor.h" +#include "Interactor3D.h" + +#include <boost/shared_ptr.hpp> +class TimeDependentBCCoProcessor; +typedef boost::shared_ptr<TimeDependentBCCoProcessor> TimeDependentBCCoProcessorPtr; + +//! \brief The class update interactors depend of time step. +//! \details TimeDependentBCCoProcessor update every time step information in BCAdapters throw Interactors +//! \author Sonja Uphoff, Kostyantyn Kucher +class TimeDependentBCCoProcessor: public CoProcessor { +public: + TimeDependentBCCoProcessor(Grid3DPtr grid); + virtual ~TimeDependentBCCoProcessor(); + void process(double step); + //! add interactors to Postprocessor + void addInteractor(Interactor3DPtr interactor); +protected: +private: + std::vector<Interactor3DPtr> interactors; +}; + + +#endif /* TimeDependentBCPOSTPROCESSOR_H */ diff --git a/source/VirtualFluidsCore/CoProcessors/TimeDependentBCPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/TimeDependentBCPostprocessor.h deleted file mode 100644 index e277c7642..000000000 --- a/source/VirtualFluidsCore/CoProcessors/TimeDependentBCPostprocessor.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef TimeDependentBCPOSTPROCESSOR_H -#define TimeDependentBCPOSTPROCESSOR_H - -#include "Postprocessor.h" -#include "Interactor3D.h" - -#include <boost/shared_ptr.hpp> -class TimeDependentBCPostprocessor; -typedef boost::shared_ptr<TimeDependentBCPostprocessor> TimeDependentBCPostprocessorPtr; - -//! \brief The class update interactors depend of time step. -//! \details TimeDependentBCPostprocessor update every time step information in BCAdapters throw Interactors -//! \author Sonja Uphoff, Kostyantyn Kucher -class TimeDependentBCPostprocessor: public Postprocessor { -public: - TimeDependentBCPostprocessor(Grid3DPtr grid); - virtual ~TimeDependentBCPostprocessor(); - void update(double step); - //! add interactors to Postprocessor - void addInteractor(Interactor3DPtr interactor); -protected: -private: - std::vector<Interactor3DPtr> interactors; -}; - - -#endif /* TimeDependentBCPOSTPROCESSOR_H */ diff --git a/source/VirtualFluidsCore/CoProcessors/TimeseriesPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/TimeseriesCoProcessor.cpp similarity index 82% rename from source/VirtualFluidsCore/CoProcessors/TimeseriesPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/TimeseriesCoProcessor.cpp index 5e91285a3..3e20bd108 100644 --- a/source/VirtualFluidsCore/CoProcessors/TimeseriesPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/TimeseriesCoProcessor.cpp @@ -5,7 +5,7 @@ * Author: uphoff */ -#include "TimeseriesPostprocessor.h" +#include "TimeseriesCoProcessor.h" #include <iostream> @@ -13,10 +13,10 @@ using namespace std; -TimeseriesPostprocessor::TimeseriesPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, +TimeseriesCoProcessor::TimeseriesCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, D3Q27IntegrateValuesHelperPtr h1, const std::string& path, CommunicatorPtr comm) - : Postprocessor(grid, s), + : CoProcessor(grid, s), h1(h1), path(path), comm(comm) @@ -41,17 +41,17 @@ TimeseriesPostprocessor::TimeseriesPostprocessor(Grid3DPtr grid, UbSchedulerPtr } } ////////////////////////////////////////////////////////////////////////// -TimeseriesPostprocessor::~TimeseriesPostprocessor() +TimeseriesCoProcessor::~TimeseriesCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -void TimeseriesPostprocessor::update(double step) +void TimeseriesCoProcessor::process(double step) { if(scheduler->isDue(step) ) - collectPostprocessData(step); + collectData(step); } ////////////////////////////////////////////////////////////////////////// -void TimeseriesPostprocessor::collectPostprocessData(double step) +void TimeseriesCoProcessor::collectData(double step) { h1->calculateMQ(); diff --git a/source/VirtualFluidsCore/CoProcessors/TimeseriesPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/TimeseriesCoProcessor.h similarity index 67% rename from source/VirtualFluidsCore/CoProcessors/TimeseriesPostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/TimeseriesCoProcessor.h index 9735ab7de..d7ae683e7 100644 --- a/source/VirtualFluidsCore/CoProcessors/TimeseriesPostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/TimeseriesCoProcessor.h @@ -8,33 +8,33 @@ #ifndef TimeseriesPOSTPROCESSOR_H #define TimeseriesPOSTPROCESSOR_H -#include "Postprocessor.h" +#include "CoProcessor.h" #include "D3Q27IntegrateValuesHelper.h" #include "LBMUnitConverter.h" #include "Communicator.h" #include <boost/shared_ptr.hpp> -class TimeseriesPostprocessor; -typedef boost::shared_ptr<TimeseriesPostprocessor> TimeseriesWriterPostprocessorPtr; +class TimeseriesCoProcessor; +typedef boost::shared_ptr<TimeseriesCoProcessor> TimeseriesCoProcessorPtr; //! \brief Writes timeseries of density and velocity to a file. //! \details Uses Integrate values helper, scheduler must be set in testcase. //! \author Sonja Uphoff //! \date May 2013 -class TimeseriesPostprocessor: public Postprocessor { +class TimeseriesCoProcessor: public CoProcessor { public: - TimeseriesPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, + TimeseriesCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, D3Q27IntegrateValuesHelperPtr h1, const std::string& path, CommunicatorPtr comm); - virtual ~TimeseriesPostprocessor(); - //! calls collect PostprocessData. - void update(double step); + virtual ~TimeseriesCoProcessor(); + //! calls collectData. + void process(double step); protected: //! object that can compute spacial average values in 3D-subdomain. D3Q27IntegrateValuesHelperPtr h1; - void collectPostprocessData(double step); + void collectData(double step); CommunicatorPtr comm; private: std::string path; //! output filename, e.g. pathname + "/steps/timeseries" diff --git a/source/VirtualFluidsCore/CoProcessors/TurbulenceIntensityPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/TurbulenceIntensityCoProcessor.cpp similarity index 91% rename from source/VirtualFluidsCore/CoProcessors/TurbulenceIntensityPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/TurbulenceIntensityCoProcessor.cpp index f7dca2cd7..888cc3dfb 100644 --- a/source/VirtualFluidsCore/CoProcessors/TurbulenceIntensityPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/TurbulenceIntensityCoProcessor.cpp @@ -1,4 +1,4 @@ -#include "TurbulenceIntensityPostprocessor.h" +#include "TurbulenceIntensityCoProcessor.h" #include "LBMKernel3D.h" #include "SimulationParameters.h" #include "D3Q27ETBCProcessor.h" @@ -10,10 +10,10 @@ using namespace std; -TurbulenceIntensityPostprocessor::TurbulenceIntensityPostprocessor(Grid3DPtr grid, const std::string& path, +TurbulenceIntensityCoProcessor::TurbulenceIntensityCoProcessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, UbSchedulerPtr s, CommunicatorPtr comm) - : Postprocessor(grid, s), + : CoProcessor(grid, s), path(path), comm(comm), writer(writer) @@ -21,7 +21,7 @@ TurbulenceIntensityPostprocessor::TurbulenceIntensityPostprocessor(Grid3DPtr gri init(); } ////////////////////////////////////////////////////////////////////////// -void TurbulenceIntensityPostprocessor::init() +void TurbulenceIntensityCoProcessor::init() { gridRank = grid->getRank(); minInitLevel = this->grid->getCoarsestInitializedLevel(); @@ -42,17 +42,17 @@ void TurbulenceIntensityPostprocessor::init() } } ////////////////////////////////////////////////////////////////////////// -void TurbulenceIntensityPostprocessor::update(double step) +void TurbulenceIntensityCoProcessor::process(double step) { calculateAverageValues(int(step)); if(scheduler->isDue(step) ) - collectPostprocessData(step); + collectData(step); UBLOG(logDEBUG3, "TurbulenceIntensityPostprocessor::update:" << step); } ////////////////////////////////////////////////////////////////////////// -void TurbulenceIntensityPostprocessor::collectPostprocessData(double step) +void TurbulenceIntensityCoProcessor::collectData(double step) { int istep = int(step); @@ -62,7 +62,7 @@ void TurbulenceIntensityPostprocessor::collectPostprocessData(double step) { if (block) { - addPostprocessData(block); + addData(block); } } } @@ -80,7 +80,7 @@ void TurbulenceIntensityPostprocessor::collectPostprocessData(double step) vector<string> filenames; filenames.push_back(pname); - if (step == Postprocessor::scheduler->getMinBegin()) + if (step == CoProcessor::scheduler->getMinBegin()) { WbWriterVtkXmlASCII::getInstance()->writeCollection(path+"_collection",filenames,istep,false); } @@ -94,7 +94,7 @@ void TurbulenceIntensityPostprocessor::collectPostprocessData(double step) clearData(); } ////////////////////////////////////////////////////////////////////////// -void TurbulenceIntensityPostprocessor::clearData() +void TurbulenceIntensityCoProcessor::clearData() { nodes.clear(); cells.clear(); @@ -102,7 +102,7 @@ void TurbulenceIntensityPostprocessor::clearData() data.clear(); } ////////////////////////////////////////////////////////////////////////// -void TurbulenceIntensityPostprocessor::addPostprocessData(const Block3DPtr block) +void TurbulenceIntensityCoProcessor::addData(const Block3DPtr block) { UbTupleDouble3 org = grid->getBlockWorldCoordinates(block); UbTupleDouble3 blockLengths = grid->getBlockLengths(block); @@ -189,7 +189,7 @@ void TurbulenceIntensityPostprocessor::addPostprocessData(const Block3DPtr block } } ////////////////////////////////////////////////////////////////////////// -void TurbulenceIntensityPostprocessor::calculateAverageValues(double timeStep) +void TurbulenceIntensityCoProcessor::calculateAverageValues(double timeStep) { using namespace D3Q27System; diff --git a/source/VirtualFluidsCore/CoProcessors/TurbulenceIntensityPostprocessor.h b/source/VirtualFluidsCore/CoProcessors/TurbulenceIntensityCoProcessor.h similarity index 62% rename from source/VirtualFluidsCore/CoProcessors/TurbulenceIntensityPostprocessor.h rename to source/VirtualFluidsCore/CoProcessors/TurbulenceIntensityCoProcessor.h index 49bc29059..85ae0dac1 100644 --- a/source/VirtualFluidsCore/CoProcessors/TurbulenceIntensityPostprocessor.h +++ b/source/VirtualFluidsCore/CoProcessors/TurbulenceIntensityCoProcessor.h @@ -1,7 +1,7 @@ #ifndef TurbulenceIntensityPostprocessor_H #define TurbulenceIntensityPostprocessor_H -#include "Postprocessor.h" +#include "CoProcessor.h" #include "Grid3D.h" #include "Block3D.h" #include "LBMUnitConverter.h" @@ -10,18 +10,18 @@ #include "WbWriter.h" #include <boost/shared_ptr.hpp> -class TurbulenceIntensityPostprocessor; -typedef boost::shared_ptr<TurbulenceIntensityPostprocessor> TurbulenceIntensityPostprocessorPtr; +class TurbulenceIntensityCoProcessor; +typedef boost::shared_ptr<TurbulenceIntensityCoProcessor> TurbulenceIntensityCoProcessorPtr; -class TurbulenceIntensityPostprocessor : public Postprocessor +class TurbulenceIntensityCoProcessor : public CoProcessor { public: - TurbulenceIntensityPostprocessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, + TurbulenceIntensityCoProcessor(Grid3DPtr grid, const std::string& path, WbWriter* const writer, UbSchedulerPtr s, CommunicatorPtr comm); - void update(double step); + void process(double step); protected: - void collectPostprocessData(double step); - void addPostprocessData(const Block3DPtr block); + void collectData(double step); + void addData(const Block3DPtr block); void clearData(); void calculateAverageValues(double timeStep); private: diff --git a/source/VirtualFluidsCore/CoProcessors/BlocksPostprocessor.cpp b/source/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.cpp similarity index 90% rename from source/VirtualFluidsCore/CoProcessors/BlocksPostprocessor.cpp rename to source/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.cpp index 48698c742..ad28d8d13 100644 --- a/source/VirtualFluidsCore/CoProcessors/BlocksPostprocessor.cpp +++ b/source/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.cpp @@ -1,12 +1,12 @@ -#include "BlocksPostprocessor.h" +#include "WriteBlocksCoProcessor.h" #include "basics/writer/WbWriterVtkXmlASCII.h" #include <boost/foreach.hpp> #include "D3Q27System.h" -BlocksPostprocessor::BlocksPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, +WriteBlocksCoProcessor::WriteBlocksCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string& path, WbWriter* const writer, CommunicatorPtr comm) : - Postprocessor(grid, s), + CoProcessor(grid, s), path(path), writer(writer), comm(comm) @@ -14,17 +14,17 @@ BlocksPostprocessor::BlocksPostprocessor(Grid3DPtr grid, UbSchedulerPtr s, } ////////////////////////////////////////////////////////////////////////// -BlocksPostprocessor::~BlocksPostprocessor() +WriteBlocksCoProcessor::~WriteBlocksCoProcessor() { } ////////////////////////////////////////////////////////////////////////// -void BlocksPostprocessor::update(double step) +void WriteBlocksCoProcessor::process(double step) { if(scheduler->isDue(step) ) - collectPostprocessData(step); + collectData(step); } ////////////////////////////////////////////////////////////////////////// -void BlocksPostprocessor::collectPostprocessData(double step) +void WriteBlocksCoProcessor::collectData(double step) { if (comm->getProcessID() == comm->getRoot()) { @@ -135,7 +135,7 @@ void BlocksPostprocessor::collectPostprocessData(double step) filenames.push_back(writer->writeOctsWithCellData(path+"/blocks/blocks_" + UbSystem::toString(grid->getRank()) + "_" + UbSystem::toString(istep),nodes,cells,celldatanames,celldata)); - if (istep == Postprocessor::scheduler->getMinBegin()) + if (istep == CoProcessor::scheduler->getMinBegin()) { WbWriterVtkXmlASCII::getInstance()->writeCollection(path+"/blocks/blocks_collection",filenames,istep,false); } diff --git a/source/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.h b/source/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.h new file mode 100644 index 000000000..927841607 --- /dev/null +++ b/source/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.h @@ -0,0 +1,32 @@ +/* +* BlocksPostprocessor.h +* +* Created on: 24.09.2012 +* Author: K. Kucher +*/ + +#ifndef BlocksPostprocessor_H_ +#define BlocksPostprocessor_H_ + +#include "CoProcessor.h" +#include "Communicator.h" +#include "WbWriter.h" + +#include <boost/shared_ptr.hpp> +class WriteBlocksCoProcessor; +typedef boost::shared_ptr<WriteBlocksCoProcessor> WriteBlocksCoProcessorPtr; + +class WriteBlocksCoProcessor: public CoProcessor { +public: + WriteBlocksCoProcessor(Grid3DPtr grid, UbSchedulerPtr s, const std::string& path, WbWriter* const writer, CommunicatorPtr comm); + virtual ~WriteBlocksCoProcessor(); + void process(double step); +protected: + void collectData(double step); + std::string path; + WbWriter* writer; + CommunicatorPtr comm; +}; + + +#endif diff --git a/source/VirtualFluidsCore/Grid/BoostSerializationClassExportHelper.h b/source/VirtualFluidsCore/Grid/BoostSerializationClassExportHelper.h index 87f034c47..345447a67 100644 --- a/source/VirtualFluidsCore/Grid/BoostSerializationClassExportHelper.h +++ b/source/VirtualFluidsCore/Grid/BoostSerializationClassExportHelper.h @@ -15,10 +15,10 @@ #include <D3Q27Interactor.h> #include <Communicator.h> #include <MPICommunicator.h> -#include <Postprocessor.h> -#include <D3Q27MacroscopicQuantitiesPostprocessor.h> -#include <D3Q27ShearStressPostprocessor.h> -#include <AverageValuesPostprocessor.h> +#include <CoProcessor.h> +#include <MacroscopicQuantitiesCoProcessor.h> +#include <ShearStressCoProcessor.h> +#include <AverageValuesCoProcessor.h> #include <basics/container/CbArray4D.h> #include <basics/writer/WbWriter.h> #include <basics/writer/WbWriterVtkXmlASCII.h> @@ -55,10 +55,10 @@ BOOST_CLASS_EXPORT(D3Q27ETForThinWallBCProcessor) BOOST_CLASS_EXPORT(DataSet3D) BOOST_CLASS_EXPORT(Interactor3D) BOOST_CLASS_EXPORT(D3Q27Interactor) -BOOST_CLASS_EXPORT(Postprocessor) -BOOST_CLASS_EXPORT(D3Q27MacroscopicQuantitiesPostprocessor) -BOOST_CLASS_EXPORT(D3Q27ShearStressPostprocessor) -BOOST_CLASS_EXPORT(AverageValuesPostprocessor) +BOOST_CLASS_EXPORT(CoProcessor) +BOOST_CLASS_EXPORT(MacroscopicQuantitiesCoProcessor) +BOOST_CLASS_EXPORT(ShearStressCoProcessor) +BOOST_CLASS_EXPORT(AverageValuesCoProcessor) BOOST_CLASS_EXPORT(WbWriterVtkXmlASCII) BOOST_CLASS_EXPORT(WbWriterVtkXmlBinary) diff --git a/source/VirtualFluidsCore/Grid/Calculator.cpp b/source/VirtualFluidsCore/Grid/Calculator.cpp index 251bcbf87..1316bca42 100644 --- a/source/VirtualFluidsCore/Grid/Calculator.cpp +++ b/source/VirtualFluidsCore/Grid/Calculator.cpp @@ -98,7 +98,7 @@ void Calculator::calculate(const double& endTime, CalculationManagerPtr cm, boos ////wait for write dump files sync->wait(); //write dump - if (mainThread) grid->doPostProcess((double)(calcStep-1)); + if (mainThread) grid->coProcess((double)(calcStep-1)); sync->wait(); diff --git a/source/VirtualFluidsCore/Grid/Calculator2.cpp b/source/VirtualFluidsCore/Grid/Calculator2.cpp index 303b2d44e..769765e67 100644 --- a/source/VirtualFluidsCore/Grid/Calculator2.cpp +++ b/source/VirtualFluidsCore/Grid/Calculator2.cpp @@ -68,7 +68,7 @@ void Calculator2::calculate(const double& endTime, CalculationManagerPtr cm, boo ////wait for write dump files //sync->wait(); //write dump - if (mainThread) grid->doPostProcess((double)(calcStep-1)); + if (mainThread) grid->coProcess((double)(calcStep-1)); sync->wait(); ////////////////////////////////////////////////////////////////////////// diff --git a/source/VirtualFluidsCore/Grid/Grid3D.cpp b/source/VirtualFluidsCore/Grid/Grid3D.cpp index 0b22d9667..93e9b2170 100644 --- a/source/VirtualFluidsCore/Grid/Grid3D.cpp +++ b/source/VirtualFluidsCore/Grid/Grid3D.cpp @@ -399,7 +399,7 @@ void Grid3D::disconnect(Grid3D::connection_t subscriber) subscriber.disconnect(); } ////////////////////////////////////////////////////////////////////////// -void Grid3D::doPostProcess(double step) +void Grid3D::coProcess(double step) { timeStep = step; sig(step); diff --git a/source/VirtualFluidsCore/Grid/Grid3D.h b/source/VirtualFluidsCore/Grid/Grid3D.h index a3059a4ad..87112cfee 100644 --- a/source/VirtualFluidsCore/Grid/Grid3D.h +++ b/source/VirtualFluidsCore/Grid/Grid3D.h @@ -139,7 +139,7 @@ public: //post processing connection_t connect(signal_t::slot_function_type subscriber); void disconnect(connection_t subscriber); - void doPostProcess(double step); + void coProcess(double step); ////////////////////////////////////////////////////////////////////////// //bundle and rank for distributed memory void setBundle(int bundle); diff --git a/source/VirtualFluidsCore/Grid/MTCalculator.cpp b/source/VirtualFluidsCore/Grid/MTCalculator.cpp index 0d277a097..6a401effe 100644 --- a/source/VirtualFluidsCore/Grid/MTCalculator.cpp +++ b/source/VirtualFluidsCore/Grid/MTCalculator.cpp @@ -75,7 +75,7 @@ void MTCalculator::calculate(const double& endTime, CalculationManagerPtr cm, bo ////wait for write dump files //sync->wait(); //write dump - if (mainThread) grid->doPostProcess((double)(calcStep-1)); + if (mainThread) grid->coProcess((double)(calcStep-1)); sync->wait(); diff --git a/source/VirtualFluidsCore/Grid/PrePostBcCalculator.cpp b/source/VirtualFluidsCore/Grid/PrePostBcCalculator.cpp index 535411efc..4abdfbd44 100644 --- a/source/VirtualFluidsCore/Grid/PrePostBcCalculator.cpp +++ b/source/VirtualFluidsCore/Grid/PrePostBcCalculator.cpp @@ -64,7 +64,7 @@ void PrePostBcCalculator::calculate(const double& endTime, CalculationManagerPtr ////wait for write dump files //sync->wait(); //write dump - if (mainThread) grid->doPostProcess((double)(calcStep-1)); + if (mainThread) grid->coProcess((double)(calcStep-1)); sync->wait(); -- GitLab