我正在尝试学习如何使用有限体积方法,并且我想解决斯托克斯第二个问题的更一般情况,即无限半平面在无滑移边界条件下谐波振荡。
我一直在关注本讲座中的代码并将边界条件更改为:
u[1:-1, 1] = u[1:-1, 2] #left
u[1:-1, -1] = u[1:-1, -2] #right
u[-1,1:] = 2*np.cos(n*dt) - u[-1,1:] #top
u[0, 1:] = u[1,1:] #bottom
v[1:,0] = v[1:,1] #left
v[1:,-1] = v[1:,-2] #right
v[-1,1:-1] = 0.0 #top
v[1,1:-1] = 0.0 #bottom
(我的想法是,这意味着在左侧、右侧和底部边界处没有渐变,因此流动只会继续流出/流入体积,并通过通过幻像单元设置值来振荡顶部。)
但是我们通过解析解知道
y 方向上没有速度分量。而且这个漩涡也不是一个小小的偏差。
但是,如果我只是简单地排除投影步骤/将压力设置为 0,我将在任何地方恢复分析解决方案。为什么会这样?据我了解,压力本质上是用来强制流场是无散的,但是显然也有0散度那么为什么投影方法在这里失败?
