View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003357||OpenFOAM||Bug||public||2019-10-01 14:27||2020-01-27 07:48|
|Reporter||Emeline Noel||Assigned To||will|
|Fixed in Version||dev|
|Summary||0003357: transformPoint for ACMI not done for TRANSLATIONAL transform|
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 Reproduce||After untar|
|Tags||No tags attached.|
Case.tar (195,784 bytes)
||Fixed in dev by https://github.com/OpenFOAM/OpenFOAM-dev/commit/87bce82854ba42bf67e19fa34216b8af1db38851. 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.|
|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|