mcmulticalci.comOpen the flowsheet simulator

Flowsheet simulator — validation

Each check below runs the live calculation engine (mb-engine 0.17.0) and compares it with a reference computed outside the engine. The engine numbers are generated by a build script, not typed in.

6.0e-5largest difference in V/F or mole fraction, Peng–Robinson flash vs thermo (6 cases)
6.1e-5largest difference vs DWSIM 9.0.5 given the same input data (6 cases)
8.7e-11largest difference in activity coefficient, NRTL vs thermo
0.12 %wet-gas cooler + knock-out duty vs CoolProp / IAPWS-95
2.999999H₂/N₂ reached by the design spec (target 3.000000) in 4 Newton iterations
0.09 %largest condenser / reboiler duty difference, rigorous column vs DWSIM (4 columns)
1.2e-8largest difference, three-phase and liquid–liquid flash vs thermo (9 cases)
92 / 92Step 22 property-package checks inside tolerance
0.17 Klargest critical-point / cricondentherm difference, phase envelope vs DWSIM (4 mixtures)
4.0e-8largest conversion / mole-fraction difference, kinetic PFR and CSTR vs exact solutions (8 cases, incl. stiff and multiple steady states)
53 / 53Step 23 checks inside tolerance (envelopes, property table, binary diagrams, kinetics, Gibbs)
3.0e-8largest difference, LHHW / Xu–Froment catalytic reactors vs closed forms and scipy (4 cases)
0.65 kJ/mollargest liquid ΔfH difference vs NIST for acetic and propionic acid with vapour association (was 28 kJ/mol without)
16 / 16Step 24 checks inside tolerance (LHHW kinetics, acid association)
8.2 %mean deviation from measured total pressures over 30 wt % MEA up to a loading of 0.45 (10 points)
0.006 %largest CO₂-pressure difference vs USGS PHREEQC, hot potassium carbonate 25–90 °C inside the model's stable range (0.63 % up to 125 °C)
27 / 27Step 25 checks inside tolerance (MEA, hot carbonate, Murphree trays)

1 · Peng–Robinson flash vs an independent implementation

Reference: the open-source thermo 0.6.1 library (Gibbs-stability flash with PR gas and liquid phases), given the same critical constants, acentric factors, binary interaction parameters and H₂ effective constants as the engine. This verifies the φ–φ flash itself; how well Peng–Robinson matches experiment depends on the kij values, which can be tuned.

CaseSystemT, °CP, barV/F engineV/F reference|ΔV/F|max |Δx|max |Δy|
PR1Natural-gas condensate C1–nC4CH4 · C2H6 · C3H8 · nC4H10-23.1530 0.737320.737301.7e-51.2e-51.4e-5
PR2CO2–CH4 (kij 0.0919)CH4 · CO2-53.1530 0.430030.430002.9e-52.1e-64.0e-5
PR3Ammonia loop separatorH2 · N2 · NH3 · CH4 · Ar-20.00140 0.850040.850035.0e-61.9e-66.0e-6
PR4Propane–n-butane (compressed liquid)C3H8 · nC4H1046.8510 0.000000.000000——
PR5Lean gas C1/C2 (single vapour)CH4 · C2H626.8520 1.000001.000000——
PR6Ammonia let-down drumNH3 · H2 · N2 · CH4 · Ar10.0020 0.039970.039973.4e-62.1e-76.0e-5

2 · Peng–Robinson flash vs DWSIM

Reference: DWSIM 9.0.5, the open-source process simulator (Peng–Robinson property package, default flash), run through its automation interface on the same six feeds.

Same input data

DWSIM given the engine's critical constants, acentric factors, H₂ effective constants and kij — a second, separately written implementation of the same flash.

CaseSystemV/F engineV/F DWSIM|ΔV/F|max |Δx|max |Δy|
PR1Natural-gas condensate C1–nC40.737320.737386.1e-55.6e-51.6e-5
PR2CO2–CH4 (kij 0.0919)0.430030.429975.8e-53.8e-51.6e-5
PR3Ammonia loop separator0.850040.850031.1e-52.3e-63.6e-6
PR4Propane–n-butane (compressed liquid)0.000000.000000——
PR5Lean gas C1/C2 (single vapour)1.000001.000000——
PR6Ammonia let-down drum0.039970.039971.5e-61.1e-79.5e-6

DWSIM's own data — ammonia loop

The two ammonia-loop cases again, this time with DWSIM's built-in constants and kij, as a new DWSIM user would get them. The flash method is the same; these inputs are not:

InputEngineDWSIM built-in
H₂ Tc / Pc / ω43.6 K / 20.5 bar / 0 (effective)33.19 K / 13.13 bar / -0.216
kij H2–N20.10300.0711
kij N2–NH30.00000.2193
kij Ar–NH30.0000-0.1800
kij CH4–N20.00000.0289
kij CH4–H20.00000.0263
kij H2–NH30.00000.0000
kij CH4–NH30.00000.0000
ResultEngineDWSIM built-in dataUnit
PR3 · Separator, −20 °C / 140 bar
Vapour fraction (mol/mol)0.85000.8525
NH₃ in vapour2.5552.842mol %
H₂ dissolved in liquid0.3580.602mol %
N₂ dissolved in liquid0.4270.125mol %
PR6 · Let-down drum, 10 °C / 20 bar
Vapour fraction (mol/mol)0.04000.0393
NH₃ in vapour33.81833.862mol %
H₂ dissolved in liquid0.0500.092mol %
N₂ dissolved in liquid0.0860.036mol %

With matching inputs the two programs agree to about 6.1e-5, so the gap below comes from input data, not from the flash. With DWSIM's own data the separator vapour carries 2.842 mol % NH₃ against the engine's 2.555 mol %, and the H₂ and N₂ dissolved in the liquid differ by a factor of about 1.7 and 3.4. Dissolved N₂ follows the N₂–NH₃ kij, which the engine sets to zero; dissolved H₂ follows how H₂ is represented (effective or true critical constants); the NH₃ in the vapour moves with both, in opposite directions. This comparison does not show which set is closer to a real loop; for loop work, check these numbers against plant separator data.

