Parameter Table

This page is intended to list all of the parameters and a short description of each one.

general

This section contains options that apply to the run as a whole, where files are stored, the type of study, etc.

Name

Type

Units

Default

Description

name

[‘string’, ‘null’]

-

None

The folder name for the current run.

preappend_datetime

boolean

-

False

If true, the time and date will be preappened to the output folder.

output

array

-

[‘solution’]

These are the fields that can be saved during/after the simulation, one of mesh, initial_guess, height, turbine_force, solution, and debug.

output_folder

string

-

output/

This is the root folder for all the output files.

output_type

string

-

pvd

This is the filetype various fields are saved in, choices pvd, xdmf (note xdmf is better for parallel, but pvd can be opened during simulation).

dolfin_adjoint

boolean

-

False

If true, this will import dolfin_adjoint which is required for calculating gradients. Must be true for optimizations.

debug_mode

boolean

-

False

If true, a file, tagged_output.yaml, is created in the root output folder. Used for unit and regression tests.

domain

Here we set the properties of the computational domain, what shape it is, whether there is terrain present, how to discretize across dimensions, and how to generate the mesh.

Name

Type

Units

Default

Description

type

[‘string’, ‘null’]

-

None

The type of domain, options are rectangle, box, cylinder, circle, imported, or interpolated. See Formatting for Importing a Domain

path

[‘string’, ‘null’]

-

None

The path to all domain files if using imported domain and standard naming.

mesh_path

[‘string’, ‘null’]

-

None

A specific path for the imported mesh file.

terrain_path

[‘string’, ‘null’]

-

None

A specific path for the terrain file if using complex/interpolated terrain.

bound_path

[‘string’, ‘null’]

-

None

A specific path to a MeshFunction file that stores the boundary IDs.

filetype

string

-

xml.gz

The file type for imported domains, options are xml, xml.gz, or h5.

scaled

boolean

-

False

Attempt scale the domain to km instead of m. (Extremely experimental, do not use).

ground_reference

number

meter

0.0

The z-coordinate of the ground.

streamwise_periodic

boolean

-

False

Sets periodic boundary conditions along the x-direction (Not yet implemented).

spanwise_periodic

boolean

-

False

Sets periodic boundary conditions along the y-direction (Not yet implemented).

x_range

[‘array’, ‘null’]

meter

None

The range of the domain in the streamwise direction, e.g., [x_min, x_max].

y_range

[‘array’, ‘null’]

meter

None

The range of the domain in the spanwise direction, e.g., [y_min, y_max].

z_range

[‘array’, ‘null’]

meter

None

The range of the domain in the vertical direction, e.g., [z_min, z_max].

nx

[‘integer’, ‘null’]

dimensionless

None

The integer number of nodes in the streamwise (x) direction.

ny

[‘integer’, ‘null’]

dimensionless

None

The integer number of nodes in the spanwise (y) direction.

nz

[‘integer’, ‘null’]

dimensionless

None

The integer number of nodes in the vertical (z) direction.

mesh_type

string

-

mshr

Sets how the cylinder/circle domains are meshed, options are mshr, elliptic, squircular, or stretch.

center

[‘array’, ‘null’]

meter

None

Center of the cylinder/circle domains, e.g., [x_center, y_center].

radius

[‘number’, ‘null’]

meter

None

Radius for the cylinder/circle domains.

nt

[‘integer’, ‘null’]

dimensionless

None

Integer number of nodes in the theta direction for cylinder/circle domains.

res

[‘number’, ‘null’]

meter

None

The characteristic cell length for cylinder/circle domains generated with the mshr mesh_type.

interpolated

boolean

-

False

Lets you define a terrain_path to have complex domain.

analytic

boolean

-

False

Use an analytic function instead of a terrain_path.

gaussian

Create a gaussian hill analytic complex terrain.

  |--gaussian:center

[‘array’, ‘null’]

meter

[0.0, 0.0]

Center of the hill.

  |--gaussian:theta

number

radians

0.0

Rotation of the hill.

  |--gaussian:amp

[‘number’, ‘null’]

meter

None

Height of the hill.

  |--gaussian:sigma_x

[‘number’, ‘null’]

meter

None

Skew in x.

  |--gaussian:sigma_y

[‘number’, ‘null’]

meter

None

Skew in y.

plane

Create a plane analytic complex terrain.

  |--plane:intercept

array

meter

[0.0, 0.0, 0.0]

Define a plane with z = mx(x-x0)+my(y-y0)+z0, where intercept = [x0, y0, z0]

  |--plane:mx

[‘number’, ‘null’]

meter/meter

None

x slope.

  |--plane:my

[‘number’, ‘null’]

meter/meter

None

y slope.

wind_farm

Assign the values for the wind farm, where it resides in the computational domain, how many turbines, and the turbines’ layout and arrangement.

