I have a question about the hub loads that are output by AeroDyn:
RtAeroFxh, RtAeroFyh, RtAeroFzh, RtAeroMxh, RtAeroMyh, RtAeroMzh
Are these loads relative to the inertial reference frame?
If not what transformation should I apply to get loads in the inertial reference frame?
I see that in AeroDyn_IO.f90 (Calc_WriteOutput) the total hub load is accumulated by integration over the blades. Is this total force in the inertial reference frame? This total force is then transformed into the Hub system so I guess that the force relative to the inertial frame of reference could then be back calculated from the hub loads as folows:
tmp(1) = m%AllOuts( RtAeroFxh )
tmp(2) = m%AllOuts( RtAeroFyh )
tmp(3) = m%AllOuts( RtAeroFzh )
hub_force_in_inertial_axis_system = matmul( transpose(u%HubMotion%Orientation(:,:,1)), tmp)
Is this correct?
Thanks in advance,
AeroDyn outputs RtAeroFxh/RtAeroFyh/RtAeroFzh/RtAeroMxh/RtAeroMyh/RtAeroMzh are expressed in the hub coordinate system, not the inertial rame.
Your calculation of hub_force_in_inertial_axis_system is correct, but variable m%HubLoad%force that is already calculated in AeroDyn_IO.f90 as a step toward calculating RtAeroFxh/RtAeroFyh/RtAeroFzh is already in the inertial frame, so, you don’t need to derive the inertial frame value from RtAeroFxh/RtAeroFyh/RtAeroFzh. That is, you could write hub_force_in_inertial_axis_system = m%HubLoad%force.
Thanks for that Jason
Looking at the source code:
! integrate force/moments over blades by performing mesh transfer to hub point:
force = 0.0_ReKi
moment = 0.0_ReKi
call Transfer_Line2_to_Point( y%BladeLoad(k), m%HubLoad, m%B_L_2_H_P(k), ErrStat2, ErrMsg2, u%BladeMotion(k), u%HubMotion )
force = force + m%HubLoad%force( :,1)
moment = moment + m%HubLoad%moment(:,1)
it appears that m%HubLoad%force and m%HubLoad%moment are recalculated for each blade. At the end of the loop only the last blade load is stored in the hub load object. Not sure that these variables are actually used anywhere though so not a big problem I think.
Best wishes, Aonghus