【COMSOL】修改内置物理场方程 模拟水沸腾的蒸汽泡运动

编程入门 行业动态 更新时间:2024-10-19 21:33:49

前言

在COMSOL中通过弱贡献(weak contribution)节点,可以向任何内置模型方程中添加约束。这里,以模拟水沸腾的蒸汽泡运动为例,来讲一讲当我们研究的方程与模块方程不一样时,应该怎么增加新的贡献项。

物理场

涉及到水的非等温流动,液相和气相的转化。添加三个模块,层流、相场和传热。主要的控制方程为:

流体:

ρ ∂ u ∂ t + ρ ( u ⋅ ▽ ) u = ▽ ⋅ [ − p I   + K ] + F + ρ g \rho \frac{\partial \textbf{u}}{\partial t}+\rho \left ( \textbf{u} \cdot \bigtriangledown \right )\textbf{u}=\triangledown \cdot \left [ -p\textbf{I }+\textbf{K}\right ]+\textbf{F}+\rho \textbf{g} ρtu+ρ(u)u=[p+K]+F+ρg (1)

∂ ∂ t ρ + ▽ ⋅ ( ρ u ) = 0 \frac{\partial }{\partial t}\rho+\bigtriangledown \cdot (\rho \textbf{u})=0 tρ+(ρu)=0 (2)

相场:

∂ ϕ ∂ t + u ⋅ ▽ ϕ = ▽ ⋅ γ λ ε 2 ▽ ψ \frac{\partial \phi }{\partial t}+\textbf{u}\cdot \bigtriangledown \phi =\bigtriangledown \cdot \frac{\gamma \lambda }{\varepsilon ^2}\bigtriangledown \psi tϕ+uϕ=ε2γλψ (3)

ψ = − ▽ ⋅ ε 2 ▽ ϕ + ( ϕ 2 − 1 ) ϕ \psi =-\bigtriangledown \cdot \varepsilon ^2\bigtriangledown \phi +(\phi ^2-1)\phi ψ=ε2ϕ+(ϕ21)ϕ (4)

传热
ρ C p ∂ T ∂ t + ρ C p u ⋅ ▽ T + ▽ ⋅ q = 0 \rho C_p\frac{\partial T}{\partial t}+\rho C_p\textbf{u}\cdot \bigtriangledown T+\bigtriangledown\cdot \textbf{q}=0 ρCptT+ρCpuT+q=0 (5)

以相场方程为例,Cahn - Hilliard 方程中不含源项,若考虑液气相变,需要增加源项:

S f = m ˙ δ ( V f , v ρ v + V f , L ρ L ) S_f=\dot{m}\delta \left ( \frac{V_{f,v}}{\rho_v}+\frac{V_{f,L}}{\rho_L} \right ) Sf=m˙δ(ρvVf,v+ρLVf,L)

Cahn - Hilliard 方程改为:

∂ ϕ ∂ t + u ⋅ ▽ ϕ = ▽ ⋅ γ λ ε 2 ▽ ψ + S f \frac{\partial \phi }{\partial t}+\textbf{u}\cdot \bigtriangledown \phi =\bigtriangledown \cdot \frac{\gamma \lambda }{\varepsilon ^2}\bigtriangledown \psi+S_f tϕ+uϕ=ε2γλψ+Sf (6)

对其乘以一个试函数 test(psi) 再对域内积分:

0 = ∫ Ω t e s t ( p s i ) ∗ ( ∂ ϕ ∂ t + u ⋅ ▽ ϕ − ▽ ⋅ γ λ ε 2 ▽ ψ − S f ) d Ω 0=\int_{\Omega}test(psi)*(\frac{\partial \phi }{\partial t}+\textbf{u}\cdot \bigtriangledown \phi -\bigtriangledown \cdot \frac{\gamma \lambda }{\varepsilon ^2}\bigtriangledown \psi-S_f)d\Omega 0=Ωtest(psi)(tϕ+uϕε2γλψSf)dΩ

运用散度定理,再整理一下:

0 = ∫ Ω [ t e s t ( p s i ) ∗ ∂ ϕ ∂ t + ▽ ( t e s t ( p s i ) ) ⋅ γ λ ϵ 2 ▽ ψ ] d Ω + ∫ Ω [ u ⋅ ▽ ϕ − S f ] ∗ t e s t ( p s i ) d Ω − ∫ ∂ Ω t e s t ( p s i ) γ λ ε 2 ▽ ψ ⋅ n d s 0=\int_{\Omega}[test(psi)*\frac{\partial \phi }{\partial t}+\bigtriangledown(test(psi))\cdot\frac{\gamma \lambda}{\epsilon^2}\bigtriangledown\psi]d\Omega+\int_{\Omega}[\textbf{u}\cdot\bigtriangledown\phi-S_f]*test(psi)d\Omega-\int_{\partial\Omega}test(psi)\frac{\gamma \lambda }{\varepsilon ^2}\bigtriangledown \psi\cdot\textbf{n}ds 0=Ω[test(psi)tϕ+(test(psi))ϵ2γλψ]dΩ+Ω[uϕSf]test(psi)dΩΩtest(psi)ε2γλψnds (7)

(7)式内第一项,对应COMSOL中弱形式:

-pf.lam*pf.mobility*psix*test(psix)/pf.epsilon_pf^2-pf.lam*pf.mobility*psiy*test(psiy)/pf.epsilon_pf^2-phipft*test(psi)

(7)式内第三项,对应于边界条件。

(7)式内第二项,对应于COMSOL中弱形式:

(-pf.ux*phipfx-pf.uy*phipfy)*test(psi)

然而,该弱形式不含源项,需要手动添加。可以在相场节点下,添加弱贡献(weak contribution), t e s t ( p s i ) ∗ S f test(psi)*S_f test(psi)Sf

至于内置模块方程用什么试函数,可以在组件里查看。

对于流动的连续性方程,原方程不包含质量源项,应该增加,用上述方法比较容易知道应该增加弱贡献 t e s t ( p ) ∗ S m test(p)*S_m test(p)Sm.

至于相变热量的吸收和释放,因为传热方程中本身带有热源项,可以直接处理为热源,不需要对方程进行改动。

以上就介绍了如何使用弱贡献修改内置方程,具体案例提供一个视频教程。案例文件可在我的主页下载。

更多推荐

【COMSOL】修改内置物理场方程 模拟水沸腾的蒸汽泡运动

本文发布于:2023-06-14 09:48:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1462670.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:方程   蒸汽   物理   COMSOL

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!