Name

Type

Units

Default

Description

type

[‘string’, ‘null’]

-

None

Type of wind farm, options are grid, random, imported, or empty. See Formatting for Importing a Wind Farm

path

[‘string’, ‘null’]

-

None

Location of imported wind farm.

display

boolean

-

False

If true, then use matplotlib and show() the wind farm/chord profiles mid run.

ex_x

[‘array’, ‘null’]

meter

None

Extents of the farm in the x direction, e.g., [x_min, x_max].

ex_y

[‘array’, ‘null’]

meter

None

Extents of the farm in the y direction, e.g., [y_min, y_max].

x_spacing

[‘number’, ‘null’]

meter

None

x spacing between turbines.

y_spacing

[‘number’, ‘null’]

meter

None

y spacing between turbines.

x_shear

[‘number’, ‘null’]

meter

None

x offset between rows.

y_shear

[‘number’, ‘null’]

meter

None

y offset between columns.

min_sep_dist

number

meter

2

The minimum separation distance for a random farm, expressed in units of rotor diameter, e.g., a value of 2 means a min_sep_dist of 2*RD.

grid_rows

[‘integer’, ‘null’]

dimensionless

None

Integer number of turbines in the y direction.

grid_cols

[‘integer’, ‘null’]

dimensionless

None

Integer number of turbines in the x direction.

jitter

[‘number’, ‘boolean’]

meter

0.0

Magnitude of random noise added to a gridded wind farm.

numturbs

[‘integer’, ‘null’]

dimensionless

None

Total integer number of turbines.

seed

[‘integer’, ‘null’]

dimensionless

None

Seed to control/prescribe the randomness between runs.

turbines

The properties of the turbines themselves, in contrast to wind_farm, these are principally variables that define turbine-level properties, e.g., how the force is modeled and how the turbines are operated.

Name

Type

Units

Default

Description

type

[‘string’, ‘null’]

-

None

Type of representation, options are 2D_disk, numpy_disk, disk, hybrid_disk, line, expr_disk, dolfin_line, or disabled. See Supported Turbine Representation

HH

[‘number’, ‘null’]

meter

None

Hub height.

RD

[‘number’, ‘null’]

meter

None

Rotor diameter.

thickness

[‘number’, ‘null’]

meter

None

Thickness of the actuator disk (usually 10% of RD).

yaw

[‘number’, ‘null’]

radians

None

Yaw of the turbine relative to inflow angle.

axial

[‘number’, ‘null’]

dimensionless

None

Axial induction value for actuator disks.

force

string

-

sine

Distribution of force along the radial direction of an actuator disk, options are constant, sine, or chord.

rpm

[‘number’, ‘null’]

rotations/minute

None

Rotation specified for the alm method.

read_turb_data

[‘string’, ‘null’]

-

None

Path to alm data.

blade_segments

[‘string’, ‘integer’]

dimensionless

computed

Integer number of nodes along the rotor radius.

use_local_velocity

boolean

-

True

Use the velocity measured in the rotor plane to compute alm forces (otherwise use inflow).

max_chord

number

meter

1000

Upper limit when optimizing chord.

chord_factor

number

dimensionless

1.0

This multiplies all the chords by a constant factor, e.g., 2.0 makes a chord that is twice as thick everywhere.

gauss_factor

number

dimensionless

2.0

This is the factor that gets multiplied by the minimum mesh spacing to set the gaussian width, e.g., gaussian_width = 2.0*dx_min.

tip_loss

boolean

-

True

Determines whether or not a tip-loss model is used in the calculation of the ALM force (False means no tip loss is modeled).

hub_rad

number

meter

0.0

The radius of the hub. If non-zero, actuator nodes will still be placed in the full range [0, rotor_radius], but the lift/drag properties in the range [0, hub_rad] will be modified to reflect the blade root.

chord_perturb

number

meter

0.0

An amount to perturb one of the chord values, used for finite difference gradient calculations.

chord_perturb_id

integer

dimensionless

0

The integer index of the chord to perturb, used for finite difference gradient calculations.

chord_override

[‘string’, ‘null’]

-

None

The path to a specific chord to use in CSV format, e.g., input_data/chord_base.csv.

motion_file

[‘string’, ‘null’]

-

None

Location to the platform motion data.

motion_type

[‘array’, ‘string’, ‘null’]

-

None

Type of motion to apply can be single string or list of: ‘surge’, ‘sway’, ‘heave’, ‘roll’, ‘pitch’, and/or ‘yaw’.

use_gauss_vel_probe

boolean

-

False

Probe velocity at ALM nodes using an gaussian sphere rather than the eval() function.

use_ap_linear_interp

boolean

-

False

Uses linear interpolation when building the airfoil polars.

refine

