diff --git a/opm/core/utility/miscUtilities.cpp b/opm/core/utility/miscUtilities.cpp index bd38b8cc2..1eb33938e 100644 --- a/opm/core/utility/miscUtilities.cpp +++ b/opm/core/utility/miscUtilities.cpp @@ -405,10 +405,12 @@ namespace Opm } void computeWDP(const Wells& wells, const UnstructuredGrid& grid, const std::vector& saturations, - const std::vector& densities, std::vector& wdp, bool per_grid_cell) + const double* densities, std::vector& wdp, bool per_grid_cell) { - const size_t np = densities.size(); const int nw = wells.number_of_wells; + const size_t np = per_grid_cell ? + saturations.size()/grid.number_of_cells + : saturations.size()/wells.well_connpos[nw]; // Simple for now: for (int i = 0; i < nw; i++) { double depth_ref = wells.depth_ref[i]; diff --git a/opm/core/utility/miscUtilities.hpp b/opm/core/utility/miscUtilities.hpp index 40e0c6be2..dece112ed 100644 --- a/opm/core/utility/miscUtilities.hpp +++ b/opm/core/utility/miscUtilities.hpp @@ -188,7 +188,7 @@ namespace Opm /// \param[in] per_grid_cell Whether or not the saturations are per grid cell or per /// well cell. void computeWDP(const Wells& wells, const UnstructuredGrid& grid, const std::vector& saturations, - const std::vector& densities, std::vector& wdp, bool per_grid_cell = true); + const double* densities, std::vector& wdp, bool per_grid_cell); /// Computes (sums) the flow rate for each well. /// \param[in] wells The wells for which the flow rate should be computed.