 /*    HANDLE_ERROR( cudaPeekAtLastError() );  */ \
 /*    HANDLE_ERROR( cudaDeviceSynchronize() );*/ \
 } while(0)
-
-/**
- * Setup: cylindrical obstacle and velocity inlet with perturbation
- * Creation of a mask with boolean values, defining the shape of the obstacle.
- */
-static void initObstacles(bool* obstacles, size_t nx, size_t ny, size_t nz)
-{
-    for (int x = 0; x < nx; x++) {
-        for (int y = 0; y < ny; y++) {
-            for (int z = 0; z < nz; z++) {
-                obstacles[IDX(x,y,z,nx,ny,nz)] = false;
-            }
-        }
-    }
-}
 
 /**
  * Initial velocity profile: almost zero, with a slight perturbation to trigger

    lbm_sim->nz = nz;
   
    lbm_vars_alloc(&lbm_sim->h_vars, nl);
    initObstacles(lbm_sim->h_vars.obstacles, nx, ny, nz);

    double vel[ny];
    initVelocity(vel, ny);

    lbm_vars_cuda_alloc(&lbm_sim->d_vars, nl);

    lbm_lattices_write(&lbm_sim->d_vars.f0, &lbm_sim->h_vars.f0, nl);

    cudaDeviceProp prop;
    cudaGetDeviceProperties(&prop, 0);
