12 #ifdef CUDA_VAR_ORDERDING_AOS
19 const double * __restrict__ u,
20 double * __restrict__ fast_jac
23 int p = blockDim.x * blockIdx.x + threadIdx.x;
25 if (p < npoints_grid) {
26 double * __restrict__ A;
30 int q = _MODEL_NVARS_*p;
39 D[0] = D[12] = D[18] = 0.0;
51 D[0] = D[6] = D[18] = 0.0;
63 D[0] = D[6] = D[12] = 0.0;
105 gpuNavierStokes3DPreStep_kernel<<<nblocks, GPU_THREADS_PER_BLOCK>>>(
108 cudaDeviceSynchronize();
120 const double * __restrict__ u,
121 double * __restrict__ fast_jac
124 int p = blockDim.x * blockIdx.x + threadIdx.x;
126 if (p < npoints_grid) {
127 double * __restrict__ A;
139 D[0] = D[12] = D[18] = 0.0;
151 D[0] = D[6] = D[18] = 0.0;
163 D[0] = D[6] = D[12] = 0.0;
205 gpuNavierStokes3DPreStep_kernel<<<nblocks, GPU_THREADS_PER_BLOCK>>>(
208 cudaDeviceSynchronize();
int npoints_local_wghosts
3D Navier Stokes equations (compressible flows)
#define _NavierStokes3DLeftEigenvectors_(u, stride, L, ga, dir)
#define GPU_THREADS_PER_BLOCK
#define _NavierStokes3DEigenvalues_(u, stride, D, gamma, dir)
Contains function definitions for common mathematical functions.
int gpuNavierStokes3DPreStep(double *, void *, void *, double)
Contains function definitions for common array operations on GPU.
__global__ void gpuNavierStokes3DPreStep_kernel(int npoints_grid, double gamma, const double *__restrict__ u, double *__restrict__ fast_jac)
Contains structure definition for hypar.
#define MatMult5(N, A, X, Y)
Structure containing variables and parameters specific to the 3D Navier Stokes equations. This structure contains the physical parameters, variables, and function pointers specific to the 3D Navier-Stokes equations.
#define _NavierStokes3DRightEigenvectors_(u, stride, R, ga, dir)
Structure containing all solver-specific variables and functions.
void gpuArrayCopy1D(const double *, double *, int)
Contains macros and function definitions for common matrix multiplication.
static const int _NavierStokes3D_stride_