CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   cyclic BC - createPatch (https://www.cfd-online.com/Forums/openfoam/69847-cyclic-bc-createpatch.html)

AirS November 6, 2009 10:32

cyclic BC - createPatch
 
Dear Foamers,
I know there're lots of threads about this but, even though I went through all of them, it remains the same error.
Basically, I start with an ICEMCFD mesh that I convert using fluentMeshToFoam. Then I use "createPatch" to make the two patches, "front" and "back" , as a single cyclic patch.
First of all, I changed the write precision to 12 in the controlDictionary.
And the createPatchDictionary is like so:

matchtoTolerance 0.001;
pointSync false;
patches
(
{
name front;
type cyclic;
constructFrom patches;
patches (front back);
}
)

When I run createPatch it works well.I can go to constant/polyMesh and change the boundary file and the 0 directory as well to match the cyclic patch.
At which point, when I use either renumberMesh or decomposePar I get the same error:

************************************************** *****
face 66 area does not match neighbour 14089 by 0.106552% -- possible face ordering problem.
patch:front my area:9.9849e-06 neighbour area:9.99554e-06 matching tolerance:0.001
Mesh face:1197083 vertices:4((-0.711454 -0.08125 0.625) (-0.667023 -0.08125 0.625) (-0.666929 -0.0810225 0.625) (-0.711373 -0.0810281 0.625))
Neighbour face:1211106 vertices:4((-0.711454 -0.08125 0.103) (-0.711373 -0.0810279 0.103) (-0.66693 -0.0810222 0.103) (-0.667023 -0.08125 0.103))
Rerun with cyclic debug flag set for more information.

From function cyclicPolyPatch::calcTransforms()
in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 180.
************************************************** *******
Knowing that I've already tried to change pointSync to "true" and increased the tolerance as well. But nothing to do, this error keeps appearing despite me.
Hope you guys can help me, I really need to figure this issue out.
Thanks.

mai November 6, 2009 17:27

error cyclic boundary condition
 
Hi,

I try to setup a case with rotational periodic boundary conditions for a MRFsimpleFoam run. And I'm getting almost the same error message (see below) as AirS.
As I know from runs in other codes, that the face ordering is correct I did not use the createPatch utility.
I tried it but it did not work.

For me It seems that it is only a tolerance problem.
I have the following questions.

- How can I specify the matching tolerance for the cyclic BC ?
- Where do I have to specify the cyclic rotational axis and the cyclic rotational angle
for the solver ? Do I have to specify it for the solver ?
- How can I switch on the cyclic debug flag ?

I'm looking forward to your answers !!

Martin


face 0 area does not match neighbour 3168 by 0.218783% -- possible face ordering problem.
patch:CONV_120 my area:1.76995e-06 neighbour area:1.77382e-06 matching tolerance:0.001
Mesh face:373668 vertices:4((0.14799 -0.065811 0.18403) (0.14799 -0.065811 0.1819) (0.14875 -0.066147 0.1819) (0.14875 -0.066147 0.18403))
Neighbour face:376836 vertices:4((0.14446 0.075052 0.18403) (0.14446 0.075052 0.1819) (0.14372 0.07467 0.1819) (0.14372 0.07467 0.18403))
Rerun with cyclic debug flag set for more information.

From function cyclicPolyPatch::calcTransforms()
in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 150.

FOAM exiting

AirS November 9, 2009 10:39

Has anybody ever encountered this problem and solved it ?
I would appreciate some help :)
Thanks.

wikstrom November 9, 2009 12:56

Try setting the matchingTolerance to e.g. 1.0 in createPatchDict.

If it is already a correctly ordered cyclic patch regenerate it anyway using createPatch, following the instructions in createPatchDict:

// 2. Correct incorrect cyclic:
// This will usually fail upon loading:
// "face 0 area does not match neighbour 2 by 0.0100005%"
// " -- possible face ordering problem."
// - change patch type from 'cyclic' to 'patch' in the polyMesh/boundary file.
// - loosen match tolerance to get case to load
// - regenerate cyclic as above

/Niklas

AirS November 10, 2009 04:55

Thanks for replying!
Unfortunately, I've tried to decrease the tolerance until 10, but I still doesn't work and I've got the same message:


face 66 area does not match neighbour 14089 by 0.106552% -- possible face ordering problem.
patch:FRONT my area:9.9849e-06 neighbour area:9.99554e-06 matching tolerance:0.001
Mesh face:1197083 vertices:4((-0.711454 -0.08125 0.625) (-0.667023 -0.08125 0.625) (-0.666929 -0.0810225 0.625) (-0.711373 -0.0810281 0.625))
Neighbour face:1211106 vertices:4((-0.711454 -0.08125 0.103) (-0.711373 -0.0810279 0.103) (-0.66693 -0.0810222 0.103) (-0.667023 -0.08125 0.103))
Rerun with cyclic debug flag set for more information.

From function cyclicPolyPatch::calcTransforms()
in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 180.

FOAM exiting


I do not know what this means, even though I change the tolerance to 10, I think it doesn't want to understand, see these lines :

face 66 area does not match neighbour 14089 by 0.106552% -- possible face ordering problem.
patch:FRONT my area:9.9849e-06 neighbour area:9.99554e-06 matching tolerance:0.001

I specify that createPatch works well. This error appears when I run pisoFoam
Thank you for your help!

wikstrom November 11, 2009 07:42

Hi AirS,

Did you try pointSync true; when running createPatch?

Could you mail me the case?

Cheers
N

AirS November 11, 2009 12:27

Wikstrom,
actually i've solved the issue today. I'm running the case at the moment, so I will inform you tomorrow if everything is fine concerning the results or not.
Otherwise I will mail you the case.
Thank you !

AirS November 12, 2009 10:04

Actually, my createPatchDict looked like:

matchTolerance 1E-3;
pointSync true;
patches
(
{
name FRONT;
dictionary
{
type cyclic;
}
constructFrom patches;
patches (FRONT BACK);

}


When I run createPatch it works well but I've got the error (cf previous messages) with pisoFoam, as if this latter was the only one to see that something's wrong with the tolerance: createPatch can't see this error and I've found out why.
I think you should avoid to have the same name for the patches ( see the GREEN color above). You need a different name.
If I change the first one ( for instance FRONTWORK ) then after running createPatch and pisoFoam it works.

But the thing is, when I run createPatch with a tolerance of 1E-3, it doesn't work so I've changed it to 0.2.
Is the matchTolerance of 0.2 is good enough to provide good results ? or can I use it without any trouble ?

Thank you!


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