def velocity_y(x, y): if experiment == 1: val = -y * y * (1. - y)**2 * (2. * x - 6. * x * x + 4 * x * x * x) if experiment == 2: val = 0. if experiment == 3: val = 0. if experiment == 4: val = 0 if experiment == 5: xxx, val, xxxx = solkz.SolKzSolution(x, y) if experiment == 6: val = 0 if experiment == 7: val = -(2 * x - 1) * y * (1 - y) if experiment == 8: val = 0 if experiment == 9: val = -y - 2 * x * y + y**2 - 3 * x**2 * y + y**3 - x * y**2 if experiment == 10: val = 0 if experiment == 11: val = 0 if experiment == 12: val = 0 if experiment == 13: xxx, val, xxx = solcx.SolCxSolution(x, y) if experiment == 14: xxx, val, xxx = solvi.solution(x, y) return val
def pressure(x, y): if experiment == 1: val = x * (1. - x) - 1. / 6. if experiment == 2: val = 0. if experiment == 3: val = 0. if experiment == 4: val = 0.5 - y if experiment == 5: xxx, xxxx, val = solkz.SolKzSolution(x, y) if experiment == 6: val = 0 if experiment == 7: val = 2 * x * (1 - 2 * y) if experiment == 8: val = -32000 * (y - Ly / 2) if experiment == 9: val = x * y + x + y + x**3 * y**2 - 4. / 3. if experiment == 10: val = 0 if experiment == 11: val = 0 if experiment == 12: val = 0 if experiment == 13: xxx, xxx, val = solcx.SolCxSolution(x, y) if experiment == 14: xxx, xxx, val = solvi.solution(x, y) return val
def velocity_x(x, y): if experiment == 1: val = x * x * (1. - x)**2 * (2. * y - 6. * y * y + 4 * y * y * y) if experiment == 2: val = 0. if experiment == 3: val = 0. if experiment == 4: val = 0 if experiment == 5: val, xxx, xxxx = solkz.SolKzSolution(x, y) if experiment == 6: val = 0 if experiment == 7: val = (2 * y - 1) * x * (1 - x) if experiment == 8: val = 0 if experiment == 9: val = x + x**2 - 2 * x * y + x**3 - 3 * x * y**2 + x**2 * y if experiment == 10: val = 0 if experiment == 11: val = 0 if experiment == 12: val = 0 if experiment == 13: val, xxx, xxx = solcx.SolCxSolution(x, y) if experiment == 14: val, xxx, xxx = solvi.solution(x, y) return val
def pressure(x, y): val = 0 if benchmark == 1: val = x * (1. - x) - 1. / 6. if benchmark == 4: val = x * y + x + y + x**3 * y**2 - 4 / 3 if benchmark == 5: val = 0 if benchmark == 6: ui, vi, val = solvi.solution(x, y) if benchmark == 7: ui, vi, val = solcx.SolCxSolution(x, y) return val
def pressure(x, y): if bench == 1: return x * (1 - x) * (1 - 2 * y) if bench == 4: ui, vi, pi = solcx.SolCxSolution(x, y) return pi if bench == 5: ui, vi, pi = solkz.SolKzSolution(x, y) return pi if bench == 6: ui, vi, pi = solvi.solution(x, y) return pi if bench == 9: return x * y + x + y + x**3 * y**2 - 4 / 3
def velocity_y(x, y): if bench == 1: return c(x) * d(y) if bench == 4: ui, vi, pi = solcx.SolCxSolution(x, y) return vi if bench == 5: ui, vi, pi = solkz.SolKzSolution(x, y) return vi if bench == 6: ui, vi, pi = solvi.solution(x, y) return vi if bench == 9: return -y - 2 * x * y + y**2 - 3 * x**2 * y + y**3 - x * y**2
def velocity_x(x, y): if bench == 1: return a(x) * b(y) if bench == 4: ui, vi, pi = solcx.SolCxSolution(x, y) return ui if bench == 5: ui, vi, pi = solkz.SolKzSolution(x, y) return ui if bench == 6: ui, vi, pi = solvi.solution(x, y) return ui if bench == 9: return x + x**2 - 2 * x * y + x**3 - 3 * x * y**2 + x**2 * y
def velocity_x(x,y,case): if case==1: val=x*x*(1.-x)**2*(2.*y-6.*y*y+4*y*y*y) if case==2: val=x + x**2 - 2*x*y + x**3 -3*x*y**2 + x**2*y if case==3: val=0. if case==4: ui,vi,pi=solcx.SolCxSolution(x,y) val=ui if case==5: ui,vi,pi=solvi.solution(x,y) val=ui return val
def pressure(x,y,case): if case==1: val=x*(1.-x)-1./6. if case==2: val = x*y+x+y+x**3*y**2 -4./3. if case==3: val=0. if case==4: ui,vi,pi=solcx.SolCxSolution(x,y) val=pi if case==5: ui,vi,pi=solvi.solution(x,y) val=pi return val
def velocity_y(x,y,case): if case==1: val=-y*y*(1.-y)**2*(2.*x-6.*x*x+4*x*x*x) if case==2: val = -y - 2*x*y +y**2 - 3*x**2*y + y**3 -x*y**2 if case==3: val=0. if case==4: ui,vi,pi=solcx.SolCxSolution(x,y) val=vi if case==5: ui,vi,pi=solvi.solution(x,y) val=vi return val
def velocity_y(x, y): val = 0 if benchmark == 1: val = -y * y * (1. - y)**2 * (2. * x - 6. * x * x + 4 * x * x * x) if benchmark == 4: val = -y - 2 * x * y + y**2 - 3 * x**2 * y + y**3 - x * y**2 if benchmark == 5: val = 0 if benchmark == 6: ui, val, pi = solvi.solution(x, y) if benchmark == 7: ui, val, pi = solcx.SolCxSolution(x, y) if benchmark == 9: val = 0 return val
def velocity_x(x, y): val = 0 if benchmark == 1: val = x * x * (1. - x)**2 * (2. * y - 6. * y * y + 4 * y * y * y) if benchmark == 4: val = x + x**2 - 2 * x * y + x**3 - 3 * x * y**2 + x**2 * y if benchmark == 5: val = 0 if benchmark == 6: val, vi, pi = solvi.solution(x, y) if benchmark == 7: val, vi, pi = solcx.SolCxSolution(x, y) if benchmark == 9 and y > 0.5: val = 16 * x**2 * (1 - x)**2 return val
##################################################################### # extract velocity field at domain bottom and on diagonal ##################################################################### if case==5: xdiag=np.zeros(nnx,dtype=np.float64) udiag=np.zeros(nnx,dtype=np.float64) udiagth=np.zeros(nnx,dtype=np.float64) counter=0 for i in range(0,nnp): if abs(x[i]-y[i])<eps: xdiag[counter]=x[i] ui,vi,pi=solvi.solution(x[i],y[i]) udiag[counter]=u[i] udiagth[counter]=ui counter+=1 #end if #end for xbot=np.zeros(nnx,dtype=np.float64) pbotth=np.zeros(nnx,dtype=np.float64) pbot=np.zeros(nnx,dtype=np.float64) counter=0 for i in range(0,nnp): if abs(y[i])<eps: xbot[counter]=x[i] ui,vi,pi=solvi.solution(x[i],y[i])