CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM (
-   -   Wind Turbine from SRFSimpleFoam to pimpleDymFoam (

be_inspired July 6, 2013 05:44

Wind Turbine from SRFSimpleFoam to pimpleDymFoam?How?
1 Attachment(s)
Hi all,

I am going to reformulate the question with more information so in this way, it could be more interesting for others in future.

I would like to simulate a wind turbine using the sliding mesh aproach into OF2.1.1. My starting point is a mesh previously used for SRFSimpleFoam. It is a 120 grades sector where one blade is included and it was meshed using IcemCFD.

I suppose that the first task would be to triple the mesh, rotate each zone and merge the zones. The next step that I do not know if it is necesary to do is apply a "stitchMesh" process between each pair of patches.

I have tried to apply the stitchMesh ( without -perfect flag, because when I use it, it tells me that the distance between points is higher than a specific tolerance defined by the minor edge length) and it seems that I can do the process two times but when I want to do the last one, it tells me:


Face 23340818 reduced to less than 3 points.  Topological/cutting error B.
Old face: 2(72 73) new face: 2(72 73)

Could it be possible to impose a cylicBC to each pair of patches?

I have the impresion that because I do not have a perfect 120 grades sector and because the minimum edge length is very low due to the boundary layer refinement, I can not use the -perfect flag.

What do you think is the best way to obtain the mesh required for pimpleDymFoam solver?

Thank you very much!!

be_inspired July 24, 2013 11:04

3 Attachment(s)
I have tried to progress and now I am facing the next issue.
All the work about the mesh was done into Fluent and now a have a msh with two regions and the patches that will be the AMI patches.

I have run a simpleFoam simulation to check that all goes ok and it seems that there is no problem. When I have run pimpleDyMFoam solver, the courant number goes 5.86138e+07....

There are some guidelines where they do not say anything about baffles or createAMIDict files.

Can I check where max Courant number happens in the field?
Could someone explain me why or why not it is neccesary to follow the propeller tutorial even if the mesh has been made using ICEMCFD/Fluent?

I already have defined the regions and the patches into ICEM/Fluent

Thank you very much

bennn October 8, 2013 03:25

This was a long time ago but here are a few very general guidelines.

- With unsteady AMI the courant number needs to be really low. your value will make the computation crash for sure. You need to reduce timestep size.

- Across an AMI you want the mesh size to be as constant as possible. That will make the computation crash as well, or at least create weird oscillation at the boundary.

- Your external mesh looks rather small. Expand or maybe get rid of it (you'll get rid of the AMI then which might be a good option).

- Best thing you can do is follow the propeller tutorial. The origin of the mesh has nothing to do with that.

Last but not least : With just 3 blades there's no point in running unsteady simulations (as long as the blades are not stalled). It would make sense with a pile or something. And furthermore the periodic BC will reduce your computation time a lot. I would use that in the unsteady case if possible.

be_inspired March 11, 2015 11:58

Thank you very much for your help.

I have modified the problem and now the nacelle and tower are included.
The domain is quite large in comparison to the fist approach.

I have followed the propeller tutorial to have a snappy mesh ready to run but I have a great doubt:
pimpleDyMFoam can be used for "large time steps", but how large is that?
My trailing edge thickness is around 2 mm and the relative wind speed at tip region is quite high ( 80m/s) . To have a relative low Co number around 1 in all the domain, time step should be around 2e-5. When managing a mesh of 30M cells with a time of 3 seconds to achieve 1 revolution of the rotor, the number of iterations is prohibitive.

In Fluent or CFX, time step can be adjusted to more or less the time required to rotate 1 per time step, playing with the inner iterations to stabilize the solution.

How can, in OpenFoam, we deal with this type of problem?

All times are GMT -4. The time now is 19:36.