4 3 GfsSimulation GfsBox GfsGEdge {} { Time { end = 1 } AdvectionParams { cfl = 0.9 } ProjectionParams { tolerance = 1e-6 } ApproxProjectionParams { tolerance = 1e-6 } Refine LEVEL Global { double channel (double x) { double y1 = 0.2/4.; double y2 = 1e-6/4.; return x <= -0.25 ? y1 : x < 0.25 ? y2 + 0.5*(y1 - y2)*(1. + cos (2.*M_PI*(x + 0.25))) : y2; } } Solid (0.125 - channel (x) - y) { scale = 4 tx = 1.5 } Solid (y + 0.125 - channel (x)) { scale = 4 tx = 1.5 } Init {} { U = 1 } OutputSimulation { start = end } sim-LEVEL { variables = U,V,P } } GfsBox { left = Boundary { BcDirichlet U 1 } } GfsBox {} GfsBox {} GfsBox { right = BoundaryOutflow } 1 2 right 2 3 right 3 4 right