基本按照wiki_Barometric formula上的内容翻译。能力有限,可能出现错误。关于英制单位的部分省略,一律采用公制单位。文中的部分超链接引用同原wiki。

在前1000米的海拔内,可按照每升高1米气压减小11.3帕计算。

压力公式

适用于高度86km内气压计算。有两种公式,第一种适用于气温垂直递减率不等于零(多元大气)的情况: \[ P=P_b\cdot\left[\frac{T_b+L_b\cdot(h-h_b)}{T_b}\right]^{\frac{-g_0\cdot M}{R^*\cdot L_b}} \] 第二种适用于气温垂直递减率等于零(等温大气)的情况: \[ P=P_b\cdot \exp\left[\frac{-g_0\cdot M\cdot(h-h_b)}{R^*\cdot T_b}\right] \] 根据下面的参数表,选取对应的公式计算。

其中各代数为:

代数 含义 单位
\(P_b\) 参考压力 Pa
\(T_b\) 参考温度 K
\(L_b\) 气温垂直递减率(值参考ISA K/m
\(h\) 高度(要计算压力的高度) m
\(h_b\) 等级b下的参考高度 m
\(R^*\) 理想气体常数 8.3144598 J/(mol·K)
\(g_0\) 重力加速度 9.80665 m/s^2
\(M\) 空气的摩尔质量 0.0289644 kg/mol

下标等级b是0到6的整数,根据需要计算的高度h所在的范围确定,进而选用对应的参考参数。

举个例子,当h=30000,\(h_2\leq h<h_3\),因此取b=2。

参考参数表:

下标 高度(海拔)m 压力 Pa 温度 K 气温垂直递减率 K/m
0 0 101325.00 288.15 -0.0065
1 11000 22632.10 216.65 0.0
2 20000 5474.89 216.65 0.001
3 32000 868.02 228.65 0.0028
4 47000 110.91 270.65 0.0
5 51000 66.94 270.65 -0.0028
6 71000 3.96 214.65 -0.002

写个简单的matlab程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function [P] = barometric_formula(h)

h_b = [0, 11000, 20000, 32000, 47000, 51000, 71000, 86000];
P_b = [101325.00, 22632.10, 5474.89, 868.02, 110.91, 66.94, 3.96];
T_b = [288.15, 216.65, 216.65, 228.65, 270.65, 270.65, 214.65];
L_b = [-0.0065, 0.0, 0.001, 0.0028, 0.0, -0.0028, -0.002];
R = 8.3144598;
g = 9.80665;
M = 0.0289644;

for b = 1:7
if h >= h_b(b) && h <h_b(b+1)
break;
end
end

if L_b(b) ~= 0
P = P_b(b) * ((T_b(b)+L_b(b)*(h-h_b(b))) / T_b(b)) .^ ((-g*M) / (R*L_b(b)));
else
P = P_b(b) * exp((-g*M*(h-h_b(b))) / (R*T_b(b)));
end

密度公式

与上面压力公式同理,有两个公式。 \[ \rho=\rho_b\cdot\left[\frac{T_b}{T_b+L_b\cdot(h-h_b)}\right]^{(1+\frac{g_0\cdot M}{R*\cdot L_b})} \]

\[ \rho=\rho_b\cdot\exp\left[\frac{-g_0\cdot M\cdot(h-h_b)}{R^*\cdot T_b}\right] \]

密度\(\rho\)的单位为kg/m^3。

下标 密度 kg/m^3
0 1.2250
1 0.36391
2 0.08803
3 0.01322
4 0.00143
5 0.00086
6 0.000064

推导

理想气体方程

\(P=\frac{\rho}{M}\cdot R^*T\)

静流体力学压力微分

\(dP=-\rho gdz\)

两边除以\(P\)

\(\frac{dP}{P}=-\frac{Mgdz}{R^*T}\)

对高度\(z\)积分

\(P=P_0e^{-\int_0^z{Mgdz/R^*T}}\)

假设温度线性为变化\(T=T_0+L\cdot z\),则有

\(P=P_0\cdot\left[\frac{T_0}{T}\right]^{\frac{Mg}{R^*L}}\)

若温度为常数,则有

\(P=P_0e^{-Mgz/R^*T}\)

具体计算如前两节根据参数性质分层。