r/Cryogenics • u/Practical_Sir8080 • 10d ago
Trying to understand why our cryogenic self-pressurisation model disagrees 7.8× with BoilFAST
Hi everyone,
I'm building a small open-source cryogenic pressure forecasting engine as a learning project and recently ran into something I can't explain.
The goal isn't to replace tools like BoilFAST I'm trying to understand the physics well enough to build a live forecasting/advisory layer.
I compared two scenarios using the same inputs:
- Fluid: Liquid Nitrogen
- Tank: 6 m³ vertical cylinder
- Fill: 90%
- Heat leak: 43 W
- Initial pressure: 0.106 MPa
- Locked-up tank (no venting)
Results:
BoilFAST
- End pressure (24 h): 0.111 MPa
- Rise rate: 0.060 Pa/s
Our multinode model
- End pressure: 0.146 MPa
- Rise rate: 0.467 Pa/s
So we're roughly 7.8× too aggressive on pressure rise.
Here's what we've already ruled out:
- Pressure basis (absolute vs gauge)
- Initial conditions
- Energy accounting (matches within 0.1%)
- Heat leak
- Unit conversions
Interestingly, a homogeneous tank model matches BoilFAST almost perfectly (+1% rise rate error). The disagreement only appears once we enable our empirical stratification model.
After parameter sweeps, we found we can force agreement only with physically unrealistic assumptions (e.g. enormous surface-layer mass or unrealistically thick aluminum walls), so we're treating that as curve fitting rather than a fix.
Our current hypothesis is that our empirical stratification scaling (originally tuned against higher heat-flux LH₂ reference cases) simply doesn't transfer into this low-heat, high-fill LN₂ regime.
Question:
If you were debugging this, where would you look next?
Specifically:
- Is there a known criterion for when a cryogenic tank should behave closer to a homogeneous model versus a stratified one?
- Are there dimensionless numbers (Rayleigh, Grashof, etc.) commonly used to determine whether stratification should even develop?
- Is there literature you'd recommend beyond the NASA MHTB work and BoilFAST references?
I'd appreciate any pointers. I'm here to learn rather than defend the model.
