Skip to content

Reply To: How to set gpu::cuda::getFusedCollisionO with Interpolated Boundary Condition

OpenLB – Open Source Lattice Boltzmann Code Forums on OpenLB General Topics How to set gpu::cuda::getFusedCollisionO with Interpolated Boundary Condition Reply To: How to set gpu::cuda::getFusedCollisionO with Interpolated Boundary Condition

#8695
HUXin
Participant

Thank you very much for your response.

I’ve taken a closer look at the code, and unfortunately, I couldn’t find any information about gpu::cuda::getFusedCollisionO with Bouzidi condition or other interpolated conditions in other examples, incluing cylinder2d and 3d. However, I only found the Bounce Back and Local Velocity conditions in cavity3dBenchmark, as shown below:

`cpp
#if defined(PLATFORM_GPU_CUDA) && defined(GPU_USE_FUSED_COLLISION)
#ifdef LID_DRIVEN_BOUNCE_BACK
// Enable non-virtual dispatching of common collision operators (optional, improves performance)
lattice.forBlocksOnPlatform<Platform::GPU_CUDA>([](auto& block) {
block.setCollisionO(
gpu::cuda::getFusedCollisionO<T, DESCRIPTOR, BulkDynamics,
BounceBack<T, DESCRIPTOR>,
BounceBackVelocity<T, DESCRIPTOR>>());
});
#else // Local velocity boundaries
lattice.forBlocksOnPlatform<Platform::GPU_CUDA>([](auto& block) {
block.setCollisionO(
gpu::cuda::getFusedCollisionO<
T, DESCRIPTOR, BulkDynamics,
CombinedRLBdynamics<
T, DESCRIPTOR, BulkDynamics,
momenta::RegularizedVelocityBoundaryTuple<0, -1>>,
CombinedRLBdynamics<
T, DESCRIPTOR, BulkDynamics,
momenta::RegularizedVelocityBoundaryTuple<0, 1>>,
CombinedRLBdynamics<
T, DESCRIPTOR, BulkDynamics,
momenta::RegularizedVelocityBoundaryTuple<1, -1>>,
CombinedRLBdynamics<
T, DESCRIPTOR, BulkDynamics,
momenta::RegularizedVelocityBoundaryTuple<1, 1>>,
CombinedRLBdynamics<
T, DESCRIPTOR, BulkDynamics,
momenta::RegularizedVelocityBoundaryTuple<2, -1>>,
CombinedRLBdynamics<
T, DESCRIPTOR, BulkDynamics,
momenta::RegularizedVelocityBoundaryTuple<2, 1>>>());
});
#endif
#endif // PLATFORM_GPU_CUDA
`