From 78b87b88573b07189d328617c7c870dbfcff2b6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A5rd=20Skaflestad?= Date: Tue, 27 May 2014 18:42:58 +0200 Subject: [PATCH] variableState: Don't form objects when references suffice There's no need to form new objects, especially for the 'xvar', when there are existing objects to which read-only references can be bound. --- opm/autodiff/FullyImplicitBlackoilSolver_impl.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/opm/autodiff/FullyImplicitBlackoilSolver_impl.hpp b/opm/autodiff/FullyImplicitBlackoilSolver_impl.hpp index 12cb372ef..52bd1ec2c 100644 --- a/opm/autodiff/FullyImplicitBlackoilSolver_impl.hpp +++ b/opm/autodiff/FullyImplicitBlackoilSolver_impl.hpp @@ -530,10 +530,10 @@ namespace { if (active_[ Gas]) { // Define Sg Rs and Rv in terms of xvar. - ADB rsSat = fluidRsSat(state.pressure, cells_); - ADB rvSat = fluidRvSat(state.pressure, cells_); - ADB xvar = vars[ nextvar++ ]; - ADB sg = isSg*xvar + isRv* so; + const ADB& rsSat = fluidRsSat(state.pressure, cells_); + const ADB& rvSat = fluidRvSat(state.pressure, cells_); + const ADB& xvar = vars[ nextvar++ ]; + const ADB& sg = isSg*xvar + isRv* so; state.saturation[ pu.phase_pos[ Gas ] ] = sg; so = so - sg;