floris.optimization.yaw_optimization.yaw_optimizer_geometric

floris.optimization.yaw_optimization.yaw_optimizer_geometric#

Functions

geometric_yaw(turbine_x, turbine_y, ...[, ...])

turbine_x: unrotated x turbine coords turbine_y: unrotated y turbine coords wind_direction: float, degrees rotor_diameter: float left_x: where we start the trapezoid. Should be left as 0. top_left_y: trapezoid top left coord right_x: where to stop the trapezoid downstream. Max coord after which the upstream turbine won't yaw. top_right_y: trapezoid top right coord top_left_yaw_upper: yaw angle associated with top left point (upper trapezoid) top_right_yaw_upper: yaw angle associated with top right point bottom_left_yaw_upper: yaw angle associated with bottom left point bottom_right_yaw_upper: yaw angle associated with bottom right point top_left_yaw_lower: yaw angle associated with top left point (lower trapezoid) top_right_yaw_lower: yaw angle associated with top right point bottom_left_yaw_lower: yaw angle associated with bottom left point bottom_right_yaw_lower: yaw angle associated with bottom right point.

Classes

YawOptimizationGeometric(fmodel[, ...])

YawOptimizationGeometric is a subclass of floris.optimization.general_library.YawOptimization that is used to provide a rough estimate of optimal yaw angles based purely on the wind farm geometry.

class floris.optimization.yaw_optimization.yaw_optimizer_geometric.YawOptimizationGeometric(fmodel, minimum_yaw_angle=0.0, maximum_yaw_angle=25.0)[source]#

YawOptimizationGeometric is a subclass of floris.optimization.general_library.YawOptimization that is used to provide a rough estimate of optimal yaw angles based purely on the wind farm geometry. Main use case is for coupled layout and yaw optimization.

See Stanely et al. (2023) for details: https://wes.copernicus.org/articles/8/1341/2023/

optimize()[source]#

Find rough yaw angles based on wind farm geometry. Assumes all wind turbines have the same rotor diameter.

Returns:

opt_yaw_angles (np.array): Optimal yaw angles in degrees. This array is equal in length to the number of turbines in the farm.

floris.optimization.yaw_optimization.yaw_optimizer_geometric.geometric_yaw(turbine_x, turbine_y, wind_direction, rotor_diameter, left_x=0.0, top_left_y=1.0, right_x=25.0, top_right_y=1.0, top_left_yaw_upper=30.0, top_right_yaw_upper=0.0, bottom_left_yaw_upper=30.0, bottom_right_yaw_upper=0.0, top_left_yaw_lower=-30.0, top_right_yaw_lower=0.0, bottom_left_yaw_lower=-30.0, bottom_right_yaw_lower=0.0)[source]#

turbine_x: unrotated x turbine coords turbine_y: unrotated y turbine coords wind_direction: float, degrees rotor_diameter: float left_x: where we start the trapezoid. Should be left as 0. top_left_y: trapezoid top left coord right_x: where to stop the trapezoid downstream.

Max coord after which the upstream turbine won't yaw.

top_right_y: trapezoid top right coord top_left_yaw_upper: yaw angle associated with top left point (upper trapezoid) top_right_yaw_upper: yaw angle associated with top right point bottom_left_yaw_upper: yaw angle associated with bottom left point bottom_right_yaw_upper: yaw angle associated with bottom right point top_left_yaw_lower: yaw angle associated with top left point (lower trapezoid) top_right_yaw_lower: yaw angle associated with top right point bottom_left_yaw_lower: yaw angle associated with bottom left point bottom_right_yaw_lower: yaw angle associated with bottom right point