Falling Film Evaporator¶
DWSIM Plus
Available with a DWSIM Plus (Patreon) subscription.
![]()
Falling film evaporator: heats the inlet liquid in a number of increments, each with a share of the pressure drop, and splits the result into a vapor outlet and a concentrated liquid outlet. The heat is set by an outlet temperature, an outlet vapor fraction, or the energy inlet stream. Ports: Material Inlet and Energy Inlet; Vapor Outlet and Concentrated Liquid.
DWSIM.UnitOperations.ExtensionPack.FallingFilmEvaporator
Assembly DWSIM.UnitOperations.ExtensionPack.dll · Object ← BaseClass ← UnitOpBaseClass ← FallingFilmEvaporator
At a glance¶

| Port | Index | Connected in the example |
|---|---|---|
| Inlet, material | 0 |
Feed |
| Inlet, energy | 1 |
Heating |
| Outlet, material | 0 |
Vapor |
| Outlet, material | 1 |
Concentrate |
Example¶
This code runs on every build of this site, and the output below is what it printed.
fs = (Flowsheet.Create("FallingFilmExample")
.WithCompounds("Water", "Ethylene glycol")
.WithPropertyPackage(PropertyPackages.NRTL))
feed = (fs.AddMaterialStream("Feed")
.At(Q.Celsius(60.0), Q.Bar(0.3))
.SetCompoundMassFlow("Water", 4.0) # kg/s
.SetCompoundMassFlow("Ethylene glycol", 1.0))
vapor = fs.AddMaterialStream("Vapor")
concentrate = fs.AddMaterialStream("Concentrate")
steam = fs.AddEnergyStream("Heating")
# Evaporate until 60 % of the inlet moles leave as vapor, in 20 increments.
ffe = (fs.AddFallingFilmEvaporator("FFE-1")
.WithCalculationMode(FallingFilmEvaporator.CalcMode.OutletVaporFraction)
.WithOutletVaporFraction(0.6)
.WithIncrementSteps(20)
.ConnectFeed(feed)
.ConnectEnergyFeed(steam, 1) # heating duty enters at port 1
.ConnectProduct(vapor, 0)
.ConnectProduct(concentrate, 1))
fs.AutoLayout()
fs.Solve()
c = concentrate.Object
glycol = c.GetCompoundMassFlow("Ethylene glycol") / c.GetMassFlow()
print(f"Heat load = {ffe.Object.HeatLoad:.0f} kW")
print(f"Boiling temperature = {concentrate.TemperatureK - 273.15:.1f} C")
print(f"Vapor flow = {vapor.Object.GetMassFlow():.3f} kg/s")
print(f"Concentrate flow = {c.GetMassFlow():.3f} kg/s, {glycol * 100:.1f} wt% glycol")
Output
Heat load = 6259 kW
Boiling temperature = 73.3 C
Vapor flow = 2.588 kg/s
Concentrate flow = 2.412 kg/s, 40.6 wt% glycol
DWSIM 10.2.11.0, generated 2026-10-08.
Properties¶
IDs accepted by GetPropertyValue, SetPropertyValue, the sensitivity analysis, the optimizer, the Adjust block and dynamic events. Units are SI; pass another unit system to GetPropertyValue to get them converted.
| ID | Name | Unit (SI) | Input |
|---|---|---|---|
Calculation Mode |
yes | ||
Pressure Drop |
Pa | yes | |
Increment |
yes | ||
Outlet Temperature |
K | yes | |
Outlet Vapor Fraction |
yes | ||
Heat Load |
kW | yes |
Learn more¶
-
User guide
-
FluentAPI
API members¶
Public members declared by this class. Inherited members are documented on the base classes.
Constructors¶
FallingFilmEvaporator(): Initializes a new default instance of the FallingFilmEvaporator class.
Initializes a new default instance of the FallingFilmEvaporator class.
FallingFilmEvaporator(string, string): Initializes a new instance of the FallingFilmEvaporator class with a name and description.
Initializes a new instance of the FallingFilmEvaporator class with a name and description.
| Parameter | Type | Description |
|---|---|---|
Name |
String |
The name of this unit operation. |
Description |
String |
A brief description of this unit operation. |
Properties¶
CalculationMode: Gets or sets how the heat added is determined: OutletTemperature (0) heats up to...
Gets or sets how the heat added is determined: OutletTemperature (0) heats up to OutletTemperature; OutletVaporFraction (1, default) evaporates up to OutletVaporFraction; EnergyStream (2) adds the energy flow of the connected energy inlet stream. In the first two modes the computed heat load is written to the energy inlet stream.
ComponentDescription: Gets or sets the CAPE-OPEN component description for this unit operation.
Gets or sets the CAPE-OPEN component description for this unit operation.
ComponentName: Gets or sets the CAPE-OPEN component name for this unit operation.
Gets or sets the CAPE-OPEN component name for this unit operation.
EvaporationProfile: Gets or sets the evaporation profile: one item per calculation increment with the temperature, pressure, heat added...
Gets or sets the evaporation profile: one item per calculation increment with the temperature, pressure, heat added and phase properties at that point. Calculated result.
HeatLoad: Gets or sets the total heat added to the process stream, in kW.
Gets or sets the total heat added to the process stream, in kW. Calculated result.
IncrementSteps: Gets or sets the number of increments the heating is divided into; each increment adds a row to...
Gets or sets the number of increments the heating is divided into; each increment adds a row to EvaporationProfile. Default 10.
IsPremium: Gets a value indicating whether this unit operation is a premium (DWSIM Patreon) unit operation.
Gets a value indicating whether this unit operation is a premium (DWSIM Patreon) unit operation. Always True; the object palette lists it under the Premium category.
MobileCompatible: Gets a value indicating whether this unit operation is compatible with mobile interfaces.
Gets a value indicating whether this unit operation is compatible with mobile interfaces. Always False.
ObjectClass: Gets or sets the simulation object class category (Exchangers).
Gets or sets the simulation object class category (Exchangers).
OutletTemperature: Gets or sets the specified outlet temperature, in K, used when CalculationMode is OutletTemperature.
Gets or sets the specified outlet temperature, in K, used when CalculationMode is OutletTemperature. Default 300 K.
OutletVaporFraction: Gets or sets the specified outlet vapor mole fraction, used when CalculationMode is...
Gets or sets the specified outlet vapor mole fraction, used when CalculationMode is OutletVaporFraction. Default 0.3.
PressureDrop: Gets or sets the total pressure drop across the evaporator, in Pa, distributed evenly over the increments.
Gets or sets the total pressure drop across the evaporator, in Pa, distributed evenly over the increments. Default 0.
Methods¶
Calculate(object): Calculates the object.
Calculates the object.
| Parameter | Type | Description |
|---|---|---|
args |
Object |
CloneXML(): Creates a deep copy of this object by round-tripping through XML serialization.
Creates a deep copy of this object by round-tripping through XML serialization.
CloseEditForm(): Closes the editor of this object, if it is open.
Closes the editor of this object, if it is open.
DeCalculate(): Decalculates the object.
Decalculates the object.
DisplayEditForm(): Opens the editor of this object.
Opens the editor of this object. A host that has no editor for it does nothing.
GetDefaultProperties(): Returns the identifiers of the properties shown by default for this unit operation.
Returns the identifiers of the properties shown by default for this unit operation.
GetDisplayDescription(): Returns the description string for this unit operation type.
Returns the description string for this unit operation type.
GetDisplayName(): Returns the display name for this unit operation type.
Returns the display name for this unit operation type.
GetIconBitmapBytes(): Returns the raw bytes of the icon image for this unit operation.
Returns the raw bytes of the icon image for this unit operation.
GetProperties(PropertyType): Get a list of all properties of the object.
Get a list of all properties of the object.
| Parameter | Type | Description |
|---|---|---|
proptype |
PropertyType |
Type of the property. |
GetPropertyDescription(string): Returns the description of the specified property.
Returns the description of the specified property.
| Parameter | Type | Description |
|---|---|---|
p |
String |
The property name. |
GetPropertyUnit(string, IUnitsOfMeasure): Gets the units of a property.
Gets the units of a property.
| Parameter | Type | Description |
|---|---|---|
prop |
String |
Property identifier. |
su |
IUnitsOfMeasure |
Units system to use. Null to use the default (SI) system. |
GetPropertyValue(string, IUnitsOfMeasure): Returns the value of a named property, converting from SI to the current unit system.
Returns the value of a named property, converting from SI to the current unit system. Falls back to extra properties if the property is not found in the base implementation.
| Parameter | Type | Description |
|---|---|---|
prop |
String |
The property identifier string. |
su |
IUnitsOfMeasure |
Optional units-of-measure system used for conversion; uses the shared SI system when Nothing. |
GetReport(IUnitsOfMeasure, CultureInfo, string): Generates a plain-text results report for this unit operation.
Generates a plain-text results report for this unit operation.
| Parameter | Type | Description |
|---|---|---|
su |
IUnitsOfMeasure |
The unit system used for formatting output values. |
ci |
CultureInfo |
The culture info used for number formatting. |
numberformat |
String |
A .NET numeric format string (e.g. "G6") applied to output values. |
GetStructuredReport(): Generates a structured (tabular) results report for display in the UI.
Generates a structured (tabular) results report for display in the UI.
LoadData(List<XElement>): Restores the unit operation state from a list of XML elements previously produced by SaveData.
Restores the unit operation state from a list of XML elements previously produced by SaveData.
| Parameter | Type | Description |
|---|---|---|
data |
List<XElement> |
The list of XElement objects containing serialized state. |
SaveData(): Serializes the unit operation state to a list of XML elements for persistence.
Serializes the unit operation state to a list of XML elements for persistence.
SetPropertyValue(string, object, IUnitsOfMeasure): Sets the value of a property.
Sets the value of a property.
| Parameter | Type | Description |
|---|---|---|
prop |
String |
Property identifier. |
propval |
Object |
Property value to set at the specified units. |
su |
IUnitsOfMeasure |
Units system to use. Null to use the default (SI) system. |
UpdateEditForm(): Redraws the editor of this object with the current values, if it is open.
Redraws the editor of this object with the current values, if it is open.
Fields¶