View Issue Details

IDProjectCategoryView StatusLast Update
0003447OpenFOAMBugpublic2020-02-11 13:54
Reportera_malinAssigned Towill 
Status resolvedResolutionfixed 
PlatformLInuxOSFedoraOS Version31
Product Versiondev 
Fixed in Versiondev 
Summary0003447: Cyclic patches generation malfunctions in certain situations
DescriptionCells and faces are misaligned after createPatch in unclear specific situations.

I couldn't trace the problem to specific source, but my guess is that something is wrong with ordering stage of cyclic patch creation.
Steps To ReproduceCase is attached. Polymesh is tetrahedral, converted from gmsh and initially valid (both checkMesh, visual examination and testing case without cyclic boundary conditions). It has two identical patches with 18 degrees rotation around (0,0,1) axis - placed such that rotation is identical to reflection relative to plane x=0. That way it is easy to check .obj with coupled cells, as thet should differ only in sign of y coordinate.
a) Launch 'createPatch -overwrite' using pretty standard createPatchDict with 18 degrees rotation around (0,0,1) axis and pointSync false;
No errors are immediately reported, but now checkMesh reports severely bad mesh. Manual examination of coupled points shows serious displacement of corresponding points. The flow entering one cyclic boundary as a single jet comes from multiple locations through another side.
b) Launch 'createPatch' without other options. Same result.
c) Launch 'createPatch' without specifying exact transformation parameters (rotationAngle etc.). Same result.
d) Launch 'createPatch' with pointSync true; throws an error before writing final coupling
'The distance between the centre of patch cyc_half0 and the transformed centre of patch cyc_half1 is 0.286011.
This is greater than the match tolerance of 3.16228e-06 for the patch.'
Checking initial .obj file shows that transformation is still incorrect.
Additional InformationSurprisingly, in tutorials that use cyclic and cyclicAMI patch types, rotation and translation I was unable to reproduce the problem. Both native specification in blockMesh and through createPatch work well. I've checked mixer from SRFSimpleFoam, pipeCyclic for simpleFoam and planarCouette for pimpleFoam. The differences to my case are: using blockMesh vs external mesher; hence hexahedral structured mesh vs tetrahedral.

In OpenFOAM-7 the same case used to work well; so, it is safe to suppose this problem originates from recent overhaul of coupledPatches and related transformation stuff.
TagsNo tags attached.



2020-02-08 00:17


Test_cyclic.tar.xz (1,180,764 bytes)


2020-02-08 20:44

reporter   ~0011151

Thanks for report the difference between v7 and v6.

People will be careaful use cratePatch in their work.


2020-02-09 15:58

reporter   ~0011162

BTW, probably the problem has common root with that as they both contain cyclic patches with rotation and unstrustured mesh


2020-02-11 13:54

manager   ~0011168

Thanks for the report. Fixed by

Issue History

Date Modified Username Field Change
2020-02-08 00:17 a_malin New Issue
2020-02-08 00:17 a_malin File Added: Test_cyclic.tar.xz
2020-02-08 20:44 openfoam_ran Note Added: 0011151
2020-02-09 15:58 a_malin Note Added: 0011162
2020-02-11 13:54 will Assigned To => will
2020-02-11 13:54 will Status new => resolved
2020-02-11 13:54 will Resolution open => fixed
2020-02-11 13:54 will Fixed in Version => dev
2020-02-11 13:54 will Note Added: 0011168