Skip to content

Wind Turbine

Represents a Wind Turbine unit operation that calculates electrical power output from wind speed, air density, rotor disk area, and turbine efficiency.

DWSIM.UnitOperations.UnitOperations.WindTurbine
Assembly DWSIM.UnitOperations.dll · Object ← BaseClass ← UnitOpBaseClass ← CleanEnergyUnitOpBase ← WindTurbine

At a glance

Wind Turbine in the example flowsheet

Port Index Connected in the example
Outlet, energy 0 WT-1 power

Example

This code runs on every build of this site, and the output below is what it printed.

fs = (Flowsheet.Create("WindTurbineExample")
      .WithCompound("Water")
      .WithPropertyPackage(PropertyPackages.SteamTables))

power = fs.AddEnergyStream("WT-1 power")

wt = (fs.AddWindTurbine("WT-1")
      .WithRotorDiameterM(80.0)
      .WithEfficiencyPercent(75.0))          # fraction of the Betz limit
wt.Object.CreateConnectors()                 # the canvas creates the ports on first draw
wt.ConnectEnergyProduct(power, 0)            # electric power leaves through port 0

# Local weather instead of the flowsheet's global weather conditions
t = wt.Object
t.UseUserDefinedWeather = True
t.UserDefinedWindSpeed = 12.0                # m/s
t.UserDefinedAirTemperature = 288.15         # K
t.UserDefinedAirPressure = 101325.0          # Pa
t.UserDefinedRelativeHumidity = 60.0         # %

fs.AutoLayout()
fs.Solve()

print(f"Disk area          = {t.DiskArea:.0f} m2")
print(f"Air density        = {t.AirDensity:.4f} kg/m3")
print(f"Betz limit power   = {wt.MaxTheoreticalPowerKW:.1f} kW")
print(f"Generated power    = {wt.GeneratedPowerKW:.1f} kW")
print(f"Energy stream      = {power.Object.EnergyFlow:.1f} kW")

Output

Disk area          = 5027 m2
Air density        = 1.2171 kg/m3
Betz limit power   = 3132.2 kW
Generated power    = 2349.2 kW
Energy stream      = 2349.2 kW

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
User-Defined Wind Speed m/s yes
Actual Wind Speed m/s result
User-Defined Air Temperature K yes
Actual Air Temperature K result
User-Defined Air Pressure Pa yes
Actual Air Pressure Pa result
User-Defined Relative Humidity % yes
Actual Relative Humidity % result
Disk Area m2 result
Rotor Diameter m yes
Number of Units yes
Generated Power kW result
Maximum Theoretical Power kW result
Calculated Air Density kg/m3 result
User-Defined Air Density kg/m3 yes

Learn more

API members

Public members declared by this class. Inherited members are documented on the base classes.

Constructors

WindTurbine(): Initializes a new default instance of the WindTurbine class.

Initializes a new default instance of the WindTurbine class.

public WindTurbine()
Public Sub New()

Properties

AirDensity: Gets or sets the calculated air density (kg/m³).

Gets or sets the calculated air density (kg/m³).

public double AirDensity { get; set; }
Public Property AirDensity As Double

DiskArea: Gets or sets the rotor disk area (m²).

Gets or sets the rotor disk area (m²).

public double DiskArea { get; set; }
Public Property DiskArea As Double

Efficiency: Gets or sets the turbine efficiency (%).

Gets or sets the turbine efficiency (%).

public double Efficiency { get; set; }
Public Property Efficiency As Double

EquipmentTypes: Gets the list of equipment sub-types (Onshore, Offshore).

Gets the list of equipment sub-types (Onshore, Offshore).

public override List<string> EquipmentTypes { get; }
Public Overrides ReadOnly Property EquipmentTypes As List(Of String)

GeneratedPower: Gets or sets the calculated generated electrical power (kW).

Gets or sets the calculated generated electrical power (kW).

