Blade segment states

Dear all,

I am using FAST 7 with the following manual nwtc.nrel.gov/system/files/FAST.pdf.
I would like to get out the state of the blade segment, such as acceleration, velocity, orientation and deflection. In the documentation I found only the option to get out the blade segment acceleration. By checking the FAST source code I found some other options:

"Spn1TDxb1, Spn1TDyb1, Spn1TDzb1" - Blade ??? "Spn1RDxb1, Spn1RDyb1, Spn1RDzb1" - Blade ???

I would guess this are the translation and rotation of the segment. However I am not sure how is it defined.
I have several questions:

  1. Is Spn1TDxb1 the translation along the x-axis and Spn1RDxb1 the rotation around the x-axis?
  2. Are these parameters defined in the blade coordinate system?
  3. Is it possible to get out the segment velocity as well?
  4. Is it possible to get the values in the tower bottom or global coordinate system?

There are several coordinate systems, is it possible to get out the rotation and translation matrices for each coordinate system with respect of the previous coordinate system?

Thank you for your help in advance.

Regards,
Robert

Dear Robert,

Regarding 1 and 2, the answer is “yes”. These outputs are described in the OutListParameters.xlsx spreadsheet provided in the FAST v7 archive.

Regarding 3 and 4, the answer is “no”, without customization of the source code. Likewise, the relative orientation of each coordinate system with respect to the previous coordinate system is also not a standard output of FAST v7. However, all of the data necessary for computing these outputs is available internally within the source code, so, I’m sure a source-code customization could give you the output you desire.

Best regards,

Dear Jason,

Thank you very much for your quick response.

Regards,
Robert

Hi.

I am trying to get out the blade segment velocity in the blade root coordinate system. As I understood this would be the calculation in the

subroutine, am I on the right track to get the output in the conned coordinate system?

PLinVelEZ(       :,:,:) = 0.0
PLinVelEZ(DOF_Sg  ,0,:) =  z1
PLinVelEZ(DOF_Sw  ,0,:) = -z3
PLinVelEZ(DOF_Hv  ,0,:) =  z2

LinVelEZ2               =             QDT(DOF_Sg  )*PLinVelEZ(DOF_Sg  ,0,:) &
                                    + QDT(DOF_Sw  )*PLinVelEZ(DOF_Sw  ,0,:) &
                                    + QDT(DOF_Hv  )*PLinVelEZ(DOF_Hv  ,0,:)
                                    
DO K = 1,NumBl ! Loop through all blades

   DO J = 1,BldNodes ! Loop through the blade nodes / elements     
      LinVelHS            = QDT( DOF_BF(K,1) )*PLinVelES(K,J,DOF_BF(K,1),0,:) &
                          + QDT( DOF_BE(K,1) )*PLinVelES(K,J,DOF_BE(K,1),0,:) &
                          + QDT( DOF_BF(K,2) )*PLinVelES(K,J,DOF_BF(K,2),0,:)
      LinVelESB(K,J,:)    = LinVelHS + LinVelEZ2

      DO I = 1,NPH   ! Loop through all DOFs associated with the angular motion of the hub (body H)
            LinVelESB(K,J,:)          = LinVelESB(K,J,:)                       + QDT(PH(I))*PLinVelES(K,J,PH(I),0,:)
      ENDDO
      ! End added by run

   ENDDO             ! J - Blade nodes / elements

ENDDO          ! K - All blades

DO K = 1,NumBl
   DO I = 1, NBlGages

      !Added by run
      ! Transform to blade root coordinate system
      LinVelESBC( 1 ) = DOT_PRODUCT( LinVelESB(K,BldGagNd(I),:), n1(K,BldGagNd(I),:) )
      LinVelESBC( 2 ) = DOT_PRODUCT( LinVelESB(K,BldGagNd(I),:), n2(K,BldGagNd(I),:) )
      LinVelESBC( 3 ) = DOT_PRODUCT( LinVelESB(K,BldGagNd(I),:), n3(K,BldGagNd(I),:) )

      ! Transform to coned coordinate system
      AllOuts( SpnVLxb(I,K) ) = DOT_PRODUCT( LinVelESBC, i1(K,:) )
      AllOuts( SpnVLyb(I,K) ) = DOT_PRODUCT( LinVelESBC, i2(K,:) )
      AllOuts( SpnVLzb(I,K) ) = DOT_PRODUCT( LinVelESBC, i3(K,:) )

   ENDDO             ! J - Blade nodes / elements

ENDDO          ! K - All blades
                                    

Regards,
Robert

Dear Robert,

There is already an array named m%RtHS%LinVelES() that stores the translational (linear) velocity of all of the blade analysis nodes. All you’ve have to do is dot-product this array with the direction(s) you want (via the m%CoordSys%i1, m%CoordSys%i2, and m%CoordSys%i3 arrays).

Best regards,

Hi Jason,

Thank you for the hints. I am using FASTv7 therefore I just defined that variable as a global variable.
I also would like to get out the blade segment position and orientation in the tower-base coordinate system. Are this information stored in a variable?

Regards,
Robert

Dear Robert,

In FAST v7, array rS stores the position of each blade analysis node relative to the inertial frame. The orientation of each blade analysis node is stored in arrays n1/n2/n3 (for the local blade structural coordinate system) and te1/te2/te3 (for the local blade aerodynamic coordinate system), both relative to the inertial frame.

Best regards,