3 · NRTL activity coefficients

γ from the engine's NRTL flash at its converged liquid composition, against thermo's NRTL model at the same composition and temperature (Aspen form τij = aij + bij/T, α = 0.3; parameters are test inputs, not a recommended data set).

CaseSystemx ethanolγ engine (EtOH / H₂O)γ referencemax |Δγ|
NR1Ethanol–water, 81.85 °C, 1 atm0.2625 1.889040 / 1.1545091.889040 / 1.1545098.7e-11
NR2Ethanol–water, 78.85 °C, 1 atm0.6000 1.132750 / 1.6569461.132750 / 1.6569462.2e-16

4 · Energy balance with condensation

20 mol % steam in N2/CO2 at 150 °C / 5 bar + N2 at 25 °C → cooler 40 °C → knock-out 4.8 bar. Reference: CoolProp 8.0 (IAPWS-95 water, reference equations of state for N₂ and CO₂) evaluated at the component partial pressures with a Raoult split at the drum.

QuantityEngineReferenceDifference
Total heat removed, kW-312.8-313.20.12 %
Condensate, kg/h332.1332.20.02 %

This case exercises the dew-point rule: wet process gas above its dew point is treated as all vapour, with water evaluated at its partial pressure.

5 · Flowsheet solver

CheckResultExpected
Ammonia front end (primary + secondary reformer, HTS, LTS, CO₂ removal, methanator): design spec varies process air for H₂/N₂ = 3, starting 20 % low air 45.200 kg/h · H₂/N₂ 2.99999945.202 kg/h, the air rate the step-by-step template bisects for the same chain
Recycle loop (mixer → shift reactor → cooler → flash → 50/50 splitter → back), Wegstein on the torn recycle converged in 5 iterations · recycle 20,194.0309 / purge 20,194.0309 kg/h · closure 0.0006 %recycle = purge exactly; closure within the reactor's molecular-weight rounding
Two simultaneous design specs (splitter fraction → 300 kg/h recycle; flash T → 0.30 mol % water in gas) 300.000 kg/h · 0.3000 mol % · 5 iterationsboth targets met

6 · Property methods — flashes vs DWSIM

The rigorous units use a property method chosen for the whole flowsheet: Peng–Robinson, Soave–Redlich–Kwong, NRTL, UNIQUAC, Wilson, UNIFAC, Dortmund UNIFAC or ideal, with pure-component data for 432 components and binary parameters from the ChemSep databank. Each case below is a flash or bubble / dew point run through the engine's own heater and flash units, against DWSIM 9.0.5 with the same property package and parameters (Poynting and Henry corrections off on both sides).

CaseSystemQuantityEngineDWSIM|Δ|
MB-118PR TP flash: CH4 / C2H6 / C3H8 / nC4H10 z=0.7/0.1/0.1/0.1 at 250 K, 30.000 barvapour fraction0.7444710.7445174.5e-5
vapour y CH40.8655720.8655502.2e-5
MB-119PR bubble point: CH4 / C2H6 / C3H8 / nC4H10 z=0.7/0.1/0.1/0.1 at 30.000 barT (bubble / dew), K188.37188.362.6e-3
MB-120PR TP flash: H2 / N2 / NH3 / CH4 / Ar z=0.6/0.2/0.17/0.02/0.01 at 253.15 K, 140.000 barvapour fraction0.8525110.8525047.0e-6
vapour y H20.7027620.7027601.2e-6
MB-121PR TP flash: CO2 / CH4 / H2S z=0.6/0.3/0.1 at 230 K, 40.000 barvapour fraction0.1702170.1698243.9e-4
vapour y CH40.7218850.7215183.7e-4
MB-122PR bubble point: CO2 / CH4 / H2S z=0.6/0.3/0.1 at 40.000 barT (bubble / dew), K216.79216.845.1e-2
MB-123SRK TP flash: CH4 / C2H6 / C3H8 / nC4H10 z=0.7/0.1/0.1/0.1 at 250 K, 30.000 barvapour fraction0.7443160.7443412.5e-5
vapour y CH40.8678340.8678286.0e-6
MB-124SRK bubble point: CH4 / C2H6 / C3H8 / nC4H10 z=0.7/0.1/0.1/0.1 at 30.000 barT (bubble / dew), K187.60187.602.1e-4
MB-125SRK TP flash: CO2 / CH4 / H2S z=0.6/0.3/0.1 at 230 K, 40.000 barvapour fraction0.0657540.0659752.2e-4
vapour y CH40.7547020.7546723.0e-5
MB-126SRK bubble point: CO2 / CH4 / H2S z=0.6/0.3/0.1 at 40.000 barT (bubble / dew), K225.53225.531.2e-4
MB-127IDEAL bubble point: benzene / toluene / p-xylene z=0.4/0.4/0.2 at 1.013 barT (bubble / dew), K370.90370.902.7e-6
MB-128IDEAL TP flash: benzene / toluene / p-xylene z=0.4/0.4/0.2 at 380 K, 1.013 barvapour fraction0.7132980.7132999.9e-7
vapour y benzene0.4716700.4716702.4e-7
MB-129NRTL bubble point: MeOH / H2O z=0.4/0.6 at 1.013 barT (bubble / dew), K348.35348.358.1e-6
MB-130NRTL TP flash: MeOH / H2O z=0.4/0.6 at 355 K, 1.013 barvapour fraction0.5358660.5356252.4e-4
vapour y MeOH0.5775100.5775645.4e-5
MB-131NRTL bubble point: EtOH / H2O z=0.3/0.7 at 1.013 barT (bubble / dew), K354.68354.681.7e-5
MB-132NRTL TP flash: EtOH / H2O z=0.3/0.7 at 360 K, 1.013 barvapour fraction0.6042250.6038863.4e-4
vapour y H2O0.5672620.5671936.9e-5
MB-133UNIFAC bubble point: EtOH / H2O z=0.3/0.7 at 1.013 barT (bubble / dew), K355.07355.073.9e-6
MB-134UNIFAC TP flash: EtOH / H2O z=0.3/0.7 at 360 K, 1.013 barvapour fraction0.6380180.6377332.9e-4
vapour y H2O0.5770770.5770265.1e-5
MB-135UNIFAC bubble point: acetone / MeOH / H2O z=0.3/0.3/0.4 at 1.013 barT (bubble / dew), K336.42336.423.5e-4
MB-136UNIFAC TP flash: acetone / MeOH / H2O z=0.3/0.3/0.4 at 340 K, 1.013 barvapour fraction0.3959520.3955514.0e-4
vapour y acetone0.4850490.4851308.1e-5
MB-137WILSON bubble point: MeOH / H2O z=0.4/0.6 at 1.013 barT (bubble / dew), K348.26348.241.5e-2
MB-138WILSON TP flash: MeOH / H2O z=0.4/0.6 at 355 K, 1.013 barvapour fraction0.5542520.5546163.6e-4
vapour y MeOH0.5708250.5707606.5e-5
MB-139UNIFAC bubble point: nC6H14 / EtOH z=0.5/0.5 at 1.013 barT (bubble / dew), K331.88331.882.3e-6
MB-140UNIFAC TP flash: nC6H14 / EtOH z=0.5/0.5 at 335 K, 1.013 barvapour fraction0.8218140.8214004.1e-4
vapour y nC6H140.5678750.5679386.4e-5
MB-141NRTL bubble point: MeOH / H2O z=0.4/0.6 at 10.000 barT (bubble / dew), K420.21420.217.3e-6
MB-142NRTL/PR vapour TP flash: MeOH / H2O z=0.4/0.6 at 430 K, 10.000 barvapour fraction0.6959590.6957092.5e-4
vapour y H2O0.5069400.5068885.2e-5

