From 17ff17ddfa03e7711cdd1f3aec666f8b77ae1687 Mon Sep 17 00:00:00 2001 From: peters <peters@irmb.tu-bs.de> Date: Thu, 24 Jun 2021 18:03:04 +0200 Subject: [PATCH] Remove unused stuff --- .../VirtualFluids_GPU/Init/PositionReader.cpp | 213 +++ .../VirtualFluids_GPU/Init/PositionReader.h | 15 + .../VirtualFluids_GPU/Init/ReadGeometry.cpp | 43 - src/gpu/VirtualFluids_GPU/Init/ReadGeometry.h | 12 - src/gpu/VirtualFluids_GPU/Init/VfReader.cpp | 283 +--- src/gpu/VirtualFluids_GPU/Init/VfReader.h | 31 +- .../Input/PositionReader.cpp | 1183 ----------------- .../VirtualFluids_GPU/Input/PositionReader.h | 44 - .../Input/VtkGeometryReader.cpp | 106 -- .../Input/VtkGeometryReader.h | 33 - .../VirtualFluids_GPU/Input/kFullReader.cpp | 121 -- src/gpu/VirtualFluids_GPU/Input/kFullReader.h | 19 - src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp | 4 - 13 files changed, 234 insertions(+), 1873 deletions(-) create mode 100644 src/gpu/VirtualFluids_GPU/Init/PositionReader.cpp create mode 100644 src/gpu/VirtualFluids_GPU/Init/PositionReader.h delete mode 100644 src/gpu/VirtualFluids_GPU/Init/ReadGeometry.cpp delete mode 100644 src/gpu/VirtualFluids_GPU/Init/ReadGeometry.h delete mode 100644 src/gpu/VirtualFluids_GPU/Input/PositionReader.cpp delete mode 100644 src/gpu/VirtualFluids_GPU/Input/PositionReader.h delete mode 100644 src/gpu/VirtualFluids_GPU/Input/VtkGeometryReader.cpp delete mode 100644 src/gpu/VirtualFluids_GPU/Input/VtkGeometryReader.h delete mode 100644 src/gpu/VirtualFluids_GPU/Input/kFullReader.cpp delete mode 100644 src/gpu/VirtualFluids_GPU/Input/kFullReader.h diff --git a/src/gpu/VirtualFluids_GPU/Init/PositionReader.cpp b/src/gpu/VirtualFluids_GPU/Init/PositionReader.cpp new file mode 100644 index 000000000..034016b81 --- /dev/null +++ b/src/gpu/VirtualFluids_GPU/Init/PositionReader.cpp @@ -0,0 +1,213 @@ +#include "PositionReader.h" + +#include "Parameter/Parameter.h" + +#include <basics/utilities/UbFileInputASCII.h> + + +////////////////////////////////////////////////////////////////////////// +void PositionReader::readFilePropellerCylinderForAlloc(Parameter* para) +{ + UbFileInputASCII in(para->getpropellerCylinder()); + int test = 0, count = 0; + int maxlevel = in.readInteger(); + in.readLine(); + + for (int level = 0; level < maxlevel; level++) + { + para->getParH(level)->QPropeller.kQ = in.readInteger(); + para->getParD(level)->QPropeller.kQ = para->getParH(level)->QPropeller.kQ; + in.readLine(); + if (level == para->getFine()) + { + for(int u=0; u<para->getParH(level)->QPropeller.kQ; u++) + { + test = in.readInteger(); + if (para->getParH(level)->geoSP[test] == GEO_FLUID) + { + count++; + } + //////////////////////////////////////////////////////////////////////// + //for(unsigned int ix3=0; ix3<para->getParH(level)->nz; ix3++) + //{ + // for(unsigned int ix2=0; ix2<para->getParH(level)->ny; ix2++) + // { + // for(unsigned int ix1=0; ix1<para->getParH(level)->nx; ix1++) + // { + // unsigned int m = para->getParH(level)->nx*(para->getParH(level)->ny*ix3 + ix2) + ix1; + // if (para->getParH(level)->k[m] == test) + // { + // if(para->getParH(level)->geo[m] == 1) + // { + // count++; + // } + // } + // } + // } + //} + //count++; + //////////////////////////////////////////////////////////////////////// + in.readDouble(); + in.readDouble(); + in.readDouble(); + in.readLine(); + } + } + else + { + for(int u=0; u<para->getParH(level)->QPropeller.kQ; u++) + { + in.readInteger(); + in.readDouble(); + in.readDouble(); + in.readDouble(); + in.readLine(); + } + } + para->getParH(level)->QPropeller.kQ = count; + para->getParD(level)->QPropeller.kQ = para->getParH(level)->QPropeller.kQ; + } +} +////////////////////////////////////////////////////////////////////////// + + +////////////////////////////////////////////////////////////////////////// +void PositionReader::readFilePropellerCylinder(Parameter* para) +{ + UbFileInputASCII in(para->getpropellerCylinder()); + int test = 0, count = 0; + int maxlevel = in.readInteger(); + in.readLine(); + + for (int level = 0; level < maxlevel; level++) + { + int allnodes = in.readInteger(); + in.readLine(); + if (level == para->getFine()) + { + for(int u=0; u<allnodes; u++) + { + test = in.readInteger(); + //////////////////////////////////////////////////////////////////////// + if (para->getParH(level)->geoSP[test] == GEO_FLUID) + { + para->getParH(level)->QPropeller.k[count] = test; + para->getParH(level)->QPropeller.Vx[count] = (real)in.readDouble(); + para->getParH(level)->QPropeller.Vy[count] = (real)in.readDouble(); + para->getParH(level)->QPropeller.Vz[count] = (real)in.readDouble(); + para->getParH(level)->QPropeller.RhoBC[count] = 0.0f; + count++; + } + else + { + in.readDouble(); + in.readDouble(); + in.readDouble(); + } + //para->getParH(level)->QPropeller.k[count] = test; + //para->getParH(level)->QPropeller.Vx[count] = (real)in.readDouble(); + //para->getParH(level)->QPropeller.Vy[count] = (real)in.readDouble(); + //para->getParH(level)->QPropeller.Vz[count] = (real)in.readDouble(); + //para->getParH(level)->QPropeller.Vx[count] = 0.07f; + //para->getParH(level)->QPropeller.Vy[count] = 0.0f; + //para->getParH(level)->QPropeller.Vz[count] = 0.0f; + in.readLine(); + } + } + else + { + for(int u=0; u<allnodes; u++) + { + in.readInteger(); + in.readDouble(); + in.readDouble(); + in.readDouble(); + in.readLine(); + } + } + printf("allnodes = %d, count = %d\n", allnodes, count); + } +} +////////////////////////////////////////////////////////////////////////// + + +////////////////////////////////////////////////////////////////////////// +void PositionReader::definePropellerQs(Parameter* para) +{ + ////////////////////////////////////////////////////////////////// + //preprocessing + real* QQ = para->getParH(para->getFine())->QPropeller.q27[0]; + unsigned int sizeQ = para->getParH(para->getFine())->QPropeller.kQ; + QforBoundaryConditions Q; + Q.q27[dirE ] = &QQ[dirE *sizeQ]; + Q.q27[dirW ] = &QQ[dirW *sizeQ]; + Q.q27[dirN ] = &QQ[dirN *sizeQ]; + Q.q27[dirS ] = &QQ[dirS *sizeQ]; + Q.q27[dirT ] = &QQ[dirT *sizeQ]; + Q.q27[dirB ] = &QQ[dirB *sizeQ]; + Q.q27[dirNE ] = &QQ[dirNE *sizeQ]; + Q.q27[dirSW ] = &QQ[dirSW *sizeQ]; + Q.q27[dirSE ] = &QQ[dirSE *sizeQ]; + Q.q27[dirNW ] = &QQ[dirNW *sizeQ]; + Q.q27[dirTE ] = &QQ[dirTE *sizeQ]; + Q.q27[dirBW ] = &QQ[dirBW *sizeQ]; + Q.q27[dirBE ] = &QQ[dirBE *sizeQ]; + Q.q27[dirTW ] = &QQ[dirTW *sizeQ]; + Q.q27[dirTN ] = &QQ[dirTN *sizeQ]; + Q.q27[dirBS ] = &QQ[dirBS *sizeQ]; + Q.q27[dirBN ] = &QQ[dirBN *sizeQ]; + Q.q27[dirTS ] = &QQ[dirTS *sizeQ]; + Q.q27[dirZERO] = &QQ[dirZERO*sizeQ]; + Q.q27[dirTNE ] = &QQ[dirTNE *sizeQ]; + Q.q27[dirTSW ] = &QQ[dirTSW *sizeQ]; + Q.q27[dirTSE ] = &QQ[dirTSE *sizeQ]; + Q.q27[dirTNW ] = &QQ[dirTNW *sizeQ]; + Q.q27[dirBNE ] = &QQ[dirBNE *sizeQ]; + Q.q27[dirBSW ] = &QQ[dirBSW *sizeQ]; + Q.q27[dirBSE ] = &QQ[dirBSE *sizeQ]; + Q.q27[dirBNW ] = &QQ[dirBNW *sizeQ]; + ////////////////////////////////////////////////////////////////// + for(int u=0; u<para->getParH(para->getFine())->QPropeller.kQ; u++) + { + for (int dir = dirE; dir<=dirBSW; dir++) + { + if ((dir==dirE) || + (dir==dirNE) || (dir==dirSE) || (dir==dirTE) || (dir==dirBE) || + (dir==dirTNE)|| (dir==dirBNE)|| (dir==dirTSE)|| (dir==dirBSE)) + { + Q.q27[dir][u] = 1.0f; + } + else + { + Q.q27[dir][u] = -1.0f; + } + } + } + ////////////////////////////////////////////////////////////////// +} +////////////////////////////////////////////////////////////////////////// + + +////////////////////////////////////////////////////////////////////////// +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/VirtualFluids_GPU/Init/PositionReader.h b/src/gpu/VirtualFluids_GPU/Init/PositionReader.h new file mode 100644 index 000000000..b12a17c81 --- /dev/null +++ b/src/gpu/VirtualFluids_GPU/Init/PositionReader.h @@ -0,0 +1,15 @@ +#ifndef POSITION_READER_H +#define POSITION_READER_H + +class Parameter; + +class PositionReader +{ +public: + static void readFilePropellerCylinderForAlloc(Parameter* para); + static void readFilePropellerCylinder(Parameter* para); + static void definePropellerQs(Parameter* para); + static void readMeasurePoints(Parameter* para); +}; + +#endif \ No newline at end of file diff --git a/src/gpu/VirtualFluids_GPU/Init/ReadGeometry.cpp b/src/gpu/VirtualFluids_GPU/Init/ReadGeometry.cpp deleted file mode 100644 index 4c1bca688..000000000 --- a/src/gpu/VirtualFluids_GPU/Init/ReadGeometry.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include "Init/ReadGeometry.h" - -//////////////////////////////////////////////////////////////////////////////// -void readGeometry(Parameter* para, vf::gpu::Communicator* comm, int lev, std::string geometryFile) -{ - int dataSizePerGPU = para->getParH(lev)->gridNX * para->getParH(lev)->gridNY * para->getParH(lev)->gridNZ; - unsigned int dataSizeTotal = para->getParH(lev)->gridNX * para->getParH(lev)->gridNY * para->getParH(lev)->gridNZ * para->getNumprocs(); - unsigned int * dataRoot = NULL; - - unsigned int m, l; - if(para->getMyID() == 0) // Are we the root node? - { - dataRoot = new unsigned int[dataSizeTotal]; - VtkGeometryReader::readFile(geometryFile, dataRoot); - } - - std::cout << "dataSizePerGPU size: " << dataSizePerGPU << "\n"; - - unsigned int *dataGPU = new unsigned int[dataSizePerGPU]; - - std::cout << "distributeGeometry: start \n"; - comm->distributeGeometry(dataRoot, dataGPU, dataSizePerGPU); - std::cout << "distributeGeometry: end \n"; - - l=0; - for(unsigned int k=STARTOFFZ ; k < para->getParH(lev)->gridNZ + STARTOFFZ ; k++) - { - for(unsigned int j=STARTOFFY ; j < para->getParH(lev)->gridNY + STARTOFFY ; j++) - { - for(unsigned int i=STARTOFFX ; i < para->getParH(lev)->gridNX + STARTOFFX ; i++) - { - m = para->getParH(lev)->nx* (para->getParH(lev)->ny * k + j) + i; - para->getParH(lev)->geo[m] = dataGPU[l]; - l++; - } - } - } - - if(para->getMyID() == 0) - delete [] dataRoot; - - delete [] dataGPU; -} diff --git a/src/gpu/VirtualFluids_GPU/Init/ReadGeometry.h b/src/gpu/VirtualFluids_GPU/Init/ReadGeometry.h deleted file mode 100644 index 5bc42081e..000000000 --- a/src/gpu/VirtualFluids_GPU/Init/ReadGeometry.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef READ_GEOMETRY_H -#define READ_GEOMETRY_H - -#include "Parameter/Parameter.h" -#include "Communication/Communicator.h" -#include "Input/VtkGeometryReader.h" - -#include <iostream> - -extern "C" void readGeometry(Parameter* para, vf::gpu::Communicator* comm, int lev, std::string geometryFile); - -#endif diff --git a/src/gpu/VirtualFluids_GPU/Init/VfReader.cpp b/src/gpu/VirtualFluids_GPU/Init/VfReader.cpp index 89d214186..aa94cb658 100644 --- a/src/gpu/VirtualFluids_GPU/Init/VfReader.cpp +++ b/src/gpu/VirtualFluids_GPU/Init/VfReader.cpp @@ -1,284 +1,10 @@ #include "Init/VfReader.h" +#include "Parameter/Parameter.h" +#include "Communication/Communicator.h" +#include "Init/PositionReader.h" #include "GPU/CudaMemoryManager.h" -//////////////////////////////////////////////////////////////////////////////// -void readVFkFull(Parameter* para, CudaMemoryManager* cudaManager, const std::string geometryFile) -{ - kFullReader::readFileForAlloc(geometryFile, para); - - for (int lev = 0; lev <= para->getMaxLevel(); lev++) - { - cudaManager->cudaAllocFull(lev); - ////////////////////////////////////////////////////////////////////////// - for(unsigned int ix3=0; ix3<para->getParH(lev)->nz; ix3++) - { - for(unsigned int ix2=0; ix2<para->getParH(lev)->ny; ix2++) - { - for(unsigned int ix1=0; ix1<para->getParH(lev)->nx; ix1++) - { - unsigned int m = para->getParH(lev)->nx*(para->getParH(lev)->ny*ix3 + ix2) + ix1; - para->getParH(lev)->k[m] = 0; - para->getParH(lev)->geo[m] = 16; - } - } - } - } - - kFullReader::readFile(geometryFile, para); -} -//////////////////////////////////////////////////////////////////////////////// - - - -//////////////////////////////////////////////////////////////////////////////// -void readVFgeoFull(Parameter* para, const std::string geometryFile) -{ - kFullReader::readGeoFull(geometryFile, para); - - ////////////////////////////////////////////////////////////////////////// - //for (int lev = 0; lev <= para->getMaxLevel(); lev++) - //{ - // for(unsigned int ix3=0; ix3<para->getParH(lev)->nz; ix3++) - // { - // for(unsigned int ix2=0; ix2<para->getParH(lev)->ny; ix2++) - // { - // for(unsigned int ix1=0; ix1<para->getParH(lev)->nx; ix1++) - // { - // unsigned int m = para->getParH(lev)->nx*(para->getParH(lev)->ny*ix3 + ix2) + ix1; - // if (para->getParH(lev)->geo[m] == 0 || para->getParH(lev)->geo[m] == 15) - // { - // para->getParH(lev)->geo[m] = 16; - // } - // } - // } - // } - //} -} -//////////////////////////////////////////////////////////////////////////////// - - - -//////////////////////////////////////////////////////////////////////////////// -void readVecSP(Parameter* para, CudaMemoryManager* cudaManager) -{ - PositionReader::readFileForAlloc(para->getgeoVec(), para); - - //alloc - for (int lev = 0; lev <= para->getMaxLevel(); lev++) - { - cudaManager->cudaAllocSP(lev); - } - - //geoSP - PositionReader::readFile(para->getgeoVec(), "geoVec", para); - //neighborX - PositionReader::readFile(para->getneighborX(), "neighborX", para); - //neighborY - PositionReader::readFile(para->getneighborY(), "neighborY", para); - //neighborZ - PositionReader::readFile(para->getneighborZ(), "neighborZ", para); - - //Copy Host -> Device - for(int lev = 0; lev <= para->getMaxLevel(); lev++) - { - for(unsigned int u=0; u<para->getParH(lev)->size_Mat_SP; u++) - { - para->getParH(lev)->rho_SP[u] = 0.01f;//+ lev/100.f; - para->getParH(lev)->vx_SP[u] = 0.0f;//+ lev/100.f; - para->getParH(lev)->vy_SP[u] = 0.0f;//+ lev/100.f; - para->getParH(lev)->vz_SP[u] = 0.0f;//+ lev/100.f; - para->getParH(lev)->press_SP[u] = 0.0f;//+ lev/100.f; - //Median - para->getParH(lev)->rho_SP_Med[u] = 0.0f; - para->getParH(lev)->vx_SP_Med[u] = 0.0f; - para->getParH(lev)->vy_SP_Med[u] = 0.0f; - para->getParH(lev)->vz_SP_Med[u] = 0.0f; - para->getParH(lev)->press_SP_Med[u] = 0.0f; - } - cudaManager->cudaCopySP(lev); - } -} -//////////////////////////////////////////////////////////////////////////////// - - - -//////////////////////////////////////////////////////////////////////////////// -void readInterfaceCF(Parameter* para, CudaMemoryManager* cudaManager) -{ - PositionReader::readFileInterfaceForAlloc(para->getscaleCFC(), "CF", para); - - //alloc - for (int lev = 0; lev < para->getMaxLevel(); lev++) - { - cudaManager->cudaAllocInterfaceCF(lev); - } - - //Scale Coarse to Fine - Coarse - PositionReader::readFileInterface(para->getscaleCFC(), "CFC", para); - //Scale Coarse to Fine - Fine - PositionReader::readFileInterface(para->getscaleCFF(), "CFF", para); - - //Copy Host -> Device - for (int lev = 0; lev < para->getMaxLevel(); lev++) - { - cudaManager->cudaCopyInterfaceCF(lev); - } -} -//////////////////////////////////////////////////////////////////////////////// - - - -//////////////////////////////////////////////////////////////////////////////// -void readInterfaceFC(Parameter* para, CudaMemoryManager* cudaManager) -{ - PositionReader::readFileInterfaceForAlloc(para->getscaleFCC(), "FC", para); - - //alloc - for (int lev = 0; lev < para->getMaxLevel(); lev++) - { - cudaManager->cudaAllocInterfaceFC(lev); - } - - //Scale Fine to Coarse - Coarse - PositionReader::readFileInterface(para->getscaleFCC(), "FCC", para); - //Scale Fine to Coarse - Fine - PositionReader::readFileInterface(para->getscaleFCF(), "FCF", para); - - //Copy Host -> Device - for (int lev = 0; lev < para->getMaxLevel(); lev++) - { - cudaManager->cudaCopyInterfaceFC(lev); - } -} -//////////////////////////////////////////////////////////////////////////////// - - - -//////////////////////////////////////////////////////////////////////////////// -void readInterfaceOffCF(Parameter* para, CudaMemoryManager* cudaManager, const std::string geometryFile) -{ - PositionReader::readFileInterfaceOffsetForAlloc(geometryFile, "CF", para); - - for (int lev = 0; lev < para->getMaxLevel(); lev++) - { - cudaManager->cudaAllocInterfaceOffCF(lev); - } - - PositionReader::readFileInterfaceOffset(geometryFile, "CF", para); - - for (int lev = 0; lev < para->getMaxLevel(); lev++) - { - cudaManager->cudaCopyInterfaceOffCF(lev); - } -} -//////////////////////////////////////////////////////////////////////////////// - - - -//////////////////////////////////////////////////////////////////////////////// -void readInterfaceOffFC(Parameter* para, CudaMemoryManager* cudaManager, const std::string geometryFile) -{ - PositionReader::readFileInterfaceOffsetForAlloc(geometryFile, "FC", para); - - for (int lev = 0; lev < para->getMaxLevel(); lev++) - { - cudaManager->cudaAllocInterfaceOffFC(lev); - } - - PositionReader::readFileInterfaceOffset(geometryFile, "FC", para); - - for (int lev = 0; lev < para->getMaxLevel(); lev++) - { - cudaManager->cudaCopyInterfaceOffFC(lev); - } -} -//////////////////////////////////////////////////////////////////////////////// - - - -//////////////////////////////////////////////////////////////////////////////// -void readNoSlipBc(Parameter* para, CudaMemoryManager* cudaManager) -{ - PositionReader::readFileNoSlipBcForAlloc(para->getnoSlipBcPos(), para); - PositionReader::readFileNoSlipBcQreadForAlloc(para->getnoSlipBcQs(), para); - - for (int lev = 0; lev <= para->getMaxLevel(); lev++) - { - cudaManager->cudaAllocWallBC(lev); - } - - PositionReader::readFileNoSlipBcPos(para->getnoSlipBcPos(), para); - PositionReader::readFileNoSlipBcValue(para->getnoSlipBcValue(), para); - PositionReader::readFileNoSlipBcQs(para->getnoSlipBcQs(), para); - - PositionReader::findQs(para); - - for (int lev = 0; lev <= para->getMaxLevel(); lev++) - { - cudaManager->cudaCopyWallBC(lev); - } -} -//////////////////////////////////////////////////////////////////////////////// - - - -//////////////////////////////////////////////////////////////////////////////// -void readSlipBc(Parameter* para, CudaMemoryManager* cudaManager) -{ - PositionReader::readFileSlipBcForAlloc(para->getslipBcPos(), para); - PositionReader::readFileSlipBcQreadForAlloc(para->getslipBcQs(), para); - - for (int lev = 0; lev <= para->getMaxLevel(); lev++) - { - cudaManager->cudaAllocSlipBC(lev); - } - - PositionReader::readFileSlipBcPos(para->getslipBcPos(), para); - PositionReader::readFileSlipBcValue(para->getslipBcValue(), para); - PositionReader::readFileSlipBcQs(para->getslipBcQs(), para); - - PositionReader::findSlipQs(para); - - for (int lev = 0; lev <= para->getMaxLevel(); lev++) - { - cudaManager->cudaCopySlipBC(lev); - } -} -//////////////////////////////////////////////////////////////////////////////// - - - -//////////////////////////////////////////////////////////////////////////////// -void readPressBc(Parameter* para, CudaMemoryManager* cudaManager) -{ - PositionReader::readFilePressBcForAlloc(para->getpressBcPos(), para); - PositionReader::readFilePressBcQreadForAlloc(para->getpressBcQs(), para); - - for (int lev = 0; lev <= para->getMaxLevel(); lev++) - { - cudaManager->cudaAllocPress(lev); - } - //only Coarse - //para->cudaAllocPress(para->getCoarse()); - - PositionReader::readFilePressBcPos(para->getpressBcPos(), para); - PositionReader::readFilePressBcValue(para->getpressBcValue(), para); - PositionReader::readFilePressBcQs(para->getpressBcQs(), para); - - PositionReader::findPressQs(para); - - for (int lev = 0; lev <= para->getMaxLevel(); lev++) - { - cudaManager->cudaCopyPress(lev); - } - //only Coarse - //para->cudaCopyPress(para->getCoarse()); -} -//////////////////////////////////////////////////////////////////////////////// - - - //////////////////////////////////////////////////////////////////////////////// void readPropellerCylinder(Parameter* para, CudaMemoryManager* cudaManager) { @@ -291,9 +17,6 @@ void readPropellerCylinder(Parameter* para, CudaMemoryManager* cudaManager) cudaManager->cudaCopyVeloPropeller(para->getFine()); } -//////////////////////////////////////////////////////////////////////////////// - - //////////////////////////////////////////////////////////////////////////////// void readMeasurePoints(Parameter* para, CudaMemoryManager* cudaManager) diff --git a/src/gpu/VirtualFluids_GPU/Init/VfReader.h b/src/gpu/VirtualFluids_GPU/Init/VfReader.h index 614c269d3..c7d95e8e7 100644 --- a/src/gpu/VirtualFluids_GPU/Init/VfReader.h +++ b/src/gpu/VirtualFluids_GPU/Init/VfReader.h @@ -1,38 +1,13 @@ #ifndef VF_READER_H #define VF_READER_H -#include "Parameter/Parameter.h" -#include "Communication/Communicator.h" -#include "Input/kFullReader.h" -#include "Input/PositionReader.h" -//#include "GPU/GPU_Interface.h" - -#include <iostream> class CudaMemoryManager; +class Parameter; -extern "C" void readVFkFull(Parameter* para, CudaMemoryManager* cudaManager, const std::string geometryFile); - -extern "C" void readVFgeoFull(Parameter* para, const std::string geometryFile); - -extern "C" void readVecSP(Parameter* para, CudaMemoryManager* cudaManager); - -extern "C" void readInterfaceCF(Parameter* para, CudaMemoryManager* cudaManager); - -extern "C" void readInterfaceFC(Parameter* para, CudaMemoryManager* cudaManager); - -extern "C" void readInterfaceOffCF(Parameter* para, CudaMemoryManager* cudaManager, const std::string geometryFile); - -extern "C" void readInterfaceOffFC(Parameter* para, CudaMemoryManager* cudaManager, const std::string geometryFile); - -extern "C" void readNoSlipBc(Parameter* para, CudaMemoryManager* cudaManager); - -extern "C" void readSlipBc(Parameter* para, CudaMemoryManager* cudaManager); - -extern "C" void readPressBc(Parameter* para, CudaMemoryManager* cudaManager); -extern "C" void readPropellerCylinder(Parameter* para, CudaMemoryManager* cudaManager); +void readPropellerCylinder(Parameter* para, CudaMemoryManager* cudaManager); -extern "C" void readMeasurePoints(Parameter* para, CudaMemoryManager* cudaManager); +void readMeasurePoints(Parameter* para, CudaMemoryManager* cudaManager); #endif diff --git a/src/gpu/VirtualFluids_GPU/Input/PositionReader.cpp b/src/gpu/VirtualFluids_GPU/Input/PositionReader.cpp deleted file mode 100644 index b2a942c9a..000000000 --- a/src/gpu/VirtualFluids_GPU/Input/PositionReader.cpp +++ /dev/null @@ -1,1183 +0,0 @@ -#include "PositionReader.h" - -#include "basics/utilities/UbFileInputASCII.h" - -// static const int E = dirE; //static const int E = 0; -// static const int W = dirW; //static const int W = 1; -// static const int N = dirN; //static const int N = 2; -// static const int S = dirS; //static const int S = 3; -// static const int T = dirT; //static const int T = 4; -// static const int B = dirB; //static const int B = 5; -// static const int NE = dirNE; //static const int NE = 6; -// static const int SW = dirSW; //static const int SW = 7; -// static const int SE = dirSE; //static const int SE = 8; -// static const int NW = dirNW; //static const int NW = 9; -// static const int TE = dirTE; //static const int TE = 10; -// static const int BW = dirBW; //static const int BW = 11; -// static const int BE = dirBE; //static const int BE = 12; -// static const int TW = dirTW; //static const int TW = 13; -// static const int TN = dirTN; //static const int TN = 14; -// static const int BS = dirBS; //static const int BS = 15; -// static const int BN = dirBN; //static const int BN = 16; -// static const int TS = dirTS; //static const int TS = 17; -// static const int TNE = dirTNE; //static const int TNE = 18; -// static const int TNW = dirTNW; //static const int TNW = 19; -// static const int TSE = dirTSE; //static const int TSE = 20; -// static const int TSW = dirTSW; //static const int TSW = 21; -// static const int BNE = dirBNE; //static const int BNE = 22; -// static const int BNW = dirBNW; //static const int BNW = 23; -// static const int BSE = dirBSE; //static const int BSE = 24; -// static const int BSW = dirBSW; //static const int BSW = 25; -// static const int ZERO = dirZERO; //static const int ZERO = 26; - - -static const int INV_E = dirE; //= W; -static const int INV_W = dirW; //= E; -static const int INV_N = dirN; //= S; -static const int INV_S = dirS; //= N; -static const int INV_T = dirT; //= B; -static const int INV_B = dirB; //= T; -static const int INV_NE = dirNE; //= SW; -static const int INV_SW = dirSW; //= NE; -static const int INV_SE = dirSE; //= NW; -static const int INV_NW = dirNW; //= SE; -static const int INV_TE = dirTE; //= BW; -static const int INV_BW = dirBW; //= TE; -static const int INV_BE = dirBE; //= TW; -static const int INV_TW = dirTW; //= BE; -static const int INV_TN = dirTN; //= BS; -static const int INV_BS = dirBS; //= TN; -static const int INV_BN = dirBN; //= TS; -static const int INV_TS = dirTS; //= BN; -static const int INV_TNE = dirTNE; //= BSW; -static const int INV_TNW = dirTNW; //= BSE; -static const int INV_TSE = dirTSE; //= BNW; -static const int INV_TSW = dirTSW; //= BNE; -static const int INV_BNE = dirBNE; //= TSW; -static const int INV_BNW = dirBNW; //= TSE; -static const int INV_BSE = dirBSE; //= TNW; -static const int INV_BSW = dirBSW; //= TNE; -static const int INV_ZERO= dirZERO; //= ZERO; - -//static const int INVDIR[ENDDIR+1]; - -const int INVDIR[] = { INV_E, - INV_W, - INV_N, - INV_S, - INV_T, - INV_B, - INV_NE, - INV_SW, - INV_SE, - INV_NW, - INV_TE, - INV_BW, - INV_BE, - INV_TW, - INV_TN, - INV_BS, - INV_BN, - INV_TS, //alt Bezug neu - INV_BNE, //INV_TNE = BSW = 25 = dirTSW = TSW = INV_BNE - INV_TSE, //INV_TNW = BSE = 24 = dirBNW = BNW = INV_TSE - INV_BSE, //INV_TSE = BNW = 23 = dirTNW = TNW = INV_BSE - INV_TNW, //INV_TSW = BNE = 22 = dirBSE = BSE = INV_TNW - INV_BNW, //INV_BNE = TSW = 21 = dirTSE = TSE = INV_BNW - INV_TSW, //INV_BNW = TSE = 20 = dirBNE = BNE = INV_TSW - INV_BSW, //INV_BSE = TNW = 19 = dirTNE = TNE = INV_BSW - INV_ZERO, //INV_BSW = TNE = 18 = dirZERO = ZERO= INV_ZERO - INV_TNE}; //INV_ZERO= ZERO = 26 = dirBSW = BSW = INV_TNE - -static const int optionDigits = 2; //--> 2 bits f�r secondary Option -static const long long maxOptionVal = ( 1<<optionDigits ) - 1; //2^3-1 -> 7 -//float q[27]; -long long noslipBoundaryFlags; - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFileForAlloc(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level <= maxlevel; level++) - { - //Host - para->getParH(level)->size_Mat_SP = in.readInteger(); - para->getParH(level)->mem_size_real_SP = sizeof(real ) * para->getParH(level)->size_Mat_SP; - para->getParH(level)->mem_size_int_SP = sizeof(unsigned int) * para->getParH(level)->size_Mat_SP; - //Device - para->getParD(level)->size_Mat_SP = para->getParH(level)->size_Mat_SP; - para->getParD(level)->mem_size_int_SP = sizeof(unsigned int) * para->getParD(level)->size_Mat_SP; - para->getParD(level)->mem_size_real_SP = sizeof(real ) * para->getParD(level)->size_Mat_SP; - - in.readLine(); - for(unsigned int u = /*1*/0; u<para->getParH(level)->size_Mat_SP; u++) - { - in.readInteger(); - } - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFile(const std::string fileName, std::string Type, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - if (Type == "geoVec") - { - for (int level = 0; level <= maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u = 0; u<para->getParH(level)->size_Mat_SP; u++) - { - para->getParH(level)->geoSP[u] = in.readInteger(); - } - in.readLine(); - } - } - else if (Type == "neighborX") - { - for (int level = 0; level <= maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u = 0; u<para->getParH(level)->size_Mat_SP; u++) - { - //para->getParH(level)->neighborZ_SP[u] = in.readInteger(); - para->getParH(level)->neighborX_SP[u] = in.readInteger(); - } - in.readLine(); - } - } - else if (Type == "neighborY") - { - for (int level = 0; level <= maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u = 0; u<para->getParH(level)->size_Mat_SP; u++) - { - para->getParH(level)->neighborY_SP[u] = in.readInteger(); - } - in.readLine(); - } - } - else if (Type == "neighborZ") - { - for (int level = 0; level <= maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u = /*1*/0; u<para->getParH(level)->size_Mat_SP; u++) - { - //para->getParH(level)->neighborX_SP[u] = in.readInteger(); - para->getParH(level)->neighborZ_SP[u] = in.readInteger(); - } - in.readLine(); - } - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFileInterfaceForAlloc(const std::string fileName, std::string Type, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - unsigned int test = 0; - - for (int level = 0; level < maxlevel; level++) - { - if (Type == "CF") - { - para->getParH(level)->K_CF = in.readInteger(); - para->getParD(level)->K_CF = para->getParH(level)->K_CF; - para->getParH(level)->intCF.kCF = para->getParH(level)->K_CF; - para->getParD(level)->intCF.kCF = para->getParH(level)->K_CF; - para->getParH(level)->mem_size_kCF = sizeof(unsigned int) * para->getParH(level)->K_CF; - para->getParD(level)->mem_size_kCF = sizeof(unsigned int) * para->getParD(level)->K_CF; - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->K_CF; u++) - { - test = in.readInteger(); - if (test>=para->getParH(level)->size_Mat_SP) - { - printf("CF: das geht doch nicht!!!"); - } - } - } - else if (Type == "FC") - { - para->getParH(level)->K_FC = in.readInteger(); - para->getParD(level)->K_FC = para->getParH(level)->K_FC; - para->getParH(level)->intFC.kFC = para->getParH(level)->K_FC; - para->getParD(level)->intFC.kFC = para->getParH(level)->K_FC; - para->getParH(level)->mem_size_kFC = sizeof(unsigned int) * para->getParH(level)->K_FC; - para->getParD(level)->mem_size_kFC = sizeof(unsigned int) * para->getParD(level)->K_FC; - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->K_FC; u++) - { - test = in.readInteger(); - if (test>=para->getParH(level)->size_Mat_SP) - { - printf("FC: das geht doch nicht!!!"); - } - } - } - - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFileInterface(const std::string fileName, std::string Type, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - if (Type == "CFC") - { - for (int level = 0; level < maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->K_CF; u++) - { - para->getParH(level)->intCF.ICellCFC[u] = in.readInteger(); - } - in.readLine(); - } - } - else if (Type == "CFF") - { - for (int level = 0; level < maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->K_CF; u++) - { - para->getParH(level)->intCF.ICellCFF[u] = in.readInteger(); - } - in.readLine(); - } - } - else if (Type == "FCC") - { - for (int level = 0; level < maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->K_FC; u++) - { - para->getParH(level)->intFC.ICellFCC[u] = in.readInteger(); - } - in.readLine(); - } - } - else if (Type == "FCF") - { - for (int level = 0; level < maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->K_FC; u++) - { - para->getParH(level)->intFC.ICellFCF[u] = in.readInteger(); - } - in.readLine(); - } - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFileInterfaceOffsetForAlloc(const std::string fileName, std::string Type, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - if (Type == "CF") - { - para->getParH(level)->K_CF = in.readInteger(); - para->getParD(level)->K_CF = para->getParH(level)->K_CF; - para->getParH(level)->intCF.kCF = para->getParH(level)->K_CF; - para->getParD(level)->intCF.kCF = para->getParH(level)->K_CF; - para->getParH(level)->mem_size_kCF_off = sizeof(real) * para->getParH(level)->K_CF; - para->getParD(level)->mem_size_kCF_off = sizeof(real) * para->getParD(level)->K_CF; - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->K_CF; u++) - { - in.readDouble(); - in.readDouble(); - in.readDouble(); - } - } - else if (Type == "FC") - { - para->getParH(level)->K_FC = in.readInteger(); - para->getParD(level)->K_FC = para->getParH(level)->K_FC; - para->getParH(level)->intFC.kFC = para->getParH(level)->K_FC; - para->getParD(level)->intFC.kFC = para->getParH(level)->K_FC; - para->getParH(level)->mem_size_kFC_off = sizeof(real) * para->getParH(level)->K_FC; - para->getParD(level)->mem_size_kFC_off = sizeof(real) * para->getParD(level)->K_FC; - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->K_FC; u++) - { - //in.readInteger(); - in.readDouble(); - in.readDouble(); - in.readDouble(); - } - } - - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFileInterfaceOffset(const std::string fileName, std::string Type, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - if (Type == "CF") - { - for (int level = 0; level < maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->K_CF; u++) - { - para->getParH(level)->offCF.xOffCF[u] = (real)in.readDouble(); - para->getParH(level)->offCF.yOffCF[u] = (real)in.readDouble(); - para->getParH(level)->offCF.zOffCF[u] = (real)in.readDouble(); - } - in.readLine(); - } - } - else if (Type == "FC") - { - for (int level = 0; level < maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->K_FC; u++) - { - //para->getParH(level)->offFC.xOffFC[u] = 0.0; - //para->getParH(level)->offFC.yOffFC[u] = 0.0; - //para->getParH(level)->offFC.zOffFC[u] = 0.0; - //in.readInteger(); - para->getParH(level)->offFC.xOffFC[u] = (real)in.readDouble(); - para->getParH(level)->offFC.yOffFC[u] = (real)in.readDouble(); - para->getParH(level)->offFC.zOffFC[u] = (real)in.readDouble(); - } - in.readLine(); - } - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFileNoSlipBcForAlloc(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - para->getParH(level)->kQ = in.readInteger(); - para->getParD(level)->kQ = para->getParH(level)->kQ; - para->getParH(level)->QWall.kQ = para->getParH(level)->kQ; - para->getParD(level)->QWall.kQ = para->getParH(level)->kQ; - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->kQ; u++) - { - in.readInteger(); - } - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFileNoSlipBcQreadForAlloc(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - para->getParH(level)->kQread = in.readInteger(); - para->getParD(level)->kQread = para->getParH(level)->kQread; - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->kQread; u++) - { - in.readFloat(); - } - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFileNoSlipBcPos(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->kQ; u++) - { - para->getParH(level)->QWall.k[u] = in.readInteger(); - } - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFileNoSlipBcQs(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - real test; - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->kQread; u++) - { - test = (real)in.readFloat(); - //if (test <= 0. && test >= -1.) - //{ - // test = -0.5; - //} - //else if (test >= 0. && test <= 1.) - //{ - // test = 0.5; - //} - //else - //{ - // test = 100.; - //} - - ////T�ST -> shit - //para->getParH(level)->QWall.qread[u] = 0.5f; - //orig - para->getParH(level)->QWall.qread[u] = test; - //para->getParH(level)->QWall.qread[u] = (real)in.readFloat(); - } - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFileNoSlipBcValue(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->kQ; u++) - { - para->getParH(level)->QWall.valueQ[u] = in.readLongLong(); - } - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::findQs(Parameter* para) -{ - for (int lev = 0; lev <= para->getMaxLevel(); lev++) - { - ////////////////////////////////////////////////////////////////// - //preprocessing - real* QQ = para->getParH(lev)->QWall.q27[0]; - unsigned int sizeQ = para->getParH(lev)->kQ; - QforBoundaryConditions Q; - Q.q27[dirE ] = &QQ[dirE *sizeQ]; - Q.q27[dirW ] = &QQ[dirW *sizeQ]; - Q.q27[dirN ] = &QQ[dirN *sizeQ]; - Q.q27[dirS ] = &QQ[dirS *sizeQ]; - Q.q27[dirT ] = &QQ[dirT *sizeQ]; - Q.q27[dirB ] = &QQ[dirB *sizeQ]; - Q.q27[dirNE ] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW ] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE ] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW ] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE ] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW ] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE ] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW ] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN ] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS ] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN ] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS ] = &QQ[dirTS *sizeQ]; - Q.q27[dirZERO] = &QQ[dirZERO*sizeQ]; - Q.q27[dirTNE ] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW ] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE ] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW ] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE ] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW ] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE ] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW ] = &QQ[dirBNW *sizeQ]; - ////////////////////////////////////////////////////////////////// - //set all to -1.0 - for(unsigned int u=0; u<para->getParH(lev)->kQ; u++) - { - for (int dir = dirE; dir<=dirBSW; dir++) - { - Q.q27[dir][u] = -1.0f; - } - } - ////////////////////////////////////////////////////////////////// - //find q-directions - unsigned int v = 0; - for(unsigned int u=0; u<para->getParH(lev)->kQ; u++) - { - noslipBoundaryFlags = para->getParH(lev)->QWall.valueQ[u]; - //noSlipBoundaryValueVec[level].push_back(bc->getNoSlipBoundary()); - for(int dir=dirE;dir<=dirBSW;dir++) - { - if(( ( noslipBoundaryFlags>>(optionDigits*dir) ) & maxOptionVal ) != 0 /*hasNoSlipBoundaryFlag(dir)*/) - { - Q.q27[INVDIR[dir]][u] = para->getParH(lev)->QWall.qread[v]; - //noSlipBoundaryQsVec[level].push_back(bc->getQ(LBMD3Q27System::INVDIR[dir])); - v++; - } - } - } - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFileSlipBcForAlloc(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - para->getParH(level)->kSlipQ = in.readInteger(); - para->getParD(level)->kSlipQ = para->getParH(level)->kSlipQ; - para->getParH(level)->QSlip.kQ = para->getParH(level)->kSlipQ; - para->getParD(level)->QSlip.kQ = para->getParH(level)->kSlipQ; - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->kSlipQ; u++) - { - in.readInteger(); - } - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFileSlipBcQreadForAlloc(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - para->getParH(level)->kSlipQread = in.readInteger(); - para->getParD(level)->kSlipQread = para->getParH(level)->kSlipQread; - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->kSlipQread; u++) - { - in.readFloat(); - } - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFileSlipBcPos(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->kSlipQ; u++) - { - para->getParH(level)->QSlip.k[u] = in.readInteger(); - } - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFileSlipBcQs(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->kSlipQread; u++) - { - para->getParH(level)->QSlip.qread[u] = (real)in.readFloat(); - } - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFileSlipBcValue(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->kSlipQ; u++) - { - para->getParH(level)->QSlip.valueQ[u] = in.readLongLong(); - } - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::findSlipQs(Parameter* para) -{ - for (int lev = 0; lev <= para->getMaxLevel(); lev++) - { - ////////////////////////////////////////////////////////////////// - //preprocessing - real* QQ = para->getParH(lev)->QSlip.q27[0]; - unsigned int sizeQ = para->getParH(lev)->kSlipQ; - QforBoundaryConditions Q; - Q.q27[dirE ] = &QQ[dirE *sizeQ]; - Q.q27[dirW ] = &QQ[dirW *sizeQ]; - Q.q27[dirN ] = &QQ[dirN *sizeQ]; - Q.q27[dirS ] = &QQ[dirS *sizeQ]; - Q.q27[dirT ] = &QQ[dirT *sizeQ]; - Q.q27[dirB ] = &QQ[dirB *sizeQ]; - Q.q27[dirNE ] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW ] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE ] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW ] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE ] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW ] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE ] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW ] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN ] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS ] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN ] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS ] = &QQ[dirTS *sizeQ]; - Q.q27[dirZERO] = &QQ[dirZERO*sizeQ]; - Q.q27[dirTNE ] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW ] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE ] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW ] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE ] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW ] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE ] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW ] = &QQ[dirBNW *sizeQ]; - ////////////////////////////////////////////////////////////////// - //set all to -1.0 - for(unsigned int u=0; u<para->getParH(lev)->kSlipQ; u++) - { - for (int dir = dirE; dir<=dirBSW; dir++) - { - Q.q27[dir][u] = -1.0f; - } - } - ////////////////////////////////////////////////////////////////// - //find q-directions - unsigned int v = 0; - for(unsigned int u=0; u<para->getParH(lev)->kSlipQ; u++) - { - noslipBoundaryFlags = para->getParH(lev)->QSlip.valueQ[u]; - for(int dir=dirE;dir<=dirBSW;dir++) - { - if(( ( noslipBoundaryFlags>>(optionDigits*dir) ) & maxOptionVal ) != 0 ) - { - Q.q27[INVDIR[dir]][u] = para->getParH(lev)->QSlip.qread[v]; - v++; - } - } - } - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFilePressBcForAlloc(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - int test = 1; - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - test = in.readInteger(); - //if (test==0) - //{ - // printf("testlevel = %d\n", level); - // //continue; - //} - para->getParH(level)->kPressQ = test; - para->getParD(level)->kPressQ = para->getParH(level)->kPressQ; - para->getParH(level)->QPress.kQ = para->getParH(level)->kPressQ; - para->getParD(level)->QPress.kQ = para->getParH(level)->kPressQ; - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->kPressQ; u++) - { - in.readInteger(); - } - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFilePressBcQreadForAlloc(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - int test = 1; - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - test = in.readInteger(); - //if (test==0) - //{ - // printf("testlevel1 = %d\n", level); - // //continue; - //} - para->getParH(level)->kPressQread = test; - para->getParD(level)->kPressQread = para->getParH(level)->kPressQread; - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->kPressQread; u++) - { - in.readFloat(); - } - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFilePressBcPos(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->kPressQ; u++) - { - if (u==0) - { - para->getParH(level)->QPress.k[u] = in.readInteger();//0; - /*in.readInteger();*/ - } - else - { - para->getParH(level)->QPress.k[u] = in.readInteger(); - } - //setRhoBC - para->getParH(level)->QPress.RhoBC[u] = (real)0.f; - } - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFilePressBcQs(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->kPressQread; u++) - { - para->getParH(level)->QPress.qread[u] = (real)in.readFloat(); - } - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFilePressBcValue(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - in.readInteger(); - in.readLine(); - for(unsigned int u=0; u<para->getParH(level)->kPressQ; u++) - { - para->getParH(level)->QPress.valueQ[u] = in.readLongLong(); - } - in.readLine(); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::findPressQs(Parameter* para) -{ - for (int lev = 0; lev <= para->getMaxLevel(); lev++) - { - ////////////////////////////////////////////////////////////////// - //preprocessing - real* QQ = para->getParH(lev)->QPress.q27[0]; - unsigned int sizeQ = para->getParH(lev)->kPressQ; - QforBoundaryConditions Q; - Q.q27[dirE ] = &QQ[dirE *sizeQ]; - Q.q27[dirW ] = &QQ[dirW *sizeQ]; - Q.q27[dirN ] = &QQ[dirN *sizeQ]; - Q.q27[dirS ] = &QQ[dirS *sizeQ]; - Q.q27[dirT ] = &QQ[dirT *sizeQ]; - Q.q27[dirB ] = &QQ[dirB *sizeQ]; - Q.q27[dirNE ] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW ] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE ] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW ] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE ] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW ] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE ] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW ] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN ] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS ] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN ] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS ] = &QQ[dirTS *sizeQ]; - Q.q27[dirZERO] = &QQ[dirZERO*sizeQ]; - Q.q27[dirTNE ] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW ] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE ] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW ] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE ] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW ] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE ] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW ] = &QQ[dirBNW *sizeQ]; - ////////////////////////////////////////////////////////////////// - //set all to -1.0 - for(unsigned int u=0; u<para->getParH(lev)->kPressQ; u++) - { - for (int dir = dirE; dir<=dirBSW; dir++) - { - Q.q27[dir][u] = -1.0f; - } - } - ////////////////////////////////////////////////////////////////// - //find q-directions - unsigned int v = 0; - for(unsigned int u=0; u<para->getParH(lev)->kPressQ; u++) - { - noslipBoundaryFlags = para->getParH(lev)->QPress.valueQ[u]; - for(int dir=dirE;dir<=dirBSW;dir++) - { - if(( ( noslipBoundaryFlags>>(optionDigits*dir) ) & maxOptionVal ) != 0 ) - { - Q.q27[INVDIR[dir]][u] = para->getParH(lev)->QPress.qread[v]; - v++; - } - } - } - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFilePropellerCylinderForAlloc(Parameter* para) -{ - UbFileInputASCII in(para->getpropellerCylinder()); - int test = 0, count = 0; - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - para->getParH(level)->QPropeller.kQ = in.readInteger(); - para->getParD(level)->QPropeller.kQ = para->getParH(level)->QPropeller.kQ; - in.readLine(); - if (level == para->getFine()) - { - for(int u=0; u<para->getParH(level)->QPropeller.kQ; u++) - { - test = in.readInteger(); - if (para->getParH(level)->geoSP[test] == GEO_FLUID) - { - count++; - } - //////////////////////////////////////////////////////////////////////// - //for(unsigned int ix3=0; ix3<para->getParH(level)->nz; ix3++) - //{ - // for(unsigned int ix2=0; ix2<para->getParH(level)->ny; ix2++) - // { - // for(unsigned int ix1=0; ix1<para->getParH(level)->nx; ix1++) - // { - // unsigned int m = para->getParH(level)->nx*(para->getParH(level)->ny*ix3 + ix2) + ix1; - // if (para->getParH(level)->k[m] == test) - // { - // if(para->getParH(level)->geo[m] == 1) - // { - // count++; - // } - // } - // } - // } - //} - //count++; - //////////////////////////////////////////////////////////////////////// - in.readDouble(); - in.readDouble(); - in.readDouble(); - in.readLine(); - } - } - else - { - for(int u=0; u<para->getParH(level)->QPropeller.kQ; u++) - { - in.readInteger(); - in.readDouble(); - in.readDouble(); - in.readDouble(); - in.readLine(); - } - } - para->getParH(level)->QPropeller.kQ = count; - para->getParD(level)->QPropeller.kQ = para->getParH(level)->QPropeller.kQ; - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::readFilePropellerCylinder(Parameter* para) -{ - UbFileInputASCII in(para->getpropellerCylinder()); - int test = 0, count = 0; - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level < maxlevel; level++) - { - int allnodes = in.readInteger(); - in.readLine(); - if (level == para->getFine()) - { - for(int u=0; u<allnodes; u++) - { - test = in.readInteger(); - //////////////////////////////////////////////////////////////////////// - if (para->getParH(level)->geoSP[test] == GEO_FLUID) - { - para->getParH(level)->QPropeller.k[count] = test; - para->getParH(level)->QPropeller.Vx[count] = (real)in.readDouble(); - para->getParH(level)->QPropeller.Vy[count] = (real)in.readDouble(); - para->getParH(level)->QPropeller.Vz[count] = (real)in.readDouble(); - para->getParH(level)->QPropeller.RhoBC[count] = 0.0f; - count++; - } - else - { - in.readDouble(); - in.readDouble(); - in.readDouble(); - } - //para->getParH(level)->QPropeller.k[count] = test; - //para->getParH(level)->QPropeller.Vx[count] = (real)in.readDouble(); - //para->getParH(level)->QPropeller.Vy[count] = (real)in.readDouble(); - //para->getParH(level)->QPropeller.Vz[count] = (real)in.readDouble(); - //para->getParH(level)->QPropeller.Vx[count] = 0.07f; - //para->getParH(level)->QPropeller.Vy[count] = 0.0f; - //para->getParH(level)->QPropeller.Vz[count] = 0.0f; - in.readLine(); - } - } - else - { - for(int u=0; u<allnodes; u++) - { - in.readInteger(); - in.readDouble(); - in.readDouble(); - in.readDouble(); - in.readLine(); - } - } - printf("allnodes = %d, count = %d\n", allnodes, count); - } -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -void PositionReader::definePropellerQs(Parameter* para) -{ - ////////////////////////////////////////////////////////////////// - //preprocessing - real* QQ = para->getParH(para->getFine())->QPropeller.q27[0]; - unsigned int sizeQ = para->getParH(para->getFine())->QPropeller.kQ; - QforBoundaryConditions Q; - Q.q27[dirE ] = &QQ[dirE *sizeQ]; - Q.q27[dirW ] = &QQ[dirW *sizeQ]; - Q.q27[dirN ] = &QQ[dirN *sizeQ]; - Q.q27[dirS ] = &QQ[dirS *sizeQ]; - Q.q27[dirT ] = &QQ[dirT *sizeQ]; - Q.q27[dirB ] = &QQ[dirB *sizeQ]; - Q.q27[dirNE ] = &QQ[dirNE *sizeQ]; - Q.q27[dirSW ] = &QQ[dirSW *sizeQ]; - Q.q27[dirSE ] = &QQ[dirSE *sizeQ]; - Q.q27[dirNW ] = &QQ[dirNW *sizeQ]; - Q.q27[dirTE ] = &QQ[dirTE *sizeQ]; - Q.q27[dirBW ] = &QQ[dirBW *sizeQ]; - Q.q27[dirBE ] = &QQ[dirBE *sizeQ]; - Q.q27[dirTW ] = &QQ[dirTW *sizeQ]; - Q.q27[dirTN ] = &QQ[dirTN *sizeQ]; - Q.q27[dirBS ] = &QQ[dirBS *sizeQ]; - Q.q27[dirBN ] = &QQ[dirBN *sizeQ]; - Q.q27[dirTS ] = &QQ[dirTS *sizeQ]; - Q.q27[dirZERO] = &QQ[dirZERO*sizeQ]; - Q.q27[dirTNE ] = &QQ[dirTNE *sizeQ]; - Q.q27[dirTSW ] = &QQ[dirTSW *sizeQ]; - Q.q27[dirTSE ] = &QQ[dirTSE *sizeQ]; - Q.q27[dirTNW ] = &QQ[dirTNW *sizeQ]; - Q.q27[dirBNE ] = &QQ[dirBNE *sizeQ]; - Q.q27[dirBSW ] = &QQ[dirBSW *sizeQ]; - Q.q27[dirBSE ] = &QQ[dirBSE *sizeQ]; - Q.q27[dirBNW ] = &QQ[dirBNW *sizeQ]; - ////////////////////////////////////////////////////////////////// - for(int u=0; u<para->getParH(para->getFine())->QPropeller.kQ; u++) - { - for (int dir = dirE; dir<=dirBSW; dir++) - { - if ((dir==dirE) || - (dir==dirNE) || (dir==dirSE) || (dir==dirTE) || (dir==dirBE) || - (dir==dirTNE)|| (dir==dirBNE)|| (dir==dirTSE)|| (dir==dirBSE)) - { - Q.q27[dir][u] = 1.0f; - } - else - { - Q.q27[dir][u] = -1.0f; - } - } - } - ////////////////////////////////////////////////////////////////// -} -////////////////////////////////////////////////////////////////////////// - - -////////////////////////////////////////////////////////////////////////// -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/VirtualFluids_GPU/Input/PositionReader.h b/src/gpu/VirtualFluids_GPU/Input/PositionReader.h deleted file mode 100644 index 610d2fb5e..000000000 --- a/src/gpu/VirtualFluids_GPU/Input/PositionReader.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef POSITION_READER_H -#define POSITION_READER_H - -#include <string> -#include "Parameter/Parameter.h" - -class PositionReader -{ -public: - PositionReader(){} - ~PositionReader(){} - static void readFileForAlloc(const std::string fileName, Parameter* para); - static void readFile(const std::string fileName, std::string Type, Parameter* para); - static void readFileInterfaceForAlloc(const std::string fileName, std::string Type, Parameter* para); - static void readFileInterface(const std::string fileName, std::string Type, Parameter* para); - static void readFileInterfaceOffsetForAlloc(const std::string fileName, std::string Type, Parameter* para); - static void readFileInterfaceOffset(const std::string fileName, std::string Type, Parameter* para); - static void readFileNoSlipBcForAlloc(const std::string fileName, Parameter* para); - static void readFileNoSlipBcQreadForAlloc(const std::string fileName, Parameter* para); - static void readFileNoSlipBcPos(const std::string fileName, Parameter* para); - static void readFileNoSlipBcQs(const std::string fileName, Parameter* para); - static void readFileNoSlipBcValue(const std::string fileName, Parameter* para); - static void findQs(Parameter* para); - static void readFileSlipBcForAlloc(const std::string fileName, Parameter* para); - static void readFileSlipBcQreadForAlloc(const std::string fileName, Parameter* para); - static void readFileSlipBcPos(const std::string fileName, Parameter* para); - static void readFileSlipBcQs(const std::string fileName, Parameter* para); - static void readFileSlipBcValue(const std::string fileName, Parameter* para); - static void findSlipQs(Parameter* para); - static void readFilePressBcForAlloc(const std::string fileName, Parameter* para); - static void readFilePressBcQreadForAlloc(const std::string fileName, Parameter* para); - static void readFilePressBcPos(const std::string fileName, Parameter* para); - static void readFilePressBcQs(const std::string fileName, Parameter* para); - static void readFilePressBcValue(const std::string fileName, Parameter* para); - static void findPressQs(Parameter* para); - static void readFilePropellerCylinderForAlloc(Parameter* para); - static void readFilePropellerCylinder(Parameter* para); - static void definePropellerQs(Parameter* para); - static void readMeasurePoints(Parameter* para); -protected: -private: -}; - -#endif \ No newline at end of file diff --git a/src/gpu/VirtualFluids_GPU/Input/VtkGeometryReader.cpp b/src/gpu/VirtualFluids_GPU/Input/VtkGeometryReader.cpp deleted file mode 100644 index 39cbde1d8..000000000 --- a/src/gpu/VirtualFluids_GPU/Input/VtkGeometryReader.cpp +++ /dev/null @@ -1,106 +0,0 @@ -#include "VtkGeometryReader.h" - -#include "basics/utilities/UbFileInputASCII.h" - -void VtkGeometryReader::readFile(const std::string& fileName, unsigned int* geoMat) -{ - UbFileInputASCII in(fileName); - - //in.readLine(); - //in.readLine(); - //in.readLine(); - //in.readLine(); - //in.readString(); - //int itsNX1 = in.readInteger(); - //int itsNX2 = in.readInteger(); - //int itsNX3 = in.readInteger(); - //int nn = itsNX1 * itsNX2 * itsNX3; - //in.readLine(); - //in.readString(); - //in.readInteger(); - //in.readString(); - //in.readLine(); - - //for(int k=0 ; k<itsNX3 ; k++){ - // for(int j=0 ; j<itsNX2 ; j++){ - // for(int i=0 ; i<itsNX1 ; i++){ - // //float x = i;//(j&0x1)^(k&0x1) + i*2; - // //float y = j; - // //float z = k; - // in.readFloat(); - // in.readFloat(); - // in.readFloat(); - // in.readLine(); - // } - // } - //} - - - //in.readString(); - //in.readInteger(); - //in.readLine(); - - //in.readLine(); - //in.readLine(); - - //for(int k=0 ; k<itsNX3 ; k++){ - // for(int j=0 ; j<itsNX2 ; j++){ - // for(int i=0 ; i<itsNX1 ; i++){ - // int m = itsNX1*(itsNX2*k + j) + i; - // geoMat[m] = in.readInteger(); - // in.readLine(); - // } - // } - //} - //int nn = itsNX1 * itsNX2 * itsNX3; - in.readLine(); - in.readLine(); - in.readLine(); - in.readLine(); - in.readString(); - unsigned int itsNX1 = in.readInteger(); - unsigned int itsNX2 = in.readInteger(); - unsigned int itsNX3 = in.readInteger(); - //int nn = itsNX1 * itsNX2 * itsNX3; - - std::cout << "NX = " << itsNX1 << "\n"; - std::cout << "NY = " << itsNX2 << "\n"; - std::cout << "NZ = " << itsNX3 << "\n"; - - in.readLine(); - in.readString(); - in.readDouble(); - in.readDouble(); - in.readDouble(); - //in.readInteger(); - //in.readInteger(); - //in.readInteger(); - in.readLine(); - in.readString(); - in.readDouble(); - in.readDouble(); - in.readDouble(); - in.readLine(); - in.readString(); - in.readInteger(); - in.readLine(); - in.readLine(); - in.readLine(); - - for(unsigned int k=0 ; k<itsNX3 ; k++){ - for(unsigned int j=0 ; j<itsNX2 ; j++){ - for(unsigned int i=0 ; i<itsNX1 ; i++){ - //int m = nx*(ny*k + j) + i; - //in.readInteger( itsGeoMatrix(i,j,k) ); - //in.readLine(); - unsigned int m = itsNX1*(itsNX2*k + j) + i; - geoMat[m] = in.readInteger(); - //if (i==0 && j==0 && k>50 && k<60) - //{ - // std::cout << "Read = " << geoMat[m] << "\n"; - //} - } - } - } - -} \ No newline at end of file diff --git a/src/gpu/VirtualFluids_GPU/Input/VtkGeometryReader.h b/src/gpu/VirtualFluids_GPU/Input/VtkGeometryReader.h deleted file mode 100644 index 15cabf8db..000000000 --- a/src/gpu/VirtualFluids_GPU/Input/VtkGeometryReader.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef VTKGEOMETRYREADER_H -#define VTKGEOMETRYREADER_H - -#include <string> - -/** -* @file -* @author Kostyantyn Kucher <k.kucher@gmx.net> -* @version 1.0 -* -* @section LICENSE -* -* @section DESCRIPTION -* -* Read geometry from VTK Lagacy File -* geometry is integer values for node types difinition -* respectively -* SOLID = -* FLUID = -* -*/ - -class VtkGeometryReader -{ -public: - VtkGeometryReader(){} - ~VtkGeometryReader(){} - static void readFile(const std::string& fileName, unsigned int* geoMat); -protected: -private: -}; - -#endif \ No newline at end of file diff --git a/src/gpu/VirtualFluids_GPU/Input/kFullReader.cpp b/src/gpu/VirtualFluids_GPU/Input/kFullReader.cpp deleted file mode 100644 index 69f20d48d..000000000 --- a/src/gpu/VirtualFluids_GPU/Input/kFullReader.cpp +++ /dev/null @@ -1,121 +0,0 @@ -#include "kFullReader.h" - -#include "basics/utilities/UbFileInputASCII.h" - -void kFullReader::readFileForAlloc(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level <= maxlevel; level++) - { - int nodeNumberX1 = in.readInteger() - (2 * level); - int nodeNumberX2 = in.readInteger() - (2 * level); - int nodeNumberX3 = in.readInteger() - (2 * level); - para->getParH(level)->gridNX = nodeNumberX1; - para->getParH(level)->gridNY = nodeNumberX2; - para->getParH(level)->gridNZ = nodeNumberX3; - para->getParD(level)->gridNX = para->getParH(level)->gridNX; - para->getParD(level)->gridNY = para->getParH(level)->gridNY; - para->getParD(level)->gridNZ = para->getParH(level)->gridNZ; - - //weitere Werte setzen - para->getParH(level)->nx = para->getParH(level)->gridNX + 2 * STARTOFFX; - para->getParH(level)->ny = para->getParH(level)->gridNY + 2 * STARTOFFY; - para->getParH(level)->nz = para->getParH(level)->gridNZ + 2 * STARTOFFZ; - para->getParH(level)->size_Mat = para->getParH(level)->nx * para->getParH(level)->ny * para->getParH(level)->nz; - para->getParH(level)->mem_size_int = sizeof(unsigned int) * para->getParH(level)->size_Mat; - // - para->getParD(level)->nx = para->getParD(level)->gridNX + 2 * STARTOFFX; - para->getParD(level)->ny = para->getParD(level)->gridNY + 2 * STARTOFFY; - para->getParD(level)->nz = para->getParD(level)->gridNZ + 2 * STARTOFFZ; - para->getParD(level)->size_Mat = para->getParD(level)->nx * para->getParD(level)->ny * para->getParD(level)->nz; - para->getParD(level)->mem_size_int = sizeof(unsigned int) * para->getParD(level)->size_Mat; - - - in.readLine(); - for(unsigned int ix3=STARTOFFZ - level; ix3<para->getParH(level)->gridNZ + STARTOFFZ + level ; ix3++) - { - for(unsigned int ix2=STARTOFFY - level; ix2<para->getParH(level)->gridNY + STARTOFFY + level ; ix2++) - { - for(unsigned int ix1=STARTOFFX - level; ix1<para->getParH(level)->gridNX + STARTOFFX + level ; ix1++) - { - in.readInteger(); - } - } - } - in.readLine(); - } //end levelloop -} - -void kFullReader::readFile(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level <= maxlevel; level++) - { - in.readInteger(); - in.readInteger(); - in.readInteger(); - - in.readLine(); - for(unsigned int ix3=STARTOFFZ - level; ix3<para->getParH(level)->gridNZ + STARTOFFZ + level; ix3++) - { - for(unsigned int ix2=STARTOFFY - level; ix2<para->getParH(level)->gridNY + STARTOFFY + level; ix2++) - { - for(unsigned int ix1=STARTOFFX - level; ix1<para->getParH(level)->gridNX + STARTOFFX + level; ix1++) - { - unsigned int m = para->getParH(level)->nx*(para->getParH(level)->ny*ix3 + ix2) + ix1; - para->getParH(level)->k[m] = in.readInteger();//+1;//!!achtung + 1 - } - } - } - in.readLine(); - } //end levelloop -} - - -//GEO-FULL -void kFullReader::readGeoFull(const std::string fileName, Parameter* para) -{ - UbFileInputASCII in(fileName); - int test = 0; - int maxlevel = in.readInteger(); - in.readLine(); - - for (int level = 0; level <= maxlevel; level++) - { - in.readInteger(); - in.readInteger(); - in.readInteger(); - - in.readLine(); - for(unsigned int ix3=STARTOFFZ - level; ix3<para->getParH(level)->gridNZ + STARTOFFZ + level; ix3++) - { - for(unsigned int ix2=STARTOFFY - level; ix2<para->getParH(level)->gridNY + STARTOFFY + level; ix2++) - { - for(unsigned int ix1=STARTOFFX - level; ix1<para->getParH(level)->gridNX + STARTOFFX + level; ix1++) - { - unsigned int m = para->getParH(level)->nx*(para->getParH(level)->ny*ix3 + ix2) + ix1; - test = in.readInteger(); - if (test == 7) - { - test = 1; - } - else if (test != 1)//??? - { - test = 16; - } - para->getParH(level)->geo[m] = test; - //para->getParH(level)->geo[m] = in.readInteger();//+1;//!!achtung + 1 - } - } - } - in.readLine(); - } //end levelloop -} \ No newline at end of file diff --git a/src/gpu/VirtualFluids_GPU/Input/kFullReader.h b/src/gpu/VirtualFluids_GPU/Input/kFullReader.h deleted file mode 100644 index 35298de2b..000000000 --- a/src/gpu/VirtualFluids_GPU/Input/kFullReader.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef KFULL_READER_H -#define KFULL_READER_H - -#include <string> -#include "Parameter/Parameter.h" - -class kFullReader -{ -public: - kFullReader(){} - ~kFullReader(){} - static void readFile(const std::string fileName, Parameter* para); - static void readFileForAlloc(const std::string fileName, Parameter* para); - static void readGeoFull(const std::string fileName, Parameter* para); -protected: -private: -}; - -#endif \ No newline at end of file diff --git a/src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp b/src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp index 2edb79a8a..42b39be68 100644 --- a/src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp +++ b/src/gpu/VirtualFluids_GPU/LBM/Simulation.cpp @@ -13,10 +13,6 @@ #include "GPU/devCheck.h" #include "basics/utilities/UbFileOutputASCII.h" ////////////////////////////////////////////////////////////////////////// -#include "Input/VtkGeometryReader.h" -#include "Input/kFullReader.h" -#include "Input/PositionReader.h" -////////////////////////////////////////////////////////////////////////// #include "Output/MeasurePointWriter.hpp" #include "Output/AnalysisData.hpp" #include "Output/InterfaceDebugWriter.hpp" -- GitLab