diff --git a/src/gpu/GridGenerator/grid/BoundaryConditions/Side.cpp b/src/gpu/GridGenerator/grid/BoundaryConditions/Side.cpp index ba4eea50ffb6bc136528db31207274d626fe9b15..718a8d5da1de148c72ba67dd2d15c5e3b443e16a 100644 --- a/src/gpu/GridGenerator/grid/BoundaryConditions/Side.cpp +++ b/src/gpu/GridGenerator/grid/BoundaryConditions/Side.cpp @@ -75,14 +75,13 @@ void Side::addIndices(SPtr<Grid> grid, SPtr<BoundaryCondition> boundaryCondition || grid->getFieldEntry(index) == vf::gpu::FLUID_FCF // Overlap of BCs on edge nodes || grid->nodeHasBC(index) ) - { + { grid->setFieldEntry(index, boundaryCondition->getType()); boundaryCondition->indices.push_back(index); setPressureNeighborIndices(boundaryCondition, grid, index); setStressSamplingIndices(boundaryCondition, grid, index); - + // if(grid->getFieldEntry(index)==26) printf("index = %u, v1 = %f, v2 = %f, field entry=%u \n", index, v1, v2, grid->getFieldEntry(index) ); setQs(grid, boundaryCondition, index); - boundaryCondition->patches.push_back(0); } } diff --git a/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp b/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp index 38a7eef7e356e2f2da4c1a819d8375035a37313a..c2f86721de26d516ed60f497a65d1d46a34aa182 100644 --- a/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp +++ b/src/gpu/VirtualFluids_GPU/DataStructureInitializer/GridReaderGenerator/GridGenerator.cpp @@ -1002,7 +1002,7 @@ void GridGenerator::allocArrays_BoundaryQs() unsigned int sizeQ = para->getParH(i)->stressBC.numberOfBCnodes; QforBoundaryConditions &Q = para->getParH(i)->stressBC; getPointersToBoundaryConditions(Q, QQ, sizeQ); - + builder->getStressQs(Q.q27, i); //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// cudaMemoryManager->cudaCopyStressBC(i); diff --git a/src/gpu/VirtualFluids_GPU/GPU/LBMKernel.cu b/src/gpu/VirtualFluids_GPU/GPU/LBMKernel.cu index efe5bfcb534d0d7b12d83d466166685791e7cc47..9abac27969e74dc90ecdcc707f4fcb2234010d07 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/LBMKernel.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/LBMKernel.cu @@ -4059,52 +4059,26 @@ template<bool hasTurbulentViscosity> void ScaleCF_compressible(LBMSimulationPara dim3 grid = vf::cuda::getCudaGrid(parameterDeviceC->numberofthreads, icellCF->kCF); dim3 threads(parameterDeviceC->numberofthreads, 1, 1 ); - if(hasTurbulentViscosity) - { - scaleCF_compressible<true><<<grid, threads, 0, stream>>>( - parameterDeviceC->distributions.f[0], - parameterDeviceF->distributions.f[0], - parameterDeviceC->neighborX, - parameterDeviceC->neighborY, - parameterDeviceC->neighborZ, - parameterDeviceF->neighborX, - parameterDeviceF->neighborY, - parameterDeviceF->neighborZ, - parameterDeviceC->numberOfNodes, - parameterDeviceF->numberOfNodes, - parameterDeviceC->isEvenTimestep, - icellCF->ICellCFC, - icellCF->ICellCFF, - icellCF->kCF, - parameterDeviceC->omega, - parameterDeviceF->omega, - parameterDeviceC->turbViscosity, - parameterDeviceF->turbViscosity, - offsetCF); - } - else - { - scaleCF_compressible<false><<<grid, threads, 0, stream>>>( - parameterDeviceC->distributions.f[0], - parameterDeviceF->distributions.f[0], - parameterDeviceC->neighborX, - parameterDeviceC->neighborY, - parameterDeviceC->neighborZ, - parameterDeviceF->neighborX, - parameterDeviceF->neighborY, - parameterDeviceF->neighborZ, - parameterDeviceC->numberOfNodes, - parameterDeviceF->numberOfNodes, - parameterDeviceC->isEvenTimestep, - icellCF->ICellCFC, - icellCF->ICellCFF, - icellCF->kCF, - parameterDeviceC->omega, - parameterDeviceF->omega, - parameterDeviceC->turbViscosity, - parameterDeviceF->turbViscosity, - offsetCF); - } + scaleCF_compressible<hasTurbulentViscosity><<<grid, threads, 0, stream>>>( + parameterDeviceC->distributions.f[0], + parameterDeviceF->distributions.f[0], + parameterDeviceC->neighborX, + parameterDeviceC->neighborY, + parameterDeviceC->neighborZ, + parameterDeviceF->neighborX, + parameterDeviceF->neighborY, + parameterDeviceF->neighborZ, + parameterDeviceC->numberOfNodes, + parameterDeviceF->numberOfNodes, + parameterDeviceC->isEvenTimestep, + icellCF->ICellCFC, + icellCF->ICellCFF, + icellCF->kCF, + parameterDeviceC->omega, + parameterDeviceF->omega, + parameterDeviceC->turbViscosity, + parameterDeviceF->turbViscosity, + offsetCF); getLastCudaError("scaleCF_compressible execution failed"); } @@ -4982,52 +4956,27 @@ template<bool hasTurbulentViscosity> void ScaleFC_compressible(LBMSimulationPara dim3 grid = vf::cuda::getCudaGrid(parameterDeviceC->numberofthreads, icellFC->kFC); dim3 threads(parameterDeviceC->numberofthreads, 1, 1 ); - if(hasTurbulentViscosity) - { - scaleFC_compressible<true><<<grid, threads, 0, stream>>>( - parameterDeviceC->distributions.f[0], - parameterDeviceF->distributions.f[0], - parameterDeviceC->neighborX, - parameterDeviceC->neighborY, - parameterDeviceC->neighborZ, - parameterDeviceF->neighborX, - parameterDeviceF->neighborY, - parameterDeviceF->neighborZ, - parameterDeviceC->numberOfNodes, - parameterDeviceF->numberOfNodes, - parameterDeviceC->isEvenTimestep, - icellFC->ICellFCC, - icellFC->ICellFCF, - icellFC->kFC, - parameterDeviceC->omega, - parameterDeviceF->omega, - parameterDeviceC->turbViscosity, - parameterDeviceF->turbViscosity, - offsetFC); - } - else - { - scaleFC_compressible<false><<<grid, threads, 0, stream>>>( - parameterDeviceC->distributions.f[0], - parameterDeviceF->distributions.f[0], - parameterDeviceC->neighborX, - parameterDeviceC->neighborY, - parameterDeviceC->neighborZ, - parameterDeviceF->neighborX, - parameterDeviceF->neighborY, - parameterDeviceF->neighborZ, - parameterDeviceC->numberOfNodes, - parameterDeviceF->numberOfNodes, - parameterDeviceC->isEvenTimestep, - icellFC->ICellFCC, - icellFC->ICellFCF, - icellFC->kFC, - parameterDeviceC->omega, - parameterDeviceF->omega, - parameterDeviceC->turbViscosity, - parameterDeviceF->turbViscosity, - offsetFC); - } + scaleFC_compressible<hasTurbulentViscosity><<<grid, threads, 0, stream>>>( + parameterDeviceC->distributions.f[0], + parameterDeviceF->distributions.f[0], + parameterDeviceC->neighborX, + parameterDeviceC->neighborY, + parameterDeviceC->neighborZ, + parameterDeviceF->neighborX, + parameterDeviceF->neighborY, + parameterDeviceF->neighborZ, + parameterDeviceC->numberOfNodes, + parameterDeviceF->numberOfNodes, + parameterDeviceC->isEvenTimestep, + icellFC->ICellFCC, + icellFC->ICellFCF, + icellFC->kFC, + parameterDeviceC->omega, + parameterDeviceF->omega, + parameterDeviceC->turbViscosity, + parameterDeviceF->turbViscosity, + offsetFC); + getLastCudaError("scaleFC_compressible execution failed"); } template void ScaleFC_compressible<true>(LBMSimulationParameter * parameterDeviceC, LBMSimulationParameter* parameterDeviceF, ICellFC * icellFC, OffFC &offsetFC, CUstream_st *stream); diff --git a/src/gpu/VirtualFluids_GPU/GPU/StressBCs27.cu b/src/gpu/VirtualFluids_GPU/GPU/StressBCs27.cu index 0838402693e469efb10be2f9cd59094107383b66..78bcd5ee36a7e5a49158b13fa79f7e1464a3d4ba 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/StressBCs27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/StressBCs27.cu @@ -136,6 +136,7 @@ __host__ __device__ __forceinline__ void iMEM( wallVelocityX = clipVx > -clipVx? min(clipVx, max(-clipVx, -3.0*F_x*forceFactor)): max(clipVx, min(-clipVx, -3.0*F_x*forceFactor)); wallVelocityY = clipVy > -clipVy? min(clipVy, max(-clipVy, -3.0*F_y*forceFactor)): max(clipVy, min(-clipVy, -3.0*F_y*forceFactor)); wallVelocityZ = clipVz > -clipVz? min(clipVz, max(-clipVz, -3.0*F_z*forceFactor)): max(clipVz, min(-clipVz, -3.0*F_z*forceFactor)); + if(u_star > 2.0 || u_star < -2.0 || u_star!=u_star) printf("@k = %u, q=%f \t , u_star=%f \t, u_el=%f, z=%f \n", k, q, u_star, _vx_el, z); }