diff --git a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicACMI/cyclicACMIFvPatch.C b/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicACMI/cyclicACMIFvPatch.C index b573d3a2b2667a6610cfef6cf526f959ee3d3d2c..3e6db16b4df54c7b2cfefbe8ced3a4ce6596ae1c 100644 --- a/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicACMI/cyclicACMIFvPatch.C +++ b/src/finiteVolume/fvMesh/fvPatches/constraint/cyclicACMI/cyclicACMIFvPatch.C @@ -311,36 +311,25 @@ Foam::tmp<Foam::labelField> Foam::cyclicACMIFvPatch::internalFieldTransfer void Foam::cyclicACMIFvPatch::movePoints() { - if (!cyclicACMIPolyPatch_.owner()) - { - return; - } + // Update local and higher level areas + const bool updated = updateAreas(); - - if (!cyclicACMIPolyPatch_.upToDate(areaTime_)) + // If anything changed update the mesh flux + if (cyclicACMIPolyPatch_.owner() && updated) { if (debug) { - Pout<< "cyclicACMIFvPatch::movePoints() : updating fv areas for " - << name() << " and " << this->nonOverlapPatch().name() + Pout<< "cyclicACMIFvPatch::movePoints() : areas updated for " + << name() << "; updating mesh flux now" << endl; } - - // Set the patch face areas to be consistent with the changes made - // at the polyPatch level + // Scale the mesh flux const fvPatch& nonOverlapPatch = this->nonOverlapPatch(); const cyclicACMIFvPatch& nbrACMI = neighbPatch(); const fvPatch& nbrNonOverlapPatch = nbrACMI.nonOverlapPatch(); - resetPatchAreas(*this); - resetPatchAreas(nonOverlapPatch); - resetPatchAreas(nbrACMI); - resetPatchAreas(nbrNonOverlapPatch); - - // Scale the mesh flux - const labelListList& newSrcAddr = AMI().srcAddress(); const labelListList& newTgtAddr = AMI().tgtAddress(); @@ -410,9 +399,6 @@ void Foam::cyclicACMIFvPatch::movePoints() const scalar w = 1.0 - cyclicACMIPolyPatch_.tgtMask()[facei]; nbrPhiNonOverlapp[facei] *= w; } - - // Mark my data to be up to date with ACMI polyPatch level - cyclicACMIPolyPatch_.setUpToDate(areaTime_); } }