Dear Hugh,
If all you need is a simple time-dependent ramp of nacelle yaw or blade pitch, it is simple to prescribe these motions directly in FAST’s primary input file. For example, to keep the pitch angle of blade 1 constant at 5 degrees for the first 30 seconds, then have it ramp linearly to 20 degrees over the next 10 seconds, you could specify the following:
PCMode = 0 ! Disable user-defined pitch control
TPitManS(1) = 30.0 ! Time to start pitch ramp, sec
TPitManE(1) = 40.0 ! Time at which pitch ramp will end, sec (= 30.0 + 10.0)
BlPitch(1) = 5.0 ! Initial blade pitch before ramp, deg
BlPitchF(1) = 20.0 ! Final blade pitch after ramp, deg
A similar set of inputs is available for blades 2 and 3, as well as for nacelle yaw (YCmode, TYawManS, TYawManE, NacYaw, and NacYawF).
There is a difference between the nacelle yaw response and the blade pitch response. This is because FAST has a nacelle yaw DOF, but no blade pitch DOF. If the nacelle yaw DOF is enabled (YawDOF = True), then the nacelle yaw motions you prescribe become commands that pass through FAST’s built-in yaw actuator model (defined by inputs YawSpr and YawDamp). If the nacelle yaw DOF is disabled (YawDOF = False), then the nacelle yaw motions you prescribe act directly on the yaw DOF–this disables the yaw actuator and causes the prescribed yaw motions to work like the prescribed pitch motions. Please remember that disabling a DOF causes FAST to assume that the acceleration of that DOF is zero, even if you have a prescribed a time-dependent motion. Please see Figures 21 and 24 in the FAST User’s Guide that is posted on the website for more information on this topic.
If you want to prescribe nacelle yaw or blade pitch motions that are not simple time-dependent ramps, this requires that you prescribe the motions through a user-defined routine. For example, the blade pitch angle can be prescribed as a function of any output channel within routine PitchCntrl(), which is available in Source\UserSubs.f90 (set PCMode = 1 to use this feature). Similarly, the nacelle yaw angle (and rate) can be prescribed as a function of any output channel within routine UserYawCont(), which is also available in Source\UserSubs.f90 (set YCMode = 1 to use this feature). As before, if the yaw DOF is enabled, the motions prescribed by UserYawCont() pass through FAST’s built-in yaw actuator model; if the yaw DOF is disabled, the motions prescribed by UserYawCont() act directly on the yaw DOF (see Figure 24).
You can also prescribe the motion of other DOFs, but this can be a discussion for a later post.
Best regards,