Hydrodynamic implementation
Moderator: Bonnie.Jonkman

 Posts: 34
 Joined: Mon May 04, 2020 3:31 am
 Organization: Politecnico di Torino
 Location: Italia
Re: Hydrodynamic implementation
Dear Jason,
thanks for your prompt reply. as you suggested I made the changes you reported to me, in particular for the mass matrix that varies over time I used the same matrix of the previous places (therefore of the total system) to which I made the transformations indicated in the post of: May 04, 2020.
I also did a test using the FAST outputs in the equation of the previous post (I added the nonlinear rotationrelated inertial terms), where for the tower forces I used: [TwrBsFxt, TwrBsFyt, TwrBsFzt, TwrBsMxt, TwrBsMyt, TwrBsMzt] reported in the swl reference frame.
But doing this does not return the results anyway. I doubt that in this way I consider the inertia of the turbine twice (once in the TwrBs and once in the mass matrix of the complete system). Is my assumption correct?
Thank you again for your valuable help. Best regards,
Riccardo.
thanks for your prompt reply. as you suggested I made the changes you reported to me, in particular for the mass matrix that varies over time I used the same matrix of the previous places (therefore of the total system) to which I made the transformations indicated in the post of: May 04, 2020.
I also did a test using the FAST outputs in the equation of the previous post (I added the nonlinear rotationrelated inertial terms), where for the tower forces I used: [TwrBsFxt, TwrBsFyt, TwrBsFzt, TwrBsMxt, TwrBsMyt, TwrBsMzt] reported in the swl reference frame.
But doing this does not return the results anyway. I doubt that in this way I consider the inertia of the turbine twice (once in the TwrBs and once in the mass matrix of the complete system). Is my assumption correct?
Thank you again for your valuable help. Best regards,
Riccardo.

 Posts: 5860
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: Hydrodynamic implementation
Dear Riccardo,
Yes, the ElastoDyn towerbase load outputs (TwrBsFxt, etc.) include contributions from mass/inertia of the rotor, nacelle, and tower, so, you'd be double counting those terms. Instead, you'd want to express the aerodynamic applied loads relative to the platform reference point (0,0,0).
Best regards,
Yes, the ElastoDyn towerbase load outputs (TwrBsFxt, etc.) include contributions from mass/inertia of the rotor, nacelle, and tower, so, you'd be double counting those terms. Instead, you'd want to express the aerodynamic applied loads relative to the platform reference point (0,0,0).
Best regards,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 34
 Joined: Mon May 04, 2020 3:31 am
 Organization: Politecnico di Torino
 Location: Italia
Re: Hydrodynamic implementation
Dear Jason,
I was wondering if there are any output of FAST that express the aerodynamic applied loads relative to the platform reference point (0,0,0).
Thanks for your reply. Best regards,
Riccardo.
I was wondering if there are any output of FAST that express the aerodynamic applied loads relative to the platform reference point (0,0,0).
Thanks for your reply. Best regards,
Riccardo.

 Posts: 5860
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: Hydrodynamic implementation
Dear Riccardo,
No, the aerodynamic applied loads are only output from AeroDyn v15 in the hub coordinate system (RtAeroFxh, etc.). You'd have to rotate these to the global coordinate system (accounting for deflection of the support structure and shaft tilt) and add the moment arm.
Best regards,
No, the aerodynamic applied loads are only output from AeroDyn v15 in the hub coordinate system (RtAeroFxh, etc.). You'd have to rotate these to the global coordinate system (accounting for deflection of the support structure and shaft tilt) and add the moment arm.
Best regards,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 34
 Joined: Mon May 04, 2020 3:31 am
 Organization: Politecnico di Torino
 Location: Italia
