20#ifndef OPM_PRIVARSPACKING_HEADER_INCLUDED
21#define OPM_PRIVARSPACKING_HEADER_INCLUDED
28 constexpr int fbits = 4;
31 std::size_t pack(
const PV&
privar) {
32 std::size_t
m1 =
static_cast<std::size_t
>(
privar.primaryVarsMeaningWater());
33 std::size_t
m2 =
static_cast<std::size_t
>(
privar.primaryVarsMeaningPressure());
34 std::size_t
m3 =
static_cast<std::size_t
>(
privar.primaryVarsMeaningGas());
35 std::size_t
m4 =
static_cast<std::size_t
>(
privar.primaryVarsMeaningBrine());
36 std::size_t
m5 =
static_cast<std::size_t
>(
privar.primaryVarsMeaningSolvent());
37 return m1 + (
m2 << fbits*1) + (
m3 << fbits*2) + (
m4 << fbits*3) + (
m5 << fbits*4);
42 const std::size_t
filter = ((1 << fbits) - 1);
48 privar.setPrimaryVarsMeaningWater(
typename PV::WaterMeaning(
m1));
49 privar.setPrimaryVarsMeaningPressure(
typename PV::PressureMeaning(
m2));
50 privar.setPrimaryVarsMeaningGas(
typename PV::GasMeaning(
m3));
51 privar.setPrimaryVarsMeaningBrine(
typename PV::BrineMeaning(
m4));
52 privar.setPrimaryVarsMeaningSolvent(
typename PV::SolventMeaning(
m5));
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition blackoilboundaryratevector.hh:37
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:242