1 0 GfsPoisson GfsBox GfsGEdge {} {
  Time { iend = 1 }
  Refine 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 { BcDirichlet P (sin (M_PI*3.*x)*sin (M_PI*3.*y)) }
  right =  Boundary { BcDirichlet P (sin (M_PI*3.*x)*sin (M_PI*3.*y)) }
  top =    Boundary { BcDirichlet P (sin (M_PI*3.*x)*sin (M_PI*3.*y)) }
  bottom = Boundary { BcDirichlet P (sin (M_PI*3.*x)*sin (M_PI*3.*y)) }
}