Re: Hydrodynamic implementation
Dear Jason,
Starting from Test 24, I'm trying to verify the loads in the 6 DOFs in according to the formula:
M * a = Fhydro  Fmoor + Ftower  Fnonlinear  Frestoring
where is it:
M = variable mass matrix based on the position of the platform, obtained as indicated in the post reported here (11 July 2020)
a = ['PtfmTAxi', 'PtfmTAyi', 'PtfmTAzi', 'PtfmRAxi', 'PtfmRAyi', 'PtfmRAzi']
Fhydro = ['HydroFxi', 'HydroFyi', 'HydroFzi', 'HydroMxi', 'HydroMyi', 'HydroMzi']
Fmoor = [Fx [1] + Fx [2] + Fx [3] + Fx [4] + Fx [5] + Fx [6], Fy [1] + Fy [2] + Fy [3] + Fy [ 4] + Fy [5] + Fy [6], Fz [1] + Fz [2] + Fz [3] + Fz [4] + Fz [5] + Fz [6], Mx_moor, My_moor, Mz_moor]
with Mx_moor, My_moor, Mz_moor moments of transport of forces from Map ++ in (0,0,0)
Ftower forces and moments obtained starting at the rotor exits:
Fx_tow = 'RtAeroFxh'
Fy_tow = 'RtAeroFyh' * cos ('Azimuth')  'RtAeroFzh' * sin ('Azimuth')
Fz_tow = 'RtAeroFzh' * cos ('Azimuth') + 'RtAeroFyh' * sin ('Azimuth')
Mx_tow = 'RotTorq' * 1000
My_tow = 'RtAeroMyh' * cos ('Azimuth')  'RtAeroMzh' * sin ('Azimuth')
Mz_tow = 'RtAeroMzh' * cos ('Azimuth') + 'RtAeroMyh' * sin ('Azimuth')
and were then rotated in the inertial reference system, with the addition of the transport moments and the weight of the turbine to have the forces at the base of the tower in (0,0,0)
Fnonlinear = given by omega x (omega x r_cm * mass) and omega x I dot omega, with
omega = ['PtfmRVxi', 'PtfmRVyi', 'PtfmRVzi'],
r_cm * mass = [M (6,2), M (4,3), M (5,1)]
I = [M (4.4), M (4.5), M (4.6); M (5.4), M (5.5), M (5.6); M (6.4), M (6.5), M (6.6);]
Frestoring = where the weight of the platform and gravity restoring moments are considered [0, 0, M_plat, M (5,1) * rx + M (6,2) * rz, M (5,1) * ry + M (4.3) * rz] * g
with M = mass matrix variable according to the position
Comparing the sum of the loads in the 6 DOFs with the results in the 6 DOFs of the product M * a I obtain small differences, as shown in the figure.
(for example, I compared for the resultant in x:
M (1,1) * 'PtfmTAxi' + M (1,2) * 'PtfmTAyi' + M (1,3) * 'PtfmTAzi' + M (1,4) * 'PtfmRAxi' + M (1,5) * 'PtfmRAyi' + M (1,6) * 'PtfmRAzi'
with
'HydroFxi'  Fmoor_x + Ftower_x  Fnonlinear_x  Frestoring_x)
Could you tell me what they are caused by?
All the rotations are expressed in Radiants.
Thank you a lot. Best regards,
Riccardo.
Starting from Test 24, I'm trying to verify the loads in the 6 DOFs in according to the formula:
M * a = Fhydro  Fmoor + Ftower  Fnonlinear  Frestoring
where is it:
M = variable mass matrix based on the position of the platform, obtained as indicated in the post reported here (11 July 2020)
a = ['PtfmTAxi', 'PtfmTAyi', 'PtfmTAzi', 'PtfmRAxi', 'PtfmRAyi', 'PtfmRAzi']
Fhydro = ['HydroFxi', 'HydroFyi', 'HydroFzi', 'HydroMxi', 'HydroMyi', 'HydroMzi']
Fmoor = [Fx [1] + Fx [2] + Fx [3] + Fx [4] + Fx [5] + Fx [6], Fy [1] + Fy [2] + Fy [3] + Fy [ 4] + Fy [5] + Fy [6], Fz [1] + Fz [2] + Fz [3] + Fz [4] + Fz [5] + Fz [6], Mx_moor, My_moor, Mz_moor]
with Mx_moor, My_moor, Mz_moor moments of transport of forces from Map ++ in (0,0,0)
Ftower forces and moments obtained starting at the rotor exits:
Fx_tow = 'RtAeroFxh'
Fy_tow = 'RtAeroFyh' * cos ('Azimuth')  'RtAeroFzh' * sin ('Azimuth')
Fz_tow = 'RtAeroFzh' * cos ('Azimuth') + 'RtAeroFyh' * sin ('Azimuth')
Mx_tow = 'RotTorq' * 1000
My_tow = 'RtAeroMyh' * cos ('Azimuth')  'RtAeroMzh' * sin ('Azimuth')
Mz_tow = 'RtAeroMzh' * cos ('Azimuth') + 'RtAeroMyh' * sin ('Azimuth')
and were then rotated in the inertial reference system, with the addition of the transport moments and the weight of the turbine to have the forces at the base of the tower in (0,0,0)
Fnonlinear = given by omega x (omega x r_cm * mass) and omega x I dot omega, with
omega = ['PtfmRVxi', 'PtfmRVyi', 'PtfmRVzi'],
r_cm * mass = [M (6,2), M (4,3), M (5,1)]
I = [M (4.4), M (4.5), M (4.6); M (5.4), M (5.5), M (5.6); M (6.4), M (6.5), M (6.6);]
Frestoring = where the weight of the platform and gravity restoring moments are considered [0, 0, M_plat, M (5,1) * rx + M (6,2) * rz, M (5,1) * ry + M (4.3) * rz] * g
with M = mass matrix variable according to the position
Comparing the sum of the loads in the 6 DOFs with the results in the 6 DOFs of the product M * a I obtain small differences, as shown in the figure.
(for example, I compared for the resultant in x:
M (1,1) * 'PtfmTAxi' + M (1,2) * 'PtfmTAyi' + M (1,3) * 'PtfmTAzi' + M (1,4) * 'PtfmRAxi' + M (1,5) * 'PtfmRAyi' + M (1,6) * 'PtfmRAzi'
with
'HydroFxi'  Fmoor_x + Ftower_x  Fnonlinear_x  Frestoring_x)
Could you tell me what they are caused by?
All the rotations are expressed in Radiants.
Thank you a lot. Best regards,
Riccardo.
 Attachments

 Fig_2.jpeg (150.13 KiB) Viewed 1920 times

 Fig_1.jpeg (145.52 KiB) Viewed 1920 times

 Posts: 5860
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: Hydrodynamic implementation
Dear Riccardo,
Indeed, your results are quite close, with only some small differences. I don't see any obvious errors in your approach, but I do have a few questions:
Indeed, your results are quite close, with only some small differences. I don't see any obvious errors in your approach, but I do have a few questions:
 Why are you using RotTorq rather than RtAeroMxh?
 In Frestoring, you haven't stated what M_plat is (zero?) and the value of M should not change with displacement in this linearized equation, even though that is implied. That said, ElastoDyn does include some amount of nonlinearity in this equation, i.e. using the displaced center of mass using the transformation matrix given in Eq. (2) in my 2009 Wind Energy paper: https://onlinelibrary.wiley.com/doi/abs/10.1002/we.347.
 I can't check all of the details because they are not in your post (e.g., how the mass matrix changes with displacement, how Ftower is transformed to global coordinates, how MX_moor, etc. are calculated).
 Could the problem simply be that of numerical roundoff in the variables you are comparing?
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 34
 Joined: Mon May 04, 2020 3:31 am
 Organization: Politecnico di Torino
 Location: Italia