UNIQUAC is not listed: DWSIM's built-in UNIQUAC parameters for methanol–water and acetone pairs differ from the ChemSep set the engine uses; against thermo with identical parameters the engine's activity coefficients agree to machine precision for all five activity models.

7 · Three-phase (VLLE) and liquid–liquid flash

The three-phase separator, and every flash when the method's valid phases include a second liquid, tests the two-phase answer for another liquid (Michelsen tangent-plane distance), converges vapour, light liquid and heavy liquid with a three-phase Rachford–Rice, and keeps the state with the lowest Gibbs energy. References: thermo's FlashVLN (one Peng–Robinson gas and two Peng–Robinson liquids, same constants and kij) for water–hydrocarbon systems, and isoactivity equations solved separately with thermo's activity models for partially miscible liquids.

CaseSystemQuantityEngineReference|Δ|
MB-108three-phase flash (PR): CH4 / nC6H14 / H2O z=0.3/0.3/0.4 at 320 K, 20.00 bar — vapour, hydrocarbon liquid and free watervapour fraction0.2838240.2838246.5e-9
light-liquid fraction0.3275050.3275054.0e-9
heavy-liquid fraction0.3886710.3886715.1e-10
light liquid x nC6H140.8868510.8868511.2e-8
MB-109three-phase flash (PR): nC6H14 / H2O z=0.5/0.5 at 300 K, 1.01 bar — vapour, hydrocarbon liquid and free watervapour fraction000
light-liquid fraction0.5094510.5094517.6e-9
heavy-liquid fraction0.4905490.4905497.6e-9
light liquid x nC6H140.9814490.9814496.7e-9
MB-110three-phase flash (PR): CH4 / C3H8 / nC6H14 / H2O z=0.4/0.1/0.2/0.3 at 300 K, 50.00 bar — vapour, hydrocarbon liquid and free watervapour fraction0.3525200.3525204.0e-9
light-liquid fraction0.3531700.3531701.4e-9
heavy-liquid fraction0.2943100.2943105.4e-9
light liquid x nC6H140.5560460.5560462.6e-10
MB-111three-phase flash (PR): CO2 / nC6H14 / H2O z=0.2/0.3/0.5 at 310 K, 30.00 bar — vapour, hydrocarbon liquid and free watervapour fraction0.0329350.0329359.7e-9
light-liquid fraction0.4770580.4770586.3e-9
heavy-liquid fraction0.4900070.4900073.4e-10
light liquid x nC6H140.6276140.6276144.8e-9
MB-112liquid–liquid equilibrium (unifac): benzene / H2O z=0.5/0.5 at 330 Kheavy-liquid fraction0.4982980.4982981.3e-9
light liquid x H2O0.0039690.0039692.3e-11
heavy liquid x benzene0.0005810.0005812.7e-12
vapour fraction000
MB-113liquid–liquid equilibrium (modunifac): benzene / H2O z=0.5/0.5 at 330 Kheavy-liquid fraction0.4903320.4903323.4e-9
light liquid x H2O0.0197220.0197221.3e-10
heavy liquid x benzene0.0007810.0007811.6e-12
vapour fraction000
MB-114liquid–liquid equilibrium (unifac): toluene / H2O z=0.5/0.5 at 300 Kheavy-liquid fraction0.4991900.4991905.8e-10
light liquid x H2O0.0017030.0017034.0e-11
heavy liquid x toluene0.0000850.0000857.4e-14
vapour fraction000
MB-115liquid–liquid equilibrium (nrtl): nBuOH / H2O z=0.3/0.7 at 320 Kheavy-liquid fraction0.2731060.2731063.1e-9
light liquid x H2O0.5904370.5904375.0e-9
heavy liquid x nBuOH0.0083890.0083894.4e-11
vapour fraction000
MB-116liquid–liquid equilibrium (unifac): nBuOH / H2O z=0.3/0.7 at 320 Kheavy-liquid fraction0.3841150.3841151.0e-9
light liquid x H2O0.5273730.5273733.9e-9
heavy liquid x nBuOH0.0232120.0232125.3e-11
vapour fraction000

