CFD Online Logo CFD Online URL
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Divergence of ducted propeller simulation using MRF simpleFoam

Register Blogs Members List Search Today's Posts Mark Forums Read

LinkBack Thread Tools Search this Thread Display Modes
Old   January 13, 2020, 05:58
Default Divergence of ducted propeller simulation using MRF simpleFoam
Senior Member
Kmeti Rao
Join Date: May 2019
Posts: 145
Rep Power: 4
Krao is on a distinguished road
Dear Foamers,

I am simulating a propeller enclosed within a duct. The case is similar to what I have described in this thread One half propeller simulation with MRFSimpleFoam crashing, and the only difference from previous case to this case is that I have a duct enclosing the propeller. In both cases I am simulating only half of the propeller as the simulation area is symmetric.

I am using OpenFOAM 6 from, with RANS K-omegat SST to solve the turbulence and the solver algorithm is simpleFoam with MRF(by defining static and dynamic regions using cyclicAMI). So far I have had success in the simulation of the propeller using this method and got satisfying results which were similar to the analytical results, obtained from BEMT method. Now the introduction of duct have resulted in divergence(attached the images and settings in the end)

To study the cause of divergence, I have done difference simulations, which includes the following setup.

1) The duct being outside the MRF domain
2) The duct inside the MRF domain

In both cases I didn't get any success. I have crosschecked my checkMesh results as well as yPlus values and it seems to be ok.

Since I got success with open rotor simulation, I have maintained most of the settings as it is. Please let me know if any of you have faced similar problems, and what are the methodologies you have used to overcome the above mentioned problem. I will be open to any other suggestions as well.


default steadyState;

default Gauss linear;
grad(p) cellMDLimited Gauss linear 0.5;
grad(U) cellMDLimited Gauss linear 0.5;

default none;

div(phi,U) Gauss limitedLinearV 1;

div(phi,k) Gauss upwind;

div(phi,omega) Gauss upwind;

div((nuEff*dev2(T(grad(U))))) Gauss linear;
method meshWave;
default Gauss linear limited corrected 0.777;

default linear;

default limited corrected 0.5;

fv Solutions:

solver GAMG;
smoother GaussSeidel;
tolerance 1e-6;
relTol 0.01;
minIter 3;


solver smoothSolver;
smoother symGaussSeidel;
tolerance 1e-5;
relTol 0.1;
minIter 3;


nNonOrthogonalCorrectors 2;
U 1e-5;
p 1e-5;
"(k|epsilon|omega)" 1e-5;

nNonOrthogonalCorrectors 10;

"(k|epsilon|omega).*" 0.7;
"(U).*" 0.7;
p 0.3;


Create time

Create polyMesh for time = 0

Time = 0

Mesh stats
points: 12764980
faces: 35404479
internal faces: 34139889
cells: 11330836
faces per cell: 6.13762
boundary patches: 13
point zones: 0
face zones: 0
cell zones: 0

Overall number of cells of each type:
hexahedra: 10694049
prisms: 3070
wedges: 0
pyramids: 6088
tet wedges: 0
tetrahedra: 2816
polyhedra: 624813
Breakdown of polyhedra by number of faces:
faces number of cells
6 139363
7 92210
8 18916
9 280098
10 20
12 81515
13 1
15 12551
16 1
17 2
18 134
21 2

Checking topology...
Boundary definition OK.
Cell to face addressing OK.
Point usage OK.
Upper triangular ordering OK.
Face vertices OK.
*Number of regions: 2
The mesh has multiple regions which are not connected by any face.
<<Writing region information to "0/cellToRegion"
<<Writing region 0 with 6781453 cells to cellSet region0
<<Writing region 1 with 4549383 cells to cellSet region1

Checking patch topology for multiply connected surfaces...
Patch Faces Points Surface topology
blades 457604 464904 ok (non-closed singly connected)
cylinderInner 108556 108825 ok (non-closed singly connected)
plate_1 28572 30523 ok (non-closed singly connected)
plate_2 29114 31075 ok (non-closed singly connected)
duct 349298 363938 ok (non-closed singly connected)
leftSideWall 18224 18561 ok (non-closed singly connected)
reightSideWall 17922 18255 ok (non-closed singly connected)
outlet 9113 9315 ok (non-closed singly connected)
inlet 9176 9375 ok (non-closed singly connected)
back 35912 36315 ok (non-closed singly connected)
symmetry_a 39535 40459 ok (non-closed singly connected)
symmetry_b 39801 40725 ok (non-closed singly connected)
cylinderOuter_a 121763 122104 ok (non-closed singly connected)

Checking geometry...
Overall domain bounding box (-1.8 -1.8 -5.4) (2.7947e-05 1.8 1.8)
Mesh has 3 geometric (non-empty/wedge) directions (1 1 1)
Mesh has 3 solution (non-empty) directions (1 1 1)
Boundary openness (1.2663e-13 1.49952e-15 1.23999e-16) OK.
Max cell openness = 4.05589e-16 OK.
Max aspect ratio = 19.2986 OK.
Minimum face area = 1.88522e-10. Maximum face area = 0.0118298. Face area magnitudes OK.
Min volume = 1.62596e-14. Max volume = 0.00131357. Total volume = 46.6544. Cell volumes OK.
Mesh non-orthogonality Max: 65.0977 average: 5.43681
Non-orthogonality check OK.
Face pyramids OK.
Max skewness = 3.1831 OK.
Coupled point location match (average 0) OK.

Mesh OK.

The following are the forces which I am controlling to see whether the result is converged. As it can be clearly seen the propeller simulation is having a lot of noise as compared to that of the open rotor.



Thank you all in advance,

Kmeti Rao
Krao is offline   Reply With Quote

Old   January 13, 2020, 09:35
Senior Member
Kmeti Rao
Join Date: May 2019
Posts: 145
Rep Power: 4
Krao is on a distinguished road
In the above result presented I have my Duct placed inside the simulation domain, with this settings, however good the mesh is I never achieved the convergence.

Therefore I have started the simulation by placing the Duct outside the MRF region. For this I have to make the MRF region so small that the propeller just fits inside the MRF region. This has also resulted in divergence. Therefore I have carried out a test to study the influence of MRF region diameter on the simulation results. As expected the simulation of single propeller with smaller MRF diameter did not converge, while increasing the MRF domain size a little by 10% has resulted in periodic oscillation of results about a value. By increasing the MRF domain by 20% and more I started to get stable, results.

Therefore placing the duct outside the MRF region has also resulted in poor convergence.

It would be great if any of the experts in this field gives me a small hint, with which I can carry out my simulations further.

Thank you

Kmeti Rao
Krao is offline   Reply With Quote


convergence failure, duct, mrf simplefoam, propeller, rotor

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
MRF case - simpleFoam quits after building mesh for time = 0 .bastian OpenFOAM Running, Solving & CFD 8 February 7, 2020 16:42
[ANSYS Meshing] Help with element size sandri_92 ANSYS Meshing & Geometry 14 November 14, 2018 07:54
Propeller Simulations at an Angle of Attack using MRF method wingster77 FLUENT 0 February 27, 2018 23:12
Problems with divergence for 2D simulation in simpleFoam kush_vidyarthi OpenFOAM Running, Solving & CFD 14 October 31, 2016 12:12
SimpleFoam crashes after restarting simulation fedez91 OpenFOAM Running, Solving & CFD 18 September 4, 2016 08:59

All times are GMT -4. The time now is 05:04.