diff --git a/src/gpu/core/Init/PositionReader.cpp b/src/gpu/core/Init/PositionReader.cpp deleted file mode 100644 index b4efea8bdc266c7e4851444db18ff012f76bae9f..0000000000000000000000000000000000000000 --- a/src/gpu/core/Init/PositionReader.cpp +++ /dev/null @@ -1,31 +0,0 @@ -#include "PositionReader.h" - -#include "Parameter/Parameter.h" - -#include <basics/utilities/UbFileInputASCII.h> - -using namespace vf::lbm::dir; - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readMeasurePoints( Parameter* para ) -{ - UbFileInputASCII in(para->getmeasurePoints()); - int numberOfAllNodes = in.readInteger(); - in.readLine(); - int tempLevel; - MeasurePoints tempMP; - //printf("done, init the values...\n"); - for (int u = 0; u < numberOfAllNodes; u++) - { - tempMP.name = in.readString(); - //printf("done, read the name...\n"); - tempMP.k = in.readInteger(); - //printf("done, read k...\n"); - tempLevel = in.readInteger(); - //printf("done, read level...\n"); - in.readLine(); - //printf("done, read the values...\n"); - para->getParH(tempLevel)->MP.push_back(tempMP); - //printf("done, put it into a vector...\n"); - } -} diff --git a/src/gpu/core/Init/PositionReader.h b/src/gpu/core/Init/PositionReader.h deleted file mode 100644 index 16c1b02d3dc8d9aae1fb1a51f00caabbfd0b404a..0000000000000000000000000000000000000000 --- a/src/gpu/core/Init/PositionReader.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef POSITION_READER_H -#define POSITION_READER_H - -class Parameter; - -class PositionReader -{ -public: - static void readMeasurePoints(Parameter* para); -}; - -#endif \ No newline at end of file diff --git a/src/gpu/core/Init/ReaderMeasurePoints.cpp b/src/gpu/core/Init/ReaderMeasurePoints.cpp new file mode 100644 index 0000000000000000000000000000000000000000..59835b1f6ff95de78ac8885e3e30a34626a80350 --- /dev/null +++ b/src/gpu/core/Init/ReaderMeasurePoints.cpp @@ -0,0 +1,80 @@ +#include "ReaderMeasurePoints.h" + +#include "Parameter/Parameter.h" +#include "GPU/CudaMemoryManager.h" + +#include <basics/utilities/UbFileInputASCII.h> + +using namespace vf::lbm::dir; + +////////////////////////////////////////////////////////////////////////// +void ReaderMeasurePoints::readMeasurePoints( Parameter* para ) +{ + UbFileInputASCII in(para->getmeasurePoints()); + int numberOfAllNodes = in.readInteger(); + in.readLine(); + int tempLevel; + MeasurePoints tempMP; + //printf("done, init the values...\n"); + for (int u = 0; u < numberOfAllNodes; u++) + { + tempMP.name = in.readString(); + //printf("done, read the name...\n"); + tempMP.k = in.readInteger(); + //printf("done, read k...\n"); + tempLevel = in.readInteger(); + //printf("done, read level...\n"); + in.readLine(); + //printf("done, read the values...\n"); + para->getParH(tempLevel)->MP.push_back(tempMP); + //printf("done, put it into a vector...\n"); + } +} + +//////////////////////////////////////////////////////////////////////////////// +void ReaderMeasurePoints::readMeasurePoints(Parameter* para, CudaMemoryManager* cudaMemoryManager) +{ + // read measure points from file + ReaderMeasurePoints::readMeasurePoints(para); + // printf("done, reading the file...\n"); + // level loop + for (int lev = 0; lev <= para->getMaxLevel(); lev++) { + // set Memory Size and malloc of the indices and macroscopic values per level + para->getParH(lev)->numberOfValuesMP = (unsigned int)para->getParH(lev)->MP.size() * + (unsigned int)para->getclockCycleForMP() / + ((unsigned int)para->getTimestepForMP()); + para->getParD(lev)->numberOfValuesMP = para->getParH(lev)->numberOfValuesMP; + + para->getParH(lev)->numberOfPointskMP = (int)para->getParH(lev)->MP.size(); + para->getParD(lev)->numberOfPointskMP = para->getParH(lev)->numberOfPointskMP; + + para->getParH(lev)->memSizeIntkMP = sizeof(unsigned int) * (int)para->getParH(lev)->MP.size(); + para->getParD(lev)->memSizeIntkMP = para->getParH(lev)->memSizeIntkMP; + + para->getParH(lev)->memSizerealkMP = sizeof(real) * para->getParH(lev)->numberOfValuesMP; + para->getParD(lev)->memSizerealkMP = para->getParH(lev)->memSizerealkMP; + + printf("Level: %d, numberOfValuesMP: %d, memSizeIntkMP: %d, memSizerealkMP: %d\n", lev, + para->getParH(lev)->numberOfValuesMP, para->getParH(lev)->memSizeIntkMP, para->getParD(lev)->memSizerealkMP); + + cudaMemoryManager->cudaAllocMeasurePointsIndex(lev); + + // loop over all measure points per level + for (int index = 0; index < (int)para->getParH(lev)->MP.size(); index++) { + // set indices + para->getParH(lev)->kMP[index] = para->getParH(lev)->MP[index].k; + } + // loop over all measure points per level times MPClockCycle + for (int index = 0; index < (int)para->getParH(lev)->numberOfValuesMP; index++) { + // init values + para->getParH(lev)->VxMP[index] = (real)0.0; + para->getParH(lev)->VyMP[index] = (real)0.0; + para->getParH(lev)->VzMP[index] = (real)0.0; + para->getParH(lev)->RhoMP[index] = (real)0.0; + } + + // copy indices-arrays + cudaMemoryManager->cudaCopyMeasurePointsIndex(lev); + } +} +//////////////////////////////////////////////////////////////////////////////// diff --git a/src/gpu/core/Init/ReaderMeasurePoints.h b/src/gpu/core/Init/ReaderMeasurePoints.h new file mode 100644 index 0000000000000000000000000000000000000000..62dd9446c0ad9d0e3b1d1e5c34eb80d53ff8038a --- /dev/null +++ b/src/gpu/core/Init/ReaderMeasurePoints.h @@ -0,0 +1,16 @@ +#ifndef POSITION_READER_H +#define POSITION_READER_H + +class Parameter; +class CudaMemoryManager; + +class ReaderMeasurePoints +{ +private: + static void readMeasurePoints(Parameter* para); + +public: + static void readMeasurePoints(Parameter* para, CudaMemoryManager* cudaMemoryManager); +}; + +#endif \ No newline at end of file diff --git a/src/gpu/core/Init/VfReader.cpp b/src/gpu/core/Init/VfReader.cpp deleted file mode 100644 index 1c15e8cda2d5906d7c7706a65f729db67f4ee239..0000000000000000000000000000000000000000 --- a/src/gpu/core/Init/VfReader.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include "Init/VfReader.h" - -#include "Parameter/Parameter.h" -#include "Init/PositionReader.h" -#include "GPU/CudaMemoryManager.h" - -//////////////////////////////////////////////////////////////////////////////// -void readMeasurePoints(Parameter* para, CudaMemoryManager* cudaMemoryManager) -{ - //read measure points from file - PositionReader::readMeasurePoints(para); - //printf("done, reading the file...\n"); - //level loop - for (int lev = 0; lev <= para->getMaxLevel(); lev++) - { - //set Memory Size and malloc of the indices and macroscopic values per level - para->getParH(lev)->numberOfValuesMP = (unsigned int)para->getParH(lev)->MP.size()*(unsigned int)para->getclockCycleForMP()/((unsigned int)para->getTimestepForMP()); - para->getParD(lev)->numberOfValuesMP = para->getParH(lev)->numberOfValuesMP; - - para->getParH(lev)->numberOfPointskMP = (int)para->getParH(lev)->MP.size(); - para->getParD(lev)->numberOfPointskMP = para->getParH(lev)->numberOfPointskMP; - - para->getParH(lev)->memSizeIntkMP = sizeof(unsigned int)*(int)para->getParH(lev)->MP.size(); - para->getParD(lev)->memSizeIntkMP = para->getParH(lev)->memSizeIntkMP; - - para->getParH(lev)->memSizerealkMP = sizeof(real)*para->getParH(lev)->numberOfValuesMP; - para->getParD(lev)->memSizerealkMP = para->getParH(lev)->memSizerealkMP; - - printf("Level: %d, numberOfValuesMP: %d, memSizeIntkMP: %d, memSizerealkMP: %d\n",lev,para->getParH(lev)->numberOfValuesMP,para->getParH(lev)->memSizeIntkMP, para->getParD(lev)->memSizerealkMP); - - cudaMemoryManager->cudaAllocMeasurePointsIndex(lev); - - //loop over all measure points per level - for(int index = 0; index < (int)para->getParH(lev)->MP.size(); index++) - { - //set indices - para->getParH(lev)->kMP[index] = para->getParH(lev)->MP[index].k; - } - //loop over all measure points per level times MPClockCycle - for(int index = 0; index < (int)para->getParH(lev)->numberOfValuesMP; index++) - { - //init values - para->getParH(lev)->VxMP[index] = (real)0.0; - para->getParH(lev)->VyMP[index] = (real)0.0; - para->getParH(lev)->VzMP[index] = (real)0.0; - para->getParH(lev)->RhoMP[index] = (real)0.0; - } - - //copy indices-arrays - cudaMemoryManager->cudaCopyMeasurePointsIndex(lev); - } -} -//////////////////////////////////////////////////////////////////////////////// - - - - - - - - diff --git a/src/gpu/core/Init/VfReader.h b/src/gpu/core/Init/VfReader.h deleted file mode 100644 index 3583b7f819828942f621023b30cb41921cf2870f..0000000000000000000000000000000000000000 --- a/src/gpu/core/Init/VfReader.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef VF_READER_H -#define VF_READER_H - - -class CudaMemoryManager; -class Parameter; - - -void readMeasurePoints(Parameter* para, CudaMemoryManager* cudaMemoryManager); - -#endif diff --git a/src/gpu/core/LBM/Simulation.cpp b/src/gpu/core/LBM/Simulation.cpp index 3566c26f8849e586bcdadbc6c916f0815b8d54cf..3348cf9d78a7a7d6a7bced115b93ad87325e1dc3 100644 --- a/src/gpu/core/LBM/Simulation.cpp +++ b/src/gpu/core/LBM/Simulation.cpp @@ -26,7 +26,7 @@ #include "StringUtilities/StringUtil.h" ////////////////////////////////////////////////////////////////////////// #include "Init/InitLattice.h" -#include "Init/VfReader.h" +#include "Init/ReaderMeasurePoints.h" ////////////////////////////////////////////////////////////////////////// #include "FindQ/FindQ.h" #include "FindQ/DefineBCs.h" @@ -245,7 +245,7 @@ void Simulation::init(GridProvider &gridProvider, BoundaryConditionFactory *bcFa ////////////////////////////////////////////////////////////////////////// if (para->getUseMeasurePoints()) { VF_LOG_INFO("read measure points"); - readMeasurePoints(para.get(), cudaMemoryManager.get()); + ReaderMeasurePoints::readMeasurePoints(para.get(), cudaMemoryManager.get()); } //////////////////////////////////////////////////////////////////////////