Questions about the HydroDyn Module

Dear Jason,

As you mentioned above, HydroDyn is able to model Flooded and ballasted members. We normally know how to model flooded members (ballasted with water). But is it possible to model dry ballast other than fluid? Is the way the same to flooded members?

In addition, when a fluid or dry ballast is added to the floating platform, will the center of gravity be automatically updated in the FAST calculation?

Finally, I could not find where to define the rotor mass and inertia, are they included in HubMass and HubIner?

Thanks a lot.

Best regards,
Yingyi Liu

Dear Yingyi Liu,

Yes, the flooded/ballasted members feature of HydroDyn can also be used to model dry ballasting using the same approach (HydroDyn does not model the sloshing of these members anyway). The center of gravity is automatically updated within the FAST calculation when including flooded/ballasted members.

The rotor mass and inertia are not directly specified within FAST, but are calculated from the specified hub mass, hub inertia, and distributed mass of each blade (and are written to the ElastoDyn summary file).

Best regards,

Dear Jason,

Thanks for your prompt response. Forgive me to add one more question since I forgot to ask.

Although the center of gravity is updated automatically, but from another post (Question regarding HydroDyn Strip Theory Implementation - #3 by Daniel.Walia)
and the HydroDyn manual (page 36) it looks that we need to add the hydrostatic
restoring matrix associated with ballasted members manually.

Let’s look at the following equation, if we are using a hybrid potential-flow and strip-theory model for all the members (including ballasted members), Can I say that only the terms mfgxf, mfgyf, -mfgzf in AddCLin(4,4), AddCLin(4,6), AddCLin(5,5) and AddCLin(5,6) are necessary to be defined in the AddCLin matrix of the HydroDyn input file, when ballasted members are added to an existing platform? Because the other terms associated with the undisplaced platform have already been defined by potential-flow theory in the Wamit file *.hst. Is my understanding correct?

Can the center of mass of ballasting (xf, yf, zf) and the ballasting mass mf be output by FAST?

In addition to AddCLin matrix and change of gravity center, will the ballasted members bring other effects to the floating wind turbine system that we need to input information to some other place of the HydroDyn or ElastoDyn file?

Is it possible to directly output from FAST or calculate from the output of a FAST simulation, the buoyancy center, the gravity center and the metacenter height of a platform, at each time instant? I found these are three important parameters when analyzing the hydrostatic stability of a floating system. If not, just asking by the way that will you/your team have a plan to include them in future development of the code?

Thank you so much.
Best Regards,
Yingyi Liu

Dear Jason,

I would like to know how FAST calculates the Blade mass and tower mass. In this post (Results comparison FAST and Bladed - #16 by Jason.Jonkman)
you mentioned that “In the Modes, BModes, and FAST codes, the tower mass is defined as a distributed mass per unit length (varying along the length), which gets integrated along the tower in order to find the overall mass.”
Could you give a formula to show how the mass distribution is integrated?

The blade-section spans used for the integration are defined in the file, e.g, “NRELOffshrBsline5MW_AeroDyn_blade.dat”, am I correct? But how about the file that defines the tower-section spans? Are the tower-section spans defined in the AeroDyn15 input file (which is also used for tower aerodynamics)?

Another related problem is: should the locations of the span sections in one file be exactly the same as the section locations of mass distribution in another file?

Thanks a lot.
Best Regards,
Yingyi Liu

Dear Yingyi Liu,

The integration to find the total blade and tower masses in ElastoDyn is quite simple. I’ll explain for the blade; the tower is similar. First, the mass distribution from the blade file (BMassDen) is linearly interpolated to the analysis nodes, which are located in the centers of the analysis elements. When using AeroDyn v14 (CompElast = 1), the blade discretization specified in AeroDyn v14 will be used for discretization of the blade structural model of ElastoDyn (in this case, input BldNodes in ElastoDyn is unused). When using AeroDyn v15 (CompElast = 2), ElastoDyn will use equally spaced elements/nodes (defined by BldNodes) and the the aerodynamic blade discretization is independent of the structural discretizations in ElastoDyn. ElastoDyn then uses a simple rectangular integration by summing the mass/length times the element length for all elements. The location of the blade analysis nodes, the element lengths, and the interpolated mass/length are written to the ElastoDyn summary file for convenience.

I hope that helps.

Best regards,

Dear Jason,

I’m not sure about the above-quoted contents.
Could you confirm that is my understanding (above quoted) correct?

Thanks a lot.
Best Regards,
Yingyi Liu

Dear Yingyi Liu,

Yes, your understanding is correct.

The total integrated force and moment from the ballasted members are written to the HydroDyn summary file, but the center of buoyancy is not. From this information, you can manually calculate the transverse offset of the center of buoyancy of the ballasted members (xf and yf), but not the vertical center of buoyancy (zf), as discussed recently in the following forum topic: Hydrodynamic analysis of OC3-Hywind spar buoy - #42 by Jason.Jonkman. However, for simple cylindrical geometries, it may not be difficult to calculate the center of buoyancy manually yourself. In addition to defining the ballasted members in HydroDyn, the only additionally thing you need to do is to modify AddCLin.

We do not currently have funding to extend HydroDyn to output the center of buoyancy etc. from HydroDyn. Of course, the source code is open, so, you or others could make these changes yourself, if needed.

Best regards,

Dear Jason,

thanks for pointing me to this post.

I have some questions:

Blade:

  1. When I got it right the above definition means, that the first part of the blade between the blade root and the first equally spaced node is neglected.

  2. The blade definitions assumes, that a blade element has the BMassDen of the inner node of the element.

  3. The distance between the last blade node and the blade tip is treated the same way as the other elements assuming BMassDen is defined by the last node.

Tower:
4) The tower definitions assumes, that a tower element has the TMassDen arithmetically averaged between the inner and the outer node. Also the distance between the Tower base at HNodes = 0 and the first node is assumed to have the TMassDen of the first node.

  1. The distance between the last tower node and the tower top is assumend to have the TMassDen of the last node.

Can you confirm these findings?

Best regards,
Simon

Dear Simon,

I’m not really sure I understand your questions. But again, the values of BMassDen specified in the ElastoDyn blade input file and the values of TMassDen specified in the ElastoDyn tower input file are linearly interpolated to the blade and tower structural analysis nodes, which are then used in the analysis (to calculate the total mass, center of mass, generalized mass, inertia loads, etc.). The approach is identical for the blade and tower. Regarding (1), nothing is neglected, but the mass density (BMassDen) specified at the root is used in the interpolation to calculate the mass density at the first blade structural analysis node i.e. center of the first blade structural element (unless additional values of BMassDen are specified further inboard of the first blade structural analysis node).

Best regards,

Dear Jason,

thanks for the explanation.

I try to calculate the mass for blade and tower. I take all values from the ElastoDyn summary. So the interpolation from the input to the analysis nodes already took place. I take the values given for the analysis nodes and want to calculate the given masses.

Blade:
I found out, that I get the best agreement when calculating (RNodes_i+1 - RNodes_i)*(BMassDen_i). The sum of all elements fits the values given in the summary.

Tower:
(HNodes_i+1 - HNodes_i)*(BMassDen_i+1 + BMassDen_i)/2 gave the best result. Additionally I calculated (HNodes_first * TMassDen_first) and (TowerTop - HNodes_last) * TMassDen_last) to account for the parts under the first node and over the last node.

