Skip to content

Simple Flash Drum

In this tutorial you will heat a water/ethanol mixture until it partially vaporizes, then separate the two phases in a Separator Vessel (flash drum). This introduces multi-component systems and phase equilibrium in DWSIM's Classic UI.

What you will learn

  • How to add multiple compounds to a simulation
  • How to choose a property package for non-ideal systems (NRTL)
  • How to specify a multi-component composition in the Object Editor
  • How to use the Separator Vessel unit operation
  • How to read vapor and liquid product compositions

Prerequisites

  • Completed Heater and Cooler
  • Concept of vapor-liquid equilibrium: at a given T and P, a mixture splits into phases according to thermodynamic equilibrium

Process Overview

A flash drum is one of the most common separation devices in the chemical industry. A pressurized liquid is heated above its bubble point, producing a two-phase mixture. The mixture enters the drum, where gravity separates the vapor (rising) from the liquid (falling).

The relative volatility between ethanol and water means the vapor phase will be enriched in ethanol (the more volatile component), while the liquid phase retains more water. This is the same principle behind distillation, but a single flash stage achieves only limited separation.

Process Flow Diagram

graph LR
    F["Feed<br/>300 K, 1 atm<br/>50% EtOH / 50% H2O"] --> H["H-1<br/>(Heater)"]
    H --> TF["Two-Phase<br/>~360 K"]
    TF --> S["SEP-1<br/>(Separator Vessel)"]
    S -->|Vapor| V["Vapor Product<br/>(ethanol-rich)"]
    S -->|Liquid| L["Liquid Product<br/>(water-rich)"]

Key Design Parameters

Parameter Value Unit
Compounds Water, Ethanol -
Property Package NRTL -
Feed temperature 300 K
Feed pressure 101325 (1 atm) Pa
Feed mass flow 1.0 kg/s
Feed composition 50% Water, 50% Ethanol mass fraction
Heater outlet temperature 360 K

Why NRTL?

The water/ethanol system is strongly non-ideal (it forms an azeotrope at ~78.1 °C). Ideal models like Raoult's Law would give incorrect VLE predictions. NRTL (Non-Random Two-Liquid) is an activity-coefficient model with well-characterized binary interaction parameters for this system.

Step-by-Step in the Classic UI

1. Create a new simulation with Water + Ethanol + NRTL

File > New Chemical Process Model → wizard opens.

  • Compounds page: search and add both Water and Ethanol
  • Property Packages page: select NRTL from the dropdown and add it
  • Accept defaults on remaining pages, click Finish

Two compounds added

2. Add the feed stream

Drag a Material Stream to the canvas, rename it Feed, and in its Object Editor enter:

  • Temperature: 300 K
  • Pressure: 1 atm
  • Mass Flow: 1 kg/s

