cyclicAMI transformation calculation uses a single face
Summary
cyclicAMI transformation calculation uses a single face so can give large errors
Steps to reproduce
Example case
incompressible/simpleFoam/pipeCyclic/
In system/controlDict add:
DebugSwitches
{
cyclicAMI 1;
}
writePrecision 16;
and run e.g. checkMesh:
cyclicAMIPolyPatch::calcTransforms: patch:side2 Specified rotation: n0:(0 0.7071068286895752 -0.7071068286895752) n1:(0 -0.7071068286895752 -0.7071068286895752) swept angle: 90 [deg] reverse transform: (1 0 0 0 0 -1.00000011920929 0 1.00000011920929 0)
patch: side2
forwardT = 1((1 0 0 0 0 1.00000011920929 0 -1.00000011920929 0))
reverseT = 1((1 0 0 0 0 -1.00000011920929 0 1.00000011920929 0))
separation = 0()
collocated = 1(0)
The transformation should be close(r) to 1. Also checkMesh gives an open cells warning.
This is independent of #2635 since I replaced the #eval with calculated values in the blockMeshDict.
What is the current bug behaviour?
What is the expected correct behavior?
no warning about open cells
Environment information
- OpenFOAM version : v2312
Possible fixes
It currently uses the largest face.
- does it use the opposite face?
- or can it use some average?