Is my understanding on how the masses are internally calculated correct?

Thank you and best regards,

Simon

Dear Simon,

No, those equations are not correct.

Because ElastoDyn uses a simple rectangular integration, the equations for the total mass using data from the ElastoDyn summary file are:

Blade:
Total mass = SUM( DRNodes(J)*BMassDen(J), J=1,BldNodes )

Tower:
Total mass = SUM( DHNodes(J)*TMassDen(J), J=1,TwrNodes )

Best regards,

Dear all,

I have a question regarding the marine growth in HydroDyn. When I tried to edit the HydroDyn input, the result is identical to the result without marine growth. I am using FAST v8.16 and the marine growth input is:
---------------------- MARINE GROWTH -------------------------------------------
3 NMGDepths - Number of marine-growth depths specified (-)
MGDpth MGThck MGDens
(m) (m) (kg/m^3)
0 0.1 1325
-40 0.1 1325
-80 0.05 1325

Besides, I also tried to set SimplCdMG to nonzero in ‘SIMPLE HYDRODYNAMIC COEFFICIENTS (model 1)’. The result is still the same as the one without marine growth and the output summary of HydroDyn also shows no marine growth at all.

                             MGFxi                 MGFyi                 MGFzi                 MGMxi                 MGMyi                 MGMzi  
                              (N)                   (N)                   (N)                  (N-m)                 (N-m)                 (N-m)  

Marine Growth: 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00

Is there something wrong with the setting in HydroDyn?

Best regards,
Xiaosen

Dear Xiaosen.Xu,

Can you share your full HydroDyn input file?

Best regards,

Dear Jason,

