 // rho[] - The charge array for the grid points
 //******************************************************************************
 __global__
-void densGridPoints(float rho[],
-                   const unsigned int bucketWidth,
-                   const unsigned int bucketHeight,
-                   const float area1[],
-                   const float area2[],
-                   const float area3[],
-                   const float area4[],
-                   const bool cold,
-                   const unsigned int particlesToBuffer,
-                   const unsigned int NIJ
-                   )
+void densGridPoints(float* __restrict__ rho,
+                    const unsigned int bucketWidth,
+                    const unsigned int bucketHeight,
+                    const float* __restrict__ area1,
+                    const float* __restrict__ area2,
+                    const float* __restrict__ area3,
+                    const float* __restrict__ area4,
+                    const bool cold,
+                    const unsigned int particlesToBuffer,
+                    const unsigned int NIJ
+                    )
 {
    extern __shared__ char sharedBase[];
    // Calculate all of the shared memory offsets

// height - The height of the area that is calculated
//******************************************************************************
__global__
void fixRhoGridTopBottom(float rhoe[], float rhoi[],
                         const unsigned int width, 
                         const unsigned int height
                         )

// size - The total number of grid points
//******************************************************************************
__global__ 
void getFinalRho(float* __restrict__ rho,
                 const float* __restrict__ rhoi,
                 const float* __restrict__ rhoe,
                 const unsigned int size)
{
   unsigned int index = blockDim.x * blockIdx.x + threadIdx.x;
