Actuator Turbine Model¶
-
actuator
¶ actuator
subsection defines the inputs for actuator line simulations. A sample section is shown below for running actuator line simulations coupled to OpenFAST with two turbines.
actuator:
type: ActLineFAST
search_method: stk_kdtree
search_target_part: Unspecified-2-HEX
n_turbines_glob: 2
dry_run: False
debug: False
t_start: 0.0
simStart: init # init/trueRestart/restartDriverInitFAST
t_max: 5.0
n_every_checkpoint: 100
Turbine0:
procNo: 0
num_force_pts_blade: 50
num_force_pts_tower: 20
nacelle_cd: 1.0
nacelle_area: 1.0
air_density: 1.225
epsilon: [ 5.0, 5.0, 5.0 ]
turbine_base_pos: [ 0.0, 0.0, -90.0 ]
turbine_hub_pos: [ 0.0, 0.0, 0.0 ]
restart_filename: ""
FAST_input_filename: "Test01.fst"
turb_id: 1
turbine_name: machine_zero
Turbine1:
procNo: 0
num_force_pts_blade: 50
num_force_pts_tower: 20
nacelle_cd: 1.0
nacelle_area: 1.0
air_density: 1.225
epsilon: [ 5.0, 5.0, 5.0 ]
turbine_base_pos: [ 250.0, 0.0, -90.0 ]
turbine_hub_pos: [ 250.0, 0.0, 0.0 ]
restart_filename: ""
FAST_input_filename: "Test02.fst"
turb_id: 2
turbine_name: machine_one
-
actuator.type
¶ Type of actuator source. Options are
ActLineFAST
andActDiskFAST
.ActLineFAST
is for actuator lines, andActDiskFAST
is for actuator disks. The actuator disk uses a stationary actuator line model to compute forces at the blade locations and then the average force of the blades is spread azimuthally between the blades sampling points.
-
actuator.search_method
¶ String specifying the type of search method used to identify the nodes within the search radius of the actuator points. The only valid option is
stk_kdtree
. Theboost_rtree
option has been deprecated by the STK search library.
-
search_target_part
¶ String or an array of strings specifying the parts of the mesh to be searched to identify the nodes near the actuator points.
-
actuator.n_turbines_glob
¶ Total number of turbines in the simulation. The input file must contain a number of turbine specific sections (Turbine0, Turbine1, …, Turbine(n-1)) that is consistent with nTurbinesGlob.
-
actuator.debug
¶ Enable debug outputs if set to true
-
actuator.dry_run
¶ The simulation will not run if dryRun is set to true. However, the simulation will read the input files, allocate turbines to processors and prepare to run the individual turbine instances. This flag is useful to test the setup of the simulation before running it.
-
actuator.simStart
¶ Flag indicating whether the simulation starts from scratch or restart.
simStart
takes on one of three values:init
- Use this option when starting a simulation from t=0s.trueRestart
- While OpenFAST allows for restart of a turbine simulation, external components like the Bladed style controller may not. Use this option when all components of the simulation are known to restart.restartDriverInitFAST
- When therestartDriverInitFAST
option is selected, the individual turbine models start from t=0s and run up to the specified restart time using the inflow data stored at the actuator nodes from a hdf5 file. The C++ API stores the inflow data at the actuator nodes in a hdf5 file at every OpenFAST time step and then reads it back when using this restart option. This restart option is especially useful when the glue code is a CFD solver.
-
actuator.t_start
¶ Start time of the simulation
-
actuator.t_end
¶ End time of the simulation.
t_end
<=t_max
-
actuator.t_max
¶ Max time of the simulation
Note
t_max
can only be set when OpenFAST is running from t=0s and simStart
is init
. t_max
can not be changed on a restart. OpenFAST will not be able to run beyond t_max
. Choose t_max
to be large enough to accomodate any possible future extensions of runs. One can change t_start
and t_end
to start and stop the simulation any number of times as long as t_end
<= t_max
.
-
actuator.dt_fast
¶ Time step for OpenFAST. All turbines should have the same time step.
-
actuator.n_every_checkpoint
¶ Restart files will be written every so many time steps
Turbine specific input options
-
actuator.turbine_base_pos
¶ The position of the turbine base for actuator-line/disk simulations
-
actuator.num_force_pts_blade
¶ The number of actuator points along each blade for actuator-line/disk simulations
-
actuator.num_force_pts_tower
¶ The number of actuator points along the tower for actuator-line/disk simulations.
-
actuator.nacelle_cd
¶ The drag coefficient for the nacelle. If this is set to zero, or not defined, the code will not implement the nacelle model.
-
actuator.nacelle_area
¶ The reference area for the nacelle. This is only used if the nacelle model is used.
-
actuator.air_density
¶ The air density. This is only used to compute the nacelle force. It should match the density being used in both Nalu and OpenFAST.
-
actuator.epsilon
¶ The spreading width \(\epsilon\) in the Gaussian spreading function in the [chordwise, thickness, spanwise] coordinate system to spread the forces from the actuator point to the nodes. In the case of the actuator disk, only the first value in the chordwise direction is used for the uniform isotropic Gaussian.
-
actuator.epsilon_chord
¶ This is the ratio \(\epsilon/c\) in every direction [chordwise, thickness, spanwise]. If this option is specified, the code will choose a value of \(\epsilon\) at every location that is \(c * \epsilon/c\). To avoid numerical instabilities, the code will choose the maximum value between \(c * \epsilon/c\) and the value of
actuator.epsilon_min
specified.
-
actuator.epsilon_min
¶ This is the minimum value of \(\epsilon\) in the Gaussian spreading function in the [chordwise, thickness, spanwise] coordinate system to spread the forces from the actuator point to the nodes. This option is required if the option
actuator.epsilon_chord
is specified.
-
actuator.epsilon_tower
¶ The spreading width \(\epsilon\) in the Gaussian spreading function in the inertial [x, y, z] reference frame. If this value is not speficied, then
actuator.epsilon
oractuator.epsilon_min
will be used.
-
actuator.restart_filename
¶ The checkpoint file for this turbine when restarting a simulation
-
actuator.FAST_input_filename
¶ The FAST input file for this turbine
-
actuator.turb_id
¶ A unique turbine id for each turbine
-
actuator.num_swept_pts
¶ This is an optional parameter specifically for actuator disks. This parameter determines the number of points that are placed azimuthally between the actuator lines and spread the forcing over the disk’s area. When
num_swept_pts
is included the number of azimuthal points between the lines is forced to this value at all radial locations. Ifnum_swept_pts
is omitted then the azimuthal sampling is computed automatically with different sampling at each radial location such that the average distance between points matches the radial spacing.