With respect to control design I’m trying to determine the translational velocity of the Tower-top / yaw bearing in the inertia frame. The code is Hywind, so the foundation is floating.
I find it a bit difficult, but so fare I got:
[m/s]=PtfmTVxi -PtfmTVxt +hYawBrRVyp2*pi/360
Is this correct?
I’m not sure I understand your equation, but you can output the translational velocity of the tower-top / yaw bearing in the inertia frame from FAST as follows:
In the primary FAST input file, set the nacelle inertia measurement unit (IMU) locations in the downwind, lateral, and vertical directions (NcIMUxn, NcIMUyn, and NcIMUzn, respectively) all to 0.0. This will locate the nacelle IMU at the center of the tower-top / yaw bearing.
Include the nacelle IMU translational velocity outputs (NcIMUTVxs, NcIMUTVys, NcIMUTVzs) in the output list of the primary FAST input file.
The nacelle IMU translational velocity outputs are calculated relative to the inertia frame and output in a coordinate system that is aligned with the instantaneous shaft coordinate system.
Could you please confirm if my the below understanding is correct. I have seen that answers are available at various places in various topics. Just asking for a favor here to validate my understanding.
Measure 1) TwrTpTDxi:
This is the motion of ‘Yaw bearing’(located on tower axis at TwrHt) observed by an observer
sitting at the origin of an ‘inertial frame’ and expressed in the same frame (XiYiZi).
Measure 2) YawBrTDxp:
This is the motion of ‘Yaw bearing’ (located on tower axis at TwrHt i.e origin of XpYpZp coordinate system) observed by an observer sitting at the origin of the ‘Tower base frame (XtYtZt)’ and expressed in “baseplate coordinate system(XpYpZp)”.
Measure 3) YawBrTDxt:
This is the motion of Yaw bearing (located on tower axis at TwrHt) observed by an observer
sitting at the origin of the ‘tower base frame ((XtYtZt))’ and expressed in “Tower base coordinate system(XtYtZt)”.
Measure(1) contains the rigid motion of support platform (in the case of movable support) and measure(2) and (3) are purely elasic deflections of tower expressed in different coordinate systems. Right?
Measure 4) YawBrRDxt YawBrRDyt YawBrRDzt
These are the instantaneous Euler angles between XpYpZp frame and XtYtZt frame. (In the Yaw-pitch-Roll) sequence.
Measure 5) TipDxb1
The displacement of the blade tip observed by an observer sitting at the origin of the “Cone Coordinate system of the respective blade” and expressed in “Cone coordinate system” itself.
Measure 6) TipDxc1
The displacement of the blade tip observed by an observer sitting at the origin of “blade Coordinate system of the respective blade” and expressed in “blade coordinate system” itself.
Measure 7) TipALxb1
The acceleration of the blade tip observed by an observer sitting at the origin of the “Inertial” Coordinate system and expressed in “inertial coordinate system” itself.
I agree with your description of measures (1) through (3).
Regarding measure (4), I agree with your statement except that the rotations do not follow a yaw-pitch-roll Euler sequence. Instead, small to moderate rotations are assumed in ElastoDyn, where the rotation sequence does not matter. See the Equations (1) and (2) in my 2009 Wind Energy Paper for more information: onlinelibrary.wiley.com/doi/abs/10.1002/we.347.
You’ve swapped the descriptions of measure (5) and (6). “b” refers to the blade coordinate system and “c” refers to the coned coordinate system.
Measure (7) is the absolute acceleration in the inertial frame, but it is expressed in the local blade coordinate system (Lb, oriented with the blade cross section as the blade deflects), not the inertial frame coordinate system.
I have a local drivetrain model that requires:
angular and translational velocities and accelerations
of the tower top in the inertia reference frame.
No. 1 is readily available in terms of TwrTpTDxi, TwrTpTDyi and TwrTpTDzi.
For no. 2 I have been using TwHt1RPxi, …yi and …zi with a tower gage at the node closest to the tower top. As far as I understand, this is output at half an element below the tower top (?), but I believe the differences are small enough (I have 79 nodes evenly distributed over the tower length of 115 m). Any other suggestion would be appreciated.
My main concern is with regards to no. 3.
Here I am using the nacelle IMU velocities and accelerations. Since these are output in the shaft coordinate system, I need to transform the measurements to the inertia reference frame. I am following the transformations presented in the “FASTCoordinateSystems.doc” at the ElastoDyn documentation site. Most of this is clear and I am able to follow. However, with regards to the transformation between tower top and tower base, I am not sure what values to use for theta_SS(TwrFlexL) and theta_FA(TwrFlexL).
Modify the source code to output ThetaFA and ThetaSS from Elastodyn, or
Calculate ThetaFA and ThetaSS by outputting the necessary derivatives and degrees of freedom as shown in the equations. I see that e.g. Q_TFA1, Q_TSS1, QD_TFA1 etc. are available output, but not recommended for use. And I am not sure if this is what I am looking for.
Or, the values I need are available as outputs in OpenFAST (this is my hope), and known as TwHt1RDxt, TwHt1RDyt and TwHt1RDzt when gage 1 is taken at the node closest to the tower top.
Would be really grateful for some input here. I have the same requirement for hub/shaft loads, but since they also follow the shaft coordinate system, I believe I can use the same procedure as with the motions.
One high-level question first. Is the local drivetrain model you have something you are trying to couple to OpenFAST in a post-processing step (one-way coupled involving first running OpenFAST, followed by running your local drivetrain model), or are you trying to couple the local drivetrain model within the source code every time step (two-way coupled)? If the former, your questions make sense and I’ll answer them. If the latter, I would suggest a different approach that doesn’t make use of the OutList from ElastoDyn.
ThetaFA and ThetaSS at the tower top/yaw bearing are already available outputs from ElastoDyn via OutList outputs YawBrRDyt and YawBrRDxt (you’ll have to convert from degrees to radians and the sign may need to be flipped depending on which coordinate systems you are considering).