Re: Hydrodynamic implementation
Dear Jason,
Thanks for your prompt reply.
by setting the parameters OverHang=ShftGagL=NacCMxn=NcIMUxn=0, is it possible that the mass matrix changes?
Best regards,
Riccardo.
Thanks for your prompt reply.
 I used RotTrq to consider also the inertia of the rotor (I noted that in an Onshore Test the TwrBsMx= RotTrq+transport moments);
 M_plat is the mass platform (M_plat=7466330 kg) since I consider the turbine weight in Fz_tower;
 Mooring moments are obtained by multiply C_rot x F where:
C_rot= X/Y/Z coordinates of the fairlead respect (0,0,0) in each time step.
I obtained the mass matrix relative to the center of mass through the following inverse transformation: Mcg = (TransMat^T)^1 * M_swl * TransMat^1
(where TransMat is the one indicated in this topic "https://wind.nrel.gov/forum/wind/viewtopic.php?f=4&t=1257&hilit=mass+matrix+spar" where the
inputs of the rotation matrix are those in still water). Then the mass matrix (in 0 0 0) relative to the position of the system is obtained by applying the
direct transformation M_swl = TransMat^T * Mcg * TransMat, using the current positions of Cg as the input of TransMat.
We consider [Fx_tow Fy_tow Fz_tow Mx_tow My_tow Mz_tow] applied in (0,0,Rotor height) because I set: OverHang=ShftGagL=NacCMxn=NcIMUxn=0 so
I transported forces and moments in the system frame (0,0,0) integral to the structure then considering the platform rotation.
by setting the parameters OverHang=ShftGagL=NacCMxn=NcIMUxn=0, is it possible that the mass matrix changes?
Best regards,
Riccardo.

 Posts: 5860
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: Hydrodynamic implementation
Dear Riccardo,
Just a few comments:
Just a few comments:
 I would use RtAeroMxh instead of RotTorq so as to not double count any inertial terms.
 M_plat makes sense; thanks for clarifying.
 I follow your calculation of M_swl, but this assumes linearity of the structural model. Again, ElastoDyn includes some nonlinearity in the platform rotations as I indicated in my prior post, which may result in some small differences to what you are calculating.
 For Ftower, presumably you also consider the shaft tilt, unless this has also been zeroed.
 I'm not sure I understand your last question about the mass matrix changes.
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 34
 Joined: Mon May 04, 2020 3:31 am
 Organization: Politecnico di Torino
 Location: Italia
