 #ifdef ISOCHORIC
         // Isochoric part
         temp = tex1Dfetch(Di1_ref, index);
-        temp.x *= Ai_gpu[1]; temp.x += Ai_gpu[0]*SiE11;
+        temp.x *= Ai_hex_gpu[1]; temp.x += Ai_hex_gpu[0]*SiE11;
         SPK[0] -= temp.x;
-        temp.y *= Ai_gpu[1]; temp.y += Ai_gpu[0]*SiE22;
+        temp.y *= Ai_hex_gpu[1]; temp.y += Ai_hex_gpu[0]*SiE22;
         SPK[1] -= temp.y;
-        temp.z *= Ai_gpu[1]; temp.z += Ai_gpu[0]*SiE33;
+        temp.z *= Ai_hex_gpu[1]; temp.z += Ai_hex_gpu[0]*SiE33;
         SPK[2] -= temp.z;
-        temp.w *= Ai_gpu[+1]; temp.w += Ai_gpu[0]*SiE12;
+        temp.w *= Ai_hex_gpu[+1]; temp.w += Ai_hex_gpu[0]*SiE12;
         SPK[3] -= temp.w;
         Di1[index] = make_float4(temp.x, temp.y, temp.z, temp.w);
 
         temp = tex1Dfetch(Di2_ref, index);
-        temp.x *= Ai_gpu[1]; temp.x += Ai_gpu[0]*SiE23;
+        temp.x *= Ai_hex_gpu[1]; temp.x += Ai_hex_gpu[0]*SiE23;
         SPK[4] -= temp.x;
-        temp.y *= Ai_gpu[1]; temp.y += Ai_gpu[0]*SiE13;
+        temp.y *= Ai_hex_gpu[1]; temp.y += Ai_hex_gpu[0]*SiE13;
         SPK[5] -= temp.y;
         Di2[index] = make_float4(temp.x, temp.y, 0, 0);
 
 #else
         // Volumetric part
         temp = tex1Dfetch(Dv1_ref, index);
-        temp.x *= Av_gpu[1]; temp.x += Av_gpu[0]*SvE11;
+        temp.x *= Av_hex_gpu[1]; temp.x += Av_hex_gpu[0]*SvE11;
         SPK[0] -= temp.x;
-        temp.y *= Av_gpu[1]; temp.y += Av_gpu[0]*SvE22;
+        temp.y *= Av_hex_gpu[1]; temp.y += Av_hex_gpu[0]*SvE22;
         SPK[1] -= temp.y;
-        temp.z *= Av_gpu[1]; temp.z += Av_gpu[0]*SvE33;
+        temp.z *= Av_hex_gpu[1]; temp.z += Av_hex_gpu[0]*SvE33;
         SPK[2] -= temp.z;
-        temp.w *= Av_gpu[1]; temp.w += Av_gpu[0]*SvE12;
+        temp.w *= Av_hex_gpu[1]; temp.w += Av_hex_gpu[0]*SvE12;
         SPK[3] -= temp.w;
         Dv1[tid] = make_float4(temp.x, temp.y, temp.z, temp.w);
 
         temp = tex1Dfetch(Dv2_ref, index);
-        temp.x *= Av_gpu[1]; temp.x += Av_gpu[0]*SvE23;
+        temp.x *= Av_hex_gpu[1]; temp.x += Av_hex_gpu[0]*SvE23;
         SPK[4] -= temp.x;
-        temp.y *= Av_gpu[1]; temp.y += Av_gpu[0]*SvE13;
+        temp.y *= Av_hex_gpu[1]; temp.y += Av_hex_gpu[0]*SvE13;
         SPK[5] -= temp.y;
         Dv2[tid] = make_float4(temp.x, temp.y, 0, 0);
 #endif


}

__global__ void CudaHexahedronTLEDForceField3f_calcForce_kernel3(float Lambda, float Mu, int nbElem, float4 * Di1, float4 * Di2, float4 * Dv1, float4 * Dv2, float4* F0_gpu, float4* F1_gpu, float4* F2_gpu, float4* F3_gpu, float4* F4_gpu, float4* F5_gpu, float4* F6_gpu, float4* F7_gpu)
{
    int index0 = umul24(blockIdx.x,BSIZE); //blockDim.x;
    int index1 = threadIdx.x;

        /**
        * Computes strain-displacement matrix
        */
        F0_hex_gpu[index] = computeForce_hex(0, Dh0_a, Dh0_b, Dh1_a, Dh1_b, Dh2_a, Dh2_b, Node1Disp, Node2Disp, Node3Disp, Node4Disp,
                Node5Disp, Node6Disp, Node7Disp, Node8Disp, SPK, index);

        F1_hex_gpu[index] = computeForce_hex(1, Dh0_a, Dh0_b, Dh1_a, Dh1_b, Dh2_a, Dh2_b, Node1Disp, Node2Disp, Node3Disp, Node4Disp,
                Node5Disp, Node6Disp, Node7Disp, Node8Disp, SPK, index);

        F2_hex_gpu[index] = computeForce_hex(2, Dh0_a, Dh0_b, Dh1_a, Dh1_b, Dh2_a, Dh2_b, Node1Disp, Node2Disp, Node3Disp, Node4Disp,
                Node5Disp, Node6Disp, Node7Disp, Node8Disp, SPK, index);

        F3_hex_gpu[index] = computeForce_hex(3, Dh0_a, Dh0_b, Dh1_a, Dh1_b, Dh2_a, Dh2_b, Node1Disp, Node2Disp, Node3Disp, Node4Disp,
                Node5Disp, Node6Disp, Node7Disp, Node8Disp, SPK, index);

        F4_hex_gpu[index] = computeForce_hex(4, Dh0_a, Dh0_b, Dh1_a, Dh1_b, Dh2_a, Dh2_b, Node1Disp, Node2Disp, Node3Disp, Node4Disp,
                Node5Disp, Node6Disp, Node7Disp, Node8Disp, SPK, index);

        F5_hex_gpu[index] = computeForce_hex(5, Dh0_a, Dh0_b, Dh1_a, Dh1_b, Dh2_a, Dh2_b, Node1Disp, Node2Disp, Node3Disp, Node4Disp,
                Node5Disp, Node6Disp, Node7Disp, Node8Disp, SPK, index);

        F6_hex_gpu[index] = computeForce_hex(6, Dh0_a, Dh0_b, Dh1_a, Dh1_b, Dh2_a, Dh2_b, Node1Disp, Node2Disp, Node3Disp, Node4Disp,
                Node5Disp, Node6Disp, Node7Disp, Node8Disp, SPK, index);

        F7_hex_gpu[index] = computeForce_hex(7, Dh0_a, Dh0_b, Dh1_a, Dh1_b, Dh2_a, Dh2_b, Node1Disp, Node2Disp, Node3Disp, Node4Disp,
                Node5Disp, Node6Disp, Node7Disp, Node8Disp, SPK, index);


