76namespace internal_dynamicubbdoubleprecisioncuda_boundary_DynamicUBBDoublePrecisionCUDA {
79 const int32_t f_in_inv_dir_idx[] = {0, 2, 1, 4, 3, 6, 5, 10, 9, 8, 7, 16, 15, 18, 17, 12, 11, 14, 13};
80 const int32_t
f_in_inv_offsets_x[] = {0, 0, 0, -1, 1, 0, 0, -1, 1, -1, 1, 0, 0, -1, 1, 0, 0, -1, 1};
81 const int32_t
f_in_inv_offsets_y[] = {0, 1, -1, 0, 0, 0, 0, 1, 1, -1, -1, 1, -1, 0, 0, 1, -1, 0, 0};
82 const int32_t
f_in_inv_offsets_z[] = {0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 1, 1, 1, 1, -1, -1, -1, -1};
84 const double weights[] = {((double)(0.33333333333333333)), ((
double)(0.055555555555555556)), ((double)(0.055555555555555556)), ((
double)(0.055555555555555556)), ((double)(0.055555555555555556)), ((
double)(0.055555555555555556)), ((double)(0.055555555555555556)), ((
double)(0.027777777777777778)), ((double)(0.027777777777777778)), ((
double)(0.027777777777777778)), ((double)(0.027777777777777778)), ((
double)(0.027777777777777778)), ((double)(0.027777777777777778)), ((
double)(0.027777777777777778)), ((double)(0.027777777777777778)), ((
double)(0.027777777777777778)), ((double)(0.027777777777777778)), ((
double)(0.027777777777777778)), ((double)(0.027777777777777778))};
86 const int32_t
neighbour_offset_x[] = {0, 0, 0, -1, 1, 0, 0, -1, 1, -1, 1, 0, 0, -1, 1, 0, 0, -1, 1};
87 const int32_t
neighbour_offset_y[] = {0, 1, -1, 0, 0, 0, 0, 1, 1, -1, -1, 1, -1, 0, 0, 1, -1, 0, 0};
88 const int32_t
neighbour_offset_z[] = {0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 1, 1, 1, 1, -1, -1, -1, -1};
92 const int32_t x = *((int32_t *)(&_data_indexVector_10[40 * blockDim.x * blockIdx.x + 40 * threadIdx.x]));
94 const int32_t y = *((int32_t *)(&_data_indexVector_14[40 * blockDim.x * blockIdx.x + 40 * threadIdx.x]));
96 const int32_t z = *((int32_t *)(&_data_indexVector_18[40 * blockDim.x * blockIdx.x + 40 * threadIdx.x]));
98 const int32_t dir = *((int32_t *)(&_data_indexVector_112[40 * blockDim.x * blockIdx.x + 40 * threadIdx.x]));
122 const double rho = delta_rho + 1.0;
129 const double f = -rho * (6.0 * ((double)(
neighbour_offset_x[dir])) * *((
double *)(&_data_indexVector_116[40 * blockDim.x * blockIdx.x + 40 * threadIdx.x])) + 6.0 * ((double)(
neighbour_offset_y[dir])) * *((
double *)(&_data_indexVector_124[40 * blockDim.x * blockIdx.x + 40 * threadIdx.x])) + 6.0 * ((double)(
neighbour_offset_z[dir])) * *((
double *)(&_data_indexVector_132[40 * blockDim.x * blockIdx.x + 40 * threadIdx.x]))) *
weights[dir] + 2.0 * _data_pdfs_10_204b8170353ebeb30e[
_stride_pdfs_0 * x];
130 uint8_t *
RESTRICT _data_forceVector_10 = _data_forceVector;
131 *((
double *)(&_data_forceVector_10[24 * blockDim.x * blockIdx.x + 24 * threadIdx.x])) = f * ((
double)(
neighbour_offset_x[dir]));
132 uint8_t *
RESTRICT _data_forceVector_18 = _data_forceVector + 8;
133 *((
double *)(&_data_forceVector_18[24 * blockDim.x * blockIdx.x + 24 * threadIdx.x])) = f * ((
double)(
neighbour_offset_y[dir]));
134 uint8_t *
RESTRICT _data_forceVector_116 = _data_forceVector + 16;
135 *((
double *)(&_data_forceVector_116[24 * blockDim.x * blockIdx.x + 24 * threadIdx.x])) = f * ((
double)(
neighbour_offset_z[dir]));
190 internal_dynamicubbdoubleprecisioncuda_boundary_DynamicUBBDoublePrecisionCUDA::dynamicubbdoubleprecisioncuda_boundary_DynamicUBBDoublePrecisionCUDA<<<_grid, _block, 0,
stream>>>(_data_forceVector, _data_indexVector, _data_pdfs, _stride_pdfs_0, _stride_pdfs_1, _stride_pdfs_2, _stride_pdfs_3, forceVectorSize);