How to simulate hydrogen liquefaction with catalytic ortho-para conversion
A Linde-Hampson JT-cycle liquefaction loop for H2 (the same recycle topology as helium-liquefaction), but H2's real liquefaction process needs one more step helium doesn't: normal H2 feed is ~75% ortho-/25% para-spin-isomer, while the equilibrium mix at liquid-H2 temperature is ~99.8% para -- liquefying without converting first leaves the ortho fraction far above its new equilibrium value, and its slow natural relaxation releases heat (the textbook explanation for uncatalyzed LH2 tanks self-boiling). This closes a real gap: `ortho_para_converter.py` (a catalytic cold-box converter, real equilibrium-para-fraction statistical mechanics) existed in this codebase but was never wired into a showcase example -- and turned out to also be missing from the backend's unit-type validation catalog entirely (fixed alongside this example, in `catalog.py`). Precooling to 30 K (deep enough that H2's JT effect actually condenses it -- verified numerically: 77 K/60 K/45 K precool all give zero liquid yield at 20 atm -> 1.3 atm here, since H2's JT-cooling window needs real precooling well below LN2 temperature, unlike simpler gases) also happens to sit right where the ortho-para conversion actually matters. Honesty notes: (1) real plants reach this depth of precooling via a multi-stage refrigeration cascade (LN2 first stage, then a closed H2 or He Brayton/turboexpander cycle) -- collapsed here into one utility `heater` node, same simplification as every other liquefaction example in this codebase; (2) the converter's `approach_to_equilibrium=0.9` is a stage-efficiency simplification (no cited Fe2O3/Cr2O3 rate constant exists to verify a real kinetic model), disclosed in the unit op's own docstring, not fabricated here.
- 1Open the ready-made model
Open the "Hydrogen liquefaction with catalytic ortho-para conversion" model in the MaximaLabs workspace — no install, no license. It loads live on the canvas, ready to edit and run.
- 2Confirm the thermodynamics
This process is modeled with the COOLPROP property package over h2 — already selected, so the phase equilibrium and enthalpy are physically consistent from the first run.
- 3Review the flowsheet
The flowsheet chains MIX, COMP, 2× Precool, OPC, JT, Flash. Every block is a real, solvable unit op you can reconfigure on the canvas.
- 4Run the simulation
Click Run. The deterministic solver converges the material and energy balances (recycles included) and fills the live stream table — the AI never invents a number.
- 5Read the results and iterate
Inspect the converged streams, tweak a spec, and re-run — or ask the AI copilot to explain a result or diagnose a failed solve in plain English.
- Thermodynamics
- COOLPROP
- Components
- h2
- Unit operations
- MIXCOMP2× PrecoolOPCJTFlash
Opens live on the canvas — free, no install.
Explore the model & flowsheetFrequently asked questions
- What does the Hydrogen liquefaction with catalytic ortho-para conversion model simulate?
- A Linde-Hampson JT-cycle liquefaction loop for H2 (the same recycle topology as helium-liquefaction), but H2's real liquefaction process needs one more step helium doesn't: normal H2 feed is ~75% ortho-/25% para-spin-isomer, while the equilibrium mix at liquid-H2 temperature is ~99.8% para -- liquefying without converting first leaves the ortho fraction far above its new equilibrium value, and its slow natural relaxation releases heat (the textbook explanation for uncatalyzed LH2 tanks self-boiling). This closes a real gap: `ortho_para_converter.py` (a catalytic cold-box converter, real equilibrium-para-fraction statistical mechanics) existed in this codebase but was never wired into a showcase example -- and turned out to also be missing from the backend's unit-type validation catalog entirely (fixed alongside this example, in `catalog.py`). Precooling to 30 K (deep enough that H2's JT effect actually condenses it -- verified numerically: 77 K/60 K/45 K precool all give zero liquid yield at 20 atm -> 1.3 atm here, since H2's JT-cooling window needs real precooling well below LN2 temperature, unlike simpler gases) also happens to sit right where the ortho-para conversion actually matters. Honesty notes: (1) real plants reach this depth of precooling via a multi-stage refrigeration cascade (LN2 first stage, then a closed H2 or He Brayton/turboexpander cycle) -- collapsed here into one utility `heater` node, same simplification as every other liquefaction example in this codebase; (2) the converter's `approach_to_equilibrium=0.9` is a stage-efficiency simplification (no cited Fe2O3/Cr2O3 rate constant exists to verify a real kinetic model), disclosed in the unit op's own docstring, not fabricated here.
- Which thermodynamic method does it use?
- The COOLPROP property package, over h2 — already selected. You can switch the method on the canvas before running.
- Which unit operations are in the flowsheet?
- It chains MIX, COMP, 2× Precool, OPC, JT, Flash. Every block is a real, solvable unit operation you can reconfigure, add to, or remove.
- Do I need to install software or buy a license?
- No. Hydrogen liquefaction with catalytic ortho-para conversion runs entirely in your browser on MaximaLabs — free, no install, no license. Open the model to load it live and run the deterministic solver.
More guides like this
Helium liquefaction (Linde-Hampson cycle)
A Joule-Thomson liquefaction loop: helium is compressed, aftercooled, precooled well below its ~40-51 K JT-inversion temperature, then throttled through a valve into a flash drum that draws off liquid helium while the cold vapor recycles back to the compressor suction — the same JT-cycle physics as the platform's LNG/refrigeration loops, run on a fluid whose inversion curve makes precooling mandatory before the throttle can cool it at all.
LOHC hydrogen release (methylcyclohexane dehydrogenation)
A liquid organic hydrogen carrier (LOHC) power train: methylcyclohexane (MCH) is preheated and catalytically dehydrogenated (MCH -> toluene + 3H2, endothermic, equilibrium-limited to ~90% single-pass conversion) to release hydrogen for downstream power generation. A flash drum separates the H2-rich gas from the liquid; a distillation column then recovers the unreacted MCH overhead and recycles it to the reactor feed, closing a real tight liquid recycle loop, while spent toluene leaves the bottoms (to be re-hydrogenated back to MCH off-site, closing the supply-chain loop — out of scope for this dehydrogenation-side flowsheet). Screening-fidelity note: MCH and toluene are genuinely close-boiling (relative volatility ~1.4 under this thermo package at column conditions), so the recycle carries real toluene along with the recovered MCH rather than a sharp cut — a production column would use more stages to purify it further; this shows the recycle topology and its convergence, not an optimized column design.
Recycle loop
A mixer/heater/splitter loop with a tear stream — exercises Wegstein recycle convergence.
Propane refrigeration cycle
A single-stage vapor-compression refrigeration loop: propane vapor is compressed, condensed to subcooled liquid, throttled through a valve, and superheated back to vapor in the evaporator before recycling — a small makeup feed and purge close the mass balance (inspired by ChemSep's Refrigeration_* reference cases).
Ammonia refrigeration cycle
A single-stage vapor-compression refrigeration loop using ammonia — the classic industrial (rather than HFC) refrigerant — condensed to subcooled liquid, throttled through a valve, and superheated back to vapor in the evaporator before recycling (inspired by ChemSep's Refrigeration_Ammonia-30C reference case).
C3MR LNG liquefaction
A simplified APCI C3MR train: natural gas and the mixed refrigerant are precooled by a closed propane loop, liquefied to 120 K in a multi-stream main cryogenic exchanger against a closed N2/C1/C2/C3 refrigerant cycle, then let down to storage — LNG at ~115 K. Single-level precool and a single MCHE bundle (a real train uses three propane levels and two bundles); refrigerant charges are set via tear_specs.