32 int i = threadIdx.x + blockIdx.x*blockDim.x;
35 bc2[i] -= yminus[i+nx-1]*dx[i];
36 bc2[(ny-1)*nx + i] += yplus[i+nx-1]*dx[i];
54 int j = threadIdx.x + blockIdx.x*blockDim.x;
57 bc2[j*nx] -= xminus[j]*dy[j];
58 bc2[j*nx+nx-1] += xplus[j]*dy[j];
76 int k = threadIdx.x + blockIdx.x*blockDim.x;
79 bc2[nx*ny + k] = uB[k];
80 bc2[nx*ny + k + totalPoints] = vB[k];
__global__ void fillBC2_v(real *bc2, real *yminus, real *yplus, real *dx, int nx, int ny)
Computes inhomogeneous terms of the discrete divergence operator from the bottom and top boundaries a...
double real
Is a float or a double depending on the machine precision.
Contains all the custom-written CUDA kernels.
__global__ void fillBC2_u(real *bc2, real *xminus, real *xplus, real *dy, int nx, int ny)
Computes inhomogeneous terms of the discrete divergence operator from the left and right boundaries a...
__global__ void fillBC2_uvB(real *bc2, real *uB, real *vB, int totalPoints, int nx, int ny)
Computes inhomogeneous terms of the discrete divergence operator from the no-slip constraint at the b...
Declaration of the kernels to generate elements of the right hand-side of the Poisson solver...