1 0 GfsPoisson GfsBox GfsGEdge {} {
  Time { iend = 1 }
  Refine (x*x + y*y <= 0.25*0.25 ? LEVEL + 2 : LEVEL)

  GModule hypre
  ApproxProjectionParams { tolerance = 1e-30 nitermin = CYCLE nitermax = CYCLE }

  Init {} {
    Div = {
      int k = 3, l = 3;
      return -M_PI*M_PI*(k*k + l*l)*sin (M_PI*k*x)*sin (M_PI*l*y);
    }
  }
  OutputTime { istep = 1 } {
    awk '{if ($2 == 1) print CYCLE, $8;}' >> time
  }
  OutputProjectionStats { start = end } {
    awk '{if ($1 == "residual.infty:") print CYCLE, $3, $4;}' >> proj
  }
  OutputErrorNorm { start = end } {
    awk '{print LEVEL, $5, $7, $9}' >> error 
  } { v = P } {
    s = (sin (M_PI*3.*x)*sin (M_PI*3.*y))
    unbiased = 1
  }
  OutputSimulation { start = end } end-SOLVER.gfs
}
GfsBox {
   left =   Boundary { BcNeumann P (- 3.*M_PI*cos(M_PI*3.*x)*sin (M_PI*3.*y)) }
   right =  Boundary { BcNeumann P (  3.*M_PI*cos(M_PI*3.*x)*sin (M_PI*3.*y)) }
   top =    Boundary { BcNeumann P (  3.*M_PI*cos(M_PI*3.*y)*sin (M_PI*3.*x)) }
   bottom = Boundary { BcNeumann P (- 3.*M_PI*cos(M_PI*3.*y)*sin (M_PI*3.*x)) }
}