非静压模型NHWAVE学习(3)——考虑斜压问题的控制方程、控制方程的通量形式

考虑斜压问题的控制方程

非静压模型NHWAVE学习(1)中,我们学习了模型的控制方程(如下图所示)。但实际上,由于NHWAVE模型的版本不断地更新迭代,计算模块不断增加(例如植被、泥沙输运等),现在的模型源代码所遵循的方程实际上远比下图所示的要复杂;简单来说,现版本NHWAVE中,控制方程中含有更多、更为复杂的项。
在这里插入图片描述
在这篇blog中,我们着重介绍NHWAVE的开发组学者Gangfeng Ma所引入的斜压项1;他的这项工作使得NHWAVE可以模拟由于密度差异而引起的斜压问题,从而使模型的应用范围扩展到盐度、泥沙等物质输运过程的数值模拟中。
何为斜压(Baroclinic)问题?我们首先要知道,斜压这个概念是相对于正压(Barotropic)而言的。在流体力学中,若等压面和等密度面相重合,则根据状态方程知,此时的密度仅收到液体压强的控制;但在实际的河口、海洋或是湖泊、水库中,水体温度、盐度、泥沙含量等也会显著地影响流体的密度,而此时的流体等压面不再与等密度面相互交割,故称“斜压”。

斜压项

简单来说,只要我们考虑盐度、泥沙、温度等对水体密度的影响时,我们需要进行斜压问题的模拟。在NHWAVE模型中,Ma在动量方程中添加了一个密度项(或称斜压力项,如下图红圈所示):在这里插入图片描述

斜压项在σ坐标下的形式

于是,动量方程经σ坐标系转化后,将变为如下的形式
在这里插入图片描述
此处的S为方程的源项。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时,注意这个源项,它可以被表达为
在这里插入图片描述
其中,Sh,Sp,Sρ和Sτ分别表示了底部摩阻力项、动压力梯度项目、斜压项和扩散项,它们的表达式为,

在这里插入图片描述
其中,
在这里插入图片描述
ρ0为清水的密度。详细可见NHWAVE模型手册及Gangfeng Ma等人的论文1
经过上述的处理,NHWAVE模型可以考虑斜压作用之影响。

控制方程(动量方程)的通量形式

NHWAVE主要是通过有限体积法进行空间离散的。为了便于有限体积法的实施,模型源代码中对控制方程的计算一般采用其通量形式。我们进行动量方程的转化,将
在这里插入图片描述
转化为如下形式,
在这里插入图片描述
在这里插入图片描述
其中,源项Sp,Sρ和Sτ的形式在上一小节中给出;为了保持静水状态下,压力项与底摩阻项的平衡性,Sh将被改写成如下形式
在这里插入图片描述

参考文献


  1. Ma G , Kirby J T , F Shi. Numerical simulation of tsunami waves generated by deformable submarine landslides[J]. Ocean Modelling, 2013, 69(Complete):146-165. ↩︎ ↩︎

### 使用MATLAB进行气体静压仿真的方法 在处理气体静压仿真时,可以采用基于流体力学基本方程的方法,在MATLAB环境中构建模型并执行计算。具体来说,对于气体静压的仿真或计算,通常涉及到以下几个方面: #### 1. 建立物理模型 建立描述气体行为的状态方程和连续性方程是至关重要的。这些方程能够帮助定义系统的边界条件和初始条件。例如理想气体定律 \( PV=nRT \),其中\( P \)表示压力, \( V \)体积, \( n \)物质的量, \( R \)通用气体常数, 和 \( T \)温度。 #### 2. 编写MATLAB脚本 编写用于求解上述方程组的程序代码。这可能包括但不限于使用有限差分法或其他数值积分技术来离散化偏微分方程(PDEs)[^1]。下面是一个简单的例子,展示如何设置一个静态条件下的一维管道内气体的压力分布计算: ```matlab % 定义参数 L = 0.5; % 管道长度 (m) n = 100; % 网格点数量 dx = L/(n-1); % 步长 P_inlet = 1e5; % 进口处绝对压力 Pa T = 300; % 温度 K R = 8.314; % 气体常数 J/(mol*K) % 初始化变量 p = zeros(1,n); for i=1:n p(i)=P_inlet*(i/n)^(-gamma*(R*T/P_inlet)); % 静态压力沿轴向变化规律假设 end % 绘制结果图 figure; plot(linspace(0,L,n),p,'LineWidth',2); xlabel('位置(m)'); ylabel('压力(Pa)'); title('一维管道内部静压分布'); grid on; ``` 此段代码展示了在一个简单场景下创建空间网格,并根据给定入口压力和其他已知条件估算出口端及其他任意截面处的压力值的过程[^1]。 #### 3. 数据可视化与分析 完成计算之后,利用MATLAB内置绘图函数对所得数据进行直观呈现,便于进一步理解和解释所获得的结果。此外还可以借助工具箱如Simulink来进行更复杂的动态过程模拟。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值