MaximaLabs
Back to gallery
Ruhr Valley, Germany

Flue-gas desulfurization: venturi wet scrubber — a PENG-ROBINSON process flowsheet

A coal/oil-fired power-plant stack gas (SO₂ in a hot N₂/CO₂/O₂/water flue) is cleaned in a high-energy venturi wet scrubber before the stack — the classic flue-gas-desulfurization (FGD) front end. The new venturi_scrubber unit op accelerates the gas through a throat where injected scrubbing water is atomized, and a stated fraction of the soluble SO₂ is absorbed into the drops and carried out as a slurry while the cleaned gas goes up the stack. Two cited pieces are computed: the momentum-exchange pressure drop ΔP = ρ_L·(Q_L/Q_G)·v_gt² (Calvert 1968; de Nevers — the L/G here is ~1.4 L/m³ and the throat runs 90 m/s, giving ~11 kPa, a real high-energy venturi), and the SO₂ removal (92% at this water rate) that drops the stack SO₂ to a fraction of the inlet.

Modeling assumptions & limitations

  1. 1The gas absorption is a stated removal efficiency (a screening scrub — the rate-based reactive contactor with real liquid-phase alkali chemistry is the `absorber` / `rate_based_absorber`), the cut-diameter particulate physics is idle here (a gas-only feed), and ΔP assumes complete drop acceleration. A screening process-design starting point for scrubber sizing / pressure-drop budgeting, not a certified FGD performance deliverable.

78 views 0 forks

Fluegas
Scrubwater
gas
solid
liquid
gas
slurry
VS
Stack
Slurry
What this showcases
  • Rigorous PENG-ROBINSON thermodynamics, solved by the same engine every simulation runs on.
  • 1 unit operations modeled: VS.
  • Focus areas: Air pollution control, Flue-gas desulfurization, Venturi scrubber, SO2 removal, Emissions.
  • Verified fast convergence — a real, measured solve time, not an estimate.
Specification
Thermodynamics
PENG-ROBINSON
Components
nitrogen, carbon_dioxide, oxygen, water, sulfur_dioxide
Unit operations
VS
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("flue-gas-desulfurization-venturi")
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

Fort Nelson, British Columbia, Canada

Sour-gas sweetening — six-category footprint

A fuel-fired feed-gas heater, acid-gas removal, and a VOC purge — vented to atmosphere — so the Sustainability panel shows all six impact categories at once: carbon, water, acidification (vented H₂S/NH₃ + combustion NOx), eutrophication (NH₃ + NOx), photochemical ozone (vented benzene) and cumulative energy demand. Illustrative screening vent compositions — a real plant Claus/incinerates the H₂S and controls the VOC rather than venting; the point is to exercise the multi-category footprint on a process that genuinely carries these species. Spec-based separators, so it converges fast and conserves mass.

Illustrative VOC thermal-oxidation unit

Thermal oxidizer: VOC-laden waste-gas incineration

A dilute VOC-laden air stream preheats and combusts completely at typical thermal-oxidizer operating temperature (~1100 K / 827degC, in the 750-870degC range these units commonly run at for reliable VOC destruction), destroying toluene (a standard VOC surrogate) to CO₂ + H₂O (C₇H₈ + 9 O₂ → 7 CO₂ + 4 H₂O, exactly mass-balanced) at 99.9% destruction-and-removal efficiency (DRE) — the real regulatory benchmark figure widely cited for thermal oxidizers/incinerators (e.g. the hazardous-waste-incinerator DRE standard), not a fabricated number. This is generic combustion-based air-pollution-control technology, not Linde-proprietary IP — built the same way already models fuel-gas combustion, applied here to a waste-destruction duty instead of a process-heating duty.

Reference model

Dust collector selection: cyclone vs ESP vs baghouse

