The metal a line is made of, and the heat it gives the gas flowing through it.
Every component in this library is otherwise adiabatic, and for a liquid leg over
a five-second burn that is fine. For the pressurant path it is not, and the
evidence is visible on the stand: **icicles form on the fittings downstream of
the regulator.**
Those icicles are worth reading carefully, because they point at the mechanism
that matters and not the one they look like. Frost on the outside proves the
*metal got cold*. The metal got cold because the gas took its heat. Heat coming
back the other way -- room air into a frosted fitting -- is the small term:
measured against the drawn press path it is 6 W in still air and 32 W with a
generous frosting coefficient, which is **0.04 to 0.18 K** of gas warming. The
frost cannot carry much either; ambient at 50% RH holds about 4.3 g of water per
cubic metre, so even 10 W of latent heat would need cubic metres per second of
air stripped dry by natural convection.
The line's own thermal mass is the real term. Nitrogen leaves the regulator at
251 K into metal sitting at 293 K, and on the drawn 255 mm press path that is
about 420 g of tube and fittings holding 200 J/K. Worked through as a heat
exchanger it is **6.1 K at ignition and 4.4 K averaged over the burn -- 14% of
the 30.3 K Joule-Thomson drop.** On a plausible real stand, a metre of line with
ten fittings, it is 11.3 K, or 37%.
What this deliberately does *not* model
---------------------------------------
**Soak.** No heat transfer with no flow, and no tracking of how a line drifts
towards ambient while a stand sits. That was a considered scope decision rather
than an omission: modelling it well means an ambient boundary, insulation state
and an hours-long clock on every line, and modelling it badly means inventing a
starting temperature and dressing it as physics.
Instead the wall **starts at the temperature of the fluid its line holds at
rest**, which is what a soak model would converge to anyway and needs no clock.
That single choice is what makes a cryogenic stand come out right: a line full of
liquid oxygen has been sitting at about 90 K and its fittings are cold, a line
off the *top* of that tank holds ullage gas and is at whatever the ullage is --
cool if the tank has been sitting, near ambient if it was just pressed -- and a
pressurant line that has only ever seen bottle gas is at ambient. Three very
different wall temperatures, none of them assumed: each is just the line's own
fluid, read off the network once its temperatures have settled.
Read off the network, specifically, and not off the drawing. At build time a
tank node still carries whatever the drawing declared, which for a LOX tank is
liquid temperature -- so seeding there would put the metal of a vent line 200 K
below the vapour actually standing in it. `Session._propagate_temperatures`
seeds each wall on the first tick it has real node temperatures to seed from,
which costs one tick of no wall heat and gets all three tiers right.
The consequence is that this is a **first-run effect**, correctly. Fire twice
back to back and the second run sees a wall already near the gas temperature, so
it warms the gas by under 2 K instead of 6. The stand behaves that way too.