42template<
typename T,
typename xT, const
int LX, const
int CHUNKS>
114 for(
int l = 0; l <
LX; l++){
130 const int j =
jk -
k;
135 for(
int l = 0; l <
LX; l++){
150 const int j =
jk -
k;
151 const int ij2 =
i +
j;
155 for(
int l = 0; l <
LX; l++){
172 for(
int l = 0; l <
LX; l++){
188 const int j =
jk -
k;
193 for(
int l = 0; l <
LX; l++){
209 const int j =
jk -
k;
213 const int ij2 =
i +
j;
214 for(
int l = 0; l <
LX; l++){
231 for(
int l = 0; l <
LX; l++){
247 const int j =
jk -
k;
252 for(
int l = 0; l <
LX; l++){
268 const int j =
jk -
k;
272 const int ij2 =
i +
j;
273 for(
int l = 0; l <
LX; l++){
290 for(
int l = 0; l <
LX; l++){
306 const int j =
jk -
k;
311 for(
int l = 0; l <
LX; l++){
327 for(
int l = 0; l <
LX; l++){
348 jacdet = (dxdr * dyds * dzdt)
349 + (dxdt * dydr * dzds)
350 + (dxds * dydt * dzdr)
351 - (dxdr * dydt * dzds)
352 - (dxds * dydr * dzdt)
353 - (dxdt * dyds * dzdr);
358 drdx =(dyds*dzdt - dydt*dzds);
359 drdy =(dxdt*dzds - dxds*dzdt);
360 drdz =(dxds*dydt - dxdt*dyds);
361 dsdx =(dydt*dzdr - dydr*dzdt);
362 dsdy =(dxdr*dzdt - dxdt*dzdr);
363 dsdz =(dxdt*dydr - dxdr*dydt);
364 dtdx =(dydr*dzds - dyds*dzdr);
365 dtdy =(dxds*dzdr - dxdr*dzds);
366 dtdz =(dxdr*dyds - dxds*dydr);
400 void *x_hat,
void *y_hat,
void *z_hat,
409#define RST_CASE(LX) \
411 find_rst_legendre_kernel<real,real_xp, LX, 128> \
412 <<<nblcks, nthrds, 0, stream>>> \
413 ((real *) rst,(real *) pt_x, (real *) pt_y, (real *) pt_z, \
414 (real *) x_hat, (real *) y_hat, (real *) z_hat, \
415 (real *) resx, (real *) resy, (real *) resz, (int *) el_ids, \
416 *n_pt, *tol, (real *) conv_pts); \
417 CUDA_CHECK(cudaGetLastError()); \
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ drdy
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ drdz
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dsdz
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dsdy
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dtdy
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ drdx
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dtdz
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dsdx
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dtdx
__global__ void dirichlet_apply_scalar_kernel(const int *__restrict__ msk, T *__restrict__ x, const T g, const int m)
__global__ void find_rst_legendre_kernel(T *__restrict__ rst, const T *pt_x, const T *pt_y, const T *pt_z, const T *x_hat, const T *y_hat, const T *z_hat, T *__restrict__ resx, T *__restrict__ resy, T *__restrict__ resz, const int *el_ids, const int n_pt, T tol, T *__restrict__ conv_pts)
void cuda_find_rst_legendre(void *rst, void *pt_x, void *pt_y, void *pt_z, void *x_hat, void *y_hat, void *z_hat, void *resx, void *resy, void *resz, int *lx, void *el_ids, int *n_pt, real *tol, void *conv_pts)