In the Composition section, switch the basis dropdown to Mass Fraction (if it isn't already), and enter:

  • Water: 0.5
  • Ethanol: 0.5

Press Enter to commit. DWSIM normalizes if the values don't sum exactly to 1.0.

Feed composition entered

3. Add the heater and the two-phase outlet

Drag a Material Stream named Two-Phase (leave empty).

Drag a Heater named H-1, set:

  • Calculation Mode: Outlet Temperature
  • Outlet Temperature: 360 K (or 87 °C)
  • Pressure Drop: 0 Pa
  • Efficiency: 100 %

In the Heater's Connections panel:

  • Inlet: Feed
  • Outlet: Two-Phase
  • Energy: click [Click here to create]

4. Insert the Separator Vessel

Drag a Separator Vessel from the Object Palette to the canvas, rename it SEP-1. Open its Object Editor.

The Separator Vessel doesn't need any specifications - it simply splits the feed into the vapor and liquid phases at the inlet conditions.

5. Add the product streams and connect

Drag two more Material Streams to the canvas and rename them Vapor and Liquid (both empty).

In SEP-1's Connections panel:

  • Inlet 1: Two-Phase
  • Vapor Outlet: Vapor
  • Liquid Outlet: Liquid

Separator vessel connected

6. Solve

Make sure F6 (Calculator Active) is ON, click Solve. All objects turn green.

7. Inspect the products

Double-click the Vapor stream → Results tab. Note:

  • Vapor mass flow (~0.55 kg/s, depends on NRTL)
  • Ethanol mass fraction (~0.65, enriched)

Double-click the Liquid stream → Results tab:

  • Liquid mass flow (~0.45 kg/s)
  • Ethanol mass fraction (~0.32, depleted)

Double-click the Two-Phase stream → check the Vapor Fraction field; it should be between 0 and 1, confirming a two-phase mixture.

Vapor product enriched in ethanol

Results and Validation

Variable Expected Unit
Two-Phase vapor fraction 0.4 - 0.8 -
Vapor mass flow 0.4 - 0.8 kg/s
Liquid mass flow 0.2 - 0.6 kg/s
Vapor ethanol mass fraction > 0.50 (enriched) -
Liquid ethanol mass fraction < 0.50 (depleted) -
Mass balance 1.0 = vapor + liquid kg/s

Expected results

The vapor product should be enriched in ethanol (the more volatile component), while the liquid product should have a higher water content. The total mass flow of vapor + liquid should equal the feed (1.0 kg/s).

Understanding the Results

At 360 K and 1 atm, the water/ethanol mixture is between its bubble point (~351 K) and dew point (~357 K for this composition). The flash calculation determines how much of the feed vaporizes and the equilibrium composition of each phase.

Ethanol has a lower boiling point (78.3 °C) than water (100 °C), so it preferentially enters the vapor phase. However, the separation in a single flash stage is limited. To achieve higher ethanol purity, you would need multiple stages, which is exactly what a distillation column does. You will explore this in the Distillation Column tutorial.

The NRTL model captures the non-ideal behavior of this system, including the azeotrope at approximately 95.6% ethanol by mass. Near the azeotrope, the relative volatility between ethanol and water approaches 1, making separation increasingly difficult.

Automating This Tutorial

Files in this repository

from DWSIM.Automation.FluentAPI import Flowsheet, PropertyPackages, Q

fs = (Flowsheet.Create("FlashDrumTutorial")
      .WithCompounds("Water", "Ethanol")
      .WithPropertyPackage(PropertyPackages.NRTL))

feed = (fs.AddMaterialStream("Feed")
        .At(Q.Kelvin(300.0), Q.Pascal(101325.0))
        .WithMassFlow(Q.KgPerSecond(1.0))
        .WithCompoundMassFraction("Water", 0.5)
        .WithCompoundMassFraction("Ethanol", 0.5))

two_phase = fs.AddMaterialStream("Two-Phase")
(fs.AddHeater("H-1")
   .WithOutletTemperature(360.0.Kelvin())
   .WithPressureDrop(0.0.Pascal())
   .WithEfficiencyPercent(100.0)
   .ConnectFeed(feed, 0)
   .ConnectProduct(two_phase, 0))

vapor = fs.AddMaterialStream("Vapor")
liquid = fs.AddMaterialStream("Liquid")
(fs.AddSeparator("SEP-1")
   .ConnectFeed(two_phase, 0)
   .ConnectProduct(vapor, 0)
   .ConnectProduct(liquid, 1))

fs.AutoLayout()
fs.Solve()

print(f"Vapor flow      = {vapor.MassFlowKgPerSecond:.4f} kg/s")
print(f"Vapor EtOH (m)  = {vapor.OverallMassFraction('Ethanol'):.4f}")
print(f"Liquid flow     = {liquid.MassFlowKgPerSecond:.4f} kg/s")
print(f"Liquid EtOH (m) = {liquid.OverallMassFraction('Ethanol'):.4f}")

Standard sequence with dwsim.thermo.add_compounds (Water, Ethanol), dwsim.thermo.set_property_package (NRTL), feed stream creation with composition, then:

{"jsonrpc":"2.0","id":6,"method":"tools/call","params":{
  "name":"dwsim.unitop.add",
  "arguments":{
    "flowsheet_id":"<ID>","type":"Heater","name":"H-1",
    "outlet_temperature_K":360,"pressure_drop_Pa":0,
    "efficiency_percent":100
  }
}}
{"jsonrpc":"2.0","id":7,"method":"tools/call","params":{
  "name":"dwsim.unitop.add",
  "arguments":{
    "flowsheet_id":"<ID>","type":"Separator","name":"SEP-1"
  }
}}

Then connect inlet/outlets via dwsim.unitop.connect (use port 0 for vapor and port 1 for liquid on the Separator) and dwsim.solve.run.

Output may vary

Results depend on the LLM's reasoning quality and tool-use accuracy. Always verify the simulation matches your intent before relying on the numbers.

Use DWSIM (via the MCP server) to build the following simulation:

- Create a flowsheet called "FlashDrumTutorial"
- Add Water and Ethanol as compounds; set the property package to "NRTL"
- Add a material stream named "Feed" at 300 K and 101325 Pa with a
  mass flow of 1.0 kg/s and a mass-fraction composition of
  50 % Water and 50 % Ethanol
- Add a Heater named "H-1" with outlet temperature 360 K,
  pressure drop 0 Pa and efficiency 100 %; feed it from Feed and
  produce a stream named "Two-Phase"
- Add a Separator Vessel named "SEP-1"; feed it from Two-Phase and
  produce a vapor outlet "Vapor" (port 0) and a liquid outlet
  "Liquid" (port 1)
- Solve the flowsheet
- Report the vapor mass flow (kg/s) and ethanol mass fraction in
  the Vapor stream, and the liquid mass flow (kg/s) and ethanol
  mass fraction in the Liquid stream

Exercises

  1. Change the heater outlet to 355 K (less vaporization). How does the vapor/liquid split change?
  2. Increase the heater outlet to 370 K (more vaporization). At what temperature does the feed become completely vaporized?
  3. Change the feed composition to 80% ethanol / 20% water. Does the vapor become even more ethanol-rich?
  4. Replace NRTL with Raoult's Law: Edit > Simulation Settings > Thermodynamics, remove NRTL and add Raoult's Law. Re-solve. Compare the results.

Further Reading

Selected references from the DWSIM technical bibliography. Click the DOI link to access each paper.

  • H. Renon & J. M. Prausnitz. (1968). Local Compositions in Thermodynamic Excess Functions for Liquid Mixtures. AICHE Journal
  • Michael L. Michelsen. (1982). The isothermal flash problem. Part I: Stability. Fluid Phase Equilibria. doi:10.1016/0378-3812(82)85001-2
  • H. H. Rachford & J. D. Rice. (1952). Procedure for Use of Electronic Digital Computers in Calculating Flash Vaporization Hydrocarbon Equilibrium. Journal of Petroleum Technology. doi:10.2118/952327-G
  • John M. Prausnitz, Rüdiger N. Lichtenthaler & Edmundo Gomes de Azevedo. (1999). Molecular Thermodynamics of Fluid-Phase Equilibria. Prentice Hall PTR

Next Steps

Congratulations, you have completed the beginner track in the Classic UI! You now know how to set up simulations, add unit operations, manage connections through the Object Editor, and inspect results.

Ready for more? Start the intermediate track with Distillation Column to learn how to model a rigorous multi-stage separation.