Re: Hydrodynamic implementation
Dear Jason,
Thanks for the reply and for your help. First of all I forgot to clarify that in the Test I considered the rigid body, so for this reason I don't have considered any nonlinearities. If there are nonlinearities also for the rigid body case, how can I take them into account?
As for the mass matrix, I started from the one indicated in the post previously reported. However, I suspect that considering Overhang & Co. to be null, the moments of inertia and therefore the total mass matrix M_cg, as well as the position of the center of mass, can change.
Best regards,
Riccardo.
Thanks for the reply and for your help. First of all I forgot to clarify that in the Test I considered the rigid body, so for this reason I don't have considered any nonlinearities. If there are nonlinearities also for the rigid body case, how can I take them into account?
As for the mass matrix, I started from the one indicated in the post previously reported. However, I suspect that considering Overhang & Co. to be null, the moments of inertia and therefore the total mass matrix M_cg, as well as the position of the center of mass, can change.
Best regards,
Riccardo.

 Posts: 5860
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: Hydrodynamic implementation
Dear Riccardo,
Even the rigid body contains many nonlinear terms; that is, each term in Fhydro, Fmoor, Ftower, Fnonlinear, and Frestoring includes nonlinearities. Some of the nonlinearities are included in HydroDyn, MAP++, AeroDyn, etc. whose outputs you are using.
One of the nonlinearities I gather you are missing in your equations is how the rotation/orientation of the rigid body is handled in ElastoDyn, i.e. per Eq. (2) in the Wind Energy paper I referenced. This will impact, e.g., how aerodynamic loads are transferred to global in Ftower, how the CG is determined in Fnonlinear and Frestoring.
Best regards,
Even the rigid body contains many nonlinear terms; that is, each term in Fhydro, Fmoor, Ftower, Fnonlinear, and Frestoring includes nonlinearities. Some of the nonlinearities are included in HydroDyn, MAP++, AeroDyn, etc. whose outputs you are using.
One of the nonlinearities I gather you are missing in your equations is how the rotation/orientation of the rigid body is handled in ElastoDyn, i.e. per Eq. (2) in the Wind Energy paper I referenced. This will impact, e.g., how aerodynamic loads are transferred to global in Ftower, how the CG is determined in Fnonlinear and Frestoring.
Best regards,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 56
 Joined: Wed Jul 15, 2020 9:04 am
 Organization: Politecnico di Torino
 Location: Italy
