Questions on FE Nodes v.s. Blade Nodes

Hi all,

I am new to FAST, so I use Test26 as a practice to be more familiar with FAST. I noticed that there are two different type of nodes: FE Nodes and Blade Nodes.

I understand that you can increase the Blade node in the ElastoDyn input file, but I do not know where to increase the FE nodes (since the manual states that the number max. FE nodes is 9). Also, I got the error message if I specify order_elem >6. So I am wondering the differences between FE Nodes and Blade Nodes, and the relationship between FE Nodes and Order_elem.

The BeamDyn can provides outputs (deflection, force, moment) at each FE nodes. Is it possible for BeamDyn to provide outputs at each Blade Nodes? Or I have to interpret them from FE Nodes outputs?

Please let me know if my understanding of FAST is incorrect.

Thank you in advance for your help and clarification!!!

Dear Daniel,

If BeamDyn is enabled in FAST v8 (CompElast = 2), the blade-related inputs and outputs from the ElastoDyn module are unused, replaced with those available in the BeamDyn module. So, the number of BldNodes in the ElastoDyn input file is not used by Test26.

In BeamDyn, the number of finite-element nodes is related to the element order i.e. the number of FE nodes = Order_Elem+1. While one cannot output data from BeamDyn at more than 9 nodes, the number of FE nodes is not limited to 9; although there is usually no need to set the element order that high (Order_Elem = 7 or 8 FE nodes is as high as I’ve ever needed to go for sufficient accuracy). Increasing Order_Elem will likely require a smaller time step, which is probably why you’ve received an error when you increased Order_Elem i.e. you didn’t also reduce the time step.

I hope that helps.

Best regards,

Hi Jason,

Thank you! It is very helpful.

Now, I can move on to how to interpret outputs the from each nodes.

Hi Jason,

I have some question about the BeamDyn “member” versus LSFEs elements. Please help me out.

From what I read from BeamDyn manual, it seems like a “member” that defined by at least 3 key points forms a LSFE element. All the nodes then are locate at GLL quadrature points. These locations are in the BeamDyn output summary file.

In NREL 5MW example, there is only one member with Order_Elem=5. Therefore, the node_total is 6, so I can request outputs up to 6 nodes.

I am wondering if I modified the primary input file to have TWO members with Order_Elem=5. The node_total becomes 12. All the nodes are locate at GLL quadrature points of that member\element. However, I can only request output node B, whereBis a number in the range [1,9]. It means that I can only output 9 out of 12 nodes from this beam model configuration?

Please correct me if I am wrong.

Thank you for your help.

Dear Daniel,

I agree with your summary and example, except that for the case with two 5th-order members, the total number of nodes is 11 (because the node at the end of the first member is coincident with the node at the start of the second member). You are right that you can only output local loads/motions at 9 of these 11 nodes. Which of the 11 nodes are output is determined by BeamDyn input parameters NNodeOuts and OutNd.

Please note, however, that one high-order element is typically sufficient for accuracy.

Best regards,

Hi Jason,

Please help me clarify on key points and FE nodes.

If I model a blade with one element with order_elemt=6 and 49 key points, there are 7 FE nodes. I understand each key point has the sectional properties of the blade (6X6 stiffness and mass matrices), but since number of key points are significantly more than FE nodes, I am wondering how the key points related to FE nodes. Is it more key points => more sectional properties => more accurate result on blade deflection? and how the BeamDyn uses key points with LSFE nodes?

If there are some paper about this question, please let me know. I am willing to read them and understand BeamDyn as best as I can,

Thank you.

Dear Daniel,

I think you mean that your model has 49 stations where sectional properties (cross-sectional mass and stiffness matrices) are specified i.e. Station_Total = 49? Key points in BeamDyn are only used to define the geometry (curved reference axis and twist) of the beam, and are independent from the number of FE nodes and stations. Likewise, stations are also independent from the FE nodes.

The use of the sectional data will depend on which quadrature scheme is used. With Gauss quadrature (Quadrature = 1), the sectional data at the stations will be interpolated to the Guass points. With trapezoidal quadrature (Quadrature = 2), all sectional data will be used. When there are many more stations than FE nodes, you will get more accurate spatial integration using trapezoidal quadrature. This is discussed in the following paper:

I hope that helps.

Best regards,

I wonder weather there is a limit for NumBlNds and Station_Numbers in BEAMDyn with FAST v8.16.
As I understood not more than 99 nodes can be specified in Elastodyn (without BEAMDyn) for Blade and Tower, is that right?

Best regards,


Dear Simon,

Actually, NumBlNds is an input of AeroDyn, not BeamDyn. There is no limit to the number of blade nodes in AeroDyn, but it is usually sufficient for accuracy to not have more than about 20 nodes.

There is no limit to the number of stations in BeamDyn (Station_Total), but to use all of the information provided, I’d recommend the use of trapezoidal quadrature (Quadrature=2).

There is no limit to the number of tower (TwrNodes) or blade (BldNodes) nodes in ElastoDyn, but it is usually sufficient for accuracy to not have more than about 20 nodes.

Best regards,

Nodal Outputs:
I have a follow up question that I will insert here.
I am using the NREL5MW turbine, basically test26.
The blade nodes are set in the BeamDyn file:

6 NNodeOuts - Number of nodes to output to file [0 - 9] (-)
1,2,3,4,5,6 OutNd - Nodes whose values will be output (-)
OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-)
“RootFxr, RootFyr, RootFzr”
“RootMxr, RootMyr, RootMzr”
“N1Mxl, N1Myl, N1Mzl”
“N2Mxl, N2Myl, N2Mzl”
“N3Mxl, N3Myl, N3Mzl”

From the BD1.sum file I have the location of the nodes:

Initial position vectors
Element number: 1
Node Global node

 1         1         0.00000E+00       0.00000E+00       0.00000E+00
 2         2         5.22062E+00       0.00000E+00       0.00000E+00
 3         3         1.63329E+01       0.00000E+00       0.00000E+00

But in output file the N1Mxl has the opposite sign (+/-) from the RootMxr.

If node 1 is at the root shouldn’t N1Mxl be the same as the RootMxr? (or at most off by the twist angle at the root). BeamDyn follows the IEC blade coordinate system convention.

RootMxr x-component of the root reaction moment expressed in r r: a floating reference coordinate system fixed to the root of the moving beam; when coupled to FAST for blades, this is equivalent to the IEC blade (b) coordinate system (N-m)

N1Mxl Sectional moment resultants at Node 1 expressed in l l: a floating coordinate system local to the deflected beam (N-m)

And a second question. The difference between the B1N1Mxl and B1N2Mxl is immense. N1 oscillates between +4e6 and -3e6. N2 at 5.22m along the blade has an amplitude in 10 to -30!? (it is the line at 0 in the plot)

Any hints to what I need to do to correct this?

Dear Mark,

As discussed in the following forum topic:, we are aware of a bug in how BeamDyn calculates the local sectional loads (forces/moments) that are output. While the internal blade dynamics and deflections are calculated properly by BeamDyn, the local sectional load outputs are not calculated correctly, except at the blade root. We are working on a fix, which will be included in the next release of BeamDyn.

Best regards,

okeydoke. Thanks Jason.