diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 07ff3f6e3f200a4a2cde0d6fc6499b0cd8abb23d..7d3669b49163626b9a05fb2cf845f07c871439e9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -526,11 +526,13 @@ doxygen: script: - apk update && apk add doxygen - doxygen docs/Doxyfile + - mv docs/build/html/ public/ artifacts: expire_in: 1 week paths: - - docs/build/ + - docs/build/html/ + - public ############################################################################### diff --git a/src/gpu/VirtualFluids_GPU/GPU/CalcMac27.cu b/src/gpu/VirtualFluids_GPU/GPU/CalcMac27.cu index 562140eb24bad470604b5782a816a4e60d5000f3..ce6e034d1c1eee57e062b736cfcea97e07306f3c 100644 --- a/src/gpu/VirtualFluids_GPU/GPU/CalcMac27.cu +++ b/src/gpu/VirtualFluids_GPU/GPU/CalcMac27.cu @@ -42,14 +42,18 @@ extern "C" __global__ void LBCalcMac27( real* vxD, const unsigned int k = nx*(ny*z + y) + x; // Zugriff auf arrays im device + + if(k >= size_Mat) + return; + + if(!vf::gpu::isValidFluidNode(geoD[k])) + return; + rhoD[k] = c0o1; vxD[k] = c0o1; vyD[k] = c0o1; vzD[k] = c0o1; - if(!vf::gpu::isValidFluidNode(k, size_Mat, geoD[k])) - return; - vf::gpu::DistributionWrapper distr_wrapper(distributions, size_Mat, isEvenTimestep, k, neighborX, neighborY, neighborZ); const auto& distribution = distr_wrapper.distribution; @@ -266,15 +270,18 @@ extern "C" __global__ void LBCalcMacCompSP27(real *vxD, real *vyD, real *vzD, re { const unsigned k = vf::gpu::getNodeIndex(); + if(k >= size_Mat) + return; + + if (!vf::gpu::isValidFluidNode(geoD[k])) + return; + pressD[k] = c0o1; rhoD[k] = c0o1; vxD[k] = c0o1; vyD[k] = c0o1; vzD[k] = c0o1; - if (!vf::gpu::isValidFluidNode(k, size_Mat, geoD[k])) - return; - vf::gpu::DistributionWrapper distr_wrapper(distributions, size_Mat, isEvenTimestep, k, neighborX, neighborY, neighborZ); const auto &distribution = distr_wrapper.distribution; diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/RunLBMKernel.cuh b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/RunLBMKernel.cuh index b4097851b251b7447f6ce06856d0b9187999a20b..ecfdb8e38bc5da02a473b6f2e67340963ed8b38a 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/RunLBMKernel.cuh +++ b/src/gpu/VirtualFluids_GPU/Kernel/Kernels/BasicKernels/FluidFlow/Compressible/RunLBMKernel.cuh @@ -32,9 +32,11 @@ template<typename KernelFunctor> __global__ void runKernel(KernelFunctor kernel, GPUKernelParameter kernelParameter) { const uint k = getNodeIndex(); - const uint nodeType = kernelParameter.typeOfGridNode[k]; - if (!isValidFluidNode(k, kernelParameter.size_Mat, nodeType)) + if(k >= kernelParameter.size_Mat) + return; + + if (!isValidFluidNode(kernelParameter.typeOfGridNode[k])) return; DistributionWrapper distributionWrapper { diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cu b/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cu index bbb01d95410612d36d55f1e0113175a8741b9ade..2b9203bf96be89fb328cbbe221994dffed481e14 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cu +++ b/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cu @@ -158,10 +158,9 @@ __device__ unsigned int getNodeIndex() return nx * (ny * z + y) + x; } -__device__ bool isValidFluidNode(uint k, int size_Mat, uint nodeType) +__device__ bool isValidFluidNode(uint nodeType) { - return (k < size_Mat) && - (nodeType == GEO_FLUID || nodeType == GEO_PM_0 || nodeType == GEO_PM_1 || nodeType == GEO_PM_2); + return (nodeType == GEO_FLUID || nodeType == GEO_PM_0 || nodeType == GEO_PM_1 || nodeType == GEO_PM_2); } diff --git a/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cuh b/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cuh index 935030701924233d959fb69b74a7c3087feb0834..6b38cac75c99680c71420533455dd060195b6c87 100644 --- a/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cuh +++ b/src/gpu/VirtualFluids_GPU/Kernel/Utilities/DistributionHelper.cuh @@ -90,7 +90,7 @@ struct DistributionWrapper __device__ unsigned int getNodeIndex(); -__device__ bool isValidFluidNode(uint k, int size_Mat, uint nodeType); +__device__ bool isValidFluidNode(uint nodeType); } }