# How to Convert Coordinate System of BeamDyn outputs from local(l) to reference(r)?

Dear @Jason.Jonkman,
Excuse me. Is there any way to transform the sectional loads in local coordinate system (such as N1Fxl, N1Fyl, N1Fzl, N1Mxl, N1Myl, N1Mzl, which are output by BeamDyn) to the blade coordinate system (r)?
In my understanding N1Fxl et al. accounts for the local structural pretwist and the local deflection of the blade, but I can’t obtain the local deflection.
Maybe the Sectional Partial Loads (debugging) from OutListParameters. xlsx can help to solve that, but they are not available output channels.
Thank you for your time and patience.
Best regards,

Dear @Baoxuan.Wang,

You can output the sectional angular/rotational deflection Wiener-Milenkovic parameters (relative to the undeflected orientation) at Node 1 expressed in the blade coordinate system (r) (`N1RDxr`, `N1RDyr`, `N1RDzr` for output node 1 etc.). These can be used to calculate the local rotation tensor as documented here: 4.2.4.5. BeamDyn Theory — OpenFAST v3.3.0 documentation. Premultiplication of the local loads (`N1Mxl`, `N1Myl`, `N1Mzl` for output node 1 etc.) by this rotation tensor will transform the loads to r.

Best regards,

Dear @Jason.Jonkman,
So, does this transformation process from l to r not need to consider StrcTwst ?
Best regards,

Dear @Baoxuan.Wang,

Good point. The Wiener-Milenkovic parameters only account for the elastic rotations, so, the transformation above will result in loads in a coordinate system aligned with the undeflected structural axes. If your structural axes include the effect of structural twist (through BeamDyn input `initial_twist`), then you’ll have to apply an additional transformation if you want to express the loads in a coordinate system without this twist.

Best regards,

Dear @Jason.Jonkman,
For the Sectional Loads outputs from BeamDyn, I find that the values of Fxr, Fyr and Fzr are 0 at the last station (tip station)(such as B1N132_Fxr=B1N132_Fyr=B1N132_Fyr=0, and station_total is set to 132 in my BeamDyn input file).
However, the values of Mxr, Myr and Mzr at tip station are not equal to 0 (such as B1N132_Mzr), which makes me confused. Is this reasonable?
I want to ask for your help so as to know how the reaction moment at the tip section is calculated in BeamDyn.
Best regards,

Dear @Baoxuan.Wang,

Is the moment at the tip small relative to the moment at more inboard blade stations? Perhaps there is some residual aerodynamic applied moment being transferred from AeroDyn to BeamDyn?

It sounds like your BeamDyn model is highly discretized. And presumably you are using trapezoidal quadrature (`quadrature` = 2 in BeamDyn). What blade discretization are you using in AeroDyn? Does the result improve if you finely discretize AeroDyn? What if you make the AeroDyn blade and BeamDyn blade meshes the same such that the internal mesh-mapping is one-to-one?

Best regards,

Dear @Jason.Jonkman,
Thank you for your constant help.

Is the moment at the tip small relative to the moment at more inboard blade stations?
In fact, in my case, it seems not small, espeacially for Mz, as you can see as follows:

Additionally, I also run the certification test (5MW_Land_BD_DLL_WTurb) with 19 NumBlNds in AERODYN and 49 stations to compare, whose results are as follows.

It sounds like your BeamDyn model is highly discretized. And presumably you are using trapezoidal quadrature (`quadrature` = 2 in BeamDyn). What blade discretization are you using in AeroDyn?

In AeroDyn, I didn’t change the origin blade discretization which is the origin NRELOffshrBsline5MW_AeroDyn_blade.dat in NRELOffshrBsline5MW_OC3Hywind_AeroDyn15.dat.

I only modified the beamdyn files as follows.

