CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Bugs (https://www.cfd-online.com/Forums/openfoam-bugs/)
-   -   problem with cyclicAMI and wall distance (https://www.cfd-online.com/Forums/openfoam-bugs/108079-problem-cyclicami-wall-distance.html)

 Maff October 14, 2012 11:14

problem with cyclicAMI and wall distance

2 Attachment(s)
Hi all,

I'm having some problems with cyclicAMI patches (OpenFOAM 2.1.1).
I'm working on a 3-bladed wind turbine, meshing a third of the domain (120-degree slice, single rotating reference frame).

The model is SpalartAllmaras and the solver is MRFSimpleFoam (by the way, MRFSimpleFoam is far more stable than SRFSimpleFoam in my opinion).

At the beginning I had problems with the convergence of nut and nuTilda.
After trying a lot of different schemes and relaxation factors, I noticed that "y" (wall distance in yPlusRAS) was calculated wrong. And I thought: that's why nut is not good.
With "cyclic" patches the wall distance is ok, so cyclicAMI seemed to be the problem.

Then I found this thread,
I added the cyclicAMI patches to "nonRotatingPatches" in MRFZones dictionary and now my results are ok (at least they seem ok).
But the wall distance y is still not good. I don't know if this can cause any problem, maybe with the calculation of y+.

The attached images show the problem with the calculation of y on the cyclicAMI patches (purple arrow).
The contour of y shows where the problem starts (yellow arrow), i.e. where it thinks there's a wall but there isn't.

I created the cyclicAMI patches with the following createPatchDict.
Code:

```pointSync false; patches (     {         // Name of new patch         name cyclic_half0;         // Type of new patch         patchInfo         {             type cyclicAMI;   neighbourPatch cyclic_half1;   transform rotational;   rotationAxis (0 1 0);   rotationCentre (0 0 0);   matchTolerance 0.0001;         }         // How to construct: either from 'patches' or 'set'         constructFrom patches;         // If constructFrom = patches : names of patches. Wildcards allowed.         patches (periodic1);         // If constructFrom = set : name of faceSet         set f0;     }       {         // Name of new patch         name cyclic_half1;         // Type of new patch         patchInfo         {             type cyclicAMI;   neighbourPatch cyclic_half0;   transform rotational;   rotationAxis (0 1 0);   rotationCentre (0 0 0);   matchTolerance 0.0001;         }         // How to construct: either from 'patches' or 'set'         constructFrom patches;         // If constructFrom = patches : names of patches. Wildcards allowed.         patches (periodic2);         // If constructFrom = set : name of faceSet         set f0;     } );```
I tried to specify the "rotationAngle", but it doesn't seem to have any effect.

Is this a bug or am I doing something wrong? Do I have to worry about this? (will y+ be calculated right?)

Thank you in advance

 Maff October 20, 2012 05:20

there's an easy way to reproduce this.
in the "mixer" tutorial (incompressible/SRFSimpleFoam/mixer) replace the cyclic patches with cyclicAMI patches.
run yPlusRAS and you will get strange "y" contours.

 kiddmax August 12, 2014 15:40

Hi Maff,

Although I know it is a quite old thread. But I am still wondering that you mean MRFSimpleFoam is more stable than SRFSimpleFoam. Can you give some suggestions about the tips to run SRFSimpleFoam? I also want to model a 3-bladed wind turbine.

The other question is can you use one third of domain with MRFSimpleFoam solver? not the whole domain for MRF ?

Thanks a lot!

Best regards
Ye

 Maff August 12, 2014 17:31

well, it's been a while. this is what I remember: the problem I had with SRFSimpleFoam started at the axis of rotation, nut started increasing without reason.
with MRF (simpleFoam with fvOption dictionary in the last versions of openfoam), I didn't have that problem.

you can try MRF for your case, it behaves as SRF if you specify just one region.
as for the stability, it may depend on the case, there's probably a reason why you have both options in openfoam. (for one, with MRF you have to calculate Urel yourself)

 kiddmax August 14, 2014 03:27

Hi Maff,