diff --git a/opm/core/props/BlackoilPhases.hpp b/opm/core/props/BlackoilPhases.hpp index c4514555a..1cbb3afa4 100644 --- a/opm/core/props/BlackoilPhases.hpp +++ b/opm/core/props/BlackoilPhases.hpp @@ -20,6 +20,7 @@ #ifndef OPM_BLACKOILPHASES_HEADER_INCLUDED #define OPM_BLACKOILPHASES_HEADER_INCLUDED +#include namespace Opm { @@ -42,9 +43,10 @@ namespace Opm struct PhaseUsage : public BlackoilPhases { + std::array phase_used; + std::array phase_pos; + int num_phases; - int phase_used[MaxNumPhases + NumCryptoPhases]; - int phase_pos[MaxNumPhases + NumCryptoPhases]; bool has_solvent; bool has_polymer; bool has_energy; diff --git a/opm/core/props/phaseUsageFromDeck.hpp b/opm/core/props/phaseUsageFromDeck.hpp index 3d0277f98..873410031 100644 --- a/opm/core/props/phaseUsageFromDeck.hpp +++ b/opm/core/props/phaseUsageFromDeck.hpp @@ -34,7 +34,7 @@ namespace Opm /// Determine the active phases inline PhaseUsage phaseUsage(const Phases& phases) { PhaseUsage pu; - std::fill(pu.phase_used, pu.phase_used + BlackoilPhases::MaxNumPhases + BlackoilPhases::NumCryptoPhases, 0); + pu.phase_used.fill(0); // Discover phase usage. pu.phase_used[BlackoilPhases::Aqua] = phases.active(Phase::WATER);