Sure, I am using OC3 Hywind model. I had a hard time uploading the HydroDyn input text file. The only changes I made in HydrDyn are marine growth parts. The bold part are the changes that I made.

---------------------- SIMPLE HYDRODYNAMIC COEFFICIENTS (model 1) --------------
SimplCd SimplCdMG SimplCa SimplCaMG SimplCp SimplCpMG SimplAxCa SimplAxCaMG SimplAxCp SimplAxCpMG
(-) (-) (-) (-) (-) (-) (-) (-) (-) (-)
0.60 1.05 0.00 0.00 1.00 1.00 1.00 1.00 1.00 1.00

0 NFillGroups - Number of filled member groups (-) [If FillDens = DEFAULT, then FillDens = WtrDens; FillFSLoc is related to MSL2SWL]
FillNumM FillMList FillFSLoc FillDens
(-) (-) (m) (kg/m^3)
---------------------- MARINE GROWTH -------------------------------------------
3 NMGDepths - Number of marine-growth depths specified (-)
MGDpth MGThck MGDens
(m) (m) (kg/m^3)
0 0.1 1325
-40 0.1 1325
-80 0.05 1325

---------------------- MEMBER OUTPUT LIST --------------------------------------
0 NMOutputs - Number of member outputs (-) [must be < 10]

Thank you.

Best regards,
Xiaosen Xu

Dear Xiaosen.Xu,

In the HydroDyn input file for the OC3-Hywind spar, PropPot = True for all members. According to the draft HydroDyn User’s Guide and Theory Manual (wind.nrel.gov/nwtc/docs/HydroDyn_Manual.pdf), when PropPot = True for a member, only viscous-drag loads and ballasting loads will be computed for that member. That is, your marine growth settings are being ignored. To incorporate marine growth for a member, you must disable the potential-flow solution (not use WAMIT) for that member.

Best regards,

Dear NREL members,

I intend to reproduce the OC4 Phase 2 (5 MW & semi-sub flatform) loads cases 3.2 & 3.5. I have taken the OpenFAST test case files of OC4Semi_WSt_WavesWN, and modify them to match the load cases. I have a few basic questions, if you don’t mind:

  1. When I set WaveMod=2 (JONSWAP), Hs = 6 m, Tp = 10 s, WavePkShp = “DEFAULT” , I assume γ=2.87 is internally calculated so I don’t need specifiy anything else regarding γ=2.87. Is that correct ?

  2. I use PotMod = 1, and the PotFile is already provided for the OC4Semi_WSt_WavesWN test case. I assume this PotFile is specific for the platform geometry, but do not depend on the external conditions (wind, wave etc.) hence can be used for any load case. Is that correct ?

  3. It also seems to me that the other HydroDyn & MoorDyn settings can be kept as they are in test case OC4Semi_WSt_WavesWN.

(I don’t have to match OC4 Phase 2 results precisely, anyways, but try to understand if there is a major setting that is very significant for the results, since HydroDyn & MoorDyn are new for me.)

Best regards and thanks in advance,

Dear @Salur.Basbug,

Here are my responses:

  1. Yes. The equation used to calculate the DEFAULT value of WavePkShp based on WaveHs and WaveTp is given in FUNCTION WavePkShpDefault() of the Waves.f90 source file. For WaveHs = 6 m and WaveTp = 10 s, this function returns the value of WavePkShp is 2.87.
  2. Yes.
  3. Yes.

Best regards,

1 Like

Excellent, thanks a lot @Jason.Jonkman

Best regards,

Dear @Jason.Jonkman,

I have another question related to the same subject as above (5 MW & semi-sub flatform).

I evaluate the influence of a leighter nacelle design, which is X t less than the original 240 t nacelle and change that in the ElastoDyn file. There is also the HydroDyn input PtfmVol0 = 13917 m^3, displaced volume of water. I believe, I also need to modifiy this number accordingly and lower that volume by a value = X t / density of water. This change in the PtfmVol0 would be less than 1 %.

In such a simulation, can we still use the original PotFile (WAMIT output files) ? Or is it better to leave PtfmVol0 unchanged, despite changing the weight ?

Best regards,

Dear @Salur.Basbug,

We generally recommend that OpenFAST models of floating offshore wind turbines be defined with zero mean heave displacement. So, if you change the nacelle mass, you should also changing the displaced volume of the floater (PtfmVol0) or mooring pretension accordingly.

I agree that “small” changes in displaced volume likely don’t require a change to the WAMIT solution, but what constitutes “small” is likely subject of interpretation.

Best regards,

1 Like