SAV求解NS方程
笔记主页
-
最原始的投影法基于算子分裂法
-
压力校正方法在上一步的基础上两方个程同时加上∇pn,但是这种方法因为压力p的边界有问题,导致压力算不好。
-
目前投影法,在最原始的基础上假设一个新的函数∇ψn+1,他的特点是边界上不完全为0,即法方向为0切方向不为0
⎩⎨⎧Δtu~n+1−un+un⋅∇u~n+1=νΔu~n+1−∇pnu~n+1∣Ω=0
⎩⎨⎧Δtun+1−u~n+1+∇ψn+1=0∇⋅un+1=0un+1⋅n∣Ω=0
pn+1=pn−ν∇⋅u~n+1
容易想到下面格式
⎩⎨⎧2Δt3u~n+1−4un+un−1+(2un−un−1)⋅∇u~n+1=νΔu~n+1−∇(2pn−pn−1)u~n+1∣Ω=0
⎩⎨⎧2Δt3(un+1−u~n+1)+∇(pn+1−2pn+pn−1)=0∇⋅un+1=0un+1⋅n∣Ω=0
但是上面的格式稳定性难以证明
⎩⎨⎧2Δt3u~n+1−4un+un−1+(2un−un−1)⋅∇u~n+1=νΔu~n+1−∇(pn+1−32ΔtΔ(pn+1−pn))u~n+1∣Ω=0
⎩⎨⎧2Δt3(un+1−u~n+1)+∇(pn+1−pn)=0∇⋅un+1=0un+1⋅n∣Ω=0un+1⋅τ∣∂Ω=32ΔtΔ(pn+1−pn)τ
⎩⎨⎧Δtun+1−un+un⋅∇un+1+21∇⋅unun+1=νΔun+1−∇pn∇⋅un+1−ϵΔpn+1=0,∂n∂pn+1∣∂Ω=0
第一式同时与un+1,
注意到
(un⋅∇un+1,un+1)=−(∇⋅unun+1,un+1)−(unun+1,∇un+1)
于是有
∣∣un+1∣∣2−∣∣un∣∣2=−2Δtν∣∣∇un+1∣∣2−2Δt(∇pn,un+1)
2Δt(∇un+1,pn+1)+2Δtϵ∣∣∇pn+1∣∣2=0
上面两式合并起来
要合理利用
∇⋅(un+1−un)−ϵΔ(pn+1−pn)=0
与
ϵ∣∣∇(pn+1−pn)∣∣2=(∇(pn+1−pn),un+1−un)
最后可证出稳定性,要求ϵ≥Δt
结合(1)n+1+(2)n
⎩⎨⎧Δtu~n+1−u~n=νΔu~n+1−∇pn∇⋅u~n+1−ΔtΔpn+1=0,∂n∂pn+1∣∂Ω=0
结论
∣∣∇(u~n+1−u(tn+1))∣∣≤CΔt21
利用恒等式
(3a−4b+c,2a)=a2+(2a−b)2+(a−2b+c)2−(b2+(2b−c)2)
要巧妙利用∇⋅un+1=0
⎩⎨⎧ut+u⋅∇u=νΔu−∇p∇⋅u=0,u∣∂Ω=0.
并不是梯度流
SAV的实质是
μ=δϕδE=−Δϕ+ξF′(ϕ)
其中ξ=∫ΩFdx+C0r(t)
因此这里可以令
ξ=∫Ωu2dx+C0r(t)
于是方程可以修改为
⎩⎨⎧ut+ξu⋅∇u=νΔu−∇pξ=∫Ω21u2dx+C0r(t)2rrt=(ut,u)=(u,ut+ξu⋅∇u)∇⋅u=0,u∣∂Ω=0
⎩⎨⎧Δtun+1−un+ξn+1un⋅∇un=νΔun+1−∇pn+1ξn+1=∫Ω21(un+1)2dx+C0rn+12rn+1Δtrn+1−rn=(un+1,Δtun+1−un+ξn+1un⋅∇un)∇⋅un+1=0,u∣∂Ω=0
如何解耦
先算u~n+1
⎩⎨⎧Δtu~n+1−un+ξn+1un⋅∇un=νΔu~n+1−∇pnξn+1=∫Ω(un+1)2dx+C0rn+12rn+1Δtrn+1−rn=(u~n+1,Δtu~n+1−un+ξn+1un⋅∇un)u~n+1∣∂Ω=0
再校正
⎩⎨⎧Δtun+1−u~n+1+∇(pn+1−pn)=0∇⋅un+1=0
利用下式(不会丢精度)
Δtun+1−un=Δtun+1−u~n+1+Δtu~n+1−un
可以证明出稳定性
两种流体混合在一起,假设这两种流体会互相排斥,例如油与水,
油滴入水中如何模拟?
引入一个指标函数
ϕ(x,t)={1,−1,流体1流体2
在界面处用一个光滑函数连接起来,并且界面层很薄,因此需要一个方程去描述ϕ的运动,ϕ的方程满足输运方程,u是流体速度,例如
ϕt+u⋅∇ϕ=0
但是上面的格式有缺陷,容易丢失界面,导致与实验偏差很大,因此这种方法可以很好用于动画模拟。当然也可进行特殊处理,但是复杂
另外一种方法
用梯度流来表示传输性质
从一个能量出发,先引入一个能量
E(ϕ)=γ∫21∣∇ϕ∣2+ϵ21F(ϕ)dx
其中F(ϕ)=41(ϕ2−1)2
其平衡态的解为
−Δϕ+ϵ21F′(ϕ)=0
于是可以逼近
ϕt+u⋅∇ϕ=−σδϕδE
边界层一直存在,相场模型可以保持界面不变,这是它的好处之一;第二个好处,如果界面有拓扑变换的话,这个方程自然而然就出来了。
两个体积保持不变,因此希望有
dtd∫Ωϕdx=0
u具有性质
∇⋅u=0,u∣∂Ω=0
于是有
∂t∫Ωϕdx=−σ∫δϕδEdx=0
因此质量不守恒
改进办法为
加上变分导数边界条件
∂n∂⋅δϕδE=0
于是有质量守恒
用AC方程不太好,因此用CH方程
ρ(ut+u⋅∇u)=∇⋅T
其中T是合外力
T=μ(Du+DuT)⋅pI+λ∇ϕ⊗∇ϕ
这是牛顿流,上述方程右边后面一项是表面张力,它是张量
上式子同求散度∇⋅可得
T=μΔu−∇p−λ∇⋅(∇ϕ⊗∇ϕ)
假设 ρ=ρ0=1
SAV方法解NS方程,构造BDF-2格式,并证明稳定性
笔记主页