CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Post-Processing (https://www.cfd-online.com/Forums/openfoam-post-processing/)
-   -   Question for engineers experienced with VAWTs and airflow (https://www.cfd-online.com/Forums/openfoam-post-processing/122147-question-engineers-experienced-vawts-airflow.html)

 Boloar August 13, 2013 06:32

Question for engineers experienced with VAWTs and airflow

1 Attachment(s)
Hi all.

Thanks to this forum, I was successful in designing a 2D wind tunnel for simulating vertical-axis wind turbines, with incompressible pimpleDyMFoam.

My question is, as a newbie to aerodynamics, how should I go about quantitatively explaining my OpenFOAM output? For example, based on the attached image, can I definitively say that a wind turbine design extracts more energy if the air seems to exit at a lower velocity?

In the simulations, the inlet air speed is 5 m/s, right to left, and the turbines are rotating at 275 rpm. The blanked one is a proprietary design based on the typical Darreius design.

The simulations were for 1 second of simulated time (which took quite a while thanks to several floating point and 'increasing timePrecision' errors, and my most powerful computer being a 5-year-old dual-core laptop). In the attached image, the airflow was time-averaged over the length of the simulation (1s) and then sampled over a line just to the left of the rotation region to give the average exit airspeed coming out of the turbine.

P.S. I'm not 100% certain I understand the forces output. Can I use it to perhaps extract the torque on the system?

 GDTech August 21, 2013 10:16

Hi,

Quote:
 Originally Posted by Boloar (Post 445400) For example, based on the attached image, can I definitively say that a wind turbine design extracts more energy if the air seems to exit at a lower velocity?
No, velocity field is not a good indicator of the turbine efficiency. Power absorbed by the turbine is the good one. To mesure it, you have to compute the torque on your turbine using the force functionObject (http://foam.sourceforge.net/docs/cpp/a00711.html). Then, multiply it with the rpm you are done.

Hope this helps !
Regards.

 Boloar August 22, 2013 01:14

Quote:
 Originally Posted by GDTech (Post 447170) To measure it, you have to compute the torque on your turbine using the force functionObject (http://foam.sourceforge.net/docs/cpp/a00711.html). Then, multiply it with the rpm you are done.
I've got the forces output but I'm rather unsure how to interpret it into torque/power absorbed.
I manually converted the forces output into a CSV file and calculated the magnitudes with a spreadsheet, but as I'm not a mechanical or aeronautical engineer ... I'm a little lost haha.
I see forces(pressure, viscous, porous) and moment(pressure, viscous, porous). The "porous" is all zeros, and the "pressure" seems to have the highest values.
Presumably "forces" is the frictional force on the walls of the turbine, and "moment" is closer to torque?

 GDTech August 22, 2013 02:28

Actually, moment is torque ;-)
Sum pressure moment (torque due to pressure forces) and viscous moment (torque due to viscous shear stresses) and you get torque on your turbine !

 Boloar August 22, 2013 02:35

Quote:
 Originally Posted by GDTech (Post 447332) Actually, moment is torque ;-) Sum pressure moment (torque due to pressure forces) and viscous moment (torque due to viscous shear stresses) and you get torque on your turbine !
Ah, hahah :D That makes sense lol.

So you said multiplying with rpm will give the power? Is it that simple or is there any equation(s) I might want to consider? E.g. should it be rpm or rads/sec since the rotation in OpenFOAM is given in rad/s?

 GDTech August 22, 2013 02:46

It is that simple for steady state problems ! (http://en.wikipedia.org/wiki/Torque)
in SI units : Torque [Nm] * omega [rad/s] gives you Watts

 Boloar August 22, 2013 03:06

Quote:
 Originally Posted by GDTech (Post 447338) It is that simple for steady state problems ! (http://en.wikipedia.org/wiki/Torque) in SI units : Torque [Nm] * omega [rad/s] gives you Watts
Well, dang. :D

 pbachant August 25, 2013 11:40

The most important performance metric is the power coefficient, which you can calculate by normalizing the power by (1/2*rho*turbine_frontal_area*U^3). I have written a Python script to extract this information (and the drag or thrust coefficient) from the forces.dat file. You may need to adjust the area, radius, density, and free stream velocity (U) to suit your case. You can see the code here:

https://gist.github.com/petebachant/6334510

 Boloar August 26, 2013 02:03

Quote:
 Originally Posted by pbachant (Post 447936) The most important performance metric is the power coefficient, which you can calculate by normalizing the power by (1/2*rho*turbine_frontal_area*U^3). I have written a Python script to extract this information (and the drag or thrust coefficient) from the forces.dat file. You may need to adjust the area, radius, density, and free stream velocity (U) to suit your case. You can see the code here: https://gist.github.com/petebachant/6334510
Excellent, thanks. I'll have to hack at that python code a bit as I changed the format of the forces output directly at the source, but this'll really help. For example, I got rid of the porous forces/moments (always 0 0 0 ). I'm rather afraid of regex though, hahah

How's your simulation progress coming along, if I may ask? There were some recent updates to the source code that allow for a changing RPM in the simulation, after updating OpenFOAM only thing you need to change is a few lines in constant/dynamicMeshDict :D

 pbachant August 26, 2013 13:14

Quote:
 Originally Posted by Boloar (Post 448004) Excellent, thanks. I'll have to hack at that python code a bit as I changed the format of the forces output directly at the source, but this'll really help. For example, I got rid of the porous forces/moments (always 0 0 0 ). I'm rather afraid of regex though, hahah How's your simulation progress coming along, if I may ask? There were some recent updates to the source code that allow for a changing RPM in the simulation, after updating OpenFOAM only thing you need to change is a few lines in constant/dynamicMeshDict :D
My simulations are coming along quite nicely. Starting with your case was a huge help. Thanks again!

Care to explain how you're changing RPM during the simulation? I am using the latest OpenFOAM, and it might be useful to have RPM oscillate to replicate the effects of torque ripple.

Also I'd be interested in knowing what you had to change to remove the porous forces. I can update the regex accordingly in the Python script. The forceRegex variable is appended to in a logical way, mostly grouped by line for x, y, and z components, so modifying is easy.

 Boloar August 26, 2013 13:25

Quote:
 Originally Posted by pbachant (Post 448151) My simulations are coming along quite nicely. Starting with your case was a huge help. Thanks again! Care to explain how you're changing RPM during the simulation? I am using the latest OpenFOAM, and it might be useful to have RPM oscillate to replicate the effects of torque ripple. Also I'd be interested in knowing what you had to change to remove the porous forces. I can update the regex accordingly in the Python script. The forceRegex variable is appended to in a logical way, mostly grouped by line for x, y, and z components, so modifying is easy.
http://www.cfd-online.com/Forums/ope...tml#post443533
You input the rotation speed omega (radians/sec) in dynamicMeshDict in a table format as shown, and OpenFOAM should interpolate between the speeds you specify at each time specified.

Don't worry about the python script for now, I just changed the forces output back to the original format, lol. But if you want to take a look, the file I had changed is \$FOAM_DIR/src/postProcessing/functionObjects/forces/forces/forces.C around lines 670-690. I'm not on my linux box at the moment so I can't pull up my source files, lol. No worries though ^_^

 All times are GMT -4. The time now is 16:00.