         t.toc();
         if(rank==0)std::cout<<t.diff()/(double)multi<<" ";
     }
-    if(rank==0)std::cout << res.i<<" ";
+    if(rank==0)std::cout << res.d<< " "<<res.i<<" ";
 
 
     if(rank==0)std::cout <<std::endl;

{
    MPI_Init( &argc, &argv);
    unsigned n, Nx, Ny, Nz; 
    ////////////////////////////////////////////////////////////////
    mpi_init3d( bcx, bcy, bcz, n, Nx, Ny, Nz, comm, std::cin, false);
    int rank;
    MPI_Comm_rank( comm, &rank);
    if(rank==0)
    {
        int dims[3], periods[3], coords[3];
        MPI_Cart_get( comm, 3, dims, periods, coords);
        std::cout<< dims[0] <<" "<<dims[1]<<" "<<dims[2]<<" "<<dims[0]*dims[1]*dims[2]<<" ";
        int num_threads = 1;
#ifdef _OPENMP

    //The Elliptic scheme
    periods[0] = false, periods[1] = false;
    MPI_Comm commEll;
    MPI_Cart_create( MPI_COMM_WORLD, 3, dims, periods, true, &commEll);
    dg::CylindricalMPIGrid3d gridEll( R_0, R_0+lx, 0., ly, 0.,lz, n, Nx, Ny,Nz, dg::DIR, dg::DIR, dg::PER, commEll);
    const Vector ellw3d = dg::create::volume(gridEll);
    const Vector ellv3d = dg::create::inv_volume(gridEll);
