floris.core.wake_deflection.gauss#

Functions

calculate_transverse_velocity(u_i, ...[, scale])

Calculate transverse velocity components for all downstream turbines given the vortices at the current turbine.

gamma(D, velocity, Uinf, Ct[, scale])

Vortex circulation strength.

wake_added_yaw(u_i, v_i, u_initial, delta_y, ...)

what yaw angle would have produced that same average spanwise velocity

yaw_added_turbulence_mixing(u_i, I_i, v_i, ...)

Classes

GaussVelocityDeflection([ad, bd, alpha, ...])

The Gauss deflection model is a blend of the models described in [1] and [2] for calculating the deflection field in turbine wakes.

class floris.core.wake_deflection.gauss.GaussVelocityDeflection(ad=0.0, bd=0.0, alpha=0.58, beta=0.077, ka=0.38, kb=0.004, dm=1.0, eps_gain=0.2, use_secondary_steering=True)[source]#

The Gauss deflection model is a blend of the models described in [1] and [2] for calculating the deflection field in turbine wakes.

parameter_dictionary (dict): Model-specific parameters.

Default values are used when a parameter is not included in parameter_dictionary. Possible key-value pairs include:

  • ka (float): Parameter used to determine the linear relationship between the turbulence intensity and the width of the Gaussian wake shape.

  • kb (float): Parameter used to determine the linear relationship between the turbulence intensity and the width of the Gaussian wake shape.

  • alpha (float): Parameter that determines the dependence of the downstream boundary between the near wake and far wake region on the turbulence intensity.

  • beta (float): Parameter that determines the dependence of the downstream boundary between the near wake and far wake region on the turbine's induction factor.

  • ad (float): Additional tuning parameter to modify the wake deflection with a lateral offset. Defaults to 0.

  • bd (float): Additional tuning parameter to modify the wake deflection with a lateral offset. Defaults to 0.

  • dm (float): Additional tuning parameter to scale the amount of wake deflection. Defaults to 1.0

  • use_secondary_steering (bool): Flag to use secondary steering on the wake velocity using methods developed in [2].

  • eps_gain (float): Tuning value for calculating the V- and W-component velocities using methods developed in [7]. TODO: Believe this should be removed, need to verify. See property on super-class for more details.

References:
[1] (1,2,3,4)

Majid Bastankhah and Fernando Porté-Agel. Experimental and theoretical study of wind turbine wakes in yawed conditions. Journal of Fluid Mechanics, 806:506–541, 2016.

[2] (1,2,3,4)

Jennifer King, Paul Fleming, Ryan King, and Luis A. Martinez-Tossas. Controls-oriented model to capture secondary effects of wake steering. Submitted to Wind Energy Science, 2019.

Parameters:
  • ad (float) --

  • bd (float) --

  • alpha (float) --

  • beta (float) --

  • ka (float) --

  • kb (float) --

  • dm (float) --

  • eps_gain (float) --

  • use_secondary_steering (bool) --

ad: float#
bd: float#
alpha: float#
beta: float#
ka: float#
kb: float#
dm: float#
eps_gain: float#
use_secondary_steering: bool#
prepare_function(grid, flow_field)[source]#
Return type:

dict[str, Any]

Parameters:
function(x_i, y_i, yaw_i, turbulence_intensity_i, ct_i, rotor_diameter_i, *, x, y, z, freestream_velocity, wind_veer)[source]#

Calculates the deflection field of the wake. See [1] and [2] for details on the methods used.

Args:

x_i (np.array): x-coordinates of turbine i. y_i (np.array): y-coordinates of turbine i. yaw_i (np.array): Yaw angle of turbine i. turbulence_intensity_i (np.array): Turbulence intensity at turbine i. ct_i (np.array): Thrust coefficient of turbine i. rotor_diameter_i (float): Rotor diameter of turbine i.

Returns:

np.array: Deflection field for the wake.

Parameters:
  • x_i (ndarray) --

  • y_i (ndarray) --

  • yaw_i (ndarray) --

  • turbulence_intensity_i (ndarray) --

  • ct_i (ndarray) --

  • rotor_diameter_i (float) --

  • x (ndarray) --

  • y (ndarray) --

  • z (ndarray) --

  • freestream_velocity (ndarray) --

  • wind_veer (float) --

floris.core.wake_deflection.gauss.gamma(D, velocity, Uinf, Ct, scale=1.0)[source]#

Vortex circulation strength. Units of XXX TODO

Args:

D (float): Rotor diameter of the current turbine velocity (np.array(float)): Velocities at the current turbine Uinf (float): Free-stream velocity Ct (float): Thrust coefficient at the current turbine

Returns:

[type]: [description]

floris.core.wake_deflection.gauss.wake_added_yaw(u_i, v_i, u_initial, delta_y, z_i, rotor_diameter, hub_height, ct_i, tip_speed_ratio, axial_induction_i, wind_shear, scale=1.0)[source]#

what yaw angle would have produced that same average spanwise velocity

These calculations focus around the current turbine. The formulation could remove the dimension for n-turbines, but for consistency with other similar equations it is left. However, the turbine dimension should always have length 1.

floris.core.wake_deflection.gauss.calculate_transverse_velocity(u_i, u_initial, dudz_initial, delta_x, delta_y, z, rotor_diameter, hub_height, yaw, ct_i, tsr_i, axial_induction_i, wind_shear, scale=1.0)[source]#

Calculate transverse velocity components for all downstream turbines given the vortices at the current turbine.

floris.core.wake_deflection.gauss.yaw_added_turbulence_mixing(u_i, I_i, v_i, w_i, turb_v_i, turb_w_i)[source]#