使用jasmin求解线性对流方程

元气小坏坏 提交于 2019-11-30 06:16:15
  1. 线性对流方程:

u(x,t)t+(a)u(x,t)=0,xω\frac{\partial u(\vec{x} ,t)}{\partial t} + \nabla \cdot (\vec{a}) \cdot u(\vec{x}, t) = 0, \quad \vec{x} \in \omega
a>=0,(其中,对流速度 \vec{a} >= 0, 为常量)

初始条件:

u(x,0)=u0(x),xωu(\vec{x}, 0) = u_0(\vec{x}), \quad \vec{x} \in \omega
边界条件:
u(x,t)=uΓ(t),xΓ(ω)u(\vec{x}, t) = u_{\Gamma}(t), \quad \vec{x} \in \Gamma_(\omega)

离散格式:时间离散采用显式格式,空间离散采用一阶迎风格式。
ui,jn二维:守恒量u_{i, j}^n 定义在单元中心
fi1/2,jn通量 \vec{f}_{i - 1/2, j}^n定义在网格面心
于是:
fi1/2,j,0n+1=δta0ui1,jnf_{i - 1/2, j, 0}^{n+1} = \delta t \cdot a_0 \cdot u_{i - 1, j}^n
fi,j1/2,1n+1=δta1ui,j1nf_{i, j - 1/2, 1}^{n+1} = \delta t \cdot a_1 \cdot u_{i, j - 1}^n
ui,jn+1=ui,jn+(fi1/2,j,0n+1fi+1/2,j,0n+1)/δx0+(fi,j1/2,1n+1fi,j+1/2,1n+1)/δx1u_{i, j}^{n + 1} = u_{i, j}^n + (f_{i - 1/2, j, 0}^{n + 1} - f_{i + 1/2, j, 0}^{n + 1}) / \delta x_0 + (f_{i, j - 1/2, 1}^{n + 1} - f_{i, j + 1/2, 1}^{n + 1}) / \delta x_1

时间步长:
δt=cmin(δxi/ai),0<c<1\delta t = c \cdot min(\delta x_i / a_i), \quad 0 < c < 1
a1a2()0a0注:程序实际实现时,a_1 和 a_2 (三维情形)总设为0,a_0则从输入文件读入。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!