A set of options to control how the original mesh is refined, e.g., across the entire farm extent, locally around turbines, or combinations of options. See Mesh Refinement Options

Name

Type

Units

Default

Description

warp_type

[‘string’, ‘null’]

-

None

Warping will shift the nodes along the z direction concentrating them near the ground, options are smooth or split.

warp_strength

[‘number’, ‘null’]

dimensionless

None

For smooth warps, how aggressively they are moved to the ground.

warp_percent

[‘number’, ‘null’]

dimensionless

None

For split warps, percentage moved below the warp_heigth.

warp_height

[‘number’, ‘null’]

meter

None

For split warps, where the split happens.

farm_num

integer

dimensionless

0

Integer number of farm level refinements.

farm_type

string

-

square

Type of farm level refinements, options are full, box, cylinder, or stream.

farm_factor

number

dimensionless

1.0

Scaling factor for the size of the refinement.

turbine_num

integer

dimensionless

0

Integer number of turbine level refinements.

turbine_type

string

-

simple

Type of turbine refinement, options are sphere, simple, tear, or wake.

turbine_factor

number

dimensionless

1.0

Scaling factor for the size of the refinement.

refine_custom

[‘object’, ‘null’]

-

None

Allows for a dictionary of custom refine commands. See Custom Mesh Refinement

refine_power_calc

boolean

-

False

Bare minimum refinement around turbines to increase power calculation accuracy.

function_space

The finite element function space and the associated options that will be used to solve the problem.

Name

Type

Units

Default

Description

type

[‘string’, ‘null’]

-

None

Type of function space, options are linear or taylor_hood.

quadrature_degree

integer

dimensionless

6

Used when calculating integrals, larger values mean a more time-consuming but potentially more accurate calculation.

turbine_space

string

-

Quadrature

Used with numpy turbine_method, sets the space the turbines are calculate on.

turbine_degree

integer

dimensionless

6

Used with numpy turbine_method, sets degree.

boundary_conditions

These options set the boundaries and velocity/pressure options that will be enforced on the walls of the computational domain.

Name

Type

Units

Default

Description

vel_profile

[‘string’, ‘null’]

-

None

Inflow velocity profile, options are uniform, power, log, or turbsim.

HH_vel

number

meter/second

8.0

Velocity at hub height TODO: rename to ref_vel.

vel_height

[‘string’, ‘number’]

meter

HH

Sets the location of the reference velocity, i.e., the z-level at which HH_vel will be enforced.

power

number

dimensionless

0.25

Exponent for the power inflow.

k

number

dimensionless

0.4

The constant used in the log layer inflow.

turbsim_path

[‘string’, ‘null’]

-

None

Location for the turbsim inflow data.

inflow_angle

[‘number’, ‘array’]

radians

0.0

Angle of the inflow velocity.

boundary_names

Used for renaming the boundries. See Customizing Boundary Conditions

  |--boundary_names:east

[‘string’, ‘null’]

-

None

Positive x.

  |--boundary_names:north

[‘string’, ‘null’]

-

None

Positive y.

  |--boundary_names:west

[‘string’, ‘null’]

-

None

Negative x.

  |--boundary_names:south

[‘string’, ‘null’]

-

None

Negative y.

  |--boundary_names:bottom

[‘string’, ‘null’]

-

None

Negative z.

  |--boundary_names:top

[‘string’, ‘null’]

-

None

Positive z.

  |--boundary_names:inflow

[‘string’, ‘null’]

-

None

Inflow, used in cylinder/circle.

  |--boundary_names:outflow

[‘string’, ‘null’]

-

None

Outflow, used in cylinder/circle.

boundary_types

Used for changing the boundary types. See Customizing Boundary Conditions

  |--boundary_types:inflow

[‘array’, ‘null’]

-

None

List of inflow bc names.

  |--boundary_types:no_slip

[‘array’, ‘null’]

-

None

List of no_slip bc names.

  |--boundary_types:free_slip

[‘array’, ‘null’]

-

None

List of free_slip bc names.

  |--boundary_types:no_stress

[‘array’, ‘null’]

-

None

List of no_stress bc names.

problem

Options to define the problem that will be solved and add/modify different models that can be included, e.g., turbulence.

Name

Type

Units

Default

Description

type

[‘string’, ‘null’]

-

None

Type of model, options are stabilized, steady, taylor_hood, iterative_steady, or unsteady.

use_25d_model

boolean

-

False

Relax divergence free constraint to entrain momentum from ‘above’ and ‘below’.

viscosity

number

meter^2/second

0.1

Kinematic viscosity.

lmax

number

meter

15

Mixing length.

turbulence_model

[‘string’, ‘null’]

-

mixing_length

Turbulence model, options are mixing_length, smagorinsky, or None.

script_iterator

integer

dimensionless

0

