Hydroelectric Turbine¶
![]()
Represents a Hydroelectric Turbine unit operation that calculates electrical power output from the static and velocity heads, water flow rate, and turbine efficiency.
DWSIM.UnitOperations.UnitOperations.HydroelectricTurbine
Assembly DWSIM.UnitOperations.dll · Object ← BaseClass ← UnitOpBaseClass ← CleanEnergyUnitOpBase ← HydroelectricTurbine
At a glance¶

| Port | Index | Connected in the example |
|---|---|---|
| Inlet, material | 0 |
Water-in |
| Outlet, material | 0 |
Water-out |
| Outlet, energy | 1 |
HT-1 power |
Example¶
This code runs on every build of this site, and the output below is what it printed.
fs = (Flowsheet.Create("HydroTurbineExample")
.WithCompound("Water")
.WithPropertyPackage(PropertyPackages.SteamTables))
water_in = (fs.AddMaterialStream("Water-in")
.At(Q.Celsius(15.0), Q.Bar(1.0))
.WithVolumetricFlow(Q.CubicMetersPerSecond(2.0)))
water_out = fs.AddMaterialStream("Water-out")
power = fs.AddEnergyStream("HT-1 power")
ht = (fs.AddHydroelectricTurbine("HT-1")
.WithStaticHeadM(50.0)
.WithInletVelocityMPerS(3.0)
.WithOutletVelocityMPerS(1.0)
.WithEfficiencyPercent(90.0))
ht.Object.CreateConnectors() # the canvas creates the ports on first draw
ht.ConnectFeed(water_in, 0).ConnectProduct(water_out, 0)
# electric power leaves through outlet port 1
ht.ConnectEnergyProduct(power, 1)
fs.AutoLayout()
fs.Solve()
print(f"Mass flow = {water_in.MassFlowKgPerSecond:.1f} kg/s")
print(f"Velocity head = {ht.Object.VelocityHead:.3f} m")
print(f"Total head = {ht.TotalHeadM:.3f} m")
print(f"Generated power = {ht.GeneratedPowerKW:.1f} kW")
print(f"Outlet T = {water_out.TemperatureK - 273.15:.3f} C")
Output
Mass flow = 1998.2 kg/s
Velocity head = 0.408 m
Total head = 50.408 m
Generated power = 889.0 kW
Outlet T = 15.012 C
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 |
|---|---|---|---|
Efficiency |
yes | ||
Static Head |
m | yes | |
Velocity Head |
m | result | |
Total Head |
m | result | |
Inlet Velocity |
m/s | yes | |
Outlet Velocity |
m/s | yes | |
Generated Power |
kW | result |
Learn more¶
-
User guide
-
FluentAPI
API members¶
Public members declared by this class. Inherited members are documented on the base classes.
Constructors¶
HydroelectricTurbine(): Initializes a new default instance of the HydroelectricTurbine class.
Initializes a new default instance of the HydroelectricTurbine class.
Properties¶
Efficiency: Gets or sets the turbine efficiency (%).
Gets or sets the turbine efficiency (%).
GeneratedPower: Gets or sets the calculated generated electrical power (kW).
Gets or sets the calculated generated electrical power (kW).
InletVelocity: Gets or sets the inlet water velocity (m/s).
Gets or sets the inlet water velocity (m/s).
OutletVelocity: Gets or sets the outlet water velocity (m/s).
Gets or sets the outlet water velocity (m/s).
Prefix: Gets or sets the default name prefix for this unit operation.
Gets or sets the default name prefix for this unit operation.
StaticHead: Gets or sets the static head (m).
Gets or sets the static head (m).
TotalHead: Gets or sets the total head used in the power calculation (m).
Gets or sets the total head used in the power calculation (m).
VelocityHead: Gets or sets the velocity head (m).
Gets or sets the velocity head (m).
Methods¶
Calculate(object): Calculates the generated power from the water flow, head, and turbine efficiency.
Calculates the generated power from the water flow, head, and turbine efficiency.
| Parameter | Type | Description |
|---|---|---|
args |
Object |
CloneXML(): Creates a deep copy via XML serialization.
Creates a deep copy via XML serialization.
CloseEditForm(): Closes and disposes the editing form.
Closes and disposes the editing form.
CreateConnectors(): Creates the graphic connector definitions on the flowsheet.
Creates the graphic connector definitions on the flowsheet.
DisplayEditForm(): Opens or activates the editing form.
Opens or activates the editing form.
Draw(object): Draws the hydroelectric turbine icon on the given SkiaSharp canvas.
Draws the hydroelectric turbine icon on the given SkiaSharp canvas.
| Parameter | Type | Description |
|---|---|---|
g |
Object |
GetDisplayDescription(): Returns the display description for this unit operation.
Returns the display description for this unit operation.
GetDisplayName(): Returns the display name for this unit operation.
Returns the display name for this unit operation.
GetIconBitmapBytes(): Returns the icon bitmap as a byte array.
Returns the icon bitmap as a byte array.
GetProperties(PropertyType): Returns an array of property identifiers for the specified property type.
Returns an array of property identifiers for the specified property type.
| Parameter | Type | Description |
|---|---|---|
proptype |
PropertyType |
GetPropertyUnit(string, IUnitsOfMeasure): Returns the unit string for the specified property.
Returns the unit string for the specified property.
| Parameter | Type | Description |
|---|---|---|
prop |
String |
|
su |
IUnitsOfMeasure |
GetPropertyValue(string, IUnitsOfMeasure): Returns the value of the specified property.
Returns the value of the specified property.
| Parameter | Type | Description |
|---|---|---|
prop |
String |
|
su |
IUnitsOfMeasure |
GetReport(IUnitsOfMeasure, CultureInfo, string): Generates a plain-text report of the turbine results.
Generates a plain-text report of the turbine results.
| Parameter | Type | Description |
|---|---|---|
su |
IUnitsOfMeasure |
|
ci |
CultureInfo |
|
numberformat |
String |
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 turbine state from XML.
Restores the turbine state from XML.
| Parameter | Type | Description |
|---|---|---|
data |
List<XElement> |
PopulateEditorPanel(object): Populates the cross-platform editor panel with controls.
Populates the cross-platform editor panel with controls.
| Parameter | Type | Description |
|---|---|---|
ctner |
Object |
ReturnInstance(string): Creates and returns a new instance for deserialization.
Creates and returns a new instance for deserialization.
| Parameter | Type | Description |
|---|---|---|
typename |
String |
SaveData(): Serializes the turbine state to XML.
Serializes the turbine state to XML.
SetPropertyValue(string, object, IUnitsOfMeasure): Sets the value of the specified property.
Sets the value of the specified property.
| Parameter | Type | Description |
|---|---|---|
prop |
String |
|
propval |
Object |
|
su |
IUnitsOfMeasure |
UpdateEditForm(): Refreshes the editing form with updated data.
Refreshes the editing form with updated data.
Fields¶