8 · Rigorous distillation columns vs DWSIM

Equilibrium-stage columns solved by simultaneous correction (Naphtali–Sandholm Newton on the full MESH equations), against DWSIM's rigorous column on the same feed, stages, pressure and specifications (reflux ratio and bottoms rate).

CaseColumnQuantityEngineDWSIMDifference
MB-104rigorous column (IDEAL): benzene / toluene, 15 stages, feed stage 8, RR 2, bottoms 50 kmol/h — vs DWSIM 9.0.5 rigorous column (Naphtali–Sandholm)condenser duty, kW-1,287.86-1,287.450.032 %
reboiler duty, kW1,356.791,356.480.023 %
distillate x benzene0.9753130.9753162.6e-6
bottoms x benzene0.0246870.0246852.6e-6
MB-105rigorous column (PR): benzene / toluene, 15 stages, feed stage 8, RR 2, bottoms 50 kmol/h — vs DWSIM 9.0.5 rigorous column (Naphtali–Sandholm)condenser duty, kW-1,271.20-1,271.080.009 %
reboiler duty, kW1,333.191,333.040.011 %
distillate x benzene0.9696270.9696252.1e-6
bottoms x benzene0.0303730.0303752.1e-6
MB-106rigorous column (NRTL): MeOH / H2O, 20 stages, feed stage 12, RR 1.5, bottoms 139 kmol/h — vs DWSIM 9.0.5 rigorous column (Naphtali–Sandholm)condenser duty, kW-1,920.48-1,920.240.012 %
reboiler duty, kW2,015.972,014.200.088 %
distillate x MeOH0.9958970.9958964.8e-7
bottoms x MeOH0.0023030.0023032.7e-7
MB-107rigorous column (SRK): C3H8 / isobutane / nC4H10 / isopentane / n-pentane / nC6H14, 30 stages, feed stage 15, RR 1.8, bottoms 142 kmol/h — vs DWSIM 9.0.5 rigorous column (Naphtali–Sandholm)condenser duty, kW-2,165.28-2,165.790.023 %
reboiler duty, kW2,419.152,421.030.078 %
distillate x C3H80.1423200.1423202.8e-9
bottoms x C3H80.0000000.0000006.1e-9

9 · Gibbs reactor vs NIST-JANAF

Equilibrium by Gibbs-energy minimisation (the Gordon–McBride element-potential iteration of NASA CEA, so species whose element is nearly exhausted still converge), with no reactions written, against equilibrium constants from the NIST-JANAF formation Gibbs energies: water-gas shift at 1000 K and ammonia synthesis — stoichiometric at 700 K / 150 bar and with hydrogen nearly used up at 400 K / 100 bar.

CaseSystemQuantityEngineNIST-JANAF|Δ|
MB-117Gibbs reactor: equimolar CO + H2O at 1000 K, 10 bar (ideal gas) — water-gas-shift equilibriumoutlet y CO20.2725950.2726475.2e-5
outlet y CO0.2274050.2273535.2e-5
MB-163Gibbs reactor: N2 + H2 (1:3) at 700 K, 150 bar (ideal gas) — ammonia equilibriumoutlet y NH30.2538390.2537895.0e-5
outlet y H20.5596210.5596583.8e-5
MB-164Gibbs reactor: N2 + H2 (3:1) at 400 K, 100 bar (ideal gas) — ammonia equilibrium, hydrogen nearly exhaustedoutlet y NH30.1958990.1959034.5e-6
outlet y H20.0051270.0051215.6e-6

10 · Phase envelopes vs DWSIM

Bubble and dew curves traced by Michelsen's continuation method (Newton on ln K, ln T and ln P with the most sensitive variable specified, stepping through the critical point), with the critical point located on the curve and the cricondenbar / cricondentherm refined. Reference: DWSIM 9.0.5 with the same critical constants and kij — its critical point from the Heidemann–Khalil method, its cricondentherm as the hottest point of its own dew curve (sampled every 0.5 bar). Points along the traced curves were also confirmed with independent bubble / dew calculations in thermo to within 2·10⁻⁴ K.

CaseMixtureQuantityEngineDWSIM|Δ|
MB-143phase envelope (PR): CO2 / CH4 z=0.5/0.5 — critical point and cricondenthermcricondentherm, K261.44261.446.7e-3
critical temperature, K254.41254.241.7e-1
critical pressure, bar85.30585.2238.2e-2
MB-144phase envelope (SRK): C2H6 / nC4H10 z=0.5/0.5 — critical point and cricondenthermcricondentherm, K386.82386.853.0e-2
critical temperature, K384.90384.828.0e-2
critical pressure, bar54.72554.7411.6e-2
MB-145phase envelope (PR): CH4 / C3H8 z=0.6/0.4 — cricondenthermcricondentherm, K316.83316.828.6e-3
MB-146phase envelope (SRK): CH4 / C2H6 / C3H8 / nC4H10 / n-pentane / nC6H14 z=0.83/0.07/0.04/0.03/0.02/0.01 — cricondenthermcricondentherm, K323.01323.017.1e-4

Property table

A temperature / pressure sweep tabulates phase fractions, enthalpy, entropy, Cp and the density, viscosity and thermal conductivity of each phase. Reference for the vapour density and compressibility: thermo's Peng–Robinson gas root with the same constants and kij.

CaseStreamQuantityEnginethermo|Δ|
MB-147property table (PR): natural gas CH4/C2H6/C3H8/nC4H10 0.7/0.1/0.1/0.1 at 350 K, 50 bar — vapour density and Zvapour density, kg/m³49.20949.2094.0e-6
vapour Z0.8539790.8539795.0e-8
vapour fraction110

