Modeling a wind turbine blade from external data + later animation

                             Hi Witold,

Sure, I understand perfectly. Correspondence will be 1:1 then. Let’s go check the assumptions:

  • Yes, we can do that if you want… but if I assign an airfoil to every node, I’ll end up having a cross-section at the 99.14% of the span so I don’t see it practical to have a tip defined between the 99.14 and 100%. What do you think? I’ll include it on the next package, but if it does not make a difference, we can ignore it.
  • Yes, this is correct. I was wondering if the blade-tip should had half the points of the airfoils as you were going to connect two nodes from the last airfoil to the it. (I mean one node from the upper surface and other from the lower one) But if you think as it is is good, let’s leave it this way.
  • Yes for the airfoils and… if you want to think the blade-tip as something ”glued” at the end… then yes.
  • Yup, that’s right.
  • Yup, always.
  • Right.
  • Your interpretation of the first line is right, and I can stick to this naming. What I don’t seem to understand here is what do you want to “glue”

I would propose just to “glue” all the geometric data into a single file
. Do you want me to keep this description you mean? If this is the case, sure, no problem. If not, sorry, I didn’t understand.

Thanks a lot Witold!

By “gluing” the files I mean to write all these data (the content without changes) into a single file.
For the testing purpose I have already done it.

Here is the first zip file: blade-001.zip (117 KB)

It contains the test file I have used as the input (this file has been created by joining all the files of your data), and the first version of the script blade.py.
At this moment just the first step is implemented: loading the data from the files into a data structure.

I have just written the main details of the code that will create the geometry from this data, so I will check and publish them within a few days. At this moment they are just on two pages of the paper. (I am an “old school” - any non-trivial code I write with the pencil and the paper, first. Then, when it looks good, I type it into the computer :eyebrowlift:).

data read ok for all 501 data’s in file

now i can change the file extension to what i want no problem
it’s all txt data anyway to be converted to numbers

and working ok now !

now these 501 data represent the shape of each cross section ?

that’s a lot of data i think we don’t need that many for the shape could be defined with less then 32 verts?

animation and render would be a lot faster !

what do you think here ?

be back in about 1 to 2 hours !

All right,

Right out of the oven, fresh data. I’ve made a new set with 92 airfoils + Blade-tip for the 93 nodes in the Blade-axis. Now all the shapes are defined with 65 points instead of 501. Yup, that could be a lot of points, let’s try with 65 if they are still too much, we can lower it later.

A new file “NREL5MW_s46v23N51_Datapack.dat” is included. This file contains the “glued” information lines from all the rest. Single files still contain the description in the first line.

Hope it helps! Let me know and thanks, as always!

Blade2Blender 2nd set.zip (80.1 KB)

Well, could you prepare exactly 1:1, that is 93 airfoils and 93 nodes? As I have written, the Blade tip is an extra “shape refinement” and will be fixed permanently to the last airfoil section (in this case - # 0093)…
There is another issue: look carefully at the input data from the post #63. It contains all the data you have originally placed in the separate files (not only the first lines, but also the coordinates). Could you prepare something like this?
Actual Datapack file from the post #65 is unusable for the script I have prepared…
I would propose to produce just a single data file for all sections, like in my example, inestead of all these separate files…

if you can have it in one file would be faster to read data
but not a problem i found a way to read all the files data anyway with different name

but still 93 sections X how many verts"
that looks well over 10 000 verts for one mesh model
still a lot of data to anim

is it possible to reduce or render time will be very long here and i mean hours but it can be done later on

let’s try for the first model one to make it short and fast then we can increase qty verts and have a longer render time
that will save us a lot of PC time for rendering for now

later it can always be increase and wait for rendereing to get nice quality

what do you think

Hi Witold,

I know what you mean, but node 93 would be the tip of the blade and that is… just a point! There is nothing but a point defining the blade tip, that’s why highest point of the Blade-tip curve corresponds to the last node. I get your point but… if I have to assign something up there would be just one point [0,0, 61.5] or that point repeated 65 times (?!).

Sorry about the gluing, my bad for not looking carefully into your file. Now it is going to be only one .DAT file with everything. My apologies for the multi-files. That is something I’m used to do with my matlab codes as I need to treat things separately.

Well, I have the 3rd package ready. Let me know if you want 92 airfoils + bladetip …or 93 airfoils where the last one is actually a point :s ;). Seriously, let me know. At this stage I know it works for generally testing the code.

