Superheated-steam drying loop with MVR heat recovery — a NRTL process flowsheet
A wet cake is dried in a superheated-steam dryer (steam as the drying medium instead of hot air), and the evaporated moisture — pure steam — is recovered by mechanical vapor recompression (MVR) plus a trim superheater into high-grade superheated steam that reheats the recirculating drying medium. Superheated-steam drying is the energy-efficient route for biofuel and food solids (distillers' grains, beet pulp, lignite): because the drying atmosphere is steam, the evaporated water leaves as more steam whose latent heat is recompressed and reused, instead of being lost in a humid exhaust. Honesty note (same posture as bioethanol-mvr-stillage): the dryer is FlowSim's screening solid-in / vapor-out convective model (computes its own latent+sensible duty; the dried-solid identity is a generic surrogate, here 'ethanol' crystals as in the solids train), and the steam recirculation is modeled OPEN — the recompressed+superheated steam is reported as the recovered drying medium rather than piped back into the bed as a closed material recycle (the dryer op has no steam inlet to close the loop into). The MVR recompression + trim superheat of the evaporated steam — the defining SSD efficiency win — is modeled with the real compressor and heater ops.
7 views 0 forks
- Rigorous NRTL thermodynamics, solved by the same engine every simulation runs on.
- 4 unit operations modeled: Dewater, SSD, MVR, Superheat.
- Focus areas: Superheated steam drying, Vapor recompression, Energy integration, Solids.
- Thermodynamics
- NRTL
- Components
- ethanol, water
- Unit operations
- DewaterSSDMVRSuperheat
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("superheated-steam-drying-loop")
sim = client.create_simulation(example["title"], example["flowsheet"])
result = client.run_and_wait(sim["id"])
print(result["status"]) # "converged"
streams = client.streams(sim["id"])