CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   CFX (https://www.cfd-online.com/Forums/cfx/)
-   -   Wind turbine simulation in Ansys CFX (https://www.cfd-online.com/Forums/cfx/123310-wind-turbine-simulation-ansys-cfx.html)

aalbanesi September 9, 2013 19:01

Wind turbine simulation in Ansys CFX
 
Hi everyone,

I am going to simulate a horizontal axis wind turbine with Ansys CFX. I have some experience with CFX, in particular with vehicle aerodynamics simulation, and with internal combustion engine simulation.

I have read many posts in this forum regarding wind turbine simulation in CFX, however, i still have some doubts regarding interfaces, frozen rotor and immersed solid approaches.

Does anyone have a CFX-Pre setup to share so I can have a look at it? If not, anyone has a tutorial to share?

Kind regards,

Alejandro

ghorrocks September 10, 2013 05:51

This simulation is quite simple to set up.

First of all - forget immersed solid. That will not be appropriate for a wind turbine model.

For the rotating frame of reference stuff have a look at the rotor/stator tutorial which comes with CFX and other rotating frames of reference examples.

For the "object in a free stream flow" simulation have a look at the Flow around a blunt body simulation.

There are more tutorials on the ANSYS community site, off the ANSYS webpage.

aalbanesi September 10, 2013 17:41

Thank you for your reply. I will get into those tutorials. I am also looking around the Ansys community site.

In case you have any pre files of similar simulations at hand, It would be very helpful.

Kind regards,

Alejandro

er_ijaz September 30, 2013 05:39

Hi r using sliding mesh or MRF analysis?

ghorrocks September 30, 2013 18:25

Sliding mesh allows you to connect two meshes which are sliding past one another and multiple frames of reference allows you to do simulations where different parts of the simulation are in different frames of reference. They are totally different things, but if you are doing a MFR simulation you are probably using sliding mesh as well.

er_ijaz September 30, 2013 23:56

Hi thank u , I have done simulation using sliding mesh analysis. Problem now I'm facing is with post processing ...Do u have any tutorials to work on post processing. I need to do simulation of wake behind the blades or images of wakes

aalbanesi October 10, 2013 11:14

I located the rotor in a Rotating Domain. This rotating domain is immersed in a Stationary Domain, as shown in the next figure. The rotating speed is set manually, and then CFX automatically creates the interfaces.

http://img841.imageshack.us/img841/5904/b01m.jpg

The solver runs normally, but the results are not satisfactory. What am I missing, what is wrong with this configuration?

Also, is there a way to configure the rotating speed as a function of the torque generated by the rotor? (instead of a fixed ideal value, I would like to obtain the real value).

Thanks in advance,

Alejandro

ghorrocks October 10, 2013 17:19

Your domain configuration is fine. You have some other problem causing the inaccuracy - http://www.cfd-online.com/Wiki/Ansys..._inaccurate.3F

Yes, you can set the rotation speed as a function of torque but I do not recommend it in general. It is generally better to run a series of rotational speeds and get the performance curve of the device. Then you can find the rotation speed by interpolation. This means you have a series of simple fixed speed simulations, rather than a tricky variable speed simulation.

aalbanesi October 10, 2013 19:38

Thanks ghorrocks for your quick reply. I will read the Ansys FAQ carefully in order to figure out what is wrong with my simulation. I will follow your advice with regards to the rotation speed.

Perhaps I am not using the correct CEL expression in CFX Pre to compute the torque.

What would you recommend to compute the torque, should I do it in CFX Pre or Post?

If "V" is the wind speed, "Vrot" is the rotation speed, and "rotor" is the part name, can you give me a correct expression of the torque?

Thanks for your help, regards

Alejandro

ghorrocks October 10, 2013 20:28

Torque has nothing to do with wind speed or rotation speed. You can get the torque from an expression like torque_x()@BladeSurface, assuming the rotor is on the x axis and the name of the wall boundary for the rotor is BladeSurface.

aalbanesi October 11, 2013 08:14

Thank you. I assume that the CEL expression of torque is independent of wind speed or rotation speed. I will give it a try, and let you know if it worked.

Btw, do you recommend steady state o transiet simulation?

Kind regards,

Alejandro

ghorrocks October 12, 2013 06:37

That depends on what you are modelling. If you just want the steayd performance then steady state.

Also - you appear to have 1/3 periodicity. Why not model just 1/3 of this?

aalbanesi October 15, 2013 07:53

Your right, one option is to take advantage of the periodicity of the model (perhaps for the firsts simulation).

But for the future, i want to include the support tower in the model, and analyze the interaction between the tower and the rotor.

I will make the firsts simulation with 1/3 of the model, and afterward I will use the complete rotor along with the tower.

Do you think I need to setup an additional interface for this setup (rotor + tower)?

Thank you , Alejandro

ghorrocks October 15, 2013 19:47

Think frames of reference, not objects. The only rotating thing (which will go in a rotating frame of reference) is the blades. Everything else is stationary. So stick the blades in rotating frame of reference and everything else in a stationary frame. And it is best to stick everything in a SINGLE domain in the stationary frame of reference if possible.

aalbanesi October 16, 2013 08:03

Thank you. It is very clear now.

Regards, Alejandro

aalbanesi October 17, 2013 11:41

Glenn, hi. The simulation is running, but my results are wrong.

I am using in CF-Post the CEL expression you recommended (torque_x()@rotor Default), the rotor is on the x axis and the name of the wall boundary is rotor.

When I compute the power generated (combining torque and rotational speed), the wind turbine is generating more power than the power that is available in the wind, for the same surface (rotor surface). That is impossible.

So, as i figured, it is not a problem of convergence against grid refinement (at least yet). Mesh refinement will eventually come when the simulation works fine (when the power generated by the turbine is below the available power in the wind).

Below I leave a RAR file with the ICEM project (without mesh), a CFX-Pre file with a loaded mesh, and a CFX-Pre file without the mesh.

https://www.dropbox.com/s/lplbmrclkehp5qt/forum.rar

Would you please give a quick look at the CFX-Pre settings, to verify if everything is Ok?

I have also calculated torque as a monitor point in the solver, since I read in another post that sometimes the CFX-Post gives incorrect forces and torques. Since I am getting the same values of torque in the solver as in CFX-Post, I think the problem is in the CFX-Pre settings.

Thank you for your help and patience, regards

Alejandro

ghorrocks October 20, 2013 19:55

I do not have time to check your simulation in detail.

Your assumption that too coarse a mesh cannot result in the generated torque being too high is wrong. It certainly can, so I definitely would check mesh density.

And check out this general FAQ: http://www.cfd-online.com/Wiki/Ansys..._inaccurate.3F

aalbanesi October 21, 2013 09:53

No problem Glenn. I know grid refinement affects the results, but I think I have another kind of problem (and I think many other users in the forum have the same problem).

I made several simulations, each one with the same wind speed (V=10 m/s) but with different rotation speeds (increasing from zero to 100 RPM).

Once a specific rotation speed has been reached (above lambda = 5, where labmda is the ratio between the wind speed and the blade tip speed), the blade's aerodynamic coefficient goes up to 70%.

However, Betz limit says it can never be larger than 59.7 %. And, if I increase lambda a bit more, the blade's aerodynamic coefficient CP keeps getting larger until the wind turbine produces more power than the power available in the wind.

Perhaps there is a physical mismatch in the model configuration, as the torque computed by ANSYS depends of the wind speed (fixed value of 10 m/s), and of the rotational speed of the rotating domain (user specified). In the specific literature of wind turbines I found that values of lambda = 7 are quite common, with a CP = 40%. However, for lambda = 7, CFX computes CP = 300%.

Do you have any idea how to make the rotational speed as a function of the torque generated by the blade?

Regards, Alejandro

ghorrocks October 21, 2013 17:27

You can make the rotational speed a function of torque but it significantly complicates the simulation. For most applications it is better to run a sweep of several rotational speeds and interpolate to the steady state speed, and run that speed as a fixed speed run as well. This is a much simpler approach.

drsattar November 8, 2013 02:55

rotational speed
 
Quote:

Originally Posted by aalbanesi (Post 457490)
Glenn, hi. The simulation is running, but my results are wrong.

I am using in CF-Post the CEL expression you recommended (torque_x()@rotor Default), the rotor is on the x axis and the name of the wall boundary is rotor.

When I compute the power generated (combining torque and rotational speed), the wind turbine is generating more power than the power that is available in the wind, for the same surface (rotor surface). That is impossible.

So, as i figured, it is not a problem of convergence against grid refinement (at least yet). Mesh refinement will eventually come when the simulation works fine (when the power generated by the turbine is below the available power in the wind).

Below I leave a RAR file with the ICEM project (without mesh), a CFX-Pre file with a loaded mesh, and a CFX-Pre file without the mesh.

https://www.dropbox.com/s/lplbmrclkehp5qt/forum.rar

Would you please give a quick look at the CFX-Pre settings, to verify if everything is Ok?

I have also calculated torque as a monitor point in the solver, since I read in another post that sometimes the CFX-Post gives incorrect forces and torques. Since I am getting the same values of torque in the solver as in CFX-Post, I think the problem is in the CFX-Pre settings.

Thank you for your help and patience, regards

Alejandro

I take a look on your files and I just doing a simulation for wind turbine using cfx and I notes that you assume that your rotational speed is negative
because your rotation is in clockwise . are you got negative value for torque or not,,, because I have counter-clockwise rotation and i have negative value of torque and I think there is a mistake in my simulation
I hope you can answer me
best regards

best regards

aalbanesi April 14, 2014 10:44

Hi all. With your help we got the turbine simulation working, and it is giving very accurate results (in steady state it matches perfectly measures from a wind tunnel). We are now solving transient simulations, and testing other turbulence models such as SAS-SST.

However, we would like to make the rotational speed a function of torque in CFX CEL, and compare the final rotational speed with our data. Given the inertia value (known to us), how could we make such function?

I know Glenn does not recommend this, but we would like to try it anyway to compare.

Thank you and regards,

Alejandro

ghorrocks April 14, 2014 18:53

Yes, I do not recommend this. It is much easier to run a series of fixed rotation speeds then interpolate to find the operating speed based on the torque output of each rotation speed.

But if you insist on doing it that way:
It would be nice to use the rotating frame of reference model to do the rotor and use an expression to control the speed, factoring in the torque, load and inertia. The problem is that the inertia requires knowledge of the previous speed and that can be tricky to get in CEL. You might be able to use tricks like areaAve(omega)@rotor as these callback functions return the valve from the previous time step. There are also some pretty horrible tricks to get additional variables retain values from previous iterations. Or you could just jump right in and write a fortran user routine to do it, then you can properly account for everything.

Then you can go the 6DOF solver approach. This can account for inertia easily, but the generalised motion model in this model will be far slower than the rotation only one in rotating frames of reference and your run time will be immense.

aalbanesi April 14, 2014 20:34

Thank you Glenn for your reply. At this moment we are doing what you recommend: running series of fixed rotation speeds. How can I find the operating speed with this method?

As the rotating speed rises so does the torque, until we reach a certain rotation speed where the torque starts to diminish. I suppose the correct rotation speed is the point where maximum torque is achieved, right?

I am not familiar with the rest of the options, but I will look into it. Regards,

Alejandro

ghorrocks April 14, 2014 20:37

No - have a think about what determines the steady state operating speed.

The rotor will not accelerate or decelerate when there is no net torque on the rotor. There will be zero net torque when the torque produced by the turbine equals the torque absorbed by the generator and other losses. So you need to know what your load is doing, as well as the rotor.

Then you plot a chart of net torque versus speed. Interpolate to where the net torque equals zero and that is your operating speed.

ENGRTAHIR April 19, 2014 17:53

Dynamic Stability of projectile
 
Dear All
I am new to CFD. I want to calculate stability derivative of projectile using 6-dof analysis in CFX or FLuent or any other software. my basic aim is to calculate the derivative of pitching moment and magnus coefficient.
can anybody help me or have some tutorial files

ghorrocks April 20, 2014 06:35

Try the fluent forum for help on this.

But if you are looking for derivatives of pitching moments and similar coefficients it does not sound like you want to do a 6DOF simulation. This sounds like you want to do a series of stationary simulations at a range of angles of attack so you can determine the coefficients you are looking for. This is a straight forward set of simulations as no 6DOF is required.

redline July 23, 2015 11:52

Hey guys, I got a question that fits really fine in here, hope you are okay with that.

My topology is quite close to the one of aalbanesi and I'm already working with 1/3 and everything works fine, almost.

I got a realistic torque at the shaft and and a cp of approx 0.4, which sounds great to me. But I got the following problem:

The velocity of the fluid is not getting smaller, I gave a velocity of 12.5m/s at the inlet and it's almost constant until the outlet, which is about 10x of the height of my blade far (according to ansys).

So I think that the Simulation does not know, that the blades take power out of the wind and the shaft is braked by the Generator and so on.

So I thought of creating a subdomain to drop the velocity to 2/3 in the rotorplane and to 1/3 behind (not sure where exactly), according to Betz. I tryed different setups in the subdomain/sources/loss model.

I do not understand the meaning of the streamwise direction and the Options of the streamwise loss, also the ansys help did not clear that for me.

Are any other recommendable pdf, tutorials or hints by you guys?

Thank you very much for your Patience. Peace.

singer1812 July 23, 2015 14:56

Looking at the pic earlier, and you say it is similiar. Are your side boundaries walls? Or, is the blade in an enclosed tunnel in your model?

redline July 24, 2015 02:48

Almost similiar, I have three domains axial, a stationary inlet-domain, a rotational domain, and a stationary outlet-domain. I do not have radial to my rotating domain a stationary one.

So the blade does not have an extra enclosure. Which side? At the top is a counterrotating wall and at the side is symmetry with rotational periodicity.

But how to define a velocity loss according to Betz?

ghorrocks July 24, 2015 02:59

There is no need to define a velocity loss. It will be part of the solution when the solver conserves mass and momentum so an accurate simulation will already have it.

What is your solver momentum imbalance? If that is small than the imbalance from the inlet to outlet is what the rotor is absorbing - and that is what you are looking for, isn't it?

singer1812 July 24, 2015 10:56

Glenn is right. Velocity loss is part of solution, but you have to model it correctly to get that.

If you have walls on the side of your entire domain, with a fixed inlet velocity, by nature of conservation of mass/momentum, your exit velocity (average) will be the same (assuming incompressible fluid).

redline July 24, 2015 14:38

Okay, I think I see what you mean. I force the velocity with use of walls because of the conservation of mass/momentum... Mh. So I'll concidere to use an opening at the top of the outlet-domain. Mh, I'll have a try.

As far as good, thank you both. You'll hear from me ;)

redline August 14, 2015 04:35

Hey guys, me again.

The simulation is on a good way. I almost miss her at night ;)

I have a question which was sometimes already clear to me and than weird again. The value of my torque which comes out of the torque function around my rotational axis (z) with location on my blade via named selection is sometimes quite different.

Now my question: As I simulate "just" a 120° part of my real modell with only a single blade instead of three, do I have to multiplicate the torque with"3" or should it have according to the symmetry the right amount of torque?

And: I tryed to define my angular velocity on several ways. When I define it as an Expression with the value of e.g. 300[min^-1] and set the turbine power as an Expression too with P=2*PI*M*n. P has the dimension [degree]... :( Although M has the right dimension of Joule. Weird.

Thanks for your time!

ghorrocks August 14, 2015 08:25

If you model 120° of the full thing you will then have to multiply the torque by 3 to get the total torque of the device.

redline August 14, 2015 08:33

Quote:

Originally Posted by ghorrocks (Post 559588)
If you model 120° of the full thing you will then have to multiply the torque by 3 to get the total torque of the device.

Okay thanks!

redline August 28, 2015 14:52

Hey Glenn, hey guys.

Deadline is coming close and I got a new massive problem yesterday.

I'm checking the convergence of the grid at the moment and there five were single steps:

  • the radius
  • inlet_interface1 - distance
  • interface1_rotorplane - distance
  • rotorplane_interface2 - distance
  • interface2_outlet - distance
FYI: I have three domains in direction of stream, a stationary (inlet), a rotating (including the blade) and a stationary again (outlet).


I recognized that I did not got a convergence for the inlet_interface1 - distance. So I decided to run the simulation again with all values extremely high. So I definetly could suspend the influence of the frames (walls, inlet, outlet, interface) and now comes the big prob: I got an huge torque at the blade which can surely not be right, its almost 5 times higher then the torque of the existing construction...


I have no ideas.


Can I do a mistake by choosing the values "too" high?
Any ideas?
Need more input from me?


Thanks for your time!

ghorrocks August 28, 2015 17:13

There are many things other than bonuary proximity which can affect accuracy:
http://www.cfd-online.com/Wiki/Ansys..._inaccurate.3F

Kutan May 17, 2016 03:28

Quote:

Originally Posted by aalbanesi (Post 486041)
Hi all. With your help we got the turbine simulation working, and it is giving very accurate results (in steady state it matches perfectly measures from a wind tunnel). We are now solving transient simulations, and testing other turbulence models such as SAS-SST.

However, we would like to make the rotational speed a function of torque in CFX CEL, and compare the final rotational speed with our data. Given the inertia value (known to us), how could we make such function?

I know Glenn does not recommend this, but we would like to try it anyway to compare.

Thank you and regards,

Alejandro

Hi Alejandro,

What have you changed in your model? How did you managed to get accurate/suitable results for your wind turbine? At the moment, I have the same problem with my analysis and don't know what is the reason. For low roational speed and lower velocities it gives correct results, but design wind speed and rotational speed I get Cp around 300%. Could you please help me?

Thanks in advance.

Best Regards,
Kutan

ghorrocks May 17, 2016 07:20

Have you looked at the accuracy FAQ: http://www.cfd-online.com/Wiki/Ansys..._inaccurate.3F

There is not a single thing required for accurate results, many things need to be correct for the results to be accurate. The FAQ lists most of them.

Kutan May 17, 2016 07:26

Quote:

Originally Posted by ghorrocks (Post 600364)
Have you looked at the accuracy FAQ: http://www.cfd-online.com/Wiki/Ansys..._inaccurate.3F

There is not a single thing required for accurate results, many things need to be correct for the results to be accurate. The FAQ lists most of them.

I know the list and did all the steps. I just wonder how and/or what Allejandro did so that he got the correct results.

Regards,
Kutan


All times are GMT -4. The time now is 20:51.