Dear all,
I am modelling the OC3 hywind spar tower in Abaqus. These are the laods I am transferring to the Abaqus model:
 Tower top forces and moments (3 YawBrFp and 3 YawBrMp)
 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 TmpVec2p%DHNodes(J) in elastodyn.
where TmpVec2 = FTTower(:,J)  p%MassT(J)( p%Gravity*m%CoordSys%z2 + LinAccET(:,J) )
Questions:
 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
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
Dear Jason
Many thanks for responding. Let me throw more light on what I have done.
 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.
 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
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 elementbyelement 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,
Dear Jason

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

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%Gravitym%CoordSys%z2 + LinAccET(:,J) ) ?
 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
Dear Salem,
Here are my answers to your questions:

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

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 meshtomesh mapping, which handles disparate meshes.

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.

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,
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
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,
Dear Jason
Many thanks for your help.
Regards
Salem
Dear Jason
Where and how are the tower aerodynamic drag forces computed by Aerodyn applied in ElastoDyn.f90?
Regards
Salem
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 meshtomesh mapping, in routine FAST_Solver.f90/ED_InputSolve().
Best regards,
Dear Jason
 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
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 meshtomesh 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,
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 14: Wind load” to my 3d FE model of the tower. The following are the approaches I am considering:
 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
Dear Salem,
I’m not familiar with the Eurocode you are referring to, so, I can’t comment on steps 12 and question e. Here are my answers to questions ad:
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 3DHNodes/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 meshmapping is more complicated. The mathematical details behind the meshmapping are well documented in our AIAA SciTech 2014 paper (nrel.gov/docs/fy16osti/63203.pdf).
d) The local dynamic pressure on the tower, TwNβDynP, is calculated as 1/2AirDens*TwNβVRel^2.
Best regards,