Distillation Column¶
In this tutorial you will simulate a rigorous distillation column separating an ethanol/water mixture using DWSIM's Classic UI. This is the most important separation operation in chemical engineering, and DWSIM solves it using an inside-out algorithm that handles the MESH equations (Material balance, Equilibrium, Summation, Heat balance) simultaneously.
What you will learn
- How to insert and configure a Distillation Column from the Object Palette
- How to specify number of stages, feed stage, condenser type, reflux ratio, and reboiler product flow
- How to read condenser duty, reboiler duty, and product compositions
- The relationship between number of stages, reflux ratio, and separation quality
Prerequisites
- Completed Simple Flash Drum
- Concept of multi-stage distillation: each theoretical stage is an equilibrium flash; a column stacks many stages with counter-current vapor/liquid flow
Process Overview¶
A distillation column separates a liquid mixture by exploiting differences in volatility. The feed enters at an intermediate stage. Below the feed is the stripping section (removes the light component from the liquid); above is the rectifying section (enriches the light component in the vapor).
The condenser at the top condenses vapor to produce a liquid distillate and reflux. The reboiler at the bottom vaporizes liquid to produce a vapor boilup and a liquid bottoms product.
For ethanol/water, NRTL is essential because this system forms an azeotrope at ~95.6 wt% ethanol. A simple distillation column can produce ethanol up to the azeotropic composition, but not beyond.
Process Flow Diagram¶
graph TB
F["Feed<br/>350 K, 1 atm<br/>EtOH/H2O"] --> COL["DC-1<br/>Distillation Column<br/>20 stages"]
COL -->|Distillate| D["Distillate<br/>(ethanol-rich)"]
COL -->|Bottoms| B["Bottoms<br/>(water-rich)"]
Key Design Parameters¶
| Parameter | Value | Unit |
|---|---|---|
| Compounds | Water, Ethanol | - |
| Property Package | NRTL | - |
| Feed temperature | 350 | K |
| Feed pressure | 101325 (1 atm) | Pa |
| Feed molar flow | 100 | mol/s |
| Feed composition | 50% Water, 50% Ethanol | molar |
| Number of stages | 20 | - |
| Feed stage | 10 (counting from condenser) | - |
| Condenser type | Total | - |
| Condenser spec | Reflux ratio = 2.0 | - |
| Reboiler spec | Bottoms molar flow = 75 mol/s | - |
Step-by-Step in the Classic UI¶
1. Set up the simulation¶
File > New Chemical Process Model → wizard:
- Compounds:
Water,Ethanol - Property Package:
NRTL - Click Finish
Why NRTL for water-ethanol?
Water and ethanol form a strongly non-ideal liquid mixture with hydrogen bonding and an azeotrope at 95.6 wt% ethanol. Activity-coefficient models like NRTL and UNIQUAC capture this behavior accurately; cubic equations of state (PR, SRK) cannot. NRTL has 3 binary interaction parameters per pair and excellent VLE accuracy for polar/associating systems.
2. Create the feed stream¶
Drag a Material Stream, rename it Feed, and configure:
- Temperature:
350 K - Pressure:
1 atm - Molar Flow:
100 mol/s - Composition (Mole Fraction basis): Water =
0.5, Ethanol =0.5
3. Create the product streams¶
Drag two more Material Streams: Distillate and Bottoms. Leave both empty - the column will calculate them.
4. Insert the Distillation Column¶
Drag a Distillation Column from the Object Palette to the canvas (or use Insert > Flowsheet Object and select Distillation Column from the Columns category). Rename it DC-1.
Double-click DC-1 to open the Distillation Column Editor, which has multiple tabs:
Tab: Connections¶
- Feed Stream(s): Add
Feed, set Stage =10 - Distillate:
Distillate - Bottoms:
Bottoms - Condenser Energy Stream and Reboiler Energy Stream: click
[Click here to create]for each

Tab: Configuration / Stages¶
- Number of Stages:
20 - Condenser Type:
Total Condenser - Pressure Profile: leave at default (uniform 1 atm)
Tab: Specifications¶
The column needs two specifications. Set:
- Condenser Spec:
Reflux Ratio, value2.0 - Reboiler Spec:
Product Molar Flow (mol/s), value75

Understanding column specifications
A distillation column has two degrees of freedom (after fixing feed conditions, stages, and feed stage). Common specification pairs include:
- Reflux ratio + Bottoms flow (used here): controls separation quality and product split
- Distillate flow + Bottoms flow: fixes the material balance directly
- Reflux ratio + Reboiler duty: controls quality and energy input
5. Solve¶
Make sure F6 (Calculator Active) is ON, click Solve.
The column may take a few iterations to converge. Watch the Console Output panel (View > Console Output) for solver messages. When done, all objects turn green.

6. Inspect the results¶
Double-click DC-1 and switch to the Results tab. Review:
- Condenser Duty: positive value (heat removed at the top)
- Reboiler Duty: positive value (heat added at the bottom)
- Distillate: ethanol mole fraction should be > 0.80
- Bottoms: ethanol mole fraction should be < 0.10
You can also inspect the Stage Profile tab to see temperatures, pressures, and compositions at every stage.

