 
 __global__ void lbm_computation(lbm_vars d_vars, lbm_lattices f0, lbm_lattices f1, size_t nx, size_t ny, size_t nz)
 {
-    int tix = threadIdx.x;
     for (int z = blockIdx.z; z < nz; z+=gridDim.z) {
         for (int y = blockIdx.y; y < ny; y+=gridDim.y) {
             for (int x = threadIdx.x + blockIdx.x * blockDim.x; x < nx; x += blockDim.x * gridDim.x) {

                double fout_ne, fout_e, fout_se, fout_n, fout_c, fout_s, fout_nw, fout_w, fout_sw,
                       fout_te, fout_tn, fout_tc, fout_ts, fout_tw, 
                       fout_be, fout_bn, fout_bc, fout_bs, fout_bw;

                fin_ne = f0.ne[gi];
                fin_e  = f0.e [gi];

struct lbm_simulation{
    lbm_vars h_vars, d_vars;
    dim3 dimComputationGrid, dimComputationBlock;
    size_t shared_mem_size;
    bool switch_f0_f1;
    size_t nx, ny, nz;
