floris.optimization.other.boundary_grid#

Functions

boundary_grid(n_boundary_turbs, start, ...)

Place turbines equally spaced traversing the perimiter if the wind farm along the boundary

discontinuous_grid(nrows, ncols, farm_width, ...)

Map from grid design variables to turbine x and y locations.

place_boundary_turbines(n_boundary_turbs, ...)

Place turbines equally spaced traversing the perimiter if the wind farm along the boundary

Classes

BoundaryGrid(fi)

Parameterize the wind farm layout with a grid or the boundary grid method

floris.optimization.other.boundary_grid.discontinuous_grid(nrows, ncols, farm_width, farm_height, shear, rotation, center_x, center_y, shrink_boundary, boundary_x, boundary_y, eps=0.001)[source]#

Map from grid design variables to turbine x and y locations. Includes integer design variables and the formulation results in a discontinous design space.

TODO: shrink_boundary doesn't work well with concave boundaries, or with boundary angles less than 90 deg

Args:

nrows (Int): number of rows in the grid. ncols (Int): number of columns in the grid. farm_width (Float): total grid width (before shear). farm_height (Float): total grid height. shear (Float): grid shear (rad). rotation (Float): rotation about grid center (rad). center_x (Float): location of grid x center. center_y (Float): location of grid y center. shrink_boundary (Float): how much to shrink the boundary that the grid can occupy. boundary_x (Array(Float)): x boundary points. boundary_y (Array(Float)): y boundary points.

Returns:

grid_x (Array(Float)): turbine x locations. grid_y (Array(Float)): turbine y locations.

floris.optimization.other.boundary_grid.place_boundary_turbines(n_boundary_turbs, start, boundary_x, boundary_y)[source]#

Place turbines equally spaced traversing the perimiter if the wind farm along the boundary

Args: n_boundary_turbs (Int): number of turbines to be placed on the boundary start (Float): where the first turbine should be placed boundary_x (Array(Float)): x boundary points boundary_y (Array(Float)): y boundary points

Returns layout_x (Array(Float)): turbine x locations layout_y (Array(Float)): turbine y locations

floris.optimization.other.boundary_grid.boundary_grid(n_boundary_turbs, start, nrows, ncols, farm_width, farm_height, shear, rotation, center_x, center_y, shrink_boundary, boundary_x, boundary_y, eps=0.001)[source]#

Place turbines equally spaced traversing the perimiter if the wind farm along the boundary

Args: n_boundary_turbs,start: boundary variables nrows,ncols,farm_width,farm_height,shear,

rotation,center_x,center_y,shrink_boundary,eps: grid variables

boundary_x,boundary_y: boundary points

Returns layout_x (Array(Float)): turbine x locations layout_y (Array(Float)): turbine y locations

class floris.optimization.other.boundary_grid.BoundaryGrid(fi)[source]#

Parameterize the wind farm layout with a grid or the boundary grid method

reinitialize_bg(n_boundary_turbs=None, start=None, nrows=None, ncols=None, farm_width=None, farm_height=None, shear=None, rotation=None, center_x=None, center_y=None, shrink_boundary=None, boundary_x=None, boundary_y=None, eps=None)[source]#
reinitialize_xy()[source]#