26 #ifndef OPM_COMPOSITIONAL_CONTAINER_HPP 27 #define OPM_COMPOSITIONAL_CONTAINER_HPP 37 namespace data {
class Solution; }
39 template<
class Flu
idSystem>
42 using Scalar =
typename FluidSystem::Scalar;
43 using ScalarBuffer = std::vector<Scalar>;
45 static constexpr
int numComponents = FluidSystem::numComponents;
47 static constexpr
int numPhases = FluidSystem::numPhases;
48 static constexpr
int gasPhaseIdx = FluidSystem::gasPhaseIdx;
49 static constexpr
int oilPhaseIdx = FluidSystem::oilPhaseIdx;
50 static constexpr
int waterPhaseIdx = FluidSystem::waterPhaseIdx;
53 void allocate(
const unsigned bufferSize,
54 std::map<std::string, int>& rstKeywords);
56 using AssignFunction = std::function<Scalar(const unsigned)>;
58 void assignGasFractions(
const unsigned globalDofIdx,
59 const AssignFunction& fractions);
61 void assignMoleFractions(
const unsigned globalDofIdx,
62 const AssignFunction& fractions);
64 void assignOilFractions(
const unsigned globalDofIdx,
65 const AssignFunction& fractions);
67 void outputRestart(data::Solution& sol,
68 ScalarBuffer& oil_saturation);
70 bool allocated()
const 71 {
return allocated_; }
74 bool allocated_ =
false;
76 std::array<ScalarBuffer, numComponents> moleFractions_;
78 std::array<std::array<ScalarBuffer, numComponents>, numPhases> phaseMoleFractions_;
83 #endif // OPM_COMPOSITIONAL_CONTAINER_HPP This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: blackoilbioeffectsmodules.hh:45
Definition: CompositionalContainer.hpp:40