Page **1** of **1**

### OC3-hywind tower forces

Posted: **Thu May 09, 2019 7:19 am**

by **Salem.Okpokparoro**

Dear all,

I am modelling the OC-3 hywind spar tower in Abaqus. These are the laods I am transferring to the Abaqus model:

1) Tower top forces and moments (3 YawBrFp and 3 YawBrMp)

2) I have outputted 19 tower element forces (FrcFGagT) at TwrGagNd 19,18,17......,1. these would be applied to corresponding element sets in the abaqus tower.

For (2) above only the Portion of FrcFGagT associated with element J is used. This is computed as TmpVec2*p%DHNodes(J) in elastodyn.

where TmpVec2 = FTTower(:,J) - p%MassT(J)*( p%Gravity*m%CoordSys%z2 + LinAccET(:,J) )

Questions:

1) I would want to get the aerodynamic force contribution to FrcFGagT of each element in item 2 so I can apply these force as a surface traction force after removing it from FrcFGagT. How can this be done?

2)If Question1 is possible, then I can apply the remaining portion of FrcFgagT as body forces?

3)Why is the FrcFGagT of tower node 20 not the same as YawBrFp and node 1 not the same as TwrBsF? (given TwrNodes = 20).

Regards

Salem

### Re: OC3-hywind tower forces

Posted: **Thu May 09, 2019 12:25 pm**

by **Jason.Jonkman**

Dear Salem,

My understanding is that:

- You've changed the source code to output FrcFGagT = TmpVec2*p%DHNodes(J) locally for each tower node, without integrating (summing) the contributions from all nodes / elements along the tower.
- FrcFGagT = TmpVec2*p%DHNodes(J) is the local applied loads (aerodynamic) and gravitational loads minus the inertia loads for a given tower element.

Given that, here are my answers to your questions

1/2) The aerodynamic applied load is already included in the load output. FAST does not directly model the surface tractions, but rather models the aerodynamics with actuator lines i.e. the force per unit length is lumped at the tower centerline. I'm not sure why you owuld want to model the aerodynamic applied loads as surface tractions, but model the gravitational and inertia loads lumped at the tower centerline.

3) Based on my understanding, FrcFGagT by your definition is just the local contribution to the reaction load for a given tower element, not the integrated contribution of all tower loads along the load path, so, FrcFGagT should not equal YawBrFp at the tower top nor TwrBsF at the tower base.

Best regards

### Re: OC3-hywind tower forces

Posted: **Thu May 09, 2019 1:26 pm**

by **Salem.Okpokparoro**

Dear Jason

Many thanks for responding. Let me throw more light on what I have done.

1) I didn't change the source code. I outputted TwHtFL for nodes (1 to 20) and assumed the contribution of each portion to be (TwHtFL_for node n) - (TwHtFL_for node n+1).

for example node 19 the contribution is taken as FAST output of TwHtFL for node 19 - TwHtFL for node 20.

2) In response to your point (3), let me rephrase: why is FAST output TwHtFL for node 20 greater than YawBrF? (Is node 20 not at same location as the point for YawBrF?)

Let me restate my problem as well. How do I obtain just the tower aerodynamic loads plus the inertial loads on the tower?

Thank you.

Salem

### Re: OC3-hywind tower forces

Posted: **Thu May 09, 2019 8:20 pm**

by **Jason.Jonkman**

Dear Salem,

OK, I had misunderstood your original forum post.

The tower analysis nodes in ElastoDyn are at the centers of the tower elements, so, node 20 (out of 20 total tower elements) is slightly below (i.e., half an element below) the yaw bearing. As a result, I would expect slightly larger loads at node 20 than at the yaw bearing. Is this what you are seeing?

I agree with your approach of calculating the element-by-element contribution of the applied aerodynamic load and gravitational/inertial loads along the tower. You can also output the aerodynamic applied loads on the tower from AeroDyn outputs. But there is no direct way to output only the gravitational/inertial loads from the ElastoDyn module (without modifying the source code).

Best regards,

### Re: OC3-hywind tower forces

Posted: **Fri May 10, 2019 5:37 am**