11 · Binary T–x–y diagrams

Bubble and dew curves from the flowsheet property method, azeotropes located by bisection on y₁ − x₁, and — for partially miscible pairs — the three-phase line found from the three-phase flash, with the stable diagram drawn across the liquid–liquid gap. Reference: modified Raoult's law with thermo's NRTL / UNIFAC activity coefficients and the same vapour-pressure equations, solved independently with scipy (isoactivity liquid–liquid equilibrium plus the bubble condition for the heteroazeotropes).

CaseSystemQuantityEngineReference|Δ|
MB-148binary T–x–y (NRTL): EtOH/H2O at 1.01325 bar — azeotropeazeotrope x₁ (heteroazeotrope: vapour y₁)0.8683160.8683167.0e-8
azeotrope T, K351.53351.534.0e-5
MB-149binary T–x–y (NRTL): MeOH/H2O at 1.01325 bar — bubble point at x₁ = 0.5, no azeotropebubble T at x₁ = 0.5, K346.16346.163.0e-5
y₁ at x₁ = 0.50.7848180.7848181.0e-8
number of azeotropes000
MB-150binary T–x–y (UNIFAC): acetone/MeOH at 1.01325 bar — azeotropeazeotrope x₁ (heteroazeotrope: vapour y₁)0.7813540.7813544.0e-8
azeotrope T, K328.44328.442.0e-5
MB-151binary T–x–y (NRTL): nBuOH/H2O at 1.01325 bar — heterogeneous azeotrope (three-phase line)three-phase T, K366.21366.213.0e-5
light liquid x₁0.4119250.4119254.0e-8
heavy liquid x₁0.0179370.0179370
vapour y₁0.2329600.2329602.0e-8
azeotrope x₁ (heteroazeotrope: vapour y₁)0.2329600.2329602.0e-8
MB-152binary T–x–y (UNIFAC): benzene/H2O at 1.01325 bar — heterogeneous azeotrope (three-phase line)three-phase T, K342.40342.404.0e-5
light liquid x₁0.9953240.9953245.0e-8
heavy liquid x₁0.0006500.0006503.0e-11
vapour y₁0.7018270.7018273.0e-8
azeotrope x₁ (heteroazeotrope: vapour y₁)0.7018270.7018273.0e-8

12 · Kinetic plug-flow and CSTR reactors vs exact solutions

Power-law kinetics in the chosen phase of the property method. The plug-flow reactor integrates molar flows and enthalpy flow (Dormand–Prince RK5(4), switching to the L-stable Rosenbrock method RODAS3 when the kinetics are stiff); the CSTR solves the extents and temperature by Newton from several starts, reports every steady state it finds, and takes very fast kinetics to the steady state by pseudo-transient continuation. References: Levenspiel's closed forms for first-order reactions with volume change, scipy LSODA and root-bracketing on the same ideal-gas balances (adiabatic, cooled and fixed-duty reactors, including all three steady states of an exothermic CSTR), the closed-form solution of a linear system with a stiffness ratio of 3·10⁶, and the NIST-JANAF water-gas-shift equilibrium for reactors whose reverse rate comes from the equilibrium constant.

CaseReactorQuantityEngineReference|Δ|
MB-153kinetic PFR, isothermal: C2H6 → C2H4 + H2, first order, 50 % inerts (volume change ε = 0.5), 900 K, 1.5 bar, 1.5 m³conversion of C2H60.8203450.8203454.0e-8
MB-154kinetic CSTR, isothermal: same reaction, feed and volumeconversion of C2H60.6227630.6227633.0e-8
MB-155kinetic PFR, adiabatic: C2H4 + H2 → C2H6, k = 2e6·exp(−70 kJ/RT) C_C2H4·C_H2, 600 K, 5 bar, 0.5 m³conversion of C2H40.7666120.7666122.0e-8
outlet T, K1,119.481,119.481.4e-5
MB-156kinetic CSTR, adiabatic: same reaction and feed, 0.5 m³ (single steady state)conversion of C2H40.8583030.8583033.0e-8
reactor T, K1,176.351,176.353.0e-4
MB-157kinetic CSTR, given duty −20 kW, 0.2 m³: three steady states — the extinguished one from the feedconversion of C2H40.0339970.0339970
reactor T, K587.33587.330
steady states found330
middle steady state T, K710.46710.461.0e-5
upper steady state T, K1,054.001,053.994.0e-4
duty, kW-20-202.9e-13
MB-158kinetic CSTR, given duty −20 kW, with a temperature estimate of 1000 K — the ignited steady stateconversion of C2H40.7130820.7130824.0e-8
reactor T, K1,054.001,053.994.0e-4
MB-159kinetic PFR cooled through the wall: same reaction, D = 50 mm, U = 100 W/m²K, coolant 650 K, 0.5 m³conversion of C2H40.3114270.3114274.0e-8
outlet T, K677.81677.812.0e-7
MB-160stiff kinetic PFR: 1-butene ⇌ cis-2-butene (k = 1e6 / 5e5 s⁻¹) → trans-2-butene (0.5 s⁻¹), isothermal ideal gas, 500 K, 2 bar, 1 m³ (stiffness ratio 3·10⁶)outlet y trans-2-butene0.3182420.3182422.0e-8
outlet y cis-2-butene0.3433940.3433940
outlet y 1-butene0.1716970.1716971.0e-8
MB-161kinetic PFR, reversible water-gas shift (reverse rate from the equilibrium constant) run to equilibrium, 1000 K, 10 baroutlet y CO20.2725950.2726475.2e-5
MB-162kinetic CSTR with very fast reversible water-gas shift (k0 = 1e9, pseudo-transient path) — equilibrium at 1000 K, 10 baroutlet y CO20.2725950.2726475.2e-5

