46 void *G22,
void *G23,
void *G33,
59 coef_generate_geo_kernel<real, LX, 1024> \
60 <<<nblcks, nthrds, 0, stream>>> \
61 ((real *) G11, (real *) G12, (real *) G13, \
62 (real *) G22, (real *) G23, (real *) G33, \
63 (real *) drdx, (real *) drdy, (real *) drdz, \
64 (real *) dsdx, (real *) dsdy, (real *) dsdz, \
65 (real *) dtdx, (real *) dtdy, (real *) dtdz, \
66 (real *) jacinv, (real *) w3, *gdim); \
67 CUDA_CHECK(cudaGetLastError()); \
100 void *dxdr,
void *dydr,
void *dzdr,
101 void *dxds,
void *dyds,
void *dzds,
102 void *dxdt,
void *dydt,
void *dzdt,
103 void *
dx,
void *
dy,
void *
dz,
104 void *
x,
void *y,
void *z,
108 const int n = (*nel) * (*lx) * (*lx) * (*lx);
114#define DXYZDRST_CASE(LX) \
116 coef_generate_dxyz_kernel<real, LX, 1024> \
117 <<<nblcks_dxyz, nthrds, 0, stream>>> \
118 ((real *) dxdr, (real *) dydr, (real *) dzdr, \
119 (real *) dxds, (real *) dyds, (real *) dzds, \
120 (real *) dxdt, (real *) dydt, (real *) dzdt, \
121 (real *) dx, (real *) dy, (real *) dz, \
122 (real *) x, (real *) y, (real *) z); \
123 CUDA_CHECK(cudaGetLastError()); \
166 void *
w3,
int *lxyz,
int *nel) {
168 int n = (*lxyz) * (*nel);
170 const dim3 nblcks((n + 1024 - 1)/ 1024, 1, 1);
186 void *nx,
void *ny,
void *nz,
187 void *dxdr,
void *dydr,
void *dzdr,
188 void *dxds,
void *dyds,
void *dzds,
189 void *dxdt,
void *dydt,
void *dzdt,
190 void *wx,
void *wy,
void *wz,
197#define AREA_CASE(LX) \
199 coef_generate_area_and_normal_kernel<real, LX> \
200 <<<nblcks, nthrds, 0, stream>>> \
201 ((real *) area, (real *) nx, (real *) ny, (real *) nz, \
202 (real *) dxdr, (real *) dydr, (real *) dzdr, \
203 (real *) dxds, (real *) dyds, (real *) dzds, \
204 (real *) dxdt, (real *) dydt, (real *) dzdt, \
205 (real *) wx, (real *) wy, (real *) wz, eps); \
206 CUDA_CHECK(cudaGetLastError()); \
void cuda_coef_generate_area_and_normal(void *area, void *nx, void *ny, void *nz, void *dxdr, void *dydr, void *dzdr, void *dxds, void *dyds, void *dzds, void *dxdt, void *dydt, void *dzdt, void *wx, void *wy, void *wz, int *lx, int *nel, real eps)
void cuda_coef_generate_mass(void *B, void *Binv, void *jac, void *w3, int *lxyz, int *nel)
void cuda_coef_generate_dxyzdrst(void *drdx, void *drdy, void *drdz, void *dsdx, void *dsdy, void *dsdz, void *dtdx, void *dtdy, void *dtdz, void *dxdr, void *dydr, void *dzdr, void *dxds, void *dyds, void *dzds, void *dxdt, void *dydt, void *dzdt, void *dx, void *dy, void *dz, void *x, void *y, void *z, void *jacinv, void *jac, int *lx, int *nel)
#define DXYZDRST_CASE(LX)
void cuda_coef_generate_geo(void *G11, void *G12, void *G13, void *G22, void *G23, void *G33, void *drdx, void *drdy, void *drdz, void *dsdx, void *dsdy, void *dsdz, void *dtdx, void *dtdy, void *dtdz, void *jacinv, void *w3, int *nel, int *lx, int *gdim)
__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__ dx
__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 T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dz
__global__ void T *__restrict__ T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ dy
__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__ const T *__restrict__ jacinv
__global__ void const T *__restrict__ x
__global__ void const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ const T *__restrict__ w3
__global__ void dirichlet_apply_scalar_kernel(const int *__restrict__ msk, T *__restrict__ x, const T g, const int m)