diff --git a/dumux/assembly/staggeredlocalassembler.hh b/dumux/assembly/staggeredlocalassembler.hh index f363cf2c041fa490d6860165b0bd4434d01cdc81..4cfec4176dc29f5d323f0a3328aa56e8014581f9 100644 --- a/dumux/assembly/staggeredlocalassembler.hh +++ b/dumux/assembly/staggeredlocalassembler.hh @@ -337,11 +337,12 @@ static void dCCdCC_(Assembler& assembler, ElementSolutionVector elemSol{std::move(priVars)}; curVolVars.update(elemSol, problem, elementJ, scvJ); - const auto deflectedResidual = localResidual.evalCellCenter(problem, element, fvGeometry, prevElemVolVars, curElemVolVars, - prevElemFaceVars, curElemFaceVars, - elemBcTypes, elemFluxVarsCache); + const auto deflectedResidual = localResidual.evalCellCenter(problem, element, fvGeometry, prevElemVolVars, curElemVolVars, + prevElemFaceVars, curElemFaceVars, + elemBcTypes, elemFluxVarsCache); - const auto partialDeriv = (deflectedResidual - ccResidual) / eps; + auto partialDeriv = (deflectedResidual - ccResidual); + partialDeriv /= eps; // update the global jacobian matrix with the current partial derivatives updateGlobalJacobian_(matrix[cellCenterIdx][cellCenterIdx], cellCenterGlobalI, globalJ, pvIdx, partialDeriv); @@ -402,7 +403,8 @@ static void dCCdFace_(Assembler& assembler, prevElemFaceVars, curElemFaceVars, elemBcTypes, elemFluxVarsCache); - const auto partialDeriv = (deflectedResidual - ccResidual) / eps; + auto partialDeriv = (deflectedResidual - ccResidual); + partialDeriv /= eps; // update the global jacobian matrix with the current partial derivatives updateGlobalJacobian_(matrix[cellCenterIdx][faceIdx], cellCenterGlobalI, globalJ, pvIdx - Indices::faceOffset, partialDeriv); @@ -468,7 +470,8 @@ static void dFacedCC_(Assembler& assembler, prevElemFaceVars, curElemFaceVars, elemBcTypes, elemFluxVarsCache); - const auto partialDeriv = (deflectedResidual - cachedResidual[scvf.localFaceIdx()]) / eps; + auto partialDeriv = (deflectedResidual - cachedResidual[scvf.localFaceIdx()]); + partialDeriv /= eps; // update the global jacobian matrix with the current partial derivatives updateGlobalJacobian_(matrix[faceIdx][cellCenterIdx], faceGlobalI, globalJ, pvIdx, partialDeriv); @@ -531,7 +534,8 @@ static void dFacedFace_(Assembler& assembler, prevElemFaceVars, curElemFaceVars, elemBcTypes, elemFluxVarsCache); - const auto partialDeriv = (deflectedResidual - cachedResidual[scvf.localFaceIdx()]) / eps; + auto partialDeriv = (deflectedResidual - cachedResidual[scvf.localFaceIdx()]); + partialDeriv /= eps; // update the global jacobian matrix with the current partial derivatives updateGlobalJacobian_(matrix[faceIdx][faceIdx], faceGlobalI, globalJ, pvIdx - Indices::faceOffset, partialDeriv); diff --git a/dumux/implicit/staggered/localresidual.hh b/dumux/implicit/staggered/localresidual.hh index eca59a79aadd4fb6f1deba1e204c4e073f91003c..7be67fc539dab4369c17d41d506dbd1d209ed58b 100644 --- a/dumux/implicit/staggered/localresidual.hh +++ b/dumux/implicit/staggered/localresidual.hh @@ -336,7 +336,7 @@ protected: prevCCStorage *= prevVolVars.extrusionFactor(); curCCStorage *= curVolVars.extrusionFactor(); - CellCenterResidual storageTerm = 0.0; + CellCenterResidual storageTerm(0.0); storageTerm = std::move(curCCStorage); storageTerm -= std::move(prevCCStorage);