With very fast reversible kinetics the plug-flow and CSTR outlets also reproduce the engine's Gibbs reactor (adiabatic, same species) to 10⁻⁷ in mole fraction for steam reforming + shift, butene isomerisation and ammonia synthesis — two independent routes to the same equilibrium.

13 · Catalytic (LHHW / Hougen–Watson) rate laws

Rates of the form k(T)·[Π aorder − reverse]/(Σ Kt(T) Π ae)m, with a thermodynamically consistent driving force when the reverse rate comes from the equilibrium constant (the databank's or your own ln K correlation). References: the closed-form Langmuir–Hinshelwood plug-flow and stirred-tank solutions, and the published Xu & Froment (1989) steam-reforming model — three reversible reactions with negative hydrogen orders and a squared adsorption term — integrated independently with scipy, isothermal and adiabatic.

CaseReactorQuantityEngineReference|Δ|
MB-165Langmuir–Hinshelwood PFR: A → B, r = k·C_A / (1 + K_A·C_A), k = 1 s⁻¹, K_A = 20 m³/kmol, isothermal ideal gas, 500 K, 5 bar, 0.5 m³conversion0.6209250.6209253.0e-8
MB-166Langmuir–Hinshelwood CSTR: same rate law, feed and volumeconversion0.5326760.5326763.0e-8
MB-167Hougen–Watson PFR: Xu & Froment (1989) steam-reforming kinetics (3 reversible reactions, adsorption term squared, k0 × 0.03), isothermal 800 K, 25 bar, 2.72 kg catalystconversion of CH40.1043070.1043073.0e-8
outlet y CO20.0337330.0337330
outlet y CO0.0016700.0016700
MB-168Hougen–Watson PFR: same Xu–Froment kinetics, adiabatic from 900 K (ChemSep ideal-gas Cp and formation enthalpies)conversion of CH40.1108960.1108961.0e-8
T (bubble / dew), K789.68789.685.1e-6

14 · Vapour association of carboxylic acids

With an activity-coefficient method, acids dimerise in the vapour (chemical theory: ideal gas of monomers, dimers and cross dimers). The measured vapour pressure and heat of vaporisation refer to this associated vapour, so the liquid enthalpy built from them is now consistent with the formation enthalpies — without association it is about 28 kJ/mol too high for acetic acid, which made liquid heats of reaction and adiabatic temperatures wrong. References: NIST liquid enthalpies of formation, the DIPPR vapour-pressure equation, and an independently written chemical-theory solution for vapour compressibilities.

CaseSystemQuantityEngineReference|Δ|
MB-169liquid acetic acid at 25 °C (NRTL, vapour association): enthalpy = standard enthalpy of formation of the liquidliquid enthalpy at 25 °C, kJ/kmol-482,871.30-483,520.006.5e+2
vapour fraction000
MB-170liquid propionic acid at 25 °C (NRTL, vapour association): enthalpy = standard enthalpy of formation of the liquidliquid enthalpy at 25 °C, kJ/kmol-510,231.70-510,800.005.7e+2
vapour fraction000
MB-171heat of liquid-phase esterification AcOH + EtOH ⇌ EtOAc + H2O at 25 °C (kinetic CSTR, NRTL with acid association)heat of reaction, kJ/mol-5.801958-5.1700006.3e-1
MB-172acetic acid boiling at 1 atm with vapour association (heater to vapour fraction 0) — the associated vapour keeps the DIPPR vapour pressure exactT (bubble / dew), K391.04391.043.6e-6
MB-173vapour of acetic acid + propionic acid + N2 (0.3/0.3/0.4) at 400 K, 1 bar: compressibility from pure and cross dimerisationvapour Z0.8264990.8264991.0e-8
vapour fraction110
MB-174acetic acid vapour at 420 K, 1 atm: compressibility from dimerisationvapour Z0.7239370.7239374.0e-8

15 · CO₂ absorption in aqueous MEA

The aqueous-MEA method solves the carbamate (2 MEA + CO₂ ⇌ MEAH⁺ + MEACOO⁻) and bicarbonate (MEA + CO₂ + H₂O ⇌ MEAH⁺ + HCO₃⁻) equilibria of the published Akula et al. model as implemented in the open-source IDAES process-modelling framework; CO₂ follows Henry's law on the free molecular CO₂ (N₂O analogy), water and MEA Raoult's law on the true species. Enthalpies come from the temperature dependence of the same fugacities, so the heat of absorption is consistent with the solubility. References: the IDAES property-package test values, an independent scipy solution of the published equations, and the IDAES heat of absorption.

CaseSystemQuantityEngineReference|Δ|
MB-175aqueous MEA (amine-mea) at the IDAES test state 392.5 K, x = CO2 0.0326 / H2O 0.8589 / MEA 0.1085: liquid density and viscosityliquid density, kg/m³971.94971.947.8e-7
liquid viscosity, cP0.5580390.5580381.6e-8
MB-176aqueous MEA at the IDAES test state: equilibrium CO2 partial pressure and carbamate true mole fraction from the speciationequilibrium CO₂ pressure, kPa30.60630.6064.3e-7
carbamate true mole fraction0.0314130.0314136.9e-12
MB-181heat of absorption of CO2 into 30 wt % MEA at 40 °C, loading 0.10 → 0.11 (isothermal rigorous flash of lean solution + 1 kmol/h CO2)heat released, kW-23.177-23.3330.669 %
vapour fraction000

Against measured vapour pressures

Total pressure over 30 wt % MEA (7.017 mol/kg water) measured by Arshad et al. (J. Chem. Eng. Data 59, 2014, 764; NIST ThermoML), against the engine's bubble pressure. At 120 °C the model is within 2 % up to a loading of 0.32 mol/mol and then over-predicts more and more (+19 % at 0.40, +37 % at 0.44); at 80 °C it is within 10 % to 0.44, and at 40 °C within 20 % at 0.5. Above about 0.55 it over-predicts the CO₂ pressure about twofold — a known limit of ideal-solution chemical-equilibrium models. In a regenerator this makes CO₂ look slightly easier to strip at the rich end, so reboiler duties come out somewhat low.

T, °CLoading, mol/molMeasured, kPaEngine, kPaDeviation
400.4979.611.5+20.0 %
400.58236.087.0+141.6 %
400.663142.8343.0+140.2 %
400.729336.7737.0+118.9 %
400.780586.61,158.5+97.5 %
800.35348.445.9-5.2 %
800.43556.361.4+9.0 %
800.49682.0131.2+60.0 %
800.556176.6416.1+135.6 %
800.593303.1761.8+151.3 %
800.625477.01,175.7+146.5 %
800.637551.51,353.5+145.4 %
800.642579.51,428.0+146.4 %
1200.068178.1178.1+0.0 %
1200.138181.4179.7-0.9 %
1200.207187.6184.8-1.5 %
1200.272199.2197.6-0.8 %
1200.315212.3216.1+1.8 %
1200.357234.7251.5+7.2 %
1200.398270.7321.7+18.8 %
1200.437332.8454.2+36.5 %
1200.477434.6718.6+65.4 %
1200.512587.21,097.8+87.0 %

Mean absolute deviation 8.2 % for loadings up to 0.45 (10 points) and 112 % above (13 points). The test vectors below hold four of these points with tolerances set at the model's accuracy.

CaseSystemQuantityEngineMeasured|Δ|
MB-177bubble pressure of 30 wt % MEA (7.017 mol/kg) loaded with 1.452 mol CO2/kg water (α = 0.207) at 120 °C (amine-mea, rigorous flash at vapour fraction 0)bubble pressure, bar1.8478201.8760002.8e-2
MB-178bubble pressure of 30 wt % MEA (7.017 mol/kg) loaded with 2.209 mol CO2/kg water (α = 0.315) at 120 °C (amine-mea, rigorous flash at vapour fraction 0)bubble pressure, bar2.1609852.1230003.8e-2
MB-179bubble pressure of 30 wt % MEA (7.017 mol/kg) loaded with 3.054 mol CO2/kg water (α = 0.435) at 80 °C (amine-mea, rigorous flash at vapour fraction 0)bubble pressure, bar0.6135850.5630005.1e-2
MB-180bubble pressure of 30 wt % MEA (7.017 mol/kg) loaded with 3.485 mol CO2/kg water (α = 0.497) at 40 °C (amine-mea, rigorous flash at vapour fraction 0)bubble pressure, bar0.1151990.0960001.9e-2

16 · Hot potassium carbonate (Benfield-type solutions)

A Pitzer electrolyte model (Harvie–Møller–Weare form with unsymmetrical mixing terms) with the parameters and equilibrium constants of the USGS PHREEQC pitzer.dat database: species K⁺, CO₃²⁻, HCO₃⁻, CO₂(aq), OH⁻ and H⁺, the water activity from the osmotic coefficient, and the water consumed by bicarbonate formation. Reference: PHREEQC itself, adding K₂CO₃ and CO₂ to 1 kg of water.

CaseSolutionQuantityEnginePHREEQC|Δ|
MB-182hot potassium carbonate 30 wt % (water basis), conversion 0.3 at 50 °C: equilibrium CO2 pressure and water activity (hot-k2co3)equilibrium CO₂ pressure, kPa1.6576951.6576821.2e-5
water activity0.8144320.8144315.3e-7
MB-183hot potassium carbonate 40 wt % (water basis), conversion 0.6 at 90 °C: equilibrium CO2 pressure and water activity (hot-k2co3)equilibrium CO₂ pressure, kPa28.62328.6211.2e-3
water activity0.6417560.6417532.3e-6
MB-184hot potassium carbonate 30 wt % (water basis), conversion 0.6 at 110 °C: equilibrium CO2 pressure and water activity (hot-k2co3)equilibrium CO₂ pressure, kPa87.46487.6592.0e-1
water activity0.7623640.7623621.5e-6
MB-185hot potassium carbonate 20 wt % (water basis), conversion 0.9 at 70 °C: equilibrium CO2 pressure and water activity (hot-k2co3)equilibrium CO₂ pressure, kPa253.28253.284.0e-3
water activity0.8834050.8834053.9e-7

Full grid against PHREEQC

20, 30 and 40 wt % K₂CO₃ at conversions to bicarbonate of 0.05, 0.3, 0.6 and 0.9. Above 100 °C PHREEQC evaluates the solution at the water vapour pressure instead of 1 atm, which accounts for the small difference there.

T, °CStatesCO₂ pressure range, kPaLargest CO₂-pressure differenceLargest water-activity difference
25100.008 – 590.001 %7.5e-7
50110.021 – 1610.002 %1.0e-6
70110.044 – 3170.002 %1.4e-6
90110.083 – 5680.006 %2.3e-6
110120.147 – 9400.278 %4.0e-6
125120.224 – 1,3100.634 %8.8e-6

The pitzer.dat KHCO₃ parameters are fitted to about 3 mol/kg. In strong, highly converted solutions they make the model thermodynamically unstable (a spurious liquid–liquid split) close to where KHCO₃ would in fact crystallise; the engine maps that onset over 0–250 °C and, past 95 % of it, holds the properties at the boundary and extrapolates smoothly (the stream report flags such states). PHREEQC evaluates those states without a stability check, so they are listed separately and not graded — all are cold or 40 wt % solutions converted 60–90 % to bicarbonate, beyond normal hot-carbonate practice:

T, °CSolutionPHREEQC CO₂ pressure, kPaEngine, kPaDifferenceWater-activity difference
2540 wt %, α = 0.62.232.386.6 %1.6e-3
2540 wt %, α = 0.917.4933.8593.6 %4.8e-2
5040 wt %, α = 0.955.0173.9834.5 %1.7e-2
7040 wt %, α = 0.9122.38135.7810.9 %4.9e-3
9040 wt %, α = 0.9250.16252.631.0 %3.6e-4

Against handbook data

Water activity, heat capacity and density of potassium carbonate solutions from the Armand Products potassium carbonate handbook. The density correlation is fitted to the handbook's 15.6 °C table, so its temperature dependence is the test here; the heat capacity follows from the Pitzer parameters' temperature dependence and is not fitted.

QuantityEngineHandbookDeviation
water activity, 19.6 wt %, 20.5 °C0.91930.9282-1.0 %
water activity, 46.2 wt %, 20.5 °C0.60080.6519-7.8 %
water activity, 54.7 wt %, 20.5 °C0.41740.4751-12.2 %
heat capacity, 20 wt %, 35 °C, kJ/kg·K3.4743.347+3.8 %
heat capacity, 30 wt %, 35 °C, kJ/kg·K3.0203.012+0.3 %
heat capacity, 40 wt %, 35 °C, kJ/kg·K2.4712.761-10.5 %
density, 20 wt %, 4.4 °C, kg/m³1,187.61,192.8-0.44 %
density, 20 wt %, 37.8 °C, kg/m³1,179.41,177.8+0.13 %
density, 20 wt %, 65.6 °C, kg/m³1,164.21,161.8+0.20 %
density, 20 wt %, 98.9 °C, kg/m³1,139.21,141.9-0.23 %
density, 30 wt %, 4.4 °C, kg/m³1,294.61,299.7-0.40 %
density, 30 wt %, 37.8 °C, kg/m³1,285.61,282.7+0.22 %
density, 30 wt %, 65.6 °C, kg/m³1,269.01,268.7+0.02 %
density, 30 wt %, 98.9 °C, kg/m³1,241.81,246.8-0.40 %
density, 40 wt %, 4.4 °C, kg/m³1,410.21,414.6-0.31 %
density, 40 wt %, 37.8 °C, kg/m³1,400.51,397.6+0.20 %
density, 40 wt %, 65.6 °C, kg/m³1,382.41,382.6-0.02 %
density, 40 wt %, 98.9 °C, kg/m³1,352.71,361.7-0.66 %
CaseSolutionQuantityEngineHandbook|Δ|
MB-186water activity of 19.6 wt % K2CO3 solution at 20.5 °C (hot-k2co3)water activity0.9192940.9281778.9e-3
MB-187heat capacity of 30 wt % K2CO3 solution at 35 °C (hot-k2co3, liquid Cp)liquid Cp, kJ/kg·K3.0204873.0124808.0e-3
MB-188density of 30 wt % K2CO3 solution at 98.9 °C (210 °F) — the correlation is fitted at 15.6 °C, its temperature dependence is tested hereliquid density, kg/m³1,241.761,246.765.0e+0

Phase-boundary edge cases

Gas and condensate around a carbonate absorber and regenerator: wet CO₂ at its dew point with the salt listed but absent, the absorber overhead carrying a numerical trace of K₂CO₃, and the same gas condensing water. Reference: IAPWS-IF97 saturation of water at its partial pressure.

CaseStreamQuantityEngineIF97|Δ|
MB-193dew point of wet CO2 (8 mol % water) at 1.7 bar in the hot-K2CO3 package with K2CO3 listed but absent (regenerator overhead), ideal-gas vapourreactor T, K325.09325.101.9e-2
MB-194absorber overhead syngas carrying a 1e-13 trace of K2CO3 at 378.2 K, 28 bar stays all vapour (Peng–Robinson vapour)vapour fraction110
MB-195the same syngas cooled to 360 K at 28 bar condenses water (ideal-gas vapour): vapour fractionvapour fraction0.9860500.9860555.0e-6

At high concentration the Pitzer water activity falls below the handbook's 20 °C vapour pressures (−8 % at 46 wt %) and the heat capacity of 40 wt % solution is 10 % low; between 20 and 30 wt % — the Benfield range — both agree within 1–4 %. The Pitzer parameters carry fitted temperature terms to about 90–100 °C and are extrapolated above that. Promoters (DEA, glycine, vanadium) change absorption rates, not the equilibrium, and are represented through tray efficiencies.

17 · Murphree tray efficiency

A tray with Murphree vapour efficiency E leaves its vapour at y = yin + E(K x − yin) instead of in equilibrium; the efficiency can be set for every tray or per component. Reference: the exact solution of the tray equations for a dilute absorber with a straight equilibrium line (numpy), which equals the Lewis–Kremser closed form. The regenerator case checks the condenser-temperature specification used for amine and carbonate strippers.

CaseColumnQuantityEngineReference|Δ|
MB-189absorber with Murphree vapour efficiency 0.5: 6 trays, trace benzene from N2 into n-hexadecane (A = 1.5), ideal packagetop vapour y benzene0.0000010.0000012.4e-11
MB-190MEA regenerator with a partial condenser specified by its temperature (40 °C) and a reboiler duty (6000 kW)condenser T, K313.15313.150
reboiler duty, kW6,000.006,000.000.000 %

Scope

These checks verify the implementation against independent references. Agreement with another simulator shows the equations are solved correctly for the given parameters; it does not make a property method suitable for every system — Peng–Robinson without fitted kij over-predicts the solubility of water in hydrocarbon liquids, ChemSep NRTL / UNIQUAC parameters are fitted to vapour–liquid data, and the urea units remain empirical correlations. Use the results for preliminary engineering and confirm them against plant data before design use. Kinetic reactors are only as good as the rate expressions entered, and the acid association model covers dimerisation only (no acid–water cross association; binary parameters fitted without association may need refitting). The CO₂ packages cover CO₂ only (no H₂S, NH₃ or MDEA / activated MDEA chemistry), and tray efficiencies stand in for rate-based mass transfer. The inputs for every case above are in the engine test set, cases MB-089 to MB-195.