From 526b4d26e313108d7bc20af0ed4365c7fdaecd57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Atgeirr=20Fl=C3=B8=20Rasmussen?= Date: Fri, 31 May 2013 14:57:04 +0200 Subject: [PATCH] Actually initialize densities_ member. --- opm/autodiff/BlackoilPropsAdFromDeck.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/opm/autodiff/BlackoilPropsAdFromDeck.cpp b/opm/autodiff/BlackoilPropsAdFromDeck.cpp index a7a88aa86..5b2b51412 100644 --- a/opm/autodiff/BlackoilPropsAdFromDeck.cpp +++ b/opm/autodiff/BlackoilPropsAdFromDeck.cpp @@ -51,9 +51,27 @@ namespace Opm rock_.init(deck, grid); } const int samples = 0; - + const int region_number = 0; phase_usage_ = phaseUsageFromDeck(deck); + + // Surface densities. Accounting for different orders in eclipse and our code. + if (deck.hasField("DENSITY")) { + const std::vector& d = deck.getDENSITY().densities_[region_number]; + enum { ECL_oil = 0, ECL_water = 1, ECL_gas = 2 }; + if (phase_usage_.phase_used[Aqua]) { + densities_[phase_usage_.phase_pos[Aqua]] = d[ECL_water]; + } + if (phase_usage_.phase_used[Vapour]) { + densities_[phase_usage_.phase_pos[Vapour]] = d[ECL_gas]; + } + if (phase_usage_.phase_used[Liquid]) { + densities_[phase_usage_.phase_pos[Liquid]] = d[ECL_oil]; + } + } else { + THROW("Input is missing DENSITY\n"); + } + // Set the properties. props_.resize(phase_usage_.num_phases); // Water PVT