Re: Hydrodynamic implementation
Dear Jason,
Starting from the same equations of Riccardo (corrected as you suggested in the last posts), I am investigating the differences in the transition from AeroDyn = 0 to AeroDyn = 2 with regards to platform movements.
Using the reported forces and moments output of FAST, I calculated positions in the 6 DOFs. When AeroDyn = 0, I get the same position trends in the 6 DOFs to the FAST outputs. When I switch to AeroDyn = 2, however, the only positions consistent with FAST are x, z, ry, while the other 3 (y, rx, rz) have a totally different trend, and with greater oscillation amplitudes.
I was wondering if there is any other contribution in moving from AeroDyn = 0 to AeroDyn = 2
Thanks for your attention,
Best regards,
Lorenzo
Starting from the same equations of Riccardo (corrected as you suggested in the last posts), I am investigating the differences in the transition from AeroDyn = 0 to AeroDyn = 2 with regards to platform movements.
Riccardo.Caradonna wrote:Dear Jason,
Starting from Test 24, I'm trying to verify the loads in the 6 DOFs in according to the formula:
M * a = Fhydro  Fmoor + Ftower  Fnonlinear  Frestoring
where is it:
M = variable mass matrix based on the position of the platform, obtained as indicated in the post reported here (11 July 2020)
a = ['PtfmTAxi', 'PtfmTAyi', 'PtfmTAzi', 'PtfmRAxi', 'PtfmRAyi', 'PtfmRAzi']
Fhydro = ['HydroFxi', 'HydroFyi', 'HydroFzi', 'HydroMxi', 'HydroMyi', 'HydroMzi']
Fmoor = [Fx [1] + Fx [2] + Fx [3] + Fx [4] + Fx [5] + Fx [6], Fy [1] + Fy [2] + Fy [3] + Fy [ 4] + Fy [5] + Fy [6], Fz [1] + Fz [2] + Fz [3] + Fz [4] + Fz [5] + Fz [6], Mx_moor, My_moor, Mz_moor]
with Mx_moor, My_moor, Mz_moor moments of transport of forces from Map ++ in (0,0,0)
Ftower forces and moments obtained starting at the rotor exits:
Fx_tow = 'RtAeroFxh'
Fy_tow = 'RtAeroFyh' * cos ('Azimuth')  'RtAeroFzh' * sin ('Azimuth')
Fz_tow = 'RtAeroFzh' * cos ('Azimuth') + 'RtAeroFyh' * sin ('Azimuth')
Mx_tow = 'RotTorq' * 1000
My_tow = 'RtAeroMyh' * cos ('Azimuth')  'RtAeroMzh' * sin ('Azimuth')
Mz_tow = 'RtAeroMzh' * cos ('Azimuth') + 'RtAeroMyh' * sin ('Azimuth')
and were then rotated in the inertial reference system, with the addition of the transport moments and the weight of the turbine to have the forces at the base of the tower in (0,0,0)
Fnonlinear = given by omega x (omega x r_cm * mass) and omega x I dot omega, with
omega = ['PtfmRVxi', 'PtfmRVyi', 'PtfmRVzi'],
r_cm * mass = [M (6,2), M (4,3), M (5,1)]
I = [M (4.4), M (4.5), M (4.6); M (5.4), M (5.5), M (5.6); M (6.4), M (6.5), M (6.6);]
Frestoring = where the weight of the platform and gravity restoring moments are considered [0, 0, M_plat, M (5,1) * rx + M (6,2) * rz, M (5,1) * ry + M (4.3) * rz] * g
with M = mass matrix variable according to the position
Comparing the sum of the loads in the 6 DOFs with the results in the 6 DOFs of the product M * a I obtain small differences, as shown in the figure.
(for example, I compared for the resultant in x:
M (1,1) * 'PtfmTAxi' + M (1,2) * 'PtfmTAyi' + M (1,3) * 'PtfmTAzi' + M (1,4) * 'PtfmRAxi' + M (1,5) * 'PtfmRAyi' + M (1,6) * 'PtfmRAzi'
with
'HydroFxi'  Fmoor_x + Ftower_x  Fnonlinear_x  Frestoring_x)
Could you tell me what they are caused by?
All the rotations are expressed in Radiants.
Thank you a lot. Best regards,
Riccardo.
Using the reported forces and moments output of FAST, I calculated positions in the 6 DOFs. When AeroDyn = 0, I get the same position trends in the 6 DOFs to the FAST outputs. When I switch to AeroDyn = 2, however, the only positions consistent with FAST are x, z, ry, while the other 3 (y, rx, rz) have a totally different trend, and with greater oscillation amplitudes.
I was wondering if there is any other contribution in moving from AeroDyn = 0 to AeroDyn = 2
Thanks for your attention,
Best regards,
Lorenzo

 Posts: 5860
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: Hydrodynamic implementation
Dear Lorenzo,
I'm sorry, but I'm not really sure I understand your question. By "AeroDyn = 0 or 2", are you referring to "CompAero = 0 or 2"? And I'm not sure what you are comparing FAST to (your own model)? And I'm not sure what you mean by "any other contribution"?
Best regards,
I'm sorry, but I'm not really sure I understand your question. By "AeroDyn = 0 or 2", are you referring to "CompAero = 0 or 2"? And I'm not sure what you are comparing FAST to (your own model)? And I'm not sure what you mean by "any other contribution"?
Best regards,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 56
 Joined: Wed Jul 15, 2020 9:04 am
 Organization: Politecnico di Torino
 Location: Italy