public double GeneratedPower { get; set; }
Public Property GeneratedPower As Double

MaximumTheoreticalPower: Gets or sets the calculated maximum theoretical (Betz limit) power (kW).

Gets or sets the calculated maximum theoretical (Betz limit) power (kW).

public double MaximumTheoreticalPower { get; set; }
Public Property MaximumTheoreticalPower As Double

NumberOfTurbines: Gets or sets the number of turbines in the farm.

Gets or sets the number of turbines in the farm.

public int NumberOfTurbines { get; set; }
Public Property NumberOfTurbines As Integer

Prefix: Gets or sets the default name prefix for this unit operation.

Gets or sets the default name prefix for this unit operation.

public override string Prefix { get; set; }
Public Overrides Property Prefix As String

RotorDiameter: Gets or sets the rotor diameter (m).

Gets or sets the rotor diameter (m).

public double RotorDiameter { get; set; }
Public Property RotorDiameter As Double

UserDefinedAirDensity: Gets or sets an air density (kg/m³) to use instead of the one calculated from the air temperature, pressure and...

Gets or sets an air density (kg/m³) to use instead of the one calculated from the air temperature, pressure and humidity. Zero, the default, calculates it.

public double UserDefinedAirDensity { get; set; }
Public Property UserDefinedAirDensity As Double

Methods

Calculate(object): Calculates the generated power from wind speed, air density, disk area, and efficiency.

Calculates the generated power from wind speed, air density, disk area, and efficiency.

Parameter Type Description
args Object
public override void Calculate(object args = null)
Public Overrides Sub Calculate(args As Object = Nothing)

CloneXML(): Creates a deep copy via XML serialization.

Creates a deep copy via XML serialization.

public override object CloneXML()
Public Overrides Function CloneXML() As Object

CloseEditForm(): Closes and disposes the editing form.

Closes and disposes the editing form.

public override void CloseEditForm()
Public Overrides Sub CloseEditForm()

CreateConnectors(): Creates the graphic connector definitions on the flowsheet.

Creates the graphic connector definitions on the flowsheet.

public override void CreateConnectors()
Public Overrides Sub CreateConnectors()

CreateDimensionsList(): Creates the dimensions list (Power, Diameter) for this wind turbine.

Creates the dimensions list (Power, Diameter) for this wind turbine.

public override void CreateDimensionsList()
Public Overrides Sub CreateDimensionsList()

DisplayEditForm(): Opens or activates the editing form.

Opens or activates the editing form.

public override void DisplayEditForm()
Public Overrides Sub DisplayEditForm()

Draw(object): Draws the wind turbine icon on the given SkiaSharp canvas.

Draws the wind turbine icon on the given SkiaSharp canvas.

Parameter Type Description
g Object
public override void Draw(object g)
Public Overrides Sub Draw(g As Object)

GetDisplayDescription(): Returns the display description for this unit operation.

Returns the display description for this unit operation.

public override string GetDisplayDescription()
Public Overrides Function GetDisplayDescription() As String

GetDisplayName(): Returns the display name for this unit operation.

Returns the display name for this unit operation.

public override string GetDisplayName()
Public Overrides Function GetDisplayName() As String

GetIconBitmapBytes(): Returns the icon bitmap as a byte array.

Returns the icon bitmap as a byte array.

public override byte[] GetIconBitmapBytes()
Public Overrides Function GetIconBitmapBytes() As Byte()

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
public override string[] GetProperties(PropertyType proptype)
Public Overrides Function GetProperties(proptype As PropertyType) As String()

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
public override string GetPropertyUnit(string prop, IUnitsOfMeasure su = null)
Public Overrides Function GetPropertyUnit(prop As String, su As IUnitsOfMeasure = Nothing) As String

GetPropertyValue(string, IUnitsOfMeasure): Returns the value of the specified property.

Returns the value of the specified property.

