# 3.4. Turbines¶

The turbine module encapsulates the specification of the turbines which are being optimized, how they are controlled and how they are parameterised.

## 3.4.1. Turbines¶

### 3.4.1.1. Bump turbine¶

class opentidalfarm.turbines.bump_turbine.BumpTurbine(friction=12.0, diameter=20.0, minimum_distance=None, controls=<opentidalfarm.turbines.controls.Controls object>)[source]

Create a turbine that is modelled as a bump of bottom friction

### 3.4.1.2. Thrust turbine¶

class opentidalfarm.turbines.thrust_turbine.ThrustTurbine(friction=1.0, diameter=20.0, swept_diameter=20.0, c_t_design=0.6, cut_in_speed=1, cut_out_speed=2.5, water_depth=None, upwind_correction=True, minimum_distance=None, controls=<opentidalfarm.turbines.controls.Controls object>)[source]

Create a turbine that is modelled as a bump of bottom friction. In addition this turbine implements cut in and out speeds for the power production.

This turbine introduces a non-linearity, which is handled explicitly.

compute_C_t(u_mag)[source]

Return C_t as a function of u_mag

greater_than_cut_out(u_mag)[source]

The function describing the thrust coefficient for velocities > cut_out_speed

less_than_cut_out(u_mag)[source]

The function describing the thrust coefficient for velocities < cut_out_speed

### 3.4.1.3. The base turbine¶

class opentidalfarm.turbines.base_turbine.BaseTurbine(friction=None, diameter=None, minimum_distance=None, controls=None, bump=False, smeared=False, thrust=False, implicit_thrust=False)[source]

A base turbine class from which others are derived.

diameter

The diameter of a turbine. :returns: The diameter of a turbine. :rtype: float

friction

The maximum friction coefficient of a turbine. :returns: The maximum friction coefficient of the turbine. :rtype: float

integral

The integral of the turbine bump function. :returns: The integral of the turbine bump function. :rtype: float

minimum_distance

The minimum distance allowed between turbines. :returns: The minimum distance allowed between turbines. :rtype: float

radius

The radius of a turbine. :returns: The radius of a turbine. :rtype: float

### 3.4.1.4. Controls¶

class opentidalfarm.turbines.controls.Controls(position=False, friction=False, dynamic_friction=False)[source]

Specifies the controls for optimisation.

This class holds the controls for optimisation, such as the position and the friction of the turbines. The user initializes this class with their desired control parameters.

dynamic_friction

Whether dynamic friction is enabled as a control parameter.

Returns: True if dynamic friction is enabled as a control parameter. bool
friction

Whether friction is enabled as a control parameter.

Returns: True if friction is enabled as a control parameter. bool
position

Whether position is enabled as a control parameter.

Returns: True if position is enabled as a control parameter. bool