------- BEAMDYN V1.00.* INDIVIDUAL BLADE INPUT FILE --------------------------
SNL 5.0 MW Offshore baseline blade input for Beamdyn with 131 stations written by SFY 20221207.
132 station_total - Number of blade input stations (-)
1 damp_type - Damping type: 0: no damping; 1: damped
---------------------- DAMPING COEFFICIENT------------------------------------
mu1 mu2 mu3 mu4 mu5 mu6
(-) (-) (-) (-) (-) (-)
1.0E-03 1.0E-03 1.0E-03 0.0014 0.0022 0.0022
---------------------- DISTRIBUTED PROPERTIES---------------------------------
0.000000
3.087068E+09 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 3.083361E+09 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 1.285728E+10 0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 0.000000E+00 1.779378E+10 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.828113E+10 0.000000E+00
0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.076730E+10

1.047926E+03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 1.047926E+03 0.000000E+00 0.000000E+00 0.000000E+00 -0.000000E+00
0.000000E+00 0.000000E+00 1.047926E+03 -0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 -0.000000E+00 1.501780E+03 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.501737E+03 0.000000E+00
0.000000E+00 -0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.003518E+03

0.000162
3.087068E+09 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 3.083361E+09 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 1.285728E+10 0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 0.000000E+00 1.779378E+10 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.828113E+10 0.000000E+00
0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.076730E+10

1.047926E+03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 1.047926E+03 0.000000E+00 0.000000E+00 0.000000E+00 -0.000000E+00
0.000000E+00 0.000000E+00 1.047926E+03 -0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 -0.000000E+00 1.501780E+03 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.501737E+03 0.000000E+00
0.000000E+00 -0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.003518E+03

0.002439
2.551162E+09 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 2.518838E+09 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 1.482989E+10 0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 0.000000E+00 2.056501E+10 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 2.106312E+10 0.000000E+00
0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.072970E+10

1.081919E+03 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 1.081919E+03 0.000000E+00 0.000000E+00 0.000000E+00 -0.000000E+00
0.000000E+00 0.000000E+00 1.081919E+03 -0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 -0.000000E+00 1.550523E+03 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.550443E+03 0.000000E+00
0.000000E+00 -0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 3.100966E+03

1.000000
6.141300E+05 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 1.535704E+07 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 6.053185E+08 0.000000E+00 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 0.000000E+00 4.447249E+07 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 2.923733E+06 0.000000E+00
0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 1.276538E+06

2.645346E+01 0.000000E+00 0.000000E+00 0.000000E+00 0.000000E+00 -2.592398E+00
0.000000E+00 2.645346E+01 0.000000E+00 0.000000E+00 0.000000E+00 -7.274426E-01
0.000000E+00 0.000000E+00 2.645346E+01 2.592398E+00 7.274426E-01 0.000000E+00
0.000000E+00 0.000000E+00 2.592398E+00 2.764406E+00 0.000000E+00 0.000000E+00
0.000000E+00 0.000000E+00 7.274426E-01 0.000000E+00 1.516806E-01 0.000000E+00
-2.592398E+00 -7.274426E-01 0.000000E+00 0.000000E+00 0.000000E+00 2.916087E+00

According to your suggestions, I am going to add NumBlNds in NRELOffshrBsline5MW_OC3Hywind_AeroDyn15.dat based on DISTRIBUTED BLADE AERO DYNAMIC PROPERTIES as follows:

Look forward to your further guidance.

Best regards,

Dear @Baoxuan.Wang,

Indeed it looks like the moments at the tip are smaller than at more inboard sections of the blade, but just not as low as you expect. Let me know what you find if you choose to add aerodynamic nodes so that the aerodynamic discretization is more aligned with the structural discretization.

I do see that you have offsets of the aerodynamic nodes from the pitch axis (nonzero `BlCrvAC` and `BlSwpAC` in the AeroDyn blade input file). This means that the aerodynamic forces will generate pitching moments on top of any aerodynamic pitching moment about the aerodynamic center. You can always quantify the contribution of the offsets versus direct pitching moment by disabling one or the other. To disable the offsets, set `BlCrvAC = BlSwpAC` = 0. To disable the direct pitching moment, set `UseBlCm` = False in the AeroDyn input file.

Best regards,