opm-common
Loading...
Searching...
No Matches
BlackOilFluidState.hpp File Reference

Implements a "tailor-made" fluid state class for the black-oil model. More...

#include <type_traits>
#include <opm/common/utility/gpuDecorators.hpp>
#include <opm/material/fluidsystems/BlackOilFluidSystem.hpp>
#include <opm/material/common/HasMemberGeneratorMacros.hpp>
#include <opm/material/common/Valgrind.hpp>
#include <opm/material/common/ConditionalStorage.hpp>

Go to the source code of this file.

Classes

class  Opm::BlackOilFluidState< ValueT, FluidSystemT, storeTemperature, storeEnthalpy, enableDissolution, enableVapwat, enableBrine, enableSaltPrecipitation, enableDissolutionInWater, enableSolvent, numStoragePhases >
 Implements a "tailor-made" fluid state class for the black-oil model. More...

Namespaces

namespace  Opm
 This class implements a small container which holds the transmissibility mulitpliers for all the faces in the grid.

Functions

template<class FluidState>
OPM_HOST_DEVICE unsigned Opm::getPvtRegionIndex_ (typename std::enable_if< HasMember_pvtRegionIndex< FluidState >::value, const FluidState & >::type fluidState)
template<class FluidState>
OPM_HOST_DEVICE unsigned Opm::getPvtRegionIndex_ (typename std::enable_if<!HasMember_pvtRegionIndex< FluidState >::value, const FluidState & >::type)
template<class FluidSystem, class FluidState, class LhsEval>
OPM_HOST_DEVICE auto Opm::getInvB_ (typename std::enable_if< HasMember_invB< FluidState >::value, const FluidState & >::type fluidState, unsigned phaseIdx, unsigned, const FluidSystem &fluidSystem=FluidSystem{}) -> decltype(decay< LhsEval >(fluidState.invB(phaseIdx)))
template<class FluidSystem, class FluidState, class LhsEval>
OPM_HOST_DEVICE LhsEval Opm::getInvB_ (typename std::enable_if<!HasMember_invB< FluidState >::value, const FluidState & >::type fluidState, unsigned phaseIdx, unsigned pvtRegionIdx, const FluidSystem &fluidSystem=FluidSystem{})
template<class FluidState>
OPM_HOST_DEVICE auto Opm::getSaltConcentration_ (typename std::enable_if< HasMember_saltConcentration< FluidState >::value, const FluidState & >::type fluidState)
template<class FluidState>
OPM_HOST_DEVICE auto Opm::getSaltConcentration_ (typename std::enable_if<!HasMember_saltConcentration< FluidState >::value, const FluidState & >::type)
template<class FluidState>
OPM_HOST_DEVICE auto Opm::getSaltSaturation_ (typename std::enable_if< HasMember_saltSaturation< FluidState >::value, const FluidState & >::type fluidState)
template<class FluidState>
OPM_HOST_DEVICE auto Opm::getSaltSaturation_ (typename std::enable_if<!HasMember_saltSaturation< FluidState >::value, const FluidState & >::type)
template<class FluidState>
OPM_HOST_DEVICE auto Opm::getSolventSaturation_ (typename std::enable_if< HasMember_solventSaturation< FluidState >::value, const FluidState & >::type fluidState)
template<class FluidState>
OPM_HOST_DEVICE auto Opm::getSolventSaturation_ (typename std::enable_if<!HasMember_solventSaturation< FluidState >::value, const FluidState & >::type)

Detailed Description

Implements a "tailor-made" fluid state class for the black-oil model.

I.e., it uses exactly the same quantities which are used by the ECL blackoil model. Further quantities are computed "on the fly" and are accessing them is thus relatively slow.