ard.layout.sunflower#

Functions

sunflower(n[, alpha, n_b, geodesic])

generate a sunflower seed packing pattern

Classes

SunflowerFarmLanduse(**kwargs)

SunflowerFarmLayout(**kwargs)

A sunflower-inspired structured layout algorithm

ard.layout.sunflower.sunflower(n, alpha=0, n_b=None, geodesic=False)[source]#

generate a sunflower seed packing pattern

adapted from a stackoverflow post:

https://stackoverflow.com/questions/28567166/uniformly-distribute-x-points-inside-a-circle#28572551

in turn from the wolfram demonstrations page:

Joost de Jong (2013), "Sunflower Seed Arrangements" Wolfram Demonstrations Project. demonstrations.wolfram.com/SunflowerSeedArrangements/.

appears to originate from: doi:10.1016/0025-5564(79)90080-4

Parameters:
  • n (float)

  • alpha (float)

  • n_b (float)

class ard.layout.sunflower.SunflowerFarmLayout(**kwargs)[source]#

A sunflower-inspired structured layout algorithm

Options#

modeling_optionsdict

a modeling options dictionary (inherited from templates.LayoutTemplate)

N_turbinesint

the number of turbines that should be in the farm layout (inherited from templates.LayoutTemplate)

Inputs#

alphafloat

a parameter to control the number of boundary (v. interior) turbines

spacing_targetfloat

a parameter to control the target average minimum spacing

Outputs#

x_turbinesnp.ndarray

a 1-D numpy array that represents that x (i.e. Easting) coordinate of the location of each of the turbines in the farm in meters (inherited from templates.LayoutTemplate)

y_turbinesnp.ndarray

a 1-D numpy array that represents that y (i.e. Northing) coordinate of the location of each of the turbines in the farm in meters (inherited from templates.LayoutTemplate)

spacing_effective_primaryfloat

a measure of the spacing on a primary axis of a rectangular farm that would be equivalent to this one for the purposes of computing BOS costs measured in rotor diameters (inherited from templates.LayoutTemplate)

spacing_effective_secondaryfloat

a measure of the spacing on a secondary axis of a rectangular farm that would be equivalent to this one for the purposes of computing BOS costs measured in rotor diameters (inherited from templates.LayoutTemplate)

initialize()[source]#

Initialization of OM component.

setup()[source]#

Setup of OM component.

setup_partials()[source]#

Derivative setup for OM component.

compute(inputs, outputs)[source]#

Computation for the OM component.

class ard.layout.sunflower.SunflowerFarmLanduse(**kwargs)[source]#