diff --git a/src/foam/fields/PointPatchFields/constraint/processor/ProcessorPointPatchField.C b/src/foam/fields/PointPatchFields/constraint/processor/ProcessorPointPatchField.C index d5e46b983..c38ba7dee 100644 --- a/src/foam/fields/PointPatchFields/constraint/processor/ProcessorPointPatchField.C +++ b/src/foam/fields/PointPatchFields/constraint/processor/ProcessorPointPatchField.C @@ -511,7 +511,18 @@ evaluate } // Average over two sides - tpn = 0.5*(this->patchInternalField(this->internalField()) + tpn); + + // ZT, 22-07-2014 - point ordering is not same + // at master and slave side after topology change + const labelList& neiPoints = + procPatch_.procPolyPatch().neighbPoints(); + + tpn = + 0.5 + *( + this->patchInternalField(this->internalField()) + + Field(tpn, neiPoints) + ); // Get internal field to insert values into Field& iF = const_cast&>(this->internalField());