MaximaLabs
Back to gallery
Reference model (CN104628563A)

Patent benchmark: methyl lactate synthesis (CN104628563A) — a PSRK process flowsheet

Real patent replication, not an invented process: CN104628563A's acid-catalyzed lactate-ester route — lactic acid esterified with excess methanol, then purified by vacuum distillation — reproduced here as a continuous flowsheet. The patent's own worked methyl-lactate example reports 98.8% esterification conversion and 99.6% product purity at 120 degC/3h. This flowsheet's reactor conversion is set directly to the patent's reported 98.8% (not fitted); the vacuum column (0.2 atm, matching the patent's vacuum-distillation purification step) then splits the methanol and reaction water off the ester completely — zero methyl lactate leaves overhead — and delivers 97.8 mol% methyl lactate in the bottoms at 389.9 K.

The property method is the whole story here, exactly as it was on the sulfolane extractive column. Written on Peng-Robinson, this example did not converge at all: every pair in a methanol / water / lactic-acid / methyl-lactate mixture is hydrogen-bonding, which van der Waals mixing cannot represent, and the column returned a partial profile carrying 2.60 mol/s of methyl lactate out of a column fed 1.98 — 32% more product than the reactor made, a 0.26 component-balance residual. (That wrong profile is where this example's previously-published 98.75% purity was read from; the number was retracted at the test level and is now corrected here.) A plain activity model cannot be used either, for a data reason rather than a physics one: neither lactic acid nor methyl lactate carries a regressed ideal-gas-Cp correlation, and the gamma-phi enthalpy path raises on that where a cubic quietly falls back to a corresponding-states estimate. PSRK is a cubic whose mixing is driven by UNIFAC, so it has both — and it converges to a 2.7e-06 component-balance residual, with methyl lactate and lactic acid each leaving in exactly the amount the reactor made.

Modeling assumptions & limitations

  1. 1The 2.2 mol% of the product that is not methyl lactate is arithmetic, not an unconverged residual, and it splits cleanly in two. 1.19 points of it is unreacted lactic acid, and that part is structural — at the patent's own 98.8% conversion 1.2% of the feed acid survives, and lactic acid boils above methyl lactate (505 K vs 418 K), so it leaves with the product in the bottoms. No lights-removal column rejects it at any stage count; the patent's 99.6% needs a second product column or an acid recycle, and this flowsheet has neither. The other 0.99 points is the deliberate light-cut margin: methanol plus reaction water is exactly 0.800 of the feed, and this column takes 0.798, leaving 1% of the light cut in the bottoms rather than specifying a perfect split no finite column can deliver. Raising the stage count does not move either number — 10 and 12 stages were both measured and return the same 97.82%, because the ester/lights split is already complete at 8. See the Patent Benchmarks docs page for the full validation table and citation.

345 views 0 forks

FEED
Ester Reactor
feed
dist
btms
Qc
Qr
Vacuum Column
Lights Product
Methyl Lactate Product
What this showcases
  • Rigorous PSRK thermodynamics, solved by the same engine every simulation runs on.
  • 2 unit operations modeled: Ester Reactor, Vacuum Column.
  • Focus areas: Patent benchmark, Esterification, Vacuum distillation, Validated.
Specification
Thermodynamics
PSRK
Components
methanol, water, lactic_acid, methyl_lactate
Unit operations
Ester ReactorVacuum Column
Open in workspace

Opens in a new tab, loaded straight into the app — no setup.

Read the step-by-step guide
Python SDK

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("patent-methyl-lactate-synthesis")
sim = client.create_simulation(example["title"], example["flowsheet"])
result = client.run_and_wait(sim["id"])

print(result["status"])              # "converged"
streams = client.streams(sim["id"])

Related models

Biorefinery, glycerol valorisation

Bio-acrylic: glycerol to acrylic acid and butyl acrylate

Biodiesel glycerol (5 mol% in water, the dilute crude a transesterification plant actually sells) is vaporised and dehydrated over an acid catalyst at 553 K to acrolein, oxidised with air at 573 K to acrylic acid, quenched, dewatered in a vacuum column, and esterified with n-butanol to n-butyl acrylate: the two-step route from a renewable C₃ to the acrylic monomer, written out so its water, oxygen and carbon bookkeeping can be checked end to end. Each reaction is a conversion reactor with an exact element balance: dehydration (glycerol → acrolein + 2 H₂O), the competing C-C cleavage that every gas-phase dehydration catalyst shows (glycerol → acetaldehyde + CO + H₂ + H₂O), selective oxidation (acrolein + 1/2 O₂ → acrylic acid), over-oxidation (acrolein + 3/2 O₂ → acetic acid + CO₂), and esterification (acrylic acid + n-butanol → n-butyl acrylate + H₂O). A knock-out flash after dehydration rejects most of the water before the oxidiser; the quench liquid goes to a 0.15 atm acrylic-acid column (vacuum because acrylic acid polymerises when hot, which is also why its inhibitor profile is the question the column-inhibition analysis answers on this column); a caustic wash takes the unreacted acids out of the ester before a 0.2 atm butyl-acrylate column. What the flowsheet shows is where the water goes: 102 mol/s of it arrive with 5 mol/s of glycerol, the dehydration makes two more per acrolein, and nearly all of it has to be removed before the acid is concentrated, which is the energy cost that decides whether a bio-acrylic plant is viable. Solved: the vacuum column delivers a crude acid of 87 mol% acrylic acid (11% water, 2% acetic) and loses about 7% of the acid overhead with the water; the ester column delivers 94 mol% n-butyl acrylate, the balance unreacted butanol.

Oleochemicals plant, Port Klang, Malaysia

Fatty-ester vacuum fractionation

Biodiesel methyl esters (C₁₆ / C₁₈) split at 0.05 bar — vacuum keeps the bottoms under 515 K; near-total C₁₆ recovery overhead and ~98% C₁₈ in the bottoms (the two components' relative volatility caps bottoms purity there — more stages/reflux do not push it further). From the ChemSep casebook (Fatty_Acids, as methyl esters).

Reference model (Luyben & Yu 2006)

Methyl acetate esterification via reactive distillation

Acetic acid and methanol esterify over the reactive stages of a column into methyl acetate and water — a genuine quadruple-azeotrope system where reactive distillation intensifies what would otherwise need several conventional columns. Reactive Distillation Design and Control, Luyben & Yu, Wiley (2006), pp. 147-164.

Reference model (JP2024028821A)

Patent benchmark: gas fermentation to single-cell protein (JP2024028821A)

The gas-fermentation process class JP2024028821A describes: hydrogen-oxidizing chemolithoautotrophic bacteria (the patent names Cupriavidus necator and Rhodococcus opacus strains) fixing CO₂ using H₂ as the electron donor to grow single-cell protein biomass. Built here with real physics closing two genuine gaps this session's fact-check found missing: gas-liquid mass transfer (Henry's-law dissolution + a volumetric kLa driving the H₂ dissolution rate) and chemolithoautotrophic growth stoichiometry (McCarty's electron-balance method combining the H₂-oxidation, O₂-reduction, and C₅H₇O₂N cell-synthesis half-reactions) — not a Monod-on-dissolved-substrate shortcut repurposed for a gas feed.

Reference model (US9359625B2)

Patent benchmark: enzymatic cannabinoid synthesis (US9359625B2)

Real patent replication: US9359625B2's THCA-synthase-catalyzed conversion of cannabigerolic acid (CBGA) into either THCA or CBCA depending on operating pH — closing the genuine enzyme-kinetics gap this session's fact-check found (only Monod biomass-growth kinetics existed anywhere in MaximaLabs, no Michaelis-Menten). The patent's own disclosed pH-selectivity data anchors this model: it reports 'catalysis at a lower pH... favored THCA... while... neutral pH... favored CBCA,' a ~10:1 THCA:CBCA ratio at pH 5.0, and CBCA dominant at pH 7.0 — fit here as a single-ionizable-group pH-titration switch (pKa_switch=6.0), which reproduces the reported 10:1 ratio at pH 5.0 exactly (that's how pKa_switch was chosen) and gives ~10:1 CBCA:THCA at pH 7.0 (matching the patent's 'CBCA exclusively' qualitatively, not to an exact published ratio, since the patent gives no numeric ratio at pH 7.0 to match). Reactor volume is sized to clear the patent's own disclosed '>20% conversion' commercial threshold (reaches ~25.0% here).

Reference model (US6495732B1)

Patent benchmark: selective C3 diene/acetylene hydrogenation (US6495732B1)

Real patent replication: US6495732B1's palladium-catalyzed selective hydrogenation of a cracked-gas C₃ stream, removing methylacetylene (propyne) and propadiene down to trace levels while leaving propylene and propane untouched — the patent's own Example 1 feed (82.7 mol% propylene, 2.37% methylacetylene, 1.30% propadiene) reacted here to '>99.5% removal of both dienes/acetylenes, no propylene-to-propane over-hydrogenation' (propane's mole fraction is unchanged before/after — the actual selectivity claim the patent is about).

Stop fighting legacy software. Build your first flowsheet in 60 seconds.