From 3f19e9033e5b6331fa46091f36cd90ab26861259 Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Tue, 18 Jun 2024 17:56:45 +0100 Subject: [PATCH] COMP: finiteArea: dangling reference warning --- .../leastSquaresFaGrad/leastSquaresFaGrad.C | 21 +++++++------------ .../edgeInterpolationScheme.C | 4 ++-- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C index 2ddcae501a8..963426c6fee 100644 --- a/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C +++ b/src/finiteArea/finiteArea/gradSchemes/leastSquaresFaGrad/leastSquaresFaGrad.C @@ -105,20 +105,13 @@ leastSquaresFaGrad<Type>::calcGrad { const faPatchField<Type>& bf = vsf.boundaryField()[patchi]; - //const Field<Type>& vsfp = - //( - // bf.coupled() - // ? bf.patchNeighbourField().cref() - // : const_cast<faPatchField<Type>&>(bf) - //); - - const tmp<Field<Type>> tvsfp - ( - bf.coupled() - ? bf.patchNeighbourField() - : bf - ); - const Field<Type>& vsfp = tvsfp(); + tmp<Field<Type>> 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 5d4ead9d021..d84b52730fb 100644 --- a/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.C +++ b/src/finiteArea/interpolation/edgeInterpolation/edgeInterpolationScheme/edgeInterpolationScheme.C @@ -209,8 +209,8 @@ Foam::edgeInterpolationScheme<Type>::interpolate label size = vf.boundaryField()[pi].patch().size(); label start = vf.boundaryField()[pi].patch().start(); - Field<Type> pOwnVf = vf.boundaryField()[pi].patchInternalField(); - Field<Type> pNgbVf = vf.boundaryField()[pi].patchNeighbourField(); + Field<Type> pOwnVf(vf.boundaryField()[pi].patchInternalField()); + Field<Type> pNgbVf(vf.boundaryField()[pi].patchNeighbourField()); Field<Type>& pSf = sf.boundaryFieldRef()[pi]; -- GitLab