1 0 GfsSimulation GfsBox GfsGEdge { } {

    Global {
        #define R0 (0.05)
        double sol (double x, double y) {
            double r = sqrt(x*x+y*y);
            return r >= R0 ? R0*R0*0.5/r : r*0.5;
        }
    }


    Time { iend = 10 }

    Refine (LEVEL - 4*pow((x*x+y*y)/0.25, 0.5))

    Variable F
    InitFraction F (R0*R0 - x*x - y*y)
    Source P F
    PhysicalParams { L = 2 }

    OutputTime { istep = 1 } stderr

    OutputErrorNorm { start = end } { awk '{ print LEVEL,$5,$7,$9 }' > error-LEVEL } { 
	v = Velocity 
    } {
        s = sol(x,y)
        v = E
        w = (x*x + y*y < 25.*R0*R0)
        relative = 1
    }
    
    OutputSimulation { start = end } end-LEVEL.gfs
} 
GfsBox {
    left  =  GfsBoundaryOutflow
    right  = GfsBoundaryOutflow
    top    = GfsBoundaryOutflow
    bottom = GfsBoundaryOutflow
}