The same kiln offgas — 500 mol/s at 420 K carrying 8 mol/s of 20 micron dust (sphericity 0.7, GSD 2.2) — offered to the three gas-cleaning devices side by side, because choosing between them is a real design decision and the three models answer different questions. The cyclone catches 85.6%. That number is not specified anywhere: it is computed from the particle size distribution against the device's own cut size, and its d50 lands at 10 microns — half the dust's mean size, so everything finer escapes. It is the honest ceiling of a device with no consumables and no electricity, and it costs the most fan power of the three here at 1555 Pa. The ESP reaches 99.81% by Deutsch-Anderson on the migration velocity and plate area — also predicted, not specified — at essentially no pressure drop. The baghouse reports 99.8%, and this one you should read differently: its capture is the `penetration` you gave it, an INPUT. The baghouse model predicts pressure drop (37.7 Pa here, from the Cooper & Alley filter-drag law) and cloth area (1149 m2 at a 0.015 m/s air-to-cloth ratio) — not efficiency. Two of these three efficiencies are predictions and one is a specification, and a comparison that hides which is which is worse than no comparison. Why three parallel trains and not one series train. A cyclone roughing into a baghouse polishing is the standard industrial arrangement, and it cannot be drawn here: the cyclone folds its escaped dust back into the gas stream without a solids payload, so a second collector downstream sees no solids to catch. That is a modelling limitation, not a physical one, and it is stated rather than designed around. Bounded: the ESP's zero pressure drop is a model simplification (a real precipitator runs a few hundred Pa), and the pressure drops here are screening values from published correlations, not vendor guarantees.

Container ship engine room, Port of Rotterdam, Netherlands

Organic Rankine Cycle — marine diesel exhaust waste-heat recovery

A closed R245fa Rankine loop recovers waste heat from a heavy marine diesel engine's exhaust: a two-stream boiler vaporizes the working fluid against the hot exhaust gas, a real isentropic-efficiency turbine expands it to shaft power, an ambient-cooled condenser returns it to saturated liquid, and a pump restores boiler pressure. The exhaust-gas composition is a representative combustion-product mix (N₂/CO₂/O₂/H₂O), not a specific engine's measured flue analysis.

Steam power station

Rankine steam power cycle (pump -> boiler -> turbine -> condenser)

The classic steam power cycle behind most of the world's electricity, on the rigorous IAPWS-97 steam properties. Feedwater is pressurized by a boiler-feed pump, fired to superheated steam in the boiler, expanded through a steam turbine to make shaft power, then condensed back to water in the surface condenser. The four Rankine components appear in order, and the numbers are the real thermodynamic ones: at 60 bar / 500 degC steam expanding to a 0.1-bar condenser vacuum the turbine makes ~18 MW of shaft work at 85% isentropic efficiency, the exhaust leaves the turbine as wet steam (~92% quality, the classic low-pressure blade-erosion concern), the condenser rejects ~40 MW to cooling water, and the feed pump costs only ~0.15 MW (the small back-work ratio that makes the Rankine cycle practical, since pressurizing a liquid is nearly free next to expanding a gas). Cycle thermal efficiency comes out ~28%. Every property (the superheat enthalpy, the isentropic expansion endpoint, the exhaust steam quality) is the real IAPWS steam-table value, not a correlation.

Songdo, Incheon, South Korea

Desiccant rotor HVAC — three-stage low-grade heat recovery

A desiccant dehumidification rotor whose regeneration air is preheated by three low-grade heat sources in ascending temperature order: a PVT (photovoltaic-thermal) collector loop at 40 °C, condenser heat rejected by the chiller at 50 °C, and a district-heating return at 55 °C. Cascading them warmest-last is the whole point — each coil lifts the air as far as its own source can reach, so the 55 °C district return is spent only on the final lift instead of being wasted on air that is still at ambient. Every coil leaves a 5 K approach at its hot end, which is what makes this solvable: a cold stream can never leave an exchanger hotter than the hot stream entering it, and in a series train each coil's outlet is the next one's inlet, so a target that looks reasonable in isolation becomes impossible two units downstream. The hot-side flows are sized so the water gives up its duty over a modest ΔT and stays above the air at the cold end as well — specifying the approach alone is not enough if the heat-capacity flow rates don't support it. The rotor's two halves are custom_block equation blocks (the regen side and the process side), and the process air is finished to a 16 °C supply condition by the evaporator coil.

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