diff --git a/examples/problems/co2ptflashproblem.hh b/examples/problems/co2ptflashproblem.hh index 69590fe656..8a9a25083e 100644 --- a/examples/problems/co2ptflashproblem.hh +++ b/examples/problems/co2ptflashproblem.hh @@ -131,7 +131,9 @@ private: using Traits = Opm::ThreePhaseMaterialTraits; + /*gasPhaseIdx=*/FluidSystem::gasPhaseIdx, + /* hysteresis */ false, + /* endpointscaling */ false>; // define the material law which is parameterized by effective saturation using EffMaterialLaw = Opm::NullMaterial; diff --git a/examples/problems/cuvetteproblem.hh b/examples/problems/cuvetteproblem.hh index f23442a668..1a627f5106 100644 --- a/examples/problems/cuvetteproblem.hh +++ b/examples/problems/cuvetteproblem.hh @@ -88,7 +88,9 @@ private: Scalar, /*wettingPhaseIdx=*/FluidSystem::waterPhaseIdx, /*nonWettingPhaseIdx=*/FluidSystem::naplPhaseIdx, - /*gasPhaseIdx=*/FluidSystem::gasPhaseIdx>; + /*gasPhaseIdx=*/FluidSystem::gasPhaseIdx, + /* hysteresis */ false, + /* endpointscaling */ false>; public: using type = Opm::ThreePhaseParkerVanGenuchten; diff --git a/examples/problems/infiltrationproblem.hh b/examples/problems/infiltrationproblem.hh index 0e7a454f91..d7bc446ed9 100644 --- a/examples/problems/infiltrationproblem.hh +++ b/examples/problems/infiltrationproblem.hh @@ -86,7 +86,9 @@ private: Scalar, /*wettingPhaseIdx=*/FluidSystem::waterPhaseIdx, /*nonWettingPhaseIdx=*/FluidSystem::naplPhaseIdx, - /*gasPhaseIdx=*/FluidSystem::gasPhaseIdx>; + /*gasPhaseIdx=*/FluidSystem::gasPhaseIdx, + /* hysteresis */ false, + /* endpointscaling */ false>; public: using type = Opm::ThreePhaseParkerVanGenuchten; diff --git a/examples/problems/reservoirproblem.hh b/examples/problems/reservoirproblem.hh index 437e3c2ce8..dc204d00fa 100644 --- a/examples/problems/reservoirproblem.hh +++ b/examples/problems/reservoirproblem.hh @@ -93,7 +93,9 @@ private: ThreePhaseMaterialTraits; + /*gasPhaseIdx=*/FluidSystem::gasPhaseIdx, + /* hysteresis */ false, + /* endpointscaling */ false>; public: using type = Opm::LinearMaterial; diff --git a/opm/simulators/flow/FlowBaseProblemProperties.hpp b/opm/simulators/flow/FlowBaseProblemProperties.hpp index f20c1dcbf9..a25eb27e9f 100644 --- a/opm/simulators/flow/FlowBaseProblemProperties.hpp +++ b/opm/simulators/flow/FlowBaseProblemProperties.hpp @@ -77,6 +77,12 @@ struct EnableApiTracking { using type = UndefinedProperty; }; template struct EnableDebuggingChecks { using type = Properties::UndefinedProperty; }; +template +struct EnableHysteresis { using type = Properties::UndefinedProperty; }; + +template +struct EnableEndpointScaling { using type = Properties::UndefinedProperty; }; + // Avoid using ElementContext-based code if possible. template struct AvoidElementContext { using type = Properties::UndefinedProperty; }; @@ -245,6 +251,14 @@ template struct EnableDebuggingChecks { static constexpr bool value = true; }; +template +struct EnableHysteresis +{ static constexpr bool value = true; }; + +template +struct EnableEndpointScaling +{ static constexpr bool value = true; }; + // Most modules are implemented only in terms of element contexts, // so this must default to false. template diff --git a/opm/simulators/flow/FlowProblemBlackoilProperties.hpp b/opm/simulators/flow/FlowProblemBlackoilProperties.hpp index d527577f76..8f58a50fd6 100644 --- a/opm/simulators/flow/FlowProblemBlackoilProperties.hpp +++ b/opm/simulators/flow/FlowProblemBlackoilProperties.hpp @@ -82,7 +82,9 @@ private: using Traits = ThreePhaseMaterialTraits; + /*gasPhaseIdx=*/FluidSystem::gasPhaseIdx, + getPropValue(), + getPropValue()>; public: using EclMaterialLawManager = ::Opm::EclMaterialLaw::Manager; diff --git a/opm/simulators/flow/FlowProblemCompProperties.hpp b/opm/simulators/flow/FlowProblemCompProperties.hpp index 5e16092d00..fb4a8849ce 100644 --- a/opm/simulators/flow/FlowProblemCompProperties.hpp +++ b/opm/simulators/flow/FlowProblemCompProperties.hpp @@ -72,7 +72,9 @@ private: using Traits = ThreePhaseMaterialTraits; + /*gasPhaseIdx=*/FluidSystem::gasPhaseIdx, + /* hysteresis */ true, + /* endpointscaling */ true>; public: using EclMaterialLawManager = ::Opm::EclMaterialLaw::Manager; diff --git a/opm/simulators/flow/equil/EquilibrationHelpers.cpp b/opm/simulators/flow/equil/EquilibrationHelpers.cpp index 821771f175..35927cb985 100644 --- a/opm/simulators/flow/equil/EquilibrationHelpers.cpp +++ b/opm/simulators/flow/equil/EquilibrationHelpers.cpp @@ -28,7 +28,7 @@ namespace Opm { namespace EQUIL { template -using MatLaw = EclMaterialLaw::Manager>; +using MatLaw = EclMaterialLaw::Manager>; template using FS = BlackOilFluidSystem; #define INSTANTIATE_TYPE(T) \ diff --git a/opm/simulators/flow/equil/InitStateEquil.cpp b/opm/simulators/flow/equil/InitStateEquil.cpp index 438135d3ce..f3c329f016 100644 --- a/opm/simulators/flow/equil/InitStateEquil.cpp +++ b/opm/simulators/flow/equil/InitStateEquil.cpp @@ -35,7 +35,7 @@ namespace Opm { template -using MatLaw = EclMaterialLaw::Manager>; +using MatLaw = EclMaterialLaw::Manager>; namespace EQUIL { namespace DeckDependent {