将FiPy的Flow.stokesCavity示例中的二维通道流场转换为一维流场。
1、导入所需的库和模块
from fipy import CellVariable, Grid1D, TransientTerm, DiffusionTerm, Viewer
2、定义网格和盒子大小
nx = 100
L = 1.0
mesh = Grid1D(nx=nx, Lx=L)
3、定义变量
u = CellVariable(name="velocity", mesh=mesh, hasOld=1)
4、设定边界条件
u.constrain(0., mesh.facesLeft)
u.constrain(1., mesh.facesRight)
5、设定初始条件
u[:] = 0.
6、设定参数
viscosity = 1.0
dt = 0.01
steps = 1000
7、定义方程
eq = (TransientTerm(var=u) == DiffusionTerm(coeff=viscosity, var=u))
8、求解
viewer = Viewer(vars=u, datamin=0., datamax=1.)
for step in range(steps):
eq.solve(dt=dt)
viewer.plot()
这样就成功地将原先的二维通道流场转换为了一维流场。