by **Salem.Okpokparoro**

Dear Jason

1) If I understand correctly the location of strain gage 20 i.e. node 20 from the tower base would be 77.6 - (77.6/20)/2 ? And the location of strain gage 1 would be (77.6/20)/2? What is the distance between two strain gages (Is this contant)?

where:

flexible tower height=77.6 m

number of tower nodes =20

2) Are the nodal locations described in (1) the same as those used to output aerodyn aerodynamic forces on the tower?

Don't know if these are practical

3)Is there a way to express LinAccET (is LinAccET = TwHtALyt ?) as a function of just tower height using the discrete values of TwHtALyt outputted by FAST. In other words would interpolating these discrete values to obtain acceleration at any point in the tower be valid? This is so I can compute inertia forces at any chosen point in the tower using p%MassT(J)*( p%Gravity*m%CoordSys%z2 + LinAccET(:,J) ) ?

4) Can I also interpolate the FAST output V_rel = u%InflowOnTower(:,j) - u%TowerMotion%TranslationDisp(:,j) which is relative wind speed at tower node

so as to compute the aerodynamic force at any point on the tower using the discrete tower V_rel outputted by aerodyn?

Many thanks.

Salem

### Re: OC3-hywind tower forces

Posted: **Fri May 10, 2019 7:00 am**

by **Jason.Jonkman**

Dear Salem,

Here are my answers to your questions:

1) Your understanding is correct. The distance between tower analysis nodes is 77.6/20 in your example.

2) Not necessarily. AeroDyn has its own tower discretization and the AeroDyn outputs are associated with this discretization. The locations are only identical if the nodal locations in ElastoDyn and AeroDyn are identical. Within FAST / OpenFAST, the aerodynamic loads at the AeroDyn nodes are transferred to ElastoDyn nodes using mesh-to-mesh mapping, which handles disparate meshes.

3) Yes, TwHtAL = LinAccET, with an appropriate coordinate transformation (LinAccET is in global, TwHtAL is expressed in the local tower coordinate system). And, yes, you could interpolate this acceleration to get the acceleration and inertia forces at any location along the tower.

4) Yes, I agree, but the equation for V_rel should use u%TowerMotion%TranslationVel(:,J) rather than u%TowerMotion%TranslationDisp(:,j). (This bug was fixed in OpenFAST a while ago.)

Best regards,

### Re: OC3-hywind tower forces

Posted: **Fri May 10, 2019 7:33 am**

by **Salem.Okpokparoro**

Dear Jason

Thank you very much for your responses, they've been very helpful. Finally what interpolation schemes are employed by elastodyn in the area suggested above and any suggestions as to the best way of achieving such interpolation?

Regards

Salem

### Re: OC3-hywind tower forces

Posted: **Fri May 10, 2019 8:44 am**

by **Jason.Jonkman**

Dear Salem,

I'm not sure I understand your question because you are proposing to add the interpolation not currently found in ElastoDyn. Nevertheless, I would assume a simple linear interpolation would suffice if the tower is discretized sufficiently.

Best regards,

### Re: OC3-hywind tower forces

Posted: **Fri May 10, 2019 9:09 am**

by **Salem.Okpokparoro**

Dear Jason

Many thanks for your help.

Regards

Salem

### Re: OC3-hywind tower forces

Posted: **Wed May 29, 2019 11:27 am**

by **Salem.Okpokparoro**

Dear Jason

Where and how are the tower aerodynamic drag forces computed by Aerodyn applied in ElastoDyn.f90?

Regards

Salem

### Re: OC3-hywind tower forces

Posted: **Wed May 29, 2019 11:41 am**

by **Jason.Jonkman**

Dear Salem,

The aerodynamic loads are computed by AeroDyn and output on a line2 mesh named TowerLoad (as force/moment distributed per unit length). The aerodynamic loads are input to ElastoDyn on a point mesh named TowerPtLoads (as lumped forces/moments). The data transfer between the AeroDyn output and ElastoDyn input happens in the FAST glue code via mesh-to-mesh mapping, in routine FAST_Solver.f90/ED_InputSolve().

Best regards,