Debugging tool, do not use.

use_corrective_force

boolean

-

False

Add a force to the weak form to allow the inflow to recover.

stability_eps

number

dimensionless

1.0

Stability term to help increase the well-posedness of the linear mixed formulation.

body_force

number

kg*meter/second^2

0.0

Set to a float to add a body force to the functional along the streamwise direction.

solver

These options control how the solver is executed and what properties are saved during the solution.

Name

Type

Units

Default

Description

type

string

-

steady

Type of solver, options are steady, iterative_steady, unsteady, multiangle, or imported_inflow.

pseudo_steady

boolean

-

False

Used with unsteady solver to create an iterative steady solver.

final_time

number

second

1.0

Final time of unsteady solve.

save_interval

number

second

1.0

How often to save during unsteady solve.

num_wind_angles

integer

dimensionless

1

Integer number of wind angles to sweep through for multiangle solve.

endpoint

boolean

-

False

Include the final wind angle in the sweep.

velocity_path

[‘string’, ‘null’]

-

None

Location of inflow velocities for multivelocity.

save_power

boolean

-

True

Save the power data to the data folder.

nonlinear_solver

string

-

snes

Type of nonlinear solver, options are snes or newton.

newton_relaxation

number

dimensionless

1.0

Relaxation parameter (0, 1] for Newton.

cfl_target

number

dimensionless

0.5

Target CFL number for unsteady solve.

cl_iterator

integer

dimensionless

0

Debugging tool, do not use.

save_all_timesteps

boolean

-

False

Save fields at every time step.

optimization

These options control how the optimization is carried out, how the objective function is calculated, and what constraints are applied.

Name

Type

Units

Default

Description

opt_type

string

-

maximize

Minimize or maximize.

control_types

[‘array’, ‘null’]

-

None

Controls to optimize, list of: layout, yaw, axial, chord, lift, or drag.

layout_bounds

array

meter

wind_farm

Special bound for layout optimizations.

objective_type

[‘object’, ‘string’]

-

power

Name of the function to maximize or minimize. See Defining Multiple Objective Functions

constraint_types

Set constraints based on objective_functions. Should be a dictionary of dictionaries with additional kws: target, scale, kwargs. Default inequality c(m)-target>=0 ==> c(m)>=target. See Defining Multiple/Custom Constraints

  |--constraint_types:min_dist

Default constraint for layout opts. Restricts minimum distance between turbines.

  |    |--constraint_types:min_dist:target

number

dimensionless

2

Sets the target for given constraint, in this case sets the minimum distance between turbines to be 2 RD.

  |    |--constraint_types:min_dist:scale

number

dimensionless

1

Sets the scale for the constraint, use to match objective magnitude. Use -1 to flip constraint to target-c(m)>=0 ==> c(m) <= target.

  |    |--constraint_types:min_dist:kwargs

[‘string’, ‘null’]

-

None

If constraint is based on an objective function with kwargs, set them here.

save_objective

boolean

-

False

Save the objective to a file in data/.

opt_turb_id

[‘string’, ‘array’, ‘integer’]

dimensionless

all

Which turbines to optimize, int or list or all.

record_time

number

second

0.0

When to start recording for unsteady objectives float or computed.

alm_DELs

Alm_DELs:.

  |--alm_DELs:DEL_start_time

number

second

0

DEL_start_time: 0.

u_avg_time

number

second

0

When to start averaging velocity for use in objective functions.

opt_routine

string

-

SLSQP

Optimization method, options are SLSQP, L-BFGS-B, OM_SLSQP, or SNOPT (where SNOPT requires custom install).

obj_ref

number

same as objective

1.0

Sets the value of the objective function that will be treated as 1 by the SNOPT driver.

obj_ref0

number

same as objective

0.0

Sets the value of the objective function that will be treated as 0 by the SNOPT driver.

taylor_test

boolean

-

False

Run the Taylor test.

optimize

boolean

-

False

Optimize the problem.

gradient

boolean

-

False

Output the gradient.

verify_snopt

boolean

-

False

Use the SNOPT FD gradient verification.

check_totals

boolean

-

False

Check the total derivatives of the problem; optimize must be true as well.

hard_scaling_factor

number

dimensionless

1.0

A hard-coded scaling factor, objective_value = objective_value*hard_scaling_factor.

twist_range

number

radians

5.0

The envelope the twist control will be constrained to: baseline +/- twist_range.

postprocessing

A set of options to control methods executed after the WindSE simulation completes, including formatting outputs for compatibility with downstream coupled codes.

Name

Type

Units

Default

Description

write_floris_input

[‘array’, ‘null’]

-

None

Write specified output variables in a format that FLORIS can use as an input file.

write_floris_filename

string

-

floris_input.yaml

The filename to use when saving the FLORIS inputs.