# File utilities/Flow.rb, line 71 def Flow.holeField(x0,x1,f,m,y0) veloc = proc do |p| x = p[0] y = p[1] xf = 0 yf = 0 if (x<x0 || x>(2*x1 - x0)) xf = f else sgny = (y-y0>0) ? 1 : -1 absy = (y-y0) * sgny if (x< x1 && absy > m*(x-x0)) yf = m*f*sgny xf = f end if (x >= x1 && absy>=(2*x1-x0-x)) yf = -m*f*sgny xf = f end end GeometricPoint.new([xf,yf]) end return veloc end