Energy Splitter¶
DWSIM Plus
Available with a DWSIM Plus (Patreon) subscription.
![]()
Energy splitter: divides one inlet energy stream into up to three outlet energy streams, either by split ratios or by specified energy flows for the first one or two outlets with the remainder going to the last connected outlet.
DWSIM.UnitOperations.ExtensionPack.EnergySplitter
Assembly DWSIM.UnitOperations.ExtensionPack.dll · Object ← BaseClass ← UnitOpBaseClass ← EnergySplitter
At a glance¶

| Port | Index | Connected in the example |
|---|---|---|
| Inlet, energy | 0 |
Heat supply |
| Outlet, energy | 0 |
User-1 |
| Outlet, energy | 1 |
User-2 |
| Outlet, energy | 2 |
User-3 |
Example¶
This code runs on every build of this site, and the output below is what it printed.
fs = (Flowsheet.Create("EnergySplitterExample")
.WithCompound("Water")
.WithPropertyPackage(PropertyPackages.SteamTables))
supply = fs.AddEnergyStream("Heat supply").WithEnergyFlow(Q.Kilowatts(1500.0))
users = [fs.AddEnergyStream(f"User-{i + 1}") for i in range(3)]
splitter = (fs.AddEnergySplitter("ES-1")
.WithOperationMode(EnergySplitter.OpMode.SplitRatios)
.ConnectEnergyFeed(supply, 0))
# Outlet port i goes to user i.
for i, user in enumerate(users):
splitter.ConnectEnergyProduct(user, i)
# Fractions for outlets 1 and 2; outlet 3 takes the rest.
splitter.Object.Ratios[0] = 0.5
splitter.Object.Ratios[1] = 0.3
fs.AutoLayout()
fs.Solve()
for user in users:
print(f"{user.Object.GraphicObject.Tag} = {user.EnergyFlowKW:.1f} kW")
print(f"Sum = {sum(u.EnergyFlowKW for u in users):.1f} kW")
Output
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 |
|---|---|---|---|
Stream 1 Flow Spec |
kW | yes | |
Stream 2 Flow Spec |
kW | yes | |
SR1 |
Split Ratio Stream 1 | yes | |
SR2 |
Split Ratio Stream 2 | yes | |
SR3 |
Split Ratio Stream 3 | result |
Learn more¶
-
User guide
-
FluentAPI
API members¶
Public members declared by this class. Inherited members are documented on the base classes.
Constructors¶
EnergySplitter(): Initializes a new default instance of the EnergySplitter class.
Initializes a new default instance of the EnergySplitter class. The split ratios start as 1, 0, 0.
EnergySplitter(string, string): Initializes a new instance of the EnergySplitter class with a name and description.
Initializes a new instance of the EnergySplitter class with a name and description. The split ratios start as 1, 0, 0.
| Parameter | Type | Description |
|---|---|---|
Name |
String |
The name of this unit operation. |
Description |
String |
A brief description of this unit operation. |
Properties¶
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.
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 (MixersSplitters).
Gets or sets the simulation object class category (MixersSplitters).
OperationMode: Gets or sets the specification mode: SplitRatios (0, default) divides the inlet energy flow by Ratios...
Gets or sets the specification mode: SplitRatios (0, default) divides the inlet energy flow by Ratios; StreamEnergyFlowSpec (1) uses StreamFlowSpec and Stream2FlowSpec, with the last connected outlet taking the remainder.
Ratios: Gets the split ratios (fractions of the inlet energy flow) for outlets 1 to 3.
Gets the split ratios (fractions of the inlet energy flow) for outlets 1 to 3. The ratio of the last connected outlet is recalculated to close the balance.
Stream2FlowSpec: Gets or sets the energy flow sent to outlet 2, in kW, when OperationMode is StreamEnergyFlowSpec...
Gets or sets the energy flow sent to outlet 2, in kW, when OperationMode is StreamEnergyFlowSpec and three outlets are connected. Default 0.
StreamFlowSpec: Gets or sets the energy flow sent to outlet 1, in kW, when OperationMode is StreamEnergyFlowSpec.
Gets or sets the energy flow sent to outlet 1, in kW, when OperationMode is StreamEnergyFlowSpec. 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.
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, as shown in the editor.
Returns the description of the specified property, as shown in the editor.
| 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. |
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¶
f: The classic (WinForms) editor window open for this unit operation, if any.
The classic (WinForms) editor window open for this unit operation, if any. Not saved with the flowsheet.