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_;