feat(cryo_tank): use ullage temperature state
This commit is contained in:
1 parent
610ae39ee4
commit
1cf8427b52
7 files changed
+586
-124
No files matched your search
@@ -96,16 +96,16 @@ find results/cryo_tank -maxdepth 1 -type f -print
|
||||
状态量为:
|
||||
|
||||
```text
|
||||
y = [m_liq, U_liq, U_ull]
|
||||
y = [m_liq, U_liq, T_ull]
|
||||
```
|
||||
|
||||
含义分别是:
|
||||
|
||||
- `m_liq`:液氮质量
|
||||
- `U_liq`:液相内能
|
||||
- `U_ull`:气枕区总内能
|
||||
- `T_ull`:气枕区温度
|
||||
|
||||
`derive(y)` 会根据状态量计算温度、体积、液位、充满率、氦气质量和氦气气枕压力等派生量。
|
||||
`derive(y)` 会根据状态量计算温度、体积、液位、充满率、氦气质量、气枕区总内能和氦气气枕压力等派生量。当前模型按恒压纯氦气枕处理,`m_He = rho_He(T_ull, P_work) * V_ull`,所以氦气质量是派生量,不是独立 ODE 状态。
|
||||
|
||||
`rhs(t, y)` 是 ODE 右端函数,由 `scipy.integrate.solve_ivp` 调用。
|
||||
|
||||
@@ -132,9 +132,11 @@ run(tank, t_end, rtol=1e-8, atol=1e-10, max_step=10.0)
|
||||
主要功能:
|
||||
|
||||
- 液氮密度、焓、内能计算。
|
||||
- 氮气饱和压力和饱和蒸气内能计算。
|
||||
- 根据液氮比内能和压力反推液相温度。
|
||||
- 氦气密度、焓、内能、比热计算。
|
||||
- 建立液氮内能到温度的查表插值,加速 ODE 求解。
|
||||
- 根据氦气压力和密度反推气枕温度。
|
||||
- 计算氦气恒压密度温度导数 `(partial rho / partial T)_P`。
|
||||
- 计算氦气恒压内能温度导数 `(partial u / partial T)_P`。
|
||||
|
||||
该模块依赖 `CoolProp`。
|
||||
|
||||
@@ -373,6 +375,7 @@ pytest -q
|
||||
|
||||
- 本模型当前将储箱分为液相区和气枕区两个区域,不是完整 CFD 模型。
|
||||
- 气枕区按纯氦气处理,物性由 CoolProp 计算。
|
||||
- 气枕温度 `T_ull` 是 ODE 状态量;氦气质量 `m_He` 和补气流量 `mdot_He` 是恒压条件下的派生结果。
|
||||
- 液氮物性依赖 `CoolProp`,缺少该包会导致程序无法启动。
|
||||
- `results/` 目录默认被 `.gitignore` 忽略,仿真输出不会自动上传到 Git。
|
||||
- 建议每次修改参数后保存对应工况说明,避免不同仿真结果混在同一个输出目录中。
|
||||
Reference in new issue
Block a user