Menu

#157 Possible bug in the use of separation() in calcPatchToPatch()

new
nobody
None
normal
crash
always
none
General Grid Interface (GGI)
2012-09-24
2012-09-24
No

I believe there is a bug in the use of separation() in calcPatchToPatch().
I already posted a note on an another bug report but got no reply (0000151: cyclicGgi boundary condition does not work in OpenFoam-1.6-ext).
In calcPatchToPatch() the translation vector is calculated calling for the master patch the shadow().separation() method that "unfortunately" returnsŒ 0() because it has not already been constructed and thus the 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: shadow().separation() = 0()
but separation() = 1((0.0073 0 0))) 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.
ŒŒŒŒŒŒŒŒŒŒŒ );

Discussion


Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.