View Issue Details

IDProjectCategoryView StatusLast Update
0003357OpenFOAMBugpublic2020-01-27 07:48
ReporterEmeline Noel Assigned Towill  
Status resolvedResolutionfixed 
PlatformGNU/LinuxOSCentOS Version7
Fixed in Versiondev 
Summary0003357: transformPoint for ACMI not done for TRANSLATIONAL transform
DescriptionDear All,

Trying ACMI for periodic BC for a box with X+/X- patch wich are not exactly similar because of complex STL geometry that snappyHexMesh don't exactly respect (even with tunning tolerance for snap or feature ...), the translation between patch is not seen and owner and neighbourg patch are not seen to be partially covered but 100% uncovered!
Looking at the code of cyclicAMIPolyPatch.C with the transformPoint function, we see that when it is call from ACMI resetAMI, the separed() and separation() is zero even. These are varaible use in transformPoint so no transforation is apply. We can verify this with the debugSwith that help to have the XX-neighbour-trans.obj and xx-neighbour-org.obj. The two surface patch are at the same place, no transformation translation have been apply and so the X+ stay in X+ and don't overlap the X-, uncovered is 100%.
Rough change I made to make the case work :
In transformPoint test transform() == TRANSLATIONNAL instead of separated(), and use separationVector instead of separation(). The coverage is no more 0%, the patch obj trans and org are not at the same place. Transformation have been apply.

I know that the changes are not done in a good manner and that the value of separated and separation() should be good before being use in transformPoint. I would work on this later on. However, I think that it is perhaps easier for some OpenFOAM developper to see the issue explain here, and the way to do the correction in the conformal way.

Have a nice day,


Steps To ReproduceAfter untar
Check .obj
TagsNo tags attached.


Emeline Noel

2019-10-01 14:27


Case.tar (195,784 bytes)


2020-01-23 13:23

manager   ~0011098

Fixed in dev by Also, your separation vectors are the wrong way around. The convention is that the vector for a given patch is the one that points to that patch from the opposite side.

Issue History

Date Modified Username Field Change
2019-10-01 14:27 Emeline Noel New Issue
2019-10-01 14:27 Emeline Noel File Added: Case.tar
2020-01-23 13:23 will Assigned To => will
2020-01-23 13:23 will Status new => resolved
2020-01-23 13:23 will Resolution open => fixed
2020-01-23 13:23 will Fixed in Version => dev
2020-01-23 13:23 will Note Added: 0011098