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. |
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 |
Has anybody ever encountered this problem and solved it ?
I would appreciate some help :) Thanks. |
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 |
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! |
Hi AirS,
Did you try pointSync true; when running createPatch? Could you mail me the case? Cheers N |
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 ! |
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. |