diff --git a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C index 118c60e9f2..963426c6fe 100644 --- a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C +++ b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C @@ -105,12 +105,13 @@ leastSquaresFaGrad::calcGrad { const faPatchField& bf = vsf.boundaryField()[patchi]; - const Field& vsfp = - ( - bf.coupled() - ? bf.patchNeighbourField().cref() - : const_cast&>(bf) - ); + tmp> tvsfp(bf); + + if (bf.coupled()) + { + tvsfp = bf.patchNeighbourField(); + } + const auto& vsfp = tvsfp(); const faePatchVectorField& ownLsp = ownLs.boundaryField()[patchi]; const labelUList& edgeFaces = diff --git a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.C b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.C index 5d4ead9d02..d84b52730f 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.C +++ b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.C @@ -209,8 +209,8 @@ Foam::edgeInterpolationScheme::interpolate label size = vf.boundaryField()[pi].patch().size(); label start = vf.boundaryField()[pi].patch().start(); - Field pOwnVf = vf.boundaryField()[pi].patchInternalField(); - Field pNgbVf = vf.boundaryField()[pi].patchNeighbourField(); + Field pOwnVf(vf.boundaryField()[pi].patchInternalField()); + Field pNgbVf(vf.boundaryField()[pi].patchNeighbourField()); Field& pSf = sf.boundaryFieldRef()[pi];