I am trying to use cyclicGgi's with ONLY a separationOffset in 1.6-ext.
I can run a case fine in 1.5-dev but the solver complains in 1.6-ext saying that all the faces on each cyclicGgi patch are uncovered. It also does not work in 1.6-ext when rotationAxis and rotationAngle is specified.
The actual error with bridgeOverlap set to on is:-
Create mesh for time = 0
Initializing the GGI interpolator between master/shadow patches: sides1/sides2
From function void GGIInterpolation<MasterPatch, SlavePatch>::rescaleWeightingFactors() const
in file /Users/declancarolan/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude/GGIInterpolationWeights.C at line 544
Uncovered faces found. On master: 80 on slave: 80
The error with bridgeOverlap is fatal.
I have compared as much code as I can find in /src/ between each version and can't find where the problem is.
---- additional_information ----
Bug tested on 1.6-ext on Mac OSX with gcc compiler, 1.6-ext on Linux system with Intel compiler
Works on 1.5-dev on Linux system with Intel compiler
Martin Beaudoin has tested case on his development branch mixingPlane_RC1 and reports that it works.
You made an error in definition of transform - use the debug switch to see the transformed slave patch as vtk surface. This is user error, not a bug.
I indeed believe it is a bug (I was also able to reproduce it for translational periodic patches).
In fact when calcPatchToPatch() is called for the master patch, shadow().separation() = 0() because it is not already constructed, so ggiZoneInterpolation constructor have a null separation vector. As a consequence the two cyclic ggi patches are not seen as overlapping even though the separation vector is correctly specified (same set up works in 1.5-dev).
A possible bug fix (it worked in my tests) is to specify the separation vector as the opposite of the master to slave separation in such a manner:
patchToPatchPtr_ =
new ggiZoneInterpolation
(
zone()(), // This zone reference
shadow().zone()(), // This shadow zone reference
forwardT(),
reverseT(),
-separation(), // Slave-to-master separation. Bug fix
0, // Non-overlapping face tolerances
0, // HJ, 24/Oct/2008
true, // Rescale weighting factors. Bug fix, MB.
// ggiInterpolation::AABB
ggiInterpolation::BB_OCTREE // Octree search, MB.
);