From ddb7b8833fde9ed965e4f88dfb0ba911d7321af3 Mon Sep 17 00:00:00 2001 From: Liu Ming Date: Fri, 10 Oct 2014 10:17:40 +0800 Subject: [PATCH] if deck has_polymer, rq_ should resize to store polymer equation. --- .../fullyimplicit/FullyImplicitBlackoilPolymerSolver_impl.hpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/opm/polymer/fullyimplicit/FullyImplicitBlackoilPolymerSolver_impl.hpp b/opm/polymer/fullyimplicit/FullyImplicitBlackoilPolymerSolver_impl.hpp index a9b8f7a42..1c14cf915 100644 --- a/opm/polymer/fullyimplicit/FullyImplicitBlackoilPolymerSolver_impl.hpp +++ b/opm/polymer/fullyimplicit/FullyImplicitBlackoilPolymerSolver_impl.hpp @@ -213,7 +213,7 @@ namespace { , use_threshold_pressure_(false) , rq_ (fluid.numPhases() + 1) , phaseCondition_(AutoDiffGrid::numCells(grid)) - , residual_ ( { std::vector(fluid.numPhases() + 1, ADB::null()), + , residual_ ( { std::vector(fluid.numPhases(), ADB::null()), ADB::null(), ADB::null() } ) { @@ -626,6 +626,7 @@ namespace { const V phi = Eigen::Map(& fluid_.porosity()[0], AutoDiffGrid::numCells(grid_), 1); const double dead_pore_vol = polymer_props_ad_.deadPoreVol(); // compute total phases and determin polymer position. + rq_.resize(fluid_.numPhases()+1); rq_[poly_pos_].accum[aix] = pv_mult * rq_[pu.phase_pos[Water]].b * sat[pu.phase_pos[Water]] * c * (1. - dead_pore_vol) + pv_mult * rho_rock * (1. - phi) / phi * ads; } }