 	}
 	else
 	{
-		sL[tid] = right[blockDim.x*(blockDim.x-1) + tid];
+		sL[tid] = right[blockDim.x*(gridDim.x-1) + tid];
+
 	}
 
 	__syncthreads();
 
-	//Initialize temper. Kind of an unrolled for loop.  This is actually at
-	//Timestep 0.
+	// Initialize temper. Kind of an unrolled for loop.  This is actually at
+	// Timestep 0.
+	// I think I kinda lost the thread here so to speak.
 	temper[15] = sL[0];
 	temper[16] = sL[1];
 	temper[17] = sR[0];


		t_eq += (TS*17);


	// Some condition about when to stop or copy memory.
	}

	double wall1 = clock();


	right[gid] = sR[tid];
	left[gid] = sL[tid];

}


__global__ void downTriangle(REAL *IC, REAL *right, REAL *left)
{