Thanks!

Ricky,

If you look at the figure in post #52, the only nodes that will have input data for the animation will be the red *. Yes, the corresponding cross-section will follow displacements and rotations from that node as a " rigid body". Nevertheless, if Blender needs to compute displacements and rotations for every point in the cross-section “skin”, the total blade points would be (65x93) + 93 = 6138 …is that too much?

Anyway, here goes a 3rd attempt.

Now only one “_Datapak.dat” with all the info. This contains 92 airfoils + the blade tip. In case of needing 93 airfoils, just delete the blade tip and assign the
[0.0000000 0.0000000 61.5000000]

Let me know if this works, :wink:

Thanks!!

Blade2Blender 3rd pack.zip (57.2 KB)

see data here

i cannot open it with py notepade+ to see line numbers

but i open it with txt notepad2 don’t know why it is doing this !
but seems ok with notepa++!

so one file with 65 points per section X 93 sections= 6045 data points!

have to rework my file read to get this new data format !
read 65 then skip one line then read next section!

i prefer the first one easier to read more files then that

but i’ll work on it

@Witold_Jaworski

which one do you prefer ?

then can work on making the verts and face list to create a new primitive this weekend !

@santasemilla
will you check forum here this weekend in case we have questions!
is it possibl; to remove the file names for each section
have only pure data like 65 X93 and not other txt
make the file name with proper name for this blade and will use this has name!

thanks

ok i modified your last file zip and manually remove all the text line except the first line as title like the first zip file

and i can read it now i’l try to make the mesh and see how to make it !

hope i get the shape of prop this afternoon!LOL
or this weekend

thanks

This format is OK.
I will experiment with closing the mesh at the balde tip

I definitevly prefer a single data file - much more easier to maintain the data in the future

It seems that we have conflict here: look at the code I have published: for me these lines are THE MOST IMPORTANT ones!
Do not remove them! Because in my procedure I have not assumed any fixed number of the airfoils and the data points, it is more general and flexible. I think that it will be important for ultimate user - santasemilla - to try freely different number of airfoils and their points, in the future.
(That’s why I have stated the assumptions earlier: I have not assumed any fixed number in the input data!)

Ricky, do not be afraid of 10 000 faces! Such textured model renders in 5 seconds (or faster) per frame…

Well, I will publish here the next portion of the code, I have prepared, on Sunday. So you will be probably faster :eyebrowlift:.

well for the data txt lines i mean it is not needed for the data these lines are just remove
to make the array of verts

don’t see why this is needed

as long as you now 63 point X 92 sections for the array then that’s it we can make the mesh from theses verts data!

then you can change numbers of points or qty of section it does not matter !

unless you need sections with different numbers of verts !
but don’t think it is the case here!

i was able to read the around 6000 verts from my modified file

i’ll see if i can make the mesh faces today or tomorrow and be able to see the blade’s shape for this windmill
but i remove for now the blade tip we’ll see after how to finish the end tip here!

that should be very cool !

happy 2.6

Here is the next stage of solution:
This blade-002.zip (66.3 KB) file contains a file named blade.blend.
Update the INPUT_FILE constant to point to your location of the data file (at the top of the code) and press the Run Script button
It loads the geometry and creates the mesh of the blade with all the vertex groups.

santasemilla, could you specify the “Blade tip” in different fashion: actually it is a single, open line of 65 vertices. This way it creates a need for additonal assumptions, which point of the last airfoil should be connected with a point of the blade tip.
I think, that it would be much better to specify it just as an airfoil section: as a closed loop. Concpetually: if you scale an airfoil along the Y axis to 0, you will obtain a straight line, which topologically is still a closed loop. Then bend it in the Z direction to the shape of the tooltip, and such a loop of 65 points which would be the best for the mesh making, because I can use the same algorithm for generating faces here, like for the rest of the blade.

Next step (after this weekend): automatic creation of the armature (bones), assigned to the blade.

nice work for the blade
i’m still trying to get all the sections in
first 2 are working but have to go ahead and see how it goes!

just in case in using vista need to change file name path line like this for local folder

INPUT_FILE = “C:\Users\RJ\0blend25\00airfoilwindimill1\witold1\NREL5MW_s46v23N51_Datapack.dat”

with double backslah then it will work nicely

