23                    int nx, 
int ny, 
int I, 
int J, 
int ncx, 
int ncy);
    28                    int nx, 
int ny, 
int I, 
int J, 
int ncx, 
int ncy);
    33                    int nx, 
int ny, 
int I, 
int J, 
int ncx, 
int ncy);
    38                    int nx, 
int ny, 
int I, 
int J, 
int ncx, 
int ncy);
    43                    int nx, 
int ny, 
int I, 
int J, 
int ncx, 
int ncy);
    48                   int nx, 
int ny, 
int I, 
int J, 
int ncx, 
int ncy);
 Definition of custom types required by the code. 
 
__global__ void liftBottomTop(real *FyY, real *q, real *lambda, real nu, real *dx, real *dy, int nx, int ny, int I, int J, int ncx, int ncy)
Calculate lift using a control-volume approach (bottom-top). 
 
double real
Is a float or a double depending on the machine precision. 
 
Contains all the custom-written CUDA kernels. 
 
__global__ void forceY()
Kernel not usable. 
 
__global__ void liftUnsteady(real *FyU, real *q, real *qOld, real *dx, real *dy, real dt, int nx, int ny, int I, int J, int ncx, int ncy)
Calculate lift using a control-volume approach (unsteady). 
 
__global__ void dragLeftRight(real *FxX, real *q, real *lambda, real nu, real *dx, real *dy, int nx, int ny, int I, int J, int ncx, int ncy)
Calculates drag using a control-volume approach (left-right). 
 
__global__ void forceX(real *f, real *q, real *rn, int *tags, int nx, int ny, real *dx, real *dy, real dt, real alpha, real nu)
Kernel not usable. 
 
__global__ void dragBottomTop(real *FxY, real *q, real nu, real *dx, real *dy, int nx, int ny, int I, int J, int ncx, int ncy)
Calculate drag using a control-volume approach (bottom-top). 
 
__global__ void dragUnsteady(real *FxU, real *q, real *qOld, real *dx, real *dy, real dt, int nx, int ny, int I, int J, int ncx, int ncy)
Calculate drag using a control-volume approach (unsteady). 
 
__global__ void liftLeftRight(real *FyX, real *q, real nu, real *dx, real *dy, int nx, int ny, int I, int J, int ncx, int ncy)
Calculate lift using a control-volume approach (left-right).