     if(es_data.electrostatics_allocation_bool)
     {
 	//kernel calling parameters for all grid dependent kernels
-	int new_blockzise = 512;
-	int new_gridsize = es_data.Nx*es_data.Ny*es_data.Nz / new_blockzise + 1;
+	int new_blocksize = 256;
+	int new_gridsize = es_data.Nx*es_data.Ny*es_data.Nz / new_blocksize + 1;
       
 	// setup the grid to run the kernel
-	int blocksize = 512;
+	int blocksize = 256;
 	dim3 grid( pdata.N / blocksize + 1, 1, 1);
 	dim3 threads(blocksize, 1, 1);
 

	temp =  floor(((es_data.kappa*CPU_box.Lz/(M_PI*es_data.Nz)) *  pow(-log(EPS_HOC),0.25)));
	int nbz = (int)temp;

	reset_kvec_green_hat <<< new_gridsize, new_blockzise >>>(box, es_data.Nx, es_data.Ny, es_data.Nz, es_data.interpolation_order, es_data.kappa, es_data.GPU_k_vec, es_data.GPU_green_hat, es_data.vg, nbx, nby, nbz, es_data.gf_b);
	cudaThreadSynchronize();
	CPU_box_old.Lx = CPU_box.Lx;
	CPU_box_old.Ly = CPU_box.Ly;

	float scale = 1.0f/((float)(es_data.Nx * es_data.Ny * es_data.Nz));
	es_data.CPU_energy_virial_factor = 0.5 * CPU_box.Lx * CPU_box.Ly * CPU_box.Lz * scale * scale;
    }

    // setup the grid to run the particle kernel 
    
    
