我们将利用 \(P=\rho gh\) 和 \(PV=nRT\) 计算压强微分 \(dP\),并将伯努利方程中的 \(v^2\) 线性化为 \(v_{old} \cdot v\),从而构建一个关于流速 \(\mathbf{v}\) 的一阶线性矩阵方程


1. 变量定义


2. 压强微分推导 \(dP\)

对于任意一根管子 \(k\),连接容器 \(i\)(尾)和容器 \(j\)(头)。 流动方程基于压强差:\(\Delta P_k = P_j - P_i\)。

我们需要计算由于液体和气体转移引起的压强差变化 \(d(\Delta P_k)\)。

容器 \(i\) 的总压强变化 \(dP_i\)

总压强 \(P_i = P_{gas,i} + \rho g h_i\)。 根据全微分公式:

\[ dP_i = \frac{\partial P_i}{\partial h_i} dh_i + \frac{\partial P_i}{\partial n_i} dn_i \]

1. 液体部分 \((\rho g h)\):

\[ \frac{\partial P_i}{\partial h_i} = \rho g \]

2. 气体部分 \(\big(PV=nRT \Rightarrow P = \dfrac{nRT}{A(H_{max}-h)}\big)\):

\[ \frac{\partial P_{gas}}{\partial h} = \frac{nRT}{A(H_{max}-h)^2} = \frac{P_{gas}}{H_{gas}} \]
\[ \frac{\partial P_{gas}}{\partial n} = \frac{RT}{V_{gas}} = \frac{P_{gas}}{n} \]

综上,容器 \(i\) 的压强微分方程为:

\[ dP_i = \left( \rho g + \frac{P_{gas,i}}{H_{gas,i}} \right) dh_i + \frac{P_{gas,i}}{n_i} dn_i \]

令 \(K_i = \rho g + \dfrac{P_{gas,i}}{H_{gas,i}}\)(总刚度),则:

\[ dP_i = K_i \cdot dh_i + \frac{P_{gas,i}}{n_i} dn_i \]

3. 关联状态变化与流速 \(dh, dn \rightarrow v\)

在时间步长 \(\Delta t\) 内,状态的变化由流过管子的流体决定。 假设流速 \(v_k\) 定义为从 \(i\) 流向 \(j\)。

1. 液体转移 \((dh)\):
容器 \(i\) 失去液体,容器 \(j\) 获得液体。

\[ dh_i = - \frac{\Delta t}{A_i} \sum_{k \in \text{out}(i)} S_k v_k + \frac{\Delta t}{A_i} \sum_{k \in \text{in}(i)} S_k v_k \]

简写为:

\[ dh_i = \sum_k C_{ik} v_k \]

(\(C\) 是几何系数矩阵)

2. 气体转移 \((dn)\):
假设气体随液体流动或通过专门管道流动(此处假设气体摩尔数变化与流速 \(v\) 有关,例如气液两相流或纯气管):

\[ dn_i = \sum_k D_{ik} v_k \]

(如果是纯液体管网,\(dn=0\),此项忽略;如果是气液耦合,此项由气体流速决定)


4. 伯努利方程线性化 (二阶变一阶)

伯努利方程(忽略阻力,考虑动能项):

\[ P_i + \frac{1}{2} \rho v_i^2 = P_j + \frac{1}{2} \rho v_j^2 \]

在管子 \(k\) 中,我们关注压差驱动流速。简化模型通常写作:

\[ \Delta P_k = \frac{1}{2} \rho v_k^2 \]

线性化 \(v^2 \approx v_{old} \cdot v\)

\[ P_j - P_i = \rho \cdot v_{old,k} \cdot v_k \]

代入压强微分公式:

\[ (P_j^{old} + dP_j) - (P_i^{old} + dP_i) = \rho \cdot v_{old,k} \cdot v_k \]

移项,将未知量 \(v\) 放在左边,已知量放在右边:

\[ dP_j - dP_i - \rho \cdot v_{old,k} \cdot v_k = P_i^{old} - P_j^{old} \]

5. 最终矩阵方程

将 \(dP\) 展开为 \(v\) 的函数:

\[ dP_j - dP_i = \sum_{m} \left( K_j C_{jm} + \frac{P_{gas,j}}{n_j} D_{jm} - K_i C_{im} - \frac{P_{gas,i}}{n_i} D_{im} \right) v_m \]

令系数矩阵元素为 \(M_{km}\),则对于每一根管子 \(k\):

\[ \sum_{m} M_{km} v_m - \rho \cdot v_{old,k} \cdot v_k = \Delta P_{static} \]

线性方程组 \(\mathbf{A}\mathbf{v} = \mathbf{b}\):

\[ \begin{bmatrix} M_{11} - \rho v_{old,1} & M_{12} & \cdots & M_{1m} \\ M_{21} & M_{22} - \rho v_{old,2} & \cdots & M_{2m} \\ \vdots & \vdots & \ddots & \vdots \\ M_{m1} & M_{m2} & \cdots & M_{mm} - \rho v_{old,m} \end{bmatrix} \begin{bmatrix} v_1 \\ v_2 \\ \vdots \\ v_m \end{bmatrix} = \begin{bmatrix} P_{i,1}^{old} - P_{j,1}^{old} \\ P_{i,2}^{old} - P_{j,2}^{old} \\ \vdots \\ P_{i,m}^{old} - P_{j,m}^{old} \end{bmatrix} \]

矩阵元素 \(M_{km}\) 的物理意义:

\[ M_{km} = \underbrace{\left( K_j \frac{\partial h_j}{\partial v_m} + \frac{P_{gas,j}}{n_j} \frac{\partial n_j}{\partial v_m} \right)}_{\text{管头 j 的压强反馈}} - \underbrace{\left( K_i \frac{\partial h_i}{\partial v_m} + \frac{P_{gas,i}}{n_i} \frac{\partial n_i}{\partial v_m} \right)}_{\text{管尾 i 的压强反馈}} \]

求解步骤:

  1. 计算当前 \(P_{gas}\) 和 \(h\)。
  2. 计算刚度 \(K = \rho g + P_{gas}/H_{gas}\)。
  3. 组装矩阵 \(\mathbf{A}\) 和向量 \(\mathbf{b}\)。
  4. 求解 \(\mathbf{v}\)。
  5. 更新 \(h\) 和 \(n\)。