floris.core.rotor_velocity#

Functions

average_velocity(velocities[, ix_filter, ...])

This property calculates and returns the average of the velocity field in turbine's rotor swept area.

compute_tilt_angles_for_floating_turbines(...)

compute_tilt_angles_for_floating_turbines_map(...)

cubic_cubature(array, cubature_weights[, axis])

cubic_mean(array[, axis])

rotor_effective_velocity(air_density, ...[, ...])

rotor_velocity_air_density_correction(...)

rotor_velocity_tilt_cosine_correction(...)

rotor_velocity_yaw_cosine_correction(...)

simple_cubature(array, cubature_weights[, axis])

simple_mean(array[, axis])

floris.core.rotor_velocity.rotor_velocity_yaw_cosine_correction(cosine_loss_exponent_yaw, yaw_angles, rotor_effective_velocities)[source]#
Return type:

ndarray[Any, dtype[float64]]

Parameters:
  • cosine_loss_exponent_yaw (float)

  • yaw_angles (ndarray[Any, dtype[float64]])

  • rotor_effective_velocities (ndarray[Any, dtype[float64]])

floris.core.rotor_velocity.rotor_velocity_tilt_cosine_correction(tilt_angles, ref_tilt, cosine_loss_exponent_tilt, tilt_interp, correct_cp_ct_for_tilt, rotor_effective_velocities)[source]#
Return type:

ndarray[Any, dtype[float64]]

Parameters:
  • tilt_angles (ndarray[Any, dtype[float64]])

  • ref_tilt (ndarray[Any, dtype[float64]])

  • cosine_loss_exponent_tilt (float)

  • tilt_interp (ndarray[Any, dtype[object_]])

  • correct_cp_ct_for_tilt (ndarray[Any, dtype[bool_]])

  • rotor_effective_velocities (ndarray[Any, dtype[float64]])

floris.core.rotor_velocity.simple_mean(array, axis=0)[source]#
floris.core.rotor_velocity.cubic_mean(array, axis=0)[source]#
floris.core.rotor_velocity.simple_cubature(array, cubature_weights, axis=0)[source]#
floris.core.rotor_velocity.cubic_cubature(array, cubature_weights, axis=0)[source]#
floris.core.rotor_velocity.average_velocity(velocities, ix_filter=None, method='cubic-mean', cubature_weights=None)[source]#

This property calculates and returns the average of the velocity field in turbine's rotor swept area. The average is calculated using the user-specified method. This is a vectorized function, so it can be used to calculate the average velocity for multiple turbines at once or a single turbine.

Note: The velocity is scaled to an effective velocity by the yaw.

Return type:

ndarray[Any, dtype[float64]]

Parameters:
  • velocities (ndarray[Any, dtype[float64]])

  • ix_filter (ndarray[Any, dtype[int64]] | ndarray[Any, dtype[bool_]] | Iterable[int] | None)

  • method (str)

  • cubature_weights (ndarray[Any, dtype[float64]] | None)

Args:
velocities (NDArrayFloat): The velocity field at each turbine; should be shape:

(number of turbines, ngrid, ngrid), or (ngrid, ngrid) for a single turbine.

ix_filter (NDArrayFilter | Iterable[int] | None], optional): The boolean array, or

integer indices (as an iterable or array) to filter out before calculation. Defaults to None.

method (str, optional): The method to use for averaging. Options are:
  • "simple-mean": The simple mean of the velocities

  • "cubic-mean": The cubic mean of the velocities

  • "simple-cubature": A cubature integration of the velocities

  • "cubic-cubature": A cubature integration of the cube of the velocities

Defaults to "cubic-mean".

cubature_weights (NDArrayFloat, optional): The cubature weights to use for the

cubature integration methods. Defaults to None.

Returns:

NDArrayFloat: The average velocity across the rotor(s).

floris.core.rotor_velocity.compute_tilt_angles_for_floating_turbines_map(turbine_type_map, tilt_angles, tilt_interps, rotor_effective_velocities)[source]#
Return type:

ndarray[Any, dtype[float64]]

Parameters:
  • turbine_type_map (ndarray[Any, dtype[object_]])

  • tilt_angles (ndarray[Any, dtype[float64]])

  • tilt_interps (dict[str, interp1d])

  • rotor_effective_velocities (ndarray[Any, dtype[float64]])

floris.core.rotor_velocity.compute_tilt_angles_for_floating_turbines(tilt_angles, tilt_interp, rotor_effective_velocities)[source]#
Return type:

ndarray[Any, dtype[float64]]

Parameters:
  • tilt_angles (ndarray[Any, dtype[float64]])

  • tilt_interp (dict[str, interp1d])

  • rotor_effective_velocities (ndarray[Any, dtype[float64]])

floris.core.rotor_velocity.rotor_effective_velocity(air_density, ref_air_density, velocities, yaw_angle, tilt_angle, ref_tilt, cosine_loss_exponent_yaw, cosine_loss_exponent_tilt, tilt_interp, correct_cp_ct_for_tilt, turbine_type_map, ix_filter=None, average_method='cubic-mean', cubature_weights=None)[source]#
Return type:

ndarray[Any, dtype[float64]]

Parameters:
  • air_density (float)

  • ref_air_density (float)

  • velocities (ndarray[Any, dtype[float64]])

  • yaw_angle (ndarray[Any, dtype[float64]])

  • tilt_angle (ndarray[Any, dtype[float64]])

  • ref_tilt (ndarray[Any, dtype[float64]])

  • cosine_loss_exponent_yaw (float)

  • cosine_loss_exponent_tilt (float)

  • tilt_interp (ndarray[Any, dtype[object_]])

  • correct_cp_ct_for_tilt (ndarray[Any, dtype[bool_]])

  • turbine_type_map (ndarray[Any, dtype[object_]])

  • ix_filter (ndarray[Any, dtype[int64]] | Iterable[int] | None)

  • average_method (str)

  • cubature_weights (ndarray[Any, dtype[float64]] | None)

floris.core.rotor_velocity.rotor_velocity_air_density_correction(velocities, air_density, ref_air_density)[source]#
Return type:

ndarray[Any, dtype[float64]]

Parameters:
  • velocities (ndarray[Any, dtype[float64]])

  • air_density (float)

  • ref_air_density (float)