opm/material/fluidsystems/blackoilpvt/OilPvtMultiplexer.hpp File Reference

#include "ConstantCompressibilityOilPvt.hpp"
#include "DeadOilPvt.hpp"
#include "LiveOilPvt.hpp"
#include "OilPvtThermal.hpp"

Go to the source code of this file.

Classes

class  Opm::OilPvtMultiplexer< Scalar, enableThermal >
 This class represents the Pressure-Volume-Temperature relations of the oil phase in the black-oil model. More...

Defines

#define OPM_OIL_PVT_MULTIPLEXER_CALL(codeToCall)

Detailed Description

This class represents the Pressure-Volume-Temperature relations of the oil phase in the black-oil model. This is the base class which which provides an API for the actual PVT implementation classes which based on dynamic polymorphism. The rationale to use dynamic polymorphism here is that this enables the fluid system to easily switch the used PVT relations for the individual fluid phases.Note that, since the application for this class is the black-oil fluid system, the API exposed by this class is pretty specific to the black-oil model.


Define Documentation

#define OPM_OIL_PVT_MULTIPLEXER_CALL ( codeToCall   ) 
Value:
switch (approach_) {                                                \
    case ConstantCompressibilityOilPvt: {                               \
        auto& pvtImpl = getRealPvt<ConstantCompressibilityOilPvt>();    \
        codeToCall;                                                     \
        break;                                                          \
    }                                                                   \
    case DeadOilPvt: {                                                  \
        auto& pvtImpl = getRealPvt<DeadOilPvt>();                       \
        codeToCall;                                                     \
        break;                                                          \
    }                                                                   \
    case LiveOilPvt: {                                                  \
        auto& pvtImpl = getRealPvt<LiveOilPvt>();                       \
        codeToCall;                                                     \
        break;                                                          \
    }                                                                   \
    case ThermalOilPvt: {                                               \
        auto& pvtImpl = getRealPvt<ThermalOilPvt>();                    \
        codeToCall;                                                     \
        break;                                                          \
    }                                                                   \
    case NoOilPvt:                                                      \
        OPM_THROW(std::logic_error, "Not implemented: Oil PVT of this deck!"); \
    }

Generated on 25 Mar 2018 by  doxygen 1.6.1