I am confusing with the definitions of the input element properties for pyframe3dd.ElementData() in WISDEM. For some I can locate with those we generally used, for example, for a blade, “r” as the radius of the rotor, “theta” as the structural twist, .etc., but what is “A”? It seems like A is defined as “area” of cross section. However, when I print A in the “nrel5mw_test.npz” locating in “wisdem\test\test_rotorse”, the first value in the array is around 17m^2, where the location is blade root. For the blade root cross section, the airfoil used there is Cylinder with chord length of 3.542m, which means the area of this cross section would be pi * (0.5 * 3.542)**2 = 9.853m^2, since the section is a circle. Obviously it is far away to 17. So I was confused. How could I understand the definition of “area of cross section”? Or “airfoil cross section material area” as it is commented in rotor_structure.py? How can I understand “material area”? Similar problems to other properties. I cannot build connection with their values shown in the definition document of NREL 5MW. Anyone can help? Thanks!
Thank you for the thoughtful interrogation of the model and the quantities. It looks like this is a bug originating in a semi-recent modification to the PreComp.f90 code. It will take us a bit to sort it out and code up a better area calculation.
By reading the newest code that you updated into rotor_elasticity.py for calculating the area of C.S., I learned the physical meaning of this variable is the total thickness of layup layers and webs of C.S. Please correct me if it was a misunderstanding. However, confusions are not fully eliminated, that why other variables in nrel5mw_test.npz are also differ to those in the definition document of NREL5MW-RWT at https://www.nrel.gov/docs/fy09osti/38060.pdf? For instance, the GJ as torsional stiffness at r=1.5 is 1.39522432e+10 in nrel5mw_test.npz but is 5564.40E+6 in the report. Similar to EA, EIxx and other variables about stiffness. Are there some functions or reasons lead to these discrepancies on numerical quantities? Thanks!
Hello Puyi,
Let me try to help. To start, a warning. The WISDEM tests are made for the developers of WISDEM (us) to keep developing the code without breaking existing functionalities, they are not made for users to understand the code. Please refer to the examples of WISDEM (WISDEM/examples at master · WISDEM/WISDEM · GitHub) and their documentation (Examples — WISDEM 2.0 documentation), not to the tests.
This example uses the NREL5MW and that’s where you might want to start WISDEM/examples/02_reference_turbines/nrel5mw_driver.py at master · WISDEM/WISDEM · GitHub
Next let’s talk about the blade properties of the NREL5MW. The NREL5MW was initially developed as an aeroelastic model, without blade design details such as material properties and cross sectional geometries. The latter were designed by Brian Resor at Sandia and documented here Definition of a 5MW/61.5m wind turbine blade reference model. (Technical Report) | OSTI.GOV. The figures at page 29 show the comparison between the initial NREL properties and the new Sandia properties. Talking about GJ at blade root, there is a clear jump there.
WISDEM is a design tool, not an aeroelastic solver, and so uses the blade geometry and material properties to run the cross sectional solver PreComp (PreComp | Wind Research | NREL). That is a second source of inconsistency between the data from the report led by Jason Jonkman at NREL and the outputs of WISDEM.
I hope this helps.
In fact, I already have a set of data w.r.t structural properties of a specific blade that obtained by another tool functionally similar to PreComp. And these properties were successfully used to generate OF’s BeamDyn input files. I can also have the information of layup thickness and web thickness for getting the area of blade cross-section which is needed by pyframe3dd. So, in your opinion, could I directly feed pyframe3dd with the structural properties used in BeamDyn plus the area of C.S. to do the blade modal analysis? Thanks a lot!
That sounds so good and motivated. Thanks for your quick reply! The reason that I want to use pyframe3dd is to fill out the ElastoDyn input file for my WT model. Garrett mentioned that you have switched from Bmodes to pyframe3dd for getting the modal shapes many times in this forum. Then I just want to do the same. I’ll follow up the conference and keep an eye on the publications. Thanks again.