26#ifndef OPM_COMPOSITIONAL_CONTAINER_HPP
27#define OPM_COMPOSITIONAL_CONTAINER_HPP
37namespace data {
class Solution; }
39template<
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;
54 std::map<std::string, int>& rstKeywords);
68 ScalarBuffer& oil_saturation);
71 {
return allocated_; }
74 bool allocated_ =
false;
76 std::array<ScalarBuffer, numComponents> moleFractions_;
78 std::array<std::array<ScalarBuffer, numComponents>, numPhases> phaseMoleFractions_;
Definition: CompositionalContainer.hpp:41
void assignGasFractions(const unsigned globalDofIdx, const AssignFunction &fractions)
std::function< Scalar(const unsigned)> AssignFunction
Definition: CompositionalContainer.hpp:56
void allocate(const unsigned bufferSize, std::map< std::string, int > &rstKeywords)
bool allocated() const
Definition: CompositionalContainer.hpp:70
void outputRestart(data::Solution &sol, ScalarBuffer &oil_saturation)
void assignMoleFractions(const unsigned globalDofIdx, const AssignFunction &fractions)
void assignOilFractions(const unsigned globalDofIdx, const AssignFunction &fractions)
Definition: blackoilboundaryratevector.hh:39