### Re: OC3-hywind tower forces

Posted: **Wed May 29, 2019 11:59 am**

by **Salem.Okpokparoro**

Dear Jason

1) Pardon the naivety of my question. If the TowerPtLoads from Aerodyn are in N/m, why is a portion of FTHydrot(:,J)=u%TowerPtLoads%Force(DOF_Sg,J)/p%DHNodes(J) rather than u%TowerPtLoads%Force(DOF_Sg,J)*p%DHNodes(J)

2)Is the Aerodyn output TwNFdx and TwNFdy equivalent to corresponding TowerPtLoad?

Regards

### Re: OC3-hywind tower forces

Posted: **Wed May 29, 2019 12:10 pm**

by **Jason.Jonkman**

Dear Salem,

As I stated in my prior forum post, the AeroDyn outputs are distributed loads e.g. N/m. But the ElastoDyn inputs are lumped loads e.g. N. The mesh-to-mesh mapping supports disparate meshes, including connecting distributed loads from line2 elements (output from AeroDyn in variable TowerLoad) to lumped loads at point elements (input to ElastoDyn in variable TowerPtLoads).

The TwN#Fdx and TwN#Fdy outputs from AeroDyn are equivalent to the distributed loads stored in AeroDyn output TowerLoad.

Best regards,

### Re: OC3-hywind tower forces

Posted: **Thu May 30, 2019 9:08 am**

by **Salem.Okpokparoro**

Dear Jason

I would greatly appreciate clarity on certain issues concerning wind loads on the tower. My aim is to isolate the wind forces on the tower and apply them based on "Eurocode 1. Action on structures, part 1-4: Wind load" to my 3d FE model of the tower. The following are the approaches I am considering:

1) Run OpenFast with TwrAero=False, then compute and apply wind forces for each section of the tower (this would neglect the influence of tower flexibility due to wind forces on the tower)

2)Run OpenFast with TwrAero=True, then subtract the lumped wind forces at each tower gage location before applying the subtracted forces to the FE model.

Questions:

a) As you have indicated the lumped forces used in elastodyn is TowerPtLoads, is there a way to output these?

b) What are the locations of Aerodyn analysis nodes, is it same as those specified in the aerodyn input file because I tried calculating TwN1VUndx using Wind1VelX in the power law equation but the answer was not same as OpenFast?

c) For instance is it correct to say the lumped wind force for elastodyn tower gage node located a distance DHNodes from the tower top is equal to the aerodyn's wind force at the tower top (in N/m) multiplied by DHNodes?

d) How is the aerodyn output TwN*Dynp computed?

e) Are any of the suggested approach 1&2 above correct?

Many thanks for your time.

Regards

Salem

### Re: OC3-hywind tower forces

Posted: **Thu May 30, 2019 11:50 am**

by **Jason.Jonkman**

Dear Salem,

I'm not familiar with the Eurocode you are referring to, so, I can't comment on steps 1-2 and question e. Here are my answers to questions a-d:

a) The loads stored in TowerPtLoads are not directly available as outputs from ElastoDyn, but you could customize the source code to output them.

b) TwNβ refers to output node β of the tower and is in the range [1,9], corresponding to entry β in the TwOutNd list. These are a subset of the tower aerodynamic analysis nodes identified by TwrElev in the AeroDyn input file.

c) ElastoDyn's nodes are located in the centers of the elements, so, the highest node in ElastoDyn is located DHNodes/2 below the tower top and the next highest node is located 3*DHNodes/2 below the tower top. If the tower aerodynamic load was uniform than I agree that each node in ElastoDyn would have a lumped load equal to the distributed load times DHNodes. For nonuniform loads, the mesh-mapping is more complicated. The mathematical details behind the mesh-mapping are well documented in our AIAA SciTech 2014 paper (

https://www.nrel.gov/docs/fy14osti/60742.pdf), with some updates in the follow on AIAA SciTech 2015 paper (

https://www.nrel.gov/docs/fy16osti/63203.pdf).

d) The local dynamic pressure on the tower, TwNβDynP, is calculated as 1/2*AirDens*TwNβVRel^2.

Best regards,