Ethanolamines plant: MEA / DEA / TEA from ethylene oxide + ammonia — a PENG-ROBINSON process flowsheet
The nitrogen analogue of the ethylene-glycol chain, and a major gas-treating-solvent process in its own right. Ethylene oxide reacts with ammonia through the same kind of CONSECUTIVE addition chain the glycols follow — EO + NH3 -> monoethanolamine (MEA), EO + MEA -> diethanolamine (DEA), EO + DEA -> triethanolamine (TEA), all atom-balanced and keyed on the shrinking EO pool. A large ammonia excess pushes selectivity toward MEA (the ~80/13/5 MEA/DEA/TEA slate a high NH3:EO ratio makes, amine-side mirror of how a high water:EO ratio favours MEG). The separation strips the excess ammonia (recovered for recycle) and the reaction water, then splits the amines by boiling point (MEA 170 C < DEA 269 C < TEA 335 C) into ~99.8% MEA, high-purity DEA, and a TEA bottoms cut. HONEST SCOPE: the reaction chemistry is rigorous stoichiometry (real atom balances, realistic selectivity from the fixed conversions), and the amines are characterized as pseudo-components (Tc/Pc/omega from the open-data databank — MEA/DEA/TEA have no CoolProp entry) so they flash under Peng-Robinson. The purification uses spec-based component-split separators (the Aspen 'Sep'-block technique), NOT rigorous vacuum columns -- the ethanolamines are wide-boiling with narrow adjacent-amine relative volatilities, the same wide-boiling-MESH limit measured for the glycol columns. The recovered ammonia is shown as an open recycle stream (an honest simplification, like the parent EO example).
6 views 0 forks
- Rigorous PENG-ROBINSON thermodynamics, solved by the same engine every simulation runs on.
- 4 unit operations modeled: MIX, 3× RXN3, COOL, 4× Deacol.
- Focus areas: Ethanolamines, MEA, DEA, TEA, Ethylene oxide, Consecutive reactions, Gas treating.
- Thermodynamics
- PENG-ROBINSON
- Components
- ethylene_oxide, ammonia, monoethanolamine, diethanolamine, triethanolamine, water
- Unit operations
- MIX3× RXN3COOL4× Deacol
Opens in a new tab, loaded straight into the app — no setup.
Reproduce this exact result from Python — the real client.get_example() → run_and_wait() path, not a mockup.
from flowsim.sdk import FlowSimClient
client = FlowSimClient()
example = client.get_example("ethanolamines-from-ethylene-oxide")
sim = client.create_simulation(example["title"], example["flowsheet"])
result = client.run_and_wait(sim["id"])
print(result["status"]) # "converged"
streams = client.streams(sim["id"])