santasemilla

how does it look like ?
is it what you wanted ?

see top view here
it looks like the sections are not equal lenght
is it ok ?


santasemilla

wondering something here

1 - Airplane prop are twisted along main axis which is not the case here
so is this ok ?

2 Scale for blender
if you look at the precision for vert location we are at something like 0.001
is this good enough or need to get more digits after the dot like 4 or 5 digits ?
cause you file seems to have higher precision then 3 digits !

3-

@Witold_Jaworski

  • it would be interesting to see if there is a way to do this with spline circle and extrude along main axis
    no need to do the faces only verts - auto skinning !

Yes, I think that it is also possible to draw the first section, then extrude it, and then to change its vertices cooridinates to set it to the shape of the next section.
It is just an alternative way. Probably its code would have similar (or little more) complexity. From the practical side, as long as the execution time of the current code is acceptable, as the results it produces, there is no special need to work on such alternatives.

don’t know still wondering if we don’t have too many sections i mean 93 is a lot of sections

but it’s definitively the most high res prop i’v ever seen done yet !

it looks super nice

would like to do this for old plane prop like b17 or b24!

Hi Ricky, Witold,

First, the blade looks very good from the picture Ricky posted! Great job! I’m not in my computer right now but as soon as I can I’ll try it myself.

Witold, I understand the blade tip issue. My idea was (and sorry to assume it could be understood from just seen it) to connect that open curve I named blade-tip to the nose and tail points of airfoil #92. That’s why the number of points for the airfoil were odd (65), to ensure a point at the nose. This was my original thought. Now,as you say, it would be much easier an “airfoil” for the tip, what I can do is just, instead of assuming a point at the blade tip, let’s assume a small segment (no blade ends at a point in the real life) so, I’ll make a segment let’s say 10cm long divided into 64 (65 points) and position it at the very end of the blade. This will be easy as the blade at the tip has zero twist so… just a segment and that’s it. There will be no even need to bend it in Z. If I bend it… l would say let’s use the blade tip that we have now and get the two ends as the nose and tail of a freak line-type airfoil! :wink: I’ll do the small segment as soon as I can.

Ricky, couple of things. I haven’t had the chance to look at the blender file by now, but the blade should be lightly twisted. The twist at the root should be ~ 13[deg] and 0[deg] at the tip. So yes, it’s not like an airplane propeller, but it should have twist. Now, 93 sections could be a lot, yes, but it’s fine and I can tell you it is a coarse mesh compared to others I have. :wink: Regarding the spline technique, yes, it would be nice to try it. As Witold said, I’m using kind of that process in matlab to get all the intermediate blade sections. The difference is that I don’t use splines, I use hermite interpolation polynomials combine with other things in order to get a smooth result (blade external shape and also internal structures that I’m not porting to Blender). By using only spline you could end up with a bumpy surface as splines tend to produce overshoots at some points.

Well, as soon as I’ll get in my computer, I’ll try the blade and I’ll work on the little segment tor the blade tip

Thanks a lot guys!

santasemilla

sorry but a few more questions here

1 - Frames for animation
how many frames do you intend to do for the animation?
i mean we can use Key framing every few seconds and eveything in between is interpolated by blender
or do frame by frame which means 24 frames per second but that would be very tedious

hope we can do it with keyframe would be a lot easier here !

2 - when do you expect to have the datas for the bones or section rotation and translation per keyframe

3 - i have to say that in blender we use Bspline or Nurbs and did not see any overshoot
i touhgt that Bspline where the best interpol algo available on market !

4 - and in December we will have the new sort of T spline with new Nurb tools
so it’s gone be fun with the next release of blender near christmas !

5 - You say you find this coarse mesh with 64 segment per section! WOW
i mean if you apply smooth to it you cannot tell the difference !
you could have use 32 segments per section with smooth and may be at most apply a subsurf to it
and voila super smooth!

but if your happy with it no problems man

most of the time i don’t use super high res mesh like we did here
the minimum mesh with smooth is the best and fastest in blender !
may be add a subsurf modifier to it to get smoother edges

6 - Precision as i said
do you require more then 3 digits of precision after the dot like 0.001
or is it ok with you!

don’t forget blender is not a CAD soft its’more general modelisation and not function of the exact precision usually
so depends what you need as precision here!

thanks for your clarifications
we keep moving foward