18     logger.startTimer(
"generateQT");
    24     int numUV = numU + nx*(ny-1);
    27     cooH QTHost(numP, numUV, 4*numP-2*(nx+ny));
    29     int *QTRows = thrust::raw_pointer_cast(&(QTHost.row_indices[0])),
    30         *QTCols = thrust::raw_pointer_cast(&(QTHost.column_indices[0]));
    31     real *QTVals = thrust::raw_pointer_cast(&(QTHost.values[0]));
    35     cusp::transpose(QT, Q);
    37     logger.stopTimer(
"generateQT");
 double real
Is a float or a double depending on the machine precision. 
 
void generateQT(int *QTRows, int *QTCols, real *QTVals, int nx, int ny)
Generates the divergence matrix (on the host). 
 
cusp::coo_matrix< int, real, host_memory > cooH
COO matrix stored on the host. 
 
Declaration of the kernels to generate gradient matrix and interpolation matrix. 
 
virtual void generateQT()