floris.optimization.layout_optimization.layout_optimization_gridded

floris.optimization.layout_optimization.layout_optimization_gridded#

Classes

LayoutOptimizationGridded(fmodel, boundaries)

Generates layouts that fit the most turbines arranged in a gridded pattern into the given boundaries.

class floris.optimization.layout_optimization.layout_optimization_gridded.LayoutOptimizationGridded(fmodel, boundaries, min_dist=None, min_dist_D=-1, rotation_step=5.0, rotation_range=(0.0, 360.0), translation_step=None, translation_step_D=-1, translation_range=None, hexagonal_packing=False)[source]#

Generates layouts that fit the most turbines arranged in a gridded pattern into the given boundaries. The grid can be square (default) or hexagonal. The layout is optimized by rotating and translating the grid to maximize the number of turbines that fit within the boundaries. Note that no wake or AEP calculations are performed in determining the maximum number of turbines that fit within the boundary.

Parameters:
  • fmodel (FlorisModel)

  • boundaries (list[tuple[float, float] | list[tuple[float, float]]])

  • min_dist (float | None)

  • min_dist_D (float | None)

  • rotation_step (float)

  • rotation_range (tuple[float, float])

  • translation_step (float | None)

  • translation_step_D (float | None)

  • translation_range (tuple[float, float] | None)

  • hexagonal_packing (bool)

optimize()[source]#
static trim_to_circle(x_locs, y_locs, radius)[source]#