I noticed that in the FAST OutData, for an offshore test, ‘TwrBsFxt’, ‘TwrBsFyt’, ‘TwrBsFxt’, ‘TwrBsMxt’, ‘TwrBsMyt’, ‘TwrBsMzt’ also contain inertial loads, and that moreover they are integral with the tower and not with the inertial reference system. My goal is to have the loads at the base of the tower (actually in the origin of the inertial frame of reference, (0,0,0)) due exclusively to the aerodynamic loads on the blades, excluding the inertial loads.
Since there are no such outputs in the OutData, I wrote the formulations to get them starting from ‘RtAeroFxh’, ‘RtAeroFyh’, ‘RtAeroFzh’, ‘RtAeroMxh’, ‘RtAeroMyh’, ‘RtAeroMzh’.
Please note that my simulations consider rigid bodies, with the following Elastodyn setting:
------- ELASTODYN v1.03.* INPUT FILE -------------------------------------------
NREL 5.0 MW Baseline Wind Turbine for Use in Offshore Analysis. Properties from Dutch Offshore Wind Energy Converter (DOWEC) 6MW Pre-Design (10046_009.pdf) and REpower 5M 5MW (5m_uk.pdf)
---------------------- SIMULATION CONTROL --------------------------------------
True Echo - Echo input data to "<RootName>.ech" (flag)
3 Method - Integration method: {1: RK4, 2: AB4, or 3: ABM4} (-)
"default" DT - Integration time step (s)
---------------------- ENVIRONMENTAL CONDITION ---------------------------------
9.80665 Gravity - Gravitational acceleration (m/s^2)
---------------------- DEGREES OF FREEDOM --------------------------------------
False FlapDOF1 - First flapwise blade mode DOF (flag)
False FlapDOF2 - Second flapwise blade mode DOF (flag)
False EdgeDOF - First edgewise blade mode DOF (flag)
False TeetDOF - Rotor-teeter DOF (flag) [unused for 3 blades]
False DrTrDOF - Drivetrain rotational-flexibility DOF (flag)
True GenDOF - Generator DOF (flag)
False YawDOF - Yaw DOF (flag)
False TwFADOF1 - First fore-aft tower bending-mode DOF (flag)
False TwFADOF2 - Second fore-aft tower bending-mode DOF (flag)
False TwSSDOF1 - First side-to-side tower bending-mode DOF (flag)
False TwSSDOF2 - Second side-to-side tower bending-mode DOF (flag)
True PtfmSgDOF - Platform horizontal surge translation DOF (flag)
True PtfmSwDOF - Platform horizontal sway translation DOF (flag)
True PtfmHvDOF - Platform vertical heave translation DOF (flag)
True PtfmRDOF - Platform roll tilt rotation DOF (flag)
True PtfmPDOF - Platform pitch tilt rotation DOF (flag)
True PtfmYDOF - Platform yaw rotation DOF (flag)
---------------------- INITIAL CONDITIONS --------------------------------------
0 OoPDefl - Initial out-of-plane blade-tip displacement (meters)
0 IPDefl - Initial in-plane blade-tip deflection (meters)
0 BlPitch(1) - Blade 1 initial pitch (degrees)
0 BlPitch(2) - Blade 2 initial pitch (degrees)
0 BlPitch(3) - Blade 3 initial pitch (degrees) [unused for 2 blades]
0 TeetDefl - Initial or fixed teeter angle (degrees) [unused for 3 blades]
0 Azimuth - Initial azimuth angle for blade 1 (degrees)
8.1334 RotSpeed - Initial or fixed rotor speed (rpm)
0 NacYaw - Initial or fixed nacelle-yaw angle (degrees)
0 TTDspFA - Initial fore-aft tower-top displacement (meters)
0 TTDspSS - Initial side-to-side tower-top displacement (meters)
0 PtfmSurge - Initial or fixed horizontal surge translational displacement of platform (meters)
0 PtfmSway - Initial or fixed horizontal sway translational displacement of platform (meters)
0 PtfmHeave - Initial or fixed vertical heave translational displacement of platform (meters)
0 PtfmRoll - Initial or fixed roll tilt rotational displacement of platform (degrees)
0 PtfmPitch - Initial or fixed pitch tilt rotational displacement of platform (degrees)
0 PtfmYaw - Initial or fixed yaw rotational displacement of platform (degrees)
---------------------- TURBINE CONFIGURATION -----------------------------------
3 NumBl - Number of blades (-)
63 TipRad - The distance from the rotor apex to the blade tip (meters)
1.5 HubRad - The distance from the rotor apex to the blade root (meters)
0 PreCone(1) - Blade 1 cone angle (degrees)
0 PreCone(2) - Blade 2 cone angle (degrees)
0 PreCone(3) - Blade 3 cone angle (degrees) [unused for 2 blades]
0 HubCM - Distance from rotor apex to hub mass [positive downwind] (meters)
0 UndSling - Undersling length [distance from teeter pin to the rotor apex] (meters) [unused for 3 blades]
0 Delta3 - Delta-3 angle for teetering rotors (degrees) [unused for 3 blades]
0 AzimB1Up - Azimuth value to use for I/O when blade 1 points up (degrees)
0 OverHang - Distance from yaw axis to rotor apex [3 blades] or teeter pin [2 blades] (meters)
0 ShftGagL - Distance from rotor apex [3 blades] or teeter pin [2 blades] to shaft strain gages [positive for upwind rotors] (meters)
0 ShftTilt - Rotor shaft tilt angle (degrees)
0 NacCMxn - Downwind distance from the tower-top to the nacelle CM (meters)
0 NacCMyn - Lateral distance from the tower-top to the nacelle CM (meters)
1.75 NacCMzn - Vertical distance from the tower-top to the nacelle CM (meters)
0 NcIMUxn - Downwind distance from the tower-top to the nacelle IMU (meters)
0 NcIMUyn - Lateral distance from the tower-top to the nacelle IMU (meters)
2.23336 NcIMUzn - Vertical distance from the tower-top to the nacelle IMU (meters)
1.96256 Twr2Shft - Vertical distance from the tower-top to the rotor shaft (meters)
87.6 TowerHt - Height of tower above ground level [onshore] or MSL [offshore] (meters)
10 TowerBsHt - Height of tower base above ground level [onshore] or MSL [offshore] (meters)
0 PtfmCMxt - Downwind distance from the ground level [onshore] or MSL [offshore] to the platform CM (meters)
0 PtfmCMyt - Lateral distance from the ground level [onshore] or MSL [offshore] to the platform CM (meters)
-89.9155 PtfmCMzt - Vertical distance from the ground level [onshore] or MSL [offshore] to the platform CM (meters)
-0 PtfmRefzt - Vertical distance from the ground level [onshore] or MSL [offshore] to the platform reference point (meters)
---------------------- MASS AND INERTIA ----------------------------------------
0 TipMass(1) - Tip-brake mass, blade 1 (kg)
0 TipMass(2) - Tip-brake mass, blade 2 (kg)
0 TipMass(3) - Tip-brake mass, blade 3 (kg) [unused for 2 blades]
56780 HubMass - Hub mass (kg)
115926 HubIner - Hub inertia about rotor axis [3 blades] or teeter axis [2 blades] (kg m^2)
534.116 GenIner - Generator inertia about HSS (kg m^2)
240000 NacMass - Nacelle mass (kg)
2.60789E+06 NacYIner - Nacelle inertia about yaw axis (kg m^2)
0 YawBrMass - Yaw bearing mass (kg)
7.46633E+06 PtfmMass - Platform mass (kg)
4.22923E+09 PtfmRIner - Platform inertia for roll tilt rotation about the platform CM (kg m^2)
4.22923E+09 PtfmPIner - Platform inertia for pitch tilt rotation about the platform CM (kg m^2)
1.6423E+08 PtfmYIner - Platform inertia for yaw rotation about the platform CM (kg m^2)
---------------------- BLADE ---------------------------------------------------
17 BldNodes - Number of blade nodes (per blade) used for analysis (-)
"NRELOffshrBsline5MW_Blade.dat" BldFile(1) - Name of file containing properties for blade 1 (quoted string)
"NRELOffshrBsline5MW_Blade.dat" BldFile(2) - Name of file containing properties for blade 2 (quoted string)
"NRELOffshrBsline5MW_Blade.dat" BldFile(3) - Name of file containing properties for blade 3 (quoted string) [unused for 2 blades]
---------------------- ROTOR-TEETER --------------------------------------------
0 TeetMod - Rotor-teeter spring/damper model {0: none, 1: standard, 2: user-defined from routine UserTeet} (switch) [unused for 3 blades]
0 TeetDmpP - Rotor-teeter damper position (degrees) [used only for 2 blades and when TeetMod=1]
0 TeetDmp - Rotor-teeter damping constant (N-m/(rad/s)) [used only for 2 blades and when TeetMod=1]
0 TeetCDmp - Rotor-teeter rate-independent Coulomb-damping moment (N-m) [used only for 2 blades and when TeetMod=1]
0 TeetSStP - Rotor-teeter soft-stop position (degrees) [used only for 2 blades and when TeetMod=1]
0 TeetHStP - Rotor-teeter hard-stop position (degrees) [used only for 2 blades and when TeetMod=1]
0 TeetSSSp - Rotor-teeter soft-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1]
0 TeetHSSp - Rotor-teeter hard-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1]
---------------------- DRIVETRAIN ----------------------------------------------
100 GBoxEff - Gearbox efficiency (%)
97 GBRatio - Gearbox ratio (-)
8.67637E+08 DTTorSpr - Drivetrain torsional spring (N-m/rad)
6.215E+06 DTTorDmp - Drivetrain torsional damper (N-m/(rad/s))
---------------------- FURLING -------------------------------------------------
False Furling - Read in additional model properties for furling turbine (flag) [must currently be FALSE)
"unused" FurlFile - Name of file containing furling properties (quoted string) [unused when Furling=False]
---------------------- TOWER ---------------------------------------------------
20 TwrNodes - Number of tower nodes used for analysis (-)
"NRELOffshrBsline5MW_OC3Hywind_ElastoDyn_Tower.dat" TwrFile - Name of file containing tower properties (quoted string)
The loads at the nacelle (i.e. in a reference system integral with the tower with z_nac = z_tow and x_nac = x_rot) are:
Fx_nac=RtAeroFxh;
Fy_nac=RtAeroFyh.cos(Azimuthpi/180)-RtAeroFzh.sin(Azimuthpi/180);
Fz_nac=RtAeroFyh.sin(Azimuthpi/180)+RtAeroFzh.cos(Azimuthpi/180);
Mx_nac=RotAeroMxh;
My_nac=RtAeroMyh.cos(Azimuthpi/180)-RtAeroMzh.sin(Azimuthpi/180);
Mz_nac=RtAeroMzh.cos(Azimuthpi/180)+RtAeroMyh.sin(Azimuthpi/180);
Hence, to obtain the loads in (0,0,0), defined TransMat the Euler matrix containing the angular positions (PtfmRoll, PtfmPitch, PtfmYaw) in the inertial reference frame:
F = TransMat * [Fx_nac,Fy_nac,Fz_nac]
M = TransMat * [Mx_nac,My_nac,Mz_nac] + (TransMat * [0, 0, Hrot]) x F
where Hrot is the vertical distance between inertial reference frame (0,0,0) and nacelle reference frame (0,0,Hrot).
Gravity force and gravity restoring moments are not considered in these formulas as they are taken into account using the center of mass coordinates of the entire system.
In this way, the vector F of the 3 forces and the vector M of the 3 moments in the inertial reference system (0,0,0) due to the turbine loads are obtained.
I wonder if you agree with my procedure.
Best regards,
Lorenzo.