cuIBM
A GPU-based Immersed Boundary Method code
generateQT.h
Go to the documentation of this file.
1 
7 #pragma once
8 
9 #include "utilities/types.h"
10 #include "utilities/helpers.h"
11 
12 
17 namespace kernels
18 {
19 
20 // update the Q matrix for the direct forcing method
21 __global__
22 void updateQ(int *QRows, int *QCols, real *QVals, int QSize, int *tags);
23 
24 // update the QT matrix for the direct forcing method
25 __global__
26 void updateQT(int *QTRows, int *QTCols, real *QTVals, int QTSize, int *tags, real *coeffs);
27 
28 // generate the divergence matrix
29 void generateQT(int *QTRows, int *QTCols, real *QTVals, int nx, int ny);
30 
31 // update the QT matrix for the method by Taira & Colonius
32 __global__
33 void updateQT(int *QTRows, int *QTCols, real *QTVals,
34  int *ERows, int *ECols, real *EVals,
35  int nx, int ny, real *x, real *y, real *dx,
36  int totalPoints, real *xB, real *yB, int *I, int *J);
37 
38 } // End of namespace kernels
__global__ void updateQT(int *QTRows, int *QTCols, real *QTVals, int QTSize, int *tags, real *coeffs)
Update the divergence operator at forcing nodes.
Definition: generateQT.cu:87
Definition of custom types required by the code.
double real
Is a float or a double depending on the machine precision.
Definition: types.h:116
Contains all the custom-written CUDA kernels.
void generateQT(int *QTRows, int *QTCols, real *QTVals, int nx, int ny)
Generates the divergence matrix (on the host).
Definition: generateQT.cu:110
Declaration of the discrete delta function.
__global__ void updateQ(int *QRows, int *QCols, real *QVals, int QSize, int *tags)
Update the gradient operator at forcing nodes.
Definition: generateQT.cu:65