diff --git a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatchTemplates.C b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatchTemplates.C index 231a2e0ba7a2ad673628c5afad7db19bb0b88def..82bce867c1d484fb50eaa5226862fb8f5f40d364 100644 --- a/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatchTemplates.C +++ b/src/meshTools/AMIInterpolation/patches/cyclicACMI/cyclicACMIPolyPatch/cyclicACMIPolyPatchTemplates.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,8 +23,6 @@ License \*---------------------------------------------------------------------------*/ -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - template<class Type> Foam::tmp<Foam::Field<Type> > Foam::cyclicACMIPolyPatch::interpolate ( @@ -32,27 +30,20 @@ Foam::tmp<Foam::Field<Type> > Foam::cyclicACMIPolyPatch::interpolate const Field<Type>& fldNonOverlap ) const { - // note: do not scale AMI field as face areas have already been taken - // into account + // Note: do not scale AMI field as face areas have already been taken into + // account if (owner()) { - const scalarField& w = srcMask_; - - tmp<Field<Type> > interpField(AMI().interpolateToSource(fldCouple)); - - return interpField + (1.0 - w)*fldNonOverlap; + return + AMI().interpolateToSource(fldCouple) + + (1.0 - AMI().srcWeightsSum())*fldNonOverlap; } else { - const scalarField& w = neighbPatch().tgtMask(); - - tmp<Field<Type> > interpField - ( + return neighbPatch().AMI().interpolateToTarget(fldCouple) - ); - - return interpField + (1.0 - w)*fldNonOverlap; + + (1.0 - neighbPatch().AMI().tgtWeightsSum())*fldNonOverlap; } } @@ -77,22 +68,18 @@ void Foam::cyclicACMIPolyPatch::interpolate List<Type>& result ) const { - // note: do not scale AMI field as face areas have already been taken - // into account + // Note: do not scale AMI field as face areas have already been taken into + // account if (owner()) { - const scalarField& w = srcMask_; - AMI().interpolateToSource(fldCouple, cop, result); - result = result + (1.0 - w)*fldNonOverlap; + result += (1.0 - AMI().srcWeightsSum())*fldNonOverlap; } else { - const scalarField& w = neighbPatch().tgtMask(); - neighbPatch().AMI().interpolateToTarget(fldCouple, cop, result); - result = result + (1.0 - w)*fldNonOverlap; + result += (1.0 - neighbPatch().AMI().tgtWeightsSum())*fldNonOverlap; } }