Rotating to Fixed Frame Hub Loads Calculation

Hi Everyone,

Due to some model restrictions, I have a 32 bit controller which requires me to use an older version of OpenFAST (v2.4).
I was interested in checking the global/fixed frame hub loads (in newer versions it would be "RtAeroFxg, RtAeroFyg, RtAeroFzg, RtAeroMxg RtAeroMyg, RtAeroMzg”. but these parameters are not outputted in this older version.
However, I do have the rotating hub loads "RtAeroFxh, RtAeroFyh, RtAeroFzh, RtAeroMxh, RtAeroMyh, RtAeroMzh” and would like to do some calculations to convert these loads accordingly.

What are the specific equations for this conversion between co-ordinate systems? I had a look through the Aerodyn docs but couldn’t find any information.

My understanding based on looking at the source code is the multiplication of a rotation matrix (containing information about the pitch and yaw angles) and the load vectors, my hand calculations are usually fairly close in terms of x and y directions but off in the z direction when I expect a purely negative response due to weight.

Thank you,


Dear @Dylan.Duncan,

I would first say that you can compile newer versions of OpenFAST in 32 bits if that is what you need (NREL stopped provided precompiled Windows executables in 32 bits because few people needed them, but you can compile OpenFAST yourself).

The orientation of the hub in OpenFAST comes from a sequence of rotations from the platform to the hub, including platform rotation (roll, pitch yaw), tower-top deflection (fore-aft, side-side), nacelle yaw, generator rotation, and drivetrain torsion. Writing out the full transformation would be cumbersome, unless many of these degrees of freedom are disabled. Of course, the transformation matrix is stored within the OpenFAST source code; if needed, you could modify the source code to output the matrix directly.

Best regards,

Hi Jason,

Many thanks for the quick reply.
Yeah I think I underestimated the complexity of the transformation matrix and think simply updating the model via compiling is probably the more straight-forward path here. Many thanks for the advice!