Parameter Type Description
prop String
su IUnitsOfMeasure
public override object GetPropertyValue(string prop, IUnitsOfMeasure su = null)
Public Overrides Function GetPropertyValue(prop As String, su As IUnitsOfMeasure = Nothing) As Object

GetReport(IUnitsOfMeasure, CultureInfo, string): Generates a plain-text report of the wind turbine results.

Generates a plain-text report of the wind turbine results.

Parameter Type Description
su IUnitsOfMeasure
ci CultureInfo
nf String
public override string GetReport(IUnitsOfMeasure su, CultureInfo ci, string nf)
Public Overrides Function GetReport(su As IUnitsOfMeasure, ci As CultureInfo, nf As String) As String

LoadData(List<XElement>): Restores the wind turbine state from XML.

Restores the wind turbine state from XML.

Parameter Type Description
data List<XElement>
public override bool LoadData(List<XElement> data)
Public Overrides Function LoadData(data As List(Of XElement)) As Boolean

PopulateEditorPanel(object): Populates the cross-platform editor panel with controls for this wind turbine.

Populates the cross-platform editor panel with controls for this wind turbine.

Parameter Type Description
ctner Object
public override void PopulateEditorPanel(object ctner)
Public Overrides Sub PopulateEditorPanel(ctner As Object)

ReturnInstance(string): Creates and returns a new instance for deserialization.

Creates and returns a new instance for deserialization.

Parameter Type Description
typename String
public override object ReturnInstance(string typename)
Public Overrides Function ReturnInstance(typename As String) As Object

SaveData(): Serializes the wind turbine state to XML.

Serializes the wind turbine state to XML.

public override List<XElement> SaveData()
Public Overrides Function SaveData() As List(Of XElement)

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
public override bool SetPropertyValue(string prop, object propval, IUnitsOfMeasure su = null)
Public Overrides Function SetPropertyValue(prop As String, propval As Object, su As IUnitsOfMeasure = Nothing) As Boolean

UpdateDimensionsList(): Updates the dimension values from the current turbine properties.

Updates the dimension values from the current turbine properties.

public override void UpdateDimensionsList()
Public Overrides Sub UpdateDimensionsList()

UpdateEditForm(): Refreshes the editing form with updated data.

Refreshes the editing form with updated data.

public override void UpdateEditForm()
Public Overrides Sub UpdateEditForm()

Fields

ActualAirPressure: Actual atmospheric pressure used in the calculation (Pa).

Actual atmospheric pressure used in the calculation (Pa).

public double ActualAirPressure
Public ActualAirPressure As Double

ActualAirTemperature: Actual air temperature used in the calculation (K).

Actual air temperature used in the calculation (K).

public double ActualAirTemperature
Public ActualAirTemperature As Double

ActualRelativeHumidity: Actual relative humidity used in the calculation (%).

Actual relative humidity used in the calculation (%).

public double ActualRelativeHumidity
Public ActualRelativeHumidity As Double

ActualWindSpeed: Actual wind speed used in the calculation (m/s).

Actual wind speed used in the calculation (m/s).

public double ActualWindSpeed
Public ActualWindSpeed As Double

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.

public object f
Public f As Object

UserDefinedAirPressure: User-defined atmospheric pressure (Pa).

User-defined atmospheric pressure (Pa).

public double UserDefinedAirPressure
Public UserDefinedAirPressure As Double

UserDefinedAirTemperature: User-defined air temperature (K).

User-defined air temperature (K).

public double UserDefinedAirTemperature
Public UserDefinedAirTemperature As Double

UserDefinedRelativeHumidity: User-defined relative humidity (%).

User-defined relative humidity (%).

public double UserDefinedRelativeHumidity
Public UserDefinedRelativeHumidity As Double

UserDefinedWindSpeed: User-defined wind speed (m/s).

User-defined wind speed (m/s).

public double UserDefinedWindSpeed
Public UserDefinedWindSpeed As Double