Results and Validation¶
| Variable | Expected | Unit |
|---|---|---|
| Distillate ethanol mole fraction | > 0.80 (ethanol-rich) | - |
| Bottoms ethanol mole fraction | < 0.10 (ethanol-lean) | - |
| Condenser duty | > 0 (positive, heat removed) | kW |
| Reboiler duty | > 0 (positive, heat added) | kW |
| Mass balance | Feed = Distillate + Bottoms | mol/s |
Expected results
The distillate should be rich in ethanol (the light component), with mole fraction above 0.80. The bottoms should be nearly pure water, with ethanol mole fraction below 0.10.
Understanding the Results¶
The 20-stage column with reflux ratio 2.0 provides good separation. The distillate approaches the azeotropic composition (~89 mol% ethanol), while the bottoms is nearly pure water.
Increasing the reflux ratio improves the distillate purity (up to the azeotrope limit) at the cost of higher energy consumption (larger condenser and reboiler duties). Adding more stages also helps, but with diminishing returns beyond a certain point.
The condenser and reboiler duties are coupled: the reboiler provides the energy to generate vapor; the condenser removes heat to produce liquid reflux. The difference between the duties equals the net enthalpy change between feed and products.
Automating This Tutorial¶
Files in this repository
- Python script:
examples/intermediate/01_distillation_column.py - Pre-built flowsheet:
examples/saved/distillation.dwxmz
from DWSIM.Automation.FluentAPI import Flowsheet, PropertyPackages, Q
fs = (Flowsheet.Create("DistillationTutorial")
.WithCompounds("Water", "Ethanol")
.WithPropertyPackage(PropertyPackages.NRTL))
feed = (fs.AddMaterialStream("Feed")
.At(Q.Kelvin(350.0), Q.Pascal(101325.0))
.WithMolarFlow(100.0.MolPerSecond())
.SetCompoundMolarFlow("Water", 50.0)
.SetCompoundMolarFlow("Ethanol", 50.0))
distillate = fs.AddMaterialStream("Distillate")
bottoms = fs.AddMaterialStream("Bottoms")
column = (fs.AddDistillationColumn("DC-1", numberOfStages=20)
.WithFeed(feed, stage=10)
.WithCondenserSpec("Reflux Ratio", 2.0)
.WithReboilerSpec("Product Molar Flow (mol/s)", 75.0)
.ConnectDistillate(distillate)
.ConnectBottoms(bottoms))
fs.AutoLayout()
fs.Solve()
print(f"Distillate EtOH = {distillate.OverallMoleFraction('Ethanol'):.4f}")
print(f"Bottoms EtOH = {bottoms.OverallMoleFraction('Ethanol'):.4f}")
print(f"Condenser duty = {column.CondenserDutyKW:.2f} kW")
print(f"Reboiler duty = {column.ReboilerDutyKW:.2f} kW")
Build the standard simulation header (flowsheet, compounds Water+Ethanol, property package NRTL), create the Feed stream, then add the column:
{"jsonrpc":"2.0","id":7,"method":"tools/call","params":{
"name":"dwsim.unitop.add",
"arguments":{
"flowsheet_id":"<ID>","type":"DistillationColumn","name":"DC-1",
"number_of_stages":20,"feed_stream":"Feed","feed_stage":10,
"condenser_spec":"Reflux Ratio","condenser_value":2.0,
"reboiler_spec":"Product Molar Flow (mol/s)","reboiler_value":75.0,
"distillate_stream":"Distillate","bottoms_stream":"Bottoms"
}
}}
Then call 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 "DistillationTutorial"
- Add Water and Ethanol as compounds; set the property package to "NRTL"
- Add a material stream named "Feed" at 350 K and 101325 Pa with a
molar flow of 100 mol/s and a mole-fraction composition of
50 % Water and 50 % Ethanol
- Add empty material streams "Distillate" and "Bottoms"
- Add a Distillation Column named "DC-1" with 20 stages; the feed
enters at stage 10; total condenser; condenser specification
"Reflux Ratio" = 2.0; reboiler specification
"Product Molar Flow (mol/s)" = 75.0; connect Distillate and
Bottoms as the product streams
- Solve the flowsheet
- Report the ethanol mole fraction in the Distillate, the ethanol
mole fraction in the Bottoms, the condenser duty (kW) and the
reboiler duty (kW)
Exercises
- Increase the reflux ratio to 5.0 (Specifications tab → re-enter the value). How does the distillate ethanol purity change? What happens to the reboiler duty?
- Reduce the number of stages to 10. Can you still achieve good separation?
- Move the feed stage from 10 to 5, then to 15. How does the feed location affect the products?
Further Reading¶
Selected references from the DWSIM technical bibliography. Click the DOI link to access each paper.
- Henry Z. Kister. (1992). Distillation Design. McGraw-Hill Professional
- J. D. Seader & Ernest J. Henley. (2005). Separation Process Principles. Wiley
- W.L. McCabe, J. Smith & P. Harriott. (2005). Unit Operations of Chemical Engineering. McGraw-Hill Education
Next Steps¶
In Heat Exchanger Design, you will model counter-current heat exchange between two process streams.