diff --git a/dumux/material/fluidstates/immisciblefluidstate.hh b/dumux/material/fluidstates/immisciblefluidstate.hh index 8f02ae5395d2b0074d9f17c4e4e67ff8d305b61d..f4105240e98f41491de40e1396df5edafaa37c5a 100644 --- a/dumux/material/fluidstates/immisciblefluidstate.hh +++ b/dumux/material/fluidstates/immisciblefluidstate.hh @@ -128,6 +128,21 @@ public: return std::numeric_limits<Scalar>::infinity(); } + /*! + * \brief The partial pressure of a component in a phase \f$\mathrm{[Pa]}\f$ + * + * To avoid numerical issues with code that assumes miscibility, + * we return a partial pressure of 0 for components which do not mix with + * the specified phase. Actually it is undefined. + */ + Scalar partialPressure(int phaseIdx, int compIdx) const + { + if (phaseIdx == compIdx) + return pressure(phaseIdx); + else + return 0; + } + /*! * \brief The molar volume of a fluid phase \f$\mathrm{[m^3/mol]}\f$ *