Re: Hydrodynamic implementation
Dear Jason,
Sorry, I was referring to CompAero = 0 or 2.
Adding all the forces and moments from outputs of FAST, then dividing by the mass matrix, I get the accelerations from which the positions in the 6 DOFs. Finally, I compare the positions thus obtained with the FAST outputs.
When I have CompAero = 0 the graphs are superimposed in the 6 DOFs, while with CompAero = 2 I have that the graphs of y, rx and rz do not replicate the FAST outputs well.
Since in both cases I use the same equation (in fact, I also take into account, in the case of CompAero = 0, the initial transient of the RotTrq, etc.), I wondered why in the case of CompAero = 2 it does not obtain equal trends in all DOFs but only in x, z, ry.
This is why I asked you if there are any other components of the equation, which I have neglected, that can motivate these inconsistencies in the positions y, rx, rz.
I hope I was clearer.
Best regards,
Lorenzo.
Sorry, I was referring to CompAero = 0 or 2.
Adding all the forces and moments from outputs of FAST, then dividing by the mass matrix, I get the accelerations from which the positions in the 6 DOFs. Finally, I compare the positions thus obtained with the FAST outputs.
When I have CompAero = 0 the graphs are superimposed in the 6 DOFs, while with CompAero = 2 I have that the graphs of y, rx and rz do not replicate the FAST outputs well.
Since in both cases I use the same equation (in fact, I also take into account, in the case of CompAero = 0, the initial transient of the RotTrq, etc.), I wondered why in the case of CompAero = 2 it does not obtain equal trends in all DOFs but only in x, z, ry.
This is why I asked you if there are any other components of the equation, which I have neglected, that can motivate these inconsistencies in the positions y, rx, rz.
I hope I was clearer.
Best regards,
Lorenzo.

 Posts: 5860
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: Hydrodynamic implementation
Dear Lorenzo,
OK, I think I understand now. But I'm not sure I have anything to add beyond what I've already discussed with Riccardo.
Best regards,
OK, I think I understand now. But I'm not sure I have anything to add beyond what I've already discussed with Riccardo.
Best regards,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 56
 Joined: Wed Jul 15, 2020 9:04 am
 Organization: Politecnico di Torino
 Location: Italy
Re: Hydrodynamic implementation
Dear Jason,
Thanks for checking.
I have tried to investigate further what can cause the differences between my outputs and those of FAST, and I have noticed that the cause is the resultant moment Mx.
In fact, I compared, for each DOF, that the equation was verified:
M * a = Fhydro + Fturbine + Fmoor  Frestoring  Fnonlinear
thus obtaining from the product M * a the resulting Fx, Fy, Fz, Mx, My, Mz which I had to obtain from the sum of the contributions to have the same accelerations as FAST.
To do this I used:
 M: variable mass matrix with the movement of the platform
 a: acceleration outputs of FAST ('PtfmTAxi', 'PtfmTAyi', 'PtfmTAzi', 'PtfmRAxi', 'PtfmRAyi', 'PtfmRAzi')
 Fhydro: outputs FAST ('HydroFxi', 'HydroFyi' 'HydroFzi', 'HydroMxi', 'HydroMyi', 'HydroMzi')
 Fturbine: forces at the base of the turbine tower, obtained starting from the aerodynamic forces / moments on the rotor ('RtAeroFxh', 'RtAeroFyh', 'RtAeroFzh', 'RtAeroMxh', 'RtAeroMyh', 'RtAeroMzh'), transported in the fixed reference of the nacelle and then transported to the base of the tower.
 Fmoor: starting from the forces in the 3 directions for each line obtained by MAP ++, the moments were obtained
 Frestoring: where the contribution on Mx is given by m * x_g * 'PtfmYaw'  m * z_g * 'PtfmRoll' where m = total mass of the system, (x_g, y_g, z_g) coordinates of the center of mass with respect to the origin of the inertial reference system
 Fnonlinear: as regards the moments, I used the formula omega x I dot omega (with omega = ['PtfmRVxi', 'PtfmRVyi', 'PtfmRVzi'] and I: inertia matrix 3x3)
As you can see from the figures shown, I obtain summation trends of forcesmoments that accurately overlap with the corresponding trend M * a in all directions, except on Mx.
This makes me make some considerations:
 given that I get 5 out of 6 results, it is unlikely that there is an error of transport of the forcesmoments in the turbine, of the calculation of the moments of the moorings from the forces or of the way in which I considered the restoring moment or the variation of the mass matrix . If there was an error I should have problems in other directions as well.
 for the above reasons I have asked you in the past if there were other contributions to consider, in particular some effect that acts above all on Mx (and therefore can cancel this difference which I now find).
I hope I have clearly explained the problem to you,
Best regards,
Lorenzo.
Thanks for checking.
I have tried to investigate further what can cause the differences between my outputs and those of FAST, and I have noticed that the cause is the resultant moment Mx.
In fact, I compared, for each DOF, that the equation was verified:
M * a = Fhydro + Fturbine + Fmoor  Frestoring  Fnonlinear
thus obtaining from the product M * a the resulting Fx, Fy, Fz, Mx, My, Mz which I had to obtain from the sum of the contributions to have the same accelerations as FAST.
To do this I used:
 M: variable mass matrix with the movement of the platform
 a: acceleration outputs of FAST ('PtfmTAxi', 'PtfmTAyi', 'PtfmTAzi', 'PtfmRAxi', 'PtfmRAyi', 'PtfmRAzi')
 Fhydro: outputs FAST ('HydroFxi', 'HydroFyi' 'HydroFzi', 'HydroMxi', 'HydroMyi', 'HydroMzi')
 Fturbine: forces at the base of the turbine tower, obtained starting from the aerodynamic forces / moments on the rotor ('RtAeroFxh', 'RtAeroFyh', 'RtAeroFzh', 'RtAeroMxh', 'RtAeroMyh', 'RtAeroMzh'), transported in the fixed reference of the nacelle and then transported to the base of the tower.
 Fmoor: starting from the forces in the 3 directions for each line obtained by MAP ++, the moments were obtained
 Frestoring: where the contribution on Mx is given by m * x_g * 'PtfmYaw'  m * z_g * 'PtfmRoll' where m = total mass of the system, (x_g, y_g, z_g) coordinates of the center of mass with respect to the origin of the inertial reference system
 Fnonlinear: as regards the moments, I used the formula omega x I dot omega (with omega = ['PtfmRVxi', 'PtfmRVyi', 'PtfmRVzi'] and I: inertia matrix 3x3)
As you can see from the figures shown, I obtain summation trends of forcesmoments that accurately overlap with the corresponding trend M * a in all directions, except on Mx.
This makes me make some considerations:
 given that I get 5 out of 6 results, it is unlikely that there is an error of transport of the forcesmoments in the turbine, of the calculation of the moments of the moorings from the forces or of the way in which I considered the restoring moment or the variation of the mass matrix . If there was an error I should have problems in other directions as well.
 for the above reasons I have asked you in the past if there were other contributions to consider, in particular some effect that acts above all on Mx (and therefore can cancel this difference which I now find).
I hope I have clearly explained the problem to you,
Best regards,
Lorenzo.
Who is online
Users browsing this forum: No registered users and 1 guest