GCC Code Coverage Report


Directory: ../../../builds/dumux-repositories/
File: /builds/dumux-repositories/dumux/dumux/material/fluidstates/compositional.hh
Date: 2024-09-21 20:52:54
Exec Total Coverage
Lines: 78 80 97.5%
Functions: 71 97 73.2%
Branches: 890 1315 67.7%

Line Branch Exec Source
1 // -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2 // vi: set et ts=4 sw=4 sts=4:
3 //
4 // SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5 // SPDX-License-Identifier: GPL-3.0-or-later
6 //
7 /*!
8 * \file
9 * \ingroup FluidStates
10 * \brief Represents all relevant thermodynamic quantities of a
11 * multi-phase, multi-component fluid system assuming
12 * thermodynamic equilibrium.
13 */
14 #ifndef DUMUX_COMPOSITIONAL_FLUID_STATE_HH
15 #define DUMUX_COMPOSITIONAL_FLUID_STATE_HH
16
17 #include <algorithm>
18 #include <cmath>
19 #include <type_traits>
20 #include <cassert>
21 #include <array>
22
23 #include <dune/common/exceptions.hh>
24
25 namespace Dumux {
26
27 /*!
28 * \ingroup FluidStates
29 * \brief Represents all relevant thermodynamic quantities of a
30 * multi-phase, multi-component fluid system assuming
31 * thermodynamic equilibrium.
32 */
33 template <class ScalarType, class FluidSystem>
34 class CompositionalFluidState
35 {
36 public:
37 static constexpr int numPhases = FluidSystem::numPhases;
38 static constexpr int numComponents = FluidSystem::numComponents;
39
40 //! export the scalar type
41 using Scalar = ScalarType;
42
43 //! default constructor
44
10/13
✗ Branch 0 not taken.
✓ Branch 1 taken 148152 times.
✓ Branch 2 taken 10802 times.
✓ Branch 3 taken 50158 times.
✓ Branch 4 taken 24152 times.
✓ Branch 5 taken 7480 times.
✓ Branch 6 taken 180940 times.
✓ Branch 7 taken 120798 times.
✗ Branch 8 not taken.
✓ Branch 9 taken 1050235 times.
✓ Branch 10 taken 24 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 15708 times.
34211397 CompositionalFluidState() = default;
45
46 //! copy constructor from arbitrary fluid state
47 template <class FluidState, typename std::enable_if_t<!std::is_same<FluidState, CompositionalFluidState>::value, int> = 0>
48 CompositionalFluidState(const FluidState &fs)
49 { assign(fs); }
50
51 // copy and move constructor / assignment operator
52 CompositionalFluidState(const CompositionalFluidState &fs) = default;
53 CompositionalFluidState(CompositionalFluidState &&fs) = default;
54 CompositionalFluidState& operator=(const CompositionalFluidState &fs) = default;
55 CompositionalFluidState& operator=(CompositionalFluidState &&fs) = default;
56
57 /*****************************************************
58 * Generic access to fluid properties (No assumptions
59 * on thermodynamic equilibrium required)
60 *****************************************************/
61 /*!
62 * \brief Returns the index of the most wetting phase in the
63 * fluid-solid configuration (for porous medium systems).
64 */
65 int wettingPhase() const { return wPhaseIdx_; }
66
67 /*!
68 * \brief Returns the saturation \f$S_\alpha\f$ of a fluid phase \f$\alpha\f$ in \f$\mathrm{[-]}\f$.
69 *
70 * The saturation is defined as the pore space occupied by the fluid divided by the total pore space:
71 * \f[S_\alpha := \frac{\phi \mathcal{V}_\alpha}{\phi \mathcal{V}}\f]
72 *
73 * \param phaseIdx the index of the phase
74 */
75 Scalar saturation(int phaseIdx) const
76
54/62
✓ Branch 0 taken 1420006 times.
✓ Branch 1 taken 2751171 times.
✓ Branch 2 taken 2918322 times.
✓ Branch 3 taken 8465123 times.
✓ Branch 4 taken 3878458 times.
✓ Branch 5 taken 100025276 times.
✓ Branch 6 taken 5401063 times.
✓ Branch 7 taken 95030781 times.
✓ Branch 8 taken 4368859 times.
✓ Branch 9 taken 712293 times.
✓ Branch 10 taken 1963215 times.
✓ Branch 11 taken 353753 times.
✓ Branch 12 taken 1963212 times.
✓ Branch 13 taken 984778 times.
✓ Branch 14 taken 1520935 times.
✓ Branch 15 taken 1352014 times.
✓ Branch 16 taken 290 times.
✓ Branch 17 taken 672888 times.
✓ Branch 18 taken 343 times.
✓ Branch 19 taken 123920 times.
✓ Branch 20 taken 95 times.
✓ Branch 21 taken 288462 times.
✓ Branch 22 taken 211 times.
✓ Branch 23 taken 50636960 times.
✓ Branch 24 taken 186 times.
✓ Branch 25 taken 116729956 times.
✓ Branch 26 taken 9070406 times.
✓ Branch 27 taken 75800464 times.
✓ Branch 28 taken 9070405 times.
✓ Branch 29 taken 9426098 times.
✓ Branch 30 taken 38 times.
✓ Branch 31 taken 347526 times.
✓ Branch 32 taken 23 times.
✓ Branch 33 taken 346620 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 8127 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 8127 times.
✓ Branch 38 taken 651 times.
✓ Branch 39 taken 78992 times.
✓ Branch 40 taken 1008 times.
✓ Branch 41 taken 125230 times.
✓ Branch 42 taken 357 times.
✓ Branch 43 taken 68664 times.
✗ Branch 44 not taken.
✓ Branch 45 taken 54025 times.
✓ Branch 46 taken 22426 times.
✓ Branch 47 taken 34791 times.
✓ Branch 48 taken 19234 times.
✓ Branch 49 taken 22426 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 19234 times.
✓ Branch 52 taken 22426 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 19234 times.
✓ Branch 55 taken 22426 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 19234 times.
✓ Branch 58 taken 22426 times.
✗ Branch 59 not taken.
✓ Branch 60 taken 19234 times.
✗ Branch 61 not taken.
5931407616 { return saturation_[phaseIdx]; }
77
78 /*!
79 * \brief Returns the molar fraction \f$x^\kappa_\alpha\f$ of the component \f$\kappa\f$ in fluid phase \f$\alpha\f$ in \f$\mathrm{[-]}\f$.
80 *
81 * The molar fraction \f$x^\kappa_\alpha\f$ is defined as the ratio of the number of molecules
82 * of component \f$\kappa\f$ and the total number of molecules of the phase \f$\alpha\f$.
83 *
84 * \param phaseIdx the index of the phase
85 * \param compIdx the index of the component
86 */
87 Scalar moleFraction(int phaseIdx, int compIdx) const
88
86/145
✓ Branch 0 taken 170292784 times.
✓ Branch 1 taken 51646014 times.
✓ Branch 2 taken 30474174 times.
✓ Branch 3 taken 7214595 times.
✓ Branch 4 taken 3758845 times.
✓ Branch 5 taken 10284543 times.
✓ Branch 6 taken 60356025 times.
✓ Branch 7 taken 24754382 times.
✓ Branch 8 taken 48698135 times.
✓ Branch 9 taken 87546308 times.
✓ Branch 10 taken 49391101 times.
✓ Branch 11 taken 101401156 times.
✓ Branch 12 taken 46002697 times.
✓ Branch 13 taken 117434737 times.
✓ Branch 14 taken 72240865 times.
✓ Branch 15 taken 123906423 times.
✓ Branch 16 taken 69138793 times.
✓ Branch 17 taken 393219395 times.
✓ Branch 18 taken 44246746 times.
✓ Branch 19 taken 85234422 times.
✓ Branch 20 taken 25297360 times.
✓ Branch 21 taken 24911604 times.
✓ Branch 22 taken 8354776 times.
✓ Branch 23 taken 4409553 times.
✓ Branch 24 taken 4267413 times.
✓ Branch 25 taken 5125870 times.
✓ Branch 26 taken 5157776 times.
✓ Branch 27 taken 15512491 times.
✓ Branch 28 taken 10993973 times.
✓ Branch 29 taken 5093010 times.
✓ Branch 30 taken 5002113 times.
✓ Branch 31 taken 5299049 times.
✓ Branch 32 taken 6223171 times.
✓ Branch 33 taken 2585826 times.
✓ Branch 34 taken 4374659 times.
✓ Branch 35 taken 4494929 times.
✓ Branch 36 taken 6216555 times.
✓ Branch 37 taken 585579 times.
✓ Branch 38 taken 411697 times.
✓ Branch 39 taken 3117073 times.
✓ Branch 40 taken 2915760 times.
✓ Branch 41 taken 551409 times.
✓ Branch 42 taken 380898 times.
✓ Branch 43 taken 3086272 times.
✓ Branch 44 taken 2915760 times.
✓ Branch 45 taken 551409 times.
✓ Branch 46 taken 380897 times.
✓ Branch 47 taken 3012472 times.
✓ Branch 48 taken 2915761 times.
✓ Branch 49 taken 380897 times.
✓ Branch 50 taken 380897 times.
✓ Branch 51 taken 2915766 times.
✓ Branch 52 taken 5511534 times.
✓ Branch 53 taken 386022 times.
✓ Branch 54 taken 3002297 times.
✓ Branch 55 taken 28747 times.
✓ Branch 56 taken 2626520 times.
✓ Branch 57 taken 23500 times.
✓ Branch 58 taken 2616280 times.
✓ Branch 59 taken 28614 times.
✓ Branch 60 taken 2616279 times.
✓ Branch 61 taken 23494 times.
✓ Branch 62 taken 2616278 times.
✓ Branch 63 taken 23495 times.
✓ Branch 64 taken 20506 times.
✓ Branch 65 taken 23494 times.
✓ Branch 66 taken 8401 times.
✓ Branch 67 taken 8400 times.
✗ Branch 68 not taken.
✓ Branch 69 taken 1 times.
✗ Branch 70 not taken.
✗ Branch 71 not taken.
✓ Branch 72 taken 1 times.
✗ Branch 73 not taken.
✗ Branch 74 not taken.
✓ Branch 75 taken 1 times.
✗ Branch 76 not taken.
✗ Branch 77 not taken.
✓ Branch 78 taken 1 times.
✗ Branch 79 not taken.
✗ Branch 80 not taken.
✗ Branch 81 not taken.
✗ Branch 82 not taken.
✗ Branch 83 not taken.
✗ Branch 84 not taken.
✗ Branch 85 not taken.
✗ Branch 86 not taken.
✗ Branch 87 not taken.
✗ Branch 88 not taken.
✗ Branch 89 not taken.
✗ Branch 90 not taken.
✗ Branch 91 not taken.
✗ Branch 92 not taken.
✗ Branch 93 not taken.
✗ Branch 94 not taken.
✗ Branch 95 not taken.
✗ Branch 96 not taken.
✗ Branch 97 not taken.
✗ Branch 98 not taken.
✗ Branch 99 not taken.
✗ Branch 100 not taken.
✗ Branch 101 not taken.
✗ Branch 102 not taken.
✗ Branch 103 not taken.
✗ Branch 104 not taken.
✗ Branch 105 not taken.
✗ Branch 106 not taken.
✗ Branch 107 not taken.
✗ Branch 108 not taken.
✗ Branch 109 not taken.
✗ Branch 110 not taken.
✗ Branch 111 not taken.
✗ Branch 112 not taken.
✗ Branch 113 not taken.
✗ Branch 114 not taken.
✗ Branch 115 not taken.
✓ Branch 116 taken 16 times.
✓ Branch 117 taken 4697 times.
✓ Branch 118 taken 30 times.
✓ Branch 119 taken 8106 times.
✓ Branch 120 taken 18319 times.
✓ Branch 121 taken 8106 times.
✓ Branch 122 taken 34317 times.
✓ Branch 123 taken 3409 times.
✓ Branch 124 taken 34303 times.
✗ Branch 125 not taken.
✓ Branch 126 taken 16014 times.
✗ Branch 127 not taken.
✗ Branch 128 not taken.
✗ Branch 129 not taken.
✗ Branch 130 not taken.
✗ Branch 131 not taken.
✗ Branch 132 not taken.
✗ Branch 133 not taken.
✗ Branch 134 not taken.
✗ Branch 135 not taken.
✗ Branch 136 not taken.
✗ Branch 137 not taken.
✓ Branch 138 taken 354 times.
✗ Branch 139 not taken.
✓ Branch 140 taken 479 times.
✗ Branch 141 not taken.
✓ Branch 142 taken 479 times.
✗ Branch 143 not taken.
✓ Branch 144 taken 125 times.
18105180756 { return moleFraction_[phaseIdx][compIdx]; }
89
90 /*!
91 * \brief Returns the mass fraction \f$X^\kappa_\alpha\f$ of component \f$\kappa\f$ in fluid phase \f$\alpha\f$ in \f$\mathrm{[-]}\f$.
92 *
93 * The mass fraction \f$X^\kappa_\alpha\f$ is defined as the weight of all molecules of a
94 * component divided by the total mass of the fluid phase. It is related with the component's mole fraction by means of the relation
95 *
96 * \f[X^\kappa_\alpha = x^\kappa_\alpha \frac{M^\kappa}{\overline M_\alpha}\;,\f]
97 *
98 * where \f$M^\kappa\f$ is the molar mass of component \f$\kappa\f$ and
99 * \f$\overline M_\alpha\f$ is the mean molar mass of a molecule of phase
100 * \f$\alpha\f$.
101 *
102 * \param phaseIdx the index of the phase
103 * \param compIdx the index of the component
104 */
105 508821546 Scalar massFraction(int phaseIdx, int compIdx) const
106 {
107 // calculate the mass fractions:
108 // for "mass" models this is just a back calculation
109
17/28
✓ Branch 0 taken 198088137 times.
✓ Branch 1 taken 78009897 times.
✓ Branch 2 taken 60893683 times.
✓ Branch 3 taken 332868360 times.
✓ Branch 4 taken 24488095 times.
✓ Branch 5 taken 19964188 times.
✓ Branch 6 taken 6775385 times.
✓ Branch 7 taken 6808382 times.
✓ Branch 8 taken 2713456 times.
✓ Branch 9 taken 2821636 times.
✓ Branch 10 taken 76200 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 22500 times.
✓ Branch 13 taken 25620 times.
✓ Branch 14 taken 25748 times.
✓ Branch 15 taken 10240 times.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 5120 times.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 times.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✗ Branch 27 not taken.
5805615118 return sumMoleFractions_[phaseIdx]
110
17/28
✓ Branch 0 taken 198088137 times.
✓ Branch 1 taken 78009897 times.
✓ Branch 2 taken 60893683 times.
✓ Branch 3 taken 332868360 times.
✓ Branch 4 taken 24488095 times.
✓ Branch 5 taken 19964188 times.
✓ Branch 6 taken 6775385 times.
✓ Branch 7 taken 6808382 times.
✓ Branch 8 taken 2713456 times.
✓ Branch 9 taken 2821636 times.
✓ Branch 10 taken 76200 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 22500 times.
✓ Branch 13 taken 25620 times.
✓ Branch 14 taken 25748 times.
✓ Branch 15 taken 10240 times.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 5120 times.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 times.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✗ Branch 27 not taken.
5805615118 * moleFraction(phaseIdx, compIdx)
111
16/28
✓ Branch 0 taken 198088132 times.
✓ Branch 1 taken 380776807 times.
✓ Branch 2 taken 60893678 times.
✓ Branch 3 taken 34625350 times.
✓ Branch 4 taken 19964186 times.
✓ Branch 5 taken 19964186 times.
✓ Branch 6 taken 6775380 times.
✓ Branch 7 taken 6808380 times.
✓ Branch 8 taken 2713456 times.
✓ Branch 9 taken 2821636 times.
✓ Branch 10 taken 76200 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 22500 times.
✓ Branch 13 taken 25620 times.
✓ Branch 14 taken 25748 times.
✓ Branch 15 taken 10240 times.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✓ Branch 18 taken 5120 times.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✗ Branch 27 not taken.
5792634023 * FluidSystem::molarMass(compIdx)
112
18/18
✓ Branch 0 taken 14705 times.
✓ Branch 1 taken 341803 times.
✓ Branch 2 taken 16953 times.
✓ Branch 3 taken 168802 times.
✓ Branch 4 taken 500810 times.
✓ Branch 5 taken 12046 times.
✓ Branch 6 taken 325561 times.
✓ Branch 7 taken 12046 times.
✓ Branch 8 taken 5 times.
✓ Branch 9 taken 2 times.
✓ Branch 10 taken 5 times.
✓ Branch 11 taken 2 times.
✓ Branch 12 taken 5 times.
✓ Branch 13 taken 2 times.
✓ Branch 14 taken 5 times.
✓ Branch 15 taken 2 times.
✓ Branch 16 taken 5 times.
✓ Branch 17 taken 2 times.
3780427897 / averageMolarMass_[phaseIdx];
113 }
114
115 /*!
116 * \brief Returns the phase mass fraction, i.e. phase mass per total mass \f$\mathrm{[kg/kg]}\f$.
117 * \param phaseIdx the index of the phase
118 */
119 Scalar phaseMassFraction(int phaseIdx) const
120 {
121 Scalar totalMass = 0.0;
122
2/2
✓ Branch 0 taken 20 times.
✓ Branch 1 taken 10 times.
30 for (int pIdx = 0; pIdx < numPhases; ++pIdx)
123 40 totalMass += saturation(pIdx)*density(pIdx);
124
125 20 return saturation(phaseIdx)*density(phaseIdx) / totalMass;
126 }
127
128 /*!
129 * \brief The average molar mass \f$\overline M_\alpha\f$ of phase \f$\alpha\f$ in \f$\mathrm{[kg/mol]}\f$
130 *
131 * The average molar mass is the mean mass of a mole of the
132 * fluid at current composition. It is defined as the sum of the
133 * component's molar masses weighted by the current mole fraction:
134 * \f[\mathrm{ \overline M_\alpha = \sum_\kappa M^\kappa x_\alpha^\kappa}\f]
135 */
136 Scalar averageMolarMass(int phaseIdx) const
137
9/18
✗ Branch 0 not taken.
✓ Branch 1 taken 56828 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 56827 times.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
183757664 { return averageMolarMass_[phaseIdx]; }
138
139 /*!
140 * \brief The molar concentration \f$c^\kappa_\alpha\f$ of component \f$\kappa\f$ in fluid phase \f$\alpha\f$ in \f$\mathrm{[mol/m^3]}\f$
141 *
142 * This quantity is usually called "molar concentration" or just
143 * "concentration", but there are many other (though less common)
144 * measures for concentration.
145 *
146 * http://en.wikipedia.org/wiki/Concentration
147 */
148 Scalar molarity(int phaseIdx, int compIdx) const
149
4/8
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
875230 { return molarDensity(phaseIdx)*moleFraction(phaseIdx, compIdx); }
150
151 /*!
152 * \brief The fugacity \f$f^\kappa_\alpha\f$ of component \f$\kappa\f$
153 * in fluid phase \f$\alpha\f$ in \f$\mathrm{[Pa]}\f$
154 *
155 * The fugacity is defined as:
156 * \f$f_\alpha^\kappa := \Phi^\kappa_\alpha x^\kappa_\alpha p_\alpha \;,\f$
157 * where \f$\Phi^\kappa_\alpha\f$ is the fugacity coefficient \cite reid1987 .
158 * The physical meaning of fugacity becomes clear from the equation:
159 * \f[f_\alpha^\kappa = p_\alpha \exp\left\{\frac{\zeta^\kappa_\alpha}{R T_\alpha} \right\} \;,\f]
160 * where \f$\zeta^\kappa_\alpha\f$ represents the \f$\kappa\f$'s chemical
161 * potential in phase \f$\alpha\f$, \f$R\f$ stands for the ideal gas constant,
162 * and \f$T_\alpha\f$ for the absolute temperature of phase \f$\alpha\f$. Assuming thermal equilibrium,
163 * there is a one-to-one mapping between a component's chemical potential
164 * \f$\zeta^\kappa_\alpha\f$ and its fugacity \f$f^\kappa_\alpha\f$. In this
165 * case chemical equilibrium can thus be expressed by:
166 * \f[f^\kappa := f^\kappa_\alpha = f^\kappa_\beta\quad\forall \alpha, \beta\f]
167 */
168 Scalar fugacity(int phaseIdx, int compIdx) const
169 204541428 { return fugacityCoefficient(phaseIdx, compIdx)*moleFraction(phaseIdx, compIdx)*pressure(phaseIdx); }
170
171 /*!
172 * \brief The fugacity coefficient \f$\Phi^\kappa_\alpha\f$ of component \f$\kappa\f$ in fluid phase \f$\alpha\f$ in \f$\mathrm{[-]}\f$
173 */
174 Scalar fugacityCoefficient(int phaseIdx, int compIdx) const
175
26/54
✗ Branch 0 not taken.
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✓ Branch 16 taken 1182424 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 1182423 times.
✓ Branch 19 taken 1 times.
✓ Branch 20 taken 1182423 times.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 26 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 32 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 38 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 46 taken 1 times.
✗ Branch 47 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 50 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 64 taken 1 times.
✗ Branch 65 not taken.
✓ Branch 67 taken 1 times.
✗ Branch 68 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
374419791 { return fugacityCoefficient_[phaseIdx][compIdx]; }
176
177 /*!
178 * \brief The molar volume \f$v_{mol,\alpha}\f$ of a fluid phase \f$\alpha\f$ in \f$\mathrm{[m^3/mol]}\f$
179 *
180 * This quantity is the inverse of the molar density.
181 */
182 Scalar molarVolume(int phaseIdx) const
183 8 { return 1.0/molarDensity(phaseIdx); }
184
185 /*!
186 * \brief The mass density \f$\rho_\alpha\f$ of the fluid phase
187 * \f$\alpha\f$ in \f$\mathrm{[kg/m^3]}\f$
188 */
189 Scalar density(int phaseIdx) const
190
138/246
✓ Branch 0 taken 4438604 times.
✓ Branch 1 taken 293335 times.
✓ Branch 2 taken 4438604 times.
✓ Branch 3 taken 120286 times.
✓ Branch 4 taken 4611740 times.
✓ Branch 5 taken 120286 times.
✓ Branch 6 taken 75439947 times.
✓ Branch 7 taken 2124867 times.
✓ Branch 8 taken 75439947 times.
✓ Branch 9 taken 65301199 times.
✓ Branch 10 taken 76275290 times.
✓ Branch 11 taken 65301199 times.
✓ Branch 12 taken 19307639 times.
✓ Branch 13 taken 79469381 times.
✓ Branch 14 taken 19307639 times.
✓ Branch 15 taken 17974670 times.
✓ Branch 16 taken 20264776 times.
✓ Branch 17 taken 17974670 times.
✓ Branch 18 taken 39561304 times.
✓ Branch 19 taken 2781871 times.
✓ Branch 20 taken 39561304 times.
✓ Branch 21 taken 927021 times.
✓ Branch 22 taken 37769024 times.
✓ Branch 23 taken 927021 times.
✓ Branch 24 taken 5702235 times.
✓ Branch 25 taken 4859230 times.
✓ Branch 26 taken 5702235 times.
✓ Branch 27 taken 4859229 times.
✓ Branch 28 taken 5702236 times.
✓ Branch 29 taken 4859229 times.
✓ Branch 30 taken 57844235 times.
✓ Branch 31 taken 18987266 times.
✓ Branch 32 taken 57844235 times.
✓ Branch 33 taken 18987265 times.
✓ Branch 34 taken 57844236 times.
✓ Branch 35 taken 18987265 times.
✓ Branch 36 taken 88441736 times.
✓ Branch 37 taken 41437578 times.
✓ Branch 38 taken 88441736 times.
✓ Branch 39 taken 41437578 times.
✓ Branch 40 taken 88441736 times.
✓ Branch 41 taken 41437578 times.
✓ Branch 42 taken 39835774 times.
✓ Branch 43 taken 40515890 times.
✓ Branch 44 taken 39835774 times.
✓ Branch 45 taken 40523740 times.
✓ Branch 46 taken 39835774 times.
✓ Branch 47 taken 40523740 times.
✓ Branch 48 taken 1003688 times.
✓ Branch 49 taken 29165342 times.
✓ Branch 50 taken 1003688 times.
✓ Branch 51 taken 29165342 times.
✓ Branch 52 taken 1003688 times.
✓ Branch 53 taken 29165342 times.
✓ Branch 54 taken 693378 times.
✓ Branch 55 taken 23758322 times.
✓ Branch 56 taken 693378 times.
✓ Branch 57 taken 23750472 times.
✓ Branch 58 taken 693378 times.
✓ Branch 59 taken 23750472 times.
✓ Branch 60 taken 3151918 times.
✓ Branch 61 taken 18417676 times.
✓ Branch 62 taken 3151918 times.
✓ Branch 63 taken 18417676 times.
✓ Branch 64 taken 3151918 times.
✓ Branch 65 taken 18417676 times.
✓ Branch 66 taken 392238 times.
✓ Branch 67 taken 18417676 times.
✓ Branch 68 taken 392238 times.
✓ Branch 69 taken 18417676 times.
✓ Branch 70 taken 392238 times.
✓ Branch 71 taken 18417676 times.
✓ Branch 72 taken 414088 times.
✓ Branch 73 taken 18417676 times.
✓ Branch 74 taken 414088 times.
✓ Branch 75 taken 18417676 times.
✓ Branch 76 taken 414088 times.
✓ Branch 77 taken 18417676 times.
✓ Branch 78 taken 191680 times.
✓ Branch 79 taken 14789740 times.
✓ Branch 80 taken 191680 times.
✓ Branch 81 taken 14789740 times.
✓ Branch 82 taken 191680 times.
✓ Branch 83 taken 14789740 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 5414920 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 5414920 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 5414920 times.
✓ Branch 90 taken 12600 times.
✗ Branch 91 not taken.
✓ Branch 92 taken 12600 times.
✗ Branch 93 not taken.
✓ Branch 94 taken 12600 times.
✗ Branch 95 not taken.
✓ Branch 96 taken 6600 times.
✗ Branch 97 not taken.
✓ Branch 98 taken 6600 times.
✗ Branch 99 not taken.
✓ Branch 100 taken 6600 times.
✗ Branch 101 not taken.
✓ Branch 102 taken 13000 times.
✗ Branch 103 not taken.
✓ Branch 104 taken 13000 times.
✗ Branch 105 not taken.
✓ Branch 106 taken 13000 times.
✗ Branch 107 not taken.
✓ Branch 108 taken 6600 times.
✗ Branch 109 not taken.
✓ Branch 110 taken 6600 times.
✓ Branch 111 taken 6400 times.
✓ Branch 112 taken 6600 times.
✓ Branch 113 taken 6400 times.
✓ Branch 114 taken 6600 times.
✓ Branch 115 taken 6400 times.
✓ Branch 116 taken 6600 times.
✓ Branch 117 taken 6400 times.
✓ Branch 118 taken 6600 times.
✓ Branch 119 taken 6400 times.
✓ Branch 120 taken 12800 times.
✓ Branch 121 taken 6400 times.
✓ Branch 122 taken 12800 times.
✓ Branch 123 taken 6400 times.
✓ Branch 124 taken 12800 times.
✓ Branch 125 taken 6400 times.
✓ Branch 126 taken 6600 times.
✓ Branch 127 taken 6400 times.
✓ Branch 128 taken 6600 times.
✓ Branch 129 taken 6400 times.
✓ Branch 130 taken 6600 times.
✓ Branch 131 taken 6400 times.
✓ Branch 132 taken 6600 times.
✓ Branch 133 taken 6400 times.
✓ Branch 134 taken 6600 times.
✓ Branch 135 taken 6400 times.
✓ Branch 136 taken 6600 times.
✓ Branch 137 taken 6400 times.
✓ Branch 138 taken 6600 times.
✓ Branch 139 taken 6400 times.
✓ Branch 140 taken 6600 times.
✓ Branch 141 taken 6400 times.
✓ Branch 142 taken 6600 times.
✓ Branch 143 taken 6400 times.
✗ Branch 144 not taken.
✓ Branch 145 taken 6400 times.
✗ Branch 146 not taken.
✓ Branch 147 taken 6400 times.
✗ Branch 148 not taken.
✓ Branch 149 taken 6400 times.
✗ Branch 150 not taken.
✓ Branch 151 taken 6400 times.
✗ Branch 152 not taken.
✓ Branch 153 taken 6400 times.
✗ Branch 154 not taken.
✓ Branch 155 taken 6400 times.
✗ Branch 156 not taken.
✓ Branch 157 taken 6400 times.
✗ Branch 158 not taken.
✗ Branch 159 not taken.
✗ Branch 160 not taken.
✗ Branch 161 not taken.
✗ Branch 162 not taken.
✗ Branch 163 not taken.
✗ Branch 164 not taken.
✗ Branch 165 not taken.
✗ Branch 166 not taken.
✗ Branch 167 not taken.
✗ Branch 168 not taken.
✗ Branch 169 not taken.
✗ Branch 170 not taken.
✗ Branch 171 not taken.
✗ Branch 172 not taken.
✗ Branch 173 not taken.
✗ Branch 174 not taken.
✗ Branch 175 not taken.
✗ Branch 176 not taken.
✗ Branch 177 not taken.
✗ Branch 178 not taken.
✗ Branch 179 not taken.
✗ Branch 180 not taken.
✗ Branch 181 not taken.
✗ Branch 182 not taken.
✗ Branch 183 not taken.
✗ Branch 184 not taken.
✗ Branch 185 not taken.
✗ Branch 186 not taken.
✗ Branch 187 not taken.
✗ Branch 188 not taken.
✗ Branch 189 not taken.
✗ Branch 190 not taken.
✗ Branch 191 not taken.
✗ Branch 192 not taken.
✗ Branch 193 not taken.
✗ Branch 194 not taken.
✗ Branch 195 not taken.
✗ Branch 196 not taken.
✗ Branch 197 not taken.
✗ Branch 198 not taken.
✗ Branch 199 not taken.
✗ Branch 200 not taken.
✗ Branch 201 not taken.
✗ Branch 202 not taken.
✗ Branch 203 not taken.
✗ Branch 204 not taken.
✗ Branch 205 not taken.
✗ Branch 206 not taken.
✗ Branch 207 not taken.
✗ Branch 208 not taken.
✗ Branch 209 not taken.
✗ Branch 210 not taken.
✗ Branch 211 not taken.
✗ Branch 212 not taken.
✗ Branch 213 not taken.
✗ Branch 214 not taken.
✗ Branch 215 not taken.
✗ Branch 216 not taken.
✗ Branch 217 not taken.
✗ Branch 218 not taken.
✗ Branch 219 not taken.
✗ Branch 220 not taken.
✗ Branch 221 not taken.
✗ Branch 222 not taken.
✗ Branch 223 not taken.
✗ Branch 224 not taken.
✗ Branch 225 not taken.
✗ Branch 226 not taken.
✗ Branch 227 not taken.
✗ Branch 228 not taken.
✗ Branch 229 not taken.
✗ Branch 230 not taken.
✗ Branch 231 not taken.
✗ Branch 232 not taken.
✗ Branch 233 not taken.
✗ Branch 234 not taken.
✗ Branch 235 not taken.
✗ Branch 236 not taken.
✗ Branch 237 not taken.
✗ Branch 238 not taken.
✗ Branch 239 not taken.
✗ Branch 240 not taken.
✗ Branch 241 not taken.
✗ Branch 242 not taken.
✗ Branch 243 not taken.
✗ Branch 244 not taken.
✗ Branch 245 not taken.
31187884266 { return density_[phaseIdx]; }
191
192 /*!
193 * \brief The molar density \f$\rho_\alpha\f$ of the fluid phase
194 * \f$\alpha\f$ in \f$\mathrm{[mol/m^3]}\f$
195 */
196 Scalar molarDensity(int phaseIdx) const
197
38/58
✓ Branch 0 taken 43584 times.
✓ Branch 1 taken 75961181 times.
✓ Branch 2 taken 43584 times.
✓ Branch 3 taken 75961180 times.
✓ Branch 4 taken 270760 times.
✓ Branch 5 taken 31585641 times.
✓ Branch 6 taken 1397404 times.
✓ Branch 7 taken 34518773 times.
✓ Branch 8 taken 1353820 times.
✓ Branch 9 taken 80189924 times.
✓ Branch 10 taken 227176 times.
✓ Branch 11 taken 77256793 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 170513 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 170512 times.
✓ Branch 16 taken 43617 times.
✓ Branch 17 taken 57664 times.
✓ Branch 18 taken 43616 times.
✓ Branch 19 taken 57665 times.
✓ Branch 20 taken 117510 times.
✓ Branch 21 taken 177940 times.
✓ Branch 22 taken 117511 times.
✓ Branch 23 taken 177940 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 26 not taken.
✗ Branch 27 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 32 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 38 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 46 taken 1 times.
✗ Branch 47 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 50 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 1 times.
✗ Branch 62 not taken.
✓ Branch 64 taken 1 times.
✗ Branch 65 not taken.
✓ Branch 67 taken 1 times.
✗ Branch 68 not taken.
✓ Branch 70 taken 1 times.
✗ Branch 71 not taken.
4934550488 { return molarDensity_[phaseIdx]; }
198
199 /*!
200 * \brief The absolute temperature\f$T_\alpha\f$ of a fluid phase \f$\alpha\f$ in \f$\mathrm{[K]}\f$
201 */
202 Scalar temperature(int phaseIdx) const
203
66/72
✓ Branch 0 taken 130930919 times.
✓ Branch 1 taken 110574790 times.
✓ Branch 2 taken 166005227 times.
✓ Branch 3 taken 150093847 times.
✓ Branch 4 taken 94249180 times.
✓ Branch 5 taken 156967193 times.
✓ Branch 6 taken 126912650 times.
✓ Branch 7 taken 188291182 times.
✓ Branch 8 taken 146032170 times.
✓ Branch 9 taken 147271022 times.
✓ Branch 10 taken 96184741 times.
✓ Branch 11 taken 162422546 times.
✓ Branch 12 taken 115233441 times.
✓ Branch 13 taken 166242687 times.
✓ Branch 14 taken 139720324 times.
✓ Branch 15 taken 153510135 times.
✓ Branch 16 taken 69997049 times.
✓ Branch 17 taken 124818892 times.
✓ Branch 18 taken 136137983 times.
✓ Branch 19 taken 130705479 times.
✓ Branch 20 taken 124724504 times.
✓ Branch 21 taken 113599979 times.
✓ Branch 22 taken 49551844 times.
✓ Branch 23 taken 57852989 times.
✓ Branch 24 taken 87490859 times.
✓ Branch 25 taken 119445220 times.
✓ Branch 26 taken 64908305 times.
✓ Branch 27 taken 111270843 times.
✓ Branch 28 taken 21958376 times.
✓ Branch 29 taken 29338424 times.
✓ Branch 30 taken 19413975 times.
✓ Branch 31 taken 59673075 times.
✓ Branch 32 taken 1567259 times.
✓ Branch 33 taken 39291496 times.
✓ Branch 34 taken 5787177 times.
✓ Branch 35 taken 21853366 times.
✓ Branch 36 taken 5491104 times.
✓ Branch 37 taken 21176395 times.
✓ Branch 38 taken 18842384 times.
✓ Branch 39 taken 25076225 times.
✓ Branch 40 taken 18347211 times.
✓ Branch 41 taken 24581050 times.
✓ Branch 42 taken 3140962 times.
✓ Branch 43 taken 4714270 times.
✓ Branch 44 taken 2283731 times.
✓ Branch 45 taken 3857042 times.
✗ Branch 46 not taken.
✓ Branch 47 taken 2682656 times.
✗ Branch 48 not taken.
✓ Branch 49 taken 2682656 times.
✗ Branch 50 not taken.
✓ Branch 51 taken 2682656 times.
✓ Branch 52 taken 1020363 times.
✓ Branch 53 taken 4102781 times.
✓ Branch 54 taken 1272203 times.
✓ Branch 55 taken 1671965 times.
✓ Branch 56 taken 251840 times.
✓ Branch 57 taken 1134959 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 5149947 times.
✗ Branch 60 not taken.
✓ Branch 61 taken 4562902 times.
✗ Branch 62 not taken.
✓ Branch 63 taken 296074 times.
✓ Branch 66 taken 4570177 times.
✓ Branch 67 taken 6181833 times.
✓ Branch 68 taken 4570177 times.
✓ Branch 69 taken 6181833 times.
✓ Branch 70 taken 1525676 times.
✓ Branch 71 taken 2072518 times.
✓ Branch 72 taken 1525676 times.
✓ Branch 73 taken 2072518 times.
5591366688 { return temperature_[phaseIdx]; }
204
205 /*!
206 * \brief The pressure \f$p_\alpha\f$ of a fluid phase \f$\alpha\f$ in \f$\mathrm{[Pa]}\f$
207 */
208 Scalar pressure(int phaseIdx) const
209
69/72
✓ Branch 0 taken 76073828 times.
✓ Branch 1 taken 113042443 times.
✓ Branch 2 taken 125408115 times.
✓ Branch 3 taken 166576873 times.
✓ Branch 4 taken 119286294 times.
✓ Branch 5 taken 183577237 times.
✓ Branch 6 taken 119103401 times.
✓ Branch 7 taken 184403211 times.
✓ Branch 8 taken 125456600 times.
✓ Branch 9 taken 135959366 times.
✓ Branch 10 taken 80097920 times.
✓ Branch 11 taken 182070369 times.
✓ Branch 12 taken 55332156 times.
✓ Branch 13 taken 162360285 times.
✓ Branch 14 taken 103956681 times.
✓ Branch 15 taken 139063848 times.
✓ Branch 16 taken 81381265 times.
✓ Branch 17 taken 136421050 times.
✓ Branch 18 taken 35992415 times.
✓ Branch 19 taken 67777757 times.
✓ Branch 20 taken 29177492 times.
✓ Branch 21 taken 42742914 times.
✓ Branch 22 taken 27975856 times.
✓ Branch 23 taken 94604071 times.
✓ Branch 24 taken 29540682 times.
✓ Branch 25 taken 98368555 times.
✓ Branch 26 taken 34718259 times.
✓ Branch 27 taken 55429079 times.
✓ Branch 28 taken 4563641 times.
✓ Branch 29 taken 23946698 times.
✓ Branch 30 taken 1866406 times.
✓ Branch 31 taken 14818419 times.
✓ Branch 32 taken 457314 times.
✓ Branch 33 taken 13880770 times.
✓ Branch 34 taken 435267 times.
✓ Branch 35 taken 13858714 times.
✓ Branch 36 taken 364848 times.
✓ Branch 37 taken 382831 times.
✓ Branch 38 taken 20138559 times.
✓ Branch 39 taken 23441457 times.
✓ Branch 40 taken 19839849 times.
✓ Branch 41 taken 24370400 times.
✓ Branch 42 taken 66138 times.
✓ Branch 43 taken 1293801 times.
✓ Branch 44 taken 96743 times.
✓ Branch 45 taken 2694169 times.
✓ Branch 46 taken 96743 times.
✓ Branch 47 taken 2694169 times.
✓ Branch 48 taken 96743 times.
✓ Branch 49 taken 2694169 times.
✓ Branch 50 taken 96743 times.
✓ Branch 51 taken 2694169 times.
✓ Branch 52 taken 1272203 times.
✓ Branch 53 taken 4985467 times.
✓ Branch 54 taken 1272203 times.
✓ Branch 55 taken 6164660 times.
✗ Branch 56 not taken.
✓ Branch 57 taken 1227549 times.
✗ Branch 58 not taken.
✓ Branch 59 taken 48356 times.
✓ Branch 60 taken 119459 times.
✓ Branch 61 taken 6461 times.
✓ Branch 62 taken 119459 times.
✓ Branch 63 taken 6461 times.
✓ Branch 64 taken 119459 times.
✓ Branch 65 taken 6461 times.
✓ Branch 66 taken 6215312 times.
✓ Branch 67 taken 8260812 times.
✓ Branch 68 taken 6095853 times.
✓ Branch 69 taken 12521179 times.
✗ Branch 70 not taken.
✓ Branch 71 taken 4266828 times.
8702096594 { return pressure_[phaseIdx]; }
210
211 /*!
212 * \brief The partial pressure of a component in a phase \f$\mathrm{[Pa]}\f$
213 * \todo is this needed?
214 */
215 5191668 Scalar partialPressure(int phaseIdx, int compIdx) const
216 {
217
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5191606 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 5191606 times.
85515305 assert(FluidSystem::isGas(phaseIdx));
218 120349917 return moleFraction(phaseIdx, compIdx) * pressure(phaseIdx);
219 }
220
221 /*!
222 * \brief The specific enthalpy \f$h_\alpha\f$ of a fluid phase \f$\alpha\f$ in \f$\mathrm{[J/kg]}\f$
223 */
224 Scalar enthalpy(int phaseIdx) const
225
15/22
✓ Branch 0 taken 12248 times.
✓ Branch 1 taken 1737 times.
✓ Branch 2 taken 12248 times.
✓ Branch 3 taken 1736 times.
✓ Branch 4 taken 12249 times.
✓ Branch 5 taken 1736 times.
✓ Branch 6 taken 12248 times.
✓ Branch 7 taken 1737 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✓ Branch 13 taken 48357 times.
✗ Branch 14 not taken.
✓ Branch 15 taken 48356 times.
✓ Branch 16 taken 1 times.
✓ Branch 17 taken 48356 times.
✗ Branch 18 not taken.
✓ Branch 19 taken 48357 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
1660619890 { return enthalpy_[phaseIdx]; }
226
227 /*!
228 * \brief The specific internal energy \f$u_\alpha\f$ of a fluid phase \f$\alpha\f$ in \f$\mathrm{[J/kg]}\f$
229 *
230 * The specific internal energy is defined by the relation:
231 *
232 * \f[u_\alpha = h_\alpha - \frac{p_\alpha}{\rho_\alpha}\f]
233 */
234 Scalar internalEnergy(int phaseIdx) const
235
20/40
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✓ Branch 13 taken 1 times.
✗ Branch 14 not taken.
✓ Branch 16 taken 1 times.
✗ Branch 17 not taken.
✓ Branch 19 taken 1 times.
✗ Branch 20 not taken.
✓ Branch 22 taken 1 times.
✗ Branch 23 not taken.
✓ Branch 25 taken 1 times.
✗ Branch 26 not taken.
✓ Branch 28 taken 1 times.
✗ Branch 29 not taken.
✓ Branch 31 taken 1 times.
✗ Branch 32 not taken.
✓ Branch 34 taken 1 times.
✗ Branch 35 not taken.
✓ Branch 37 taken 1 times.
✗ Branch 38 not taken.
✓ Branch 40 taken 1 times.
✗ Branch 41 not taken.
✓ Branch 43 taken 1 times.
✗ Branch 44 not taken.
✓ Branch 46 taken 1 times.
✗ Branch 47 not taken.
✓ Branch 49 taken 1 times.
✗ Branch 50 not taken.
✓ Branch 52 taken 1 times.
✗ Branch 53 not taken.
✓ Branch 55 taken 1 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 1 times.
✗ Branch 59 not taken.
2789290540 { return enthalpy_[phaseIdx] - pressure(phaseIdx)/density(phaseIdx); }
236
237 /*!
238 * \brief The dynamic viscosity \f$\mu_\alpha\f$ of fluid phase \f$\alpha\f$ in \f$\mathrm{[Pa s]}\f$
239 */
240 Scalar viscosity(int phaseIdx) const
241
46/108
✓ Branch 0 taken 3508779 times.
✓ Branch 1 taken 23944985 times.
✓ Branch 2 taken 3783973 times.
✓ Branch 3 taken 28150772 times.
✓ Branch 4 taken 4058932 times.
✓ Branch 5 taken 31893300 times.
✓ Branch 6 taken 4005071 times.
✓ Branch 7 taken 31934961 times.
✓ Branch 8 taken 10214159 times.
✓ Branch 9 taken 37274584 times.
✓ Branch 10 taken 10255820 times.
✓ Branch 11 taken 37274584 times.
✓ Branch 12 taken 7830269 times.
✓ Branch 13 taken 37274585 times.
✓ Branch 14 taken 7830269 times.
✓ Branch 15 taken 37274584 times.
✓ Branch 16 taken 7252192 times.
✓ Branch 17 taken 19725808 times.
✓ Branch 18 taken 7009647 times.
✓ Branch 19 taken 15478361 times.
✓ Branch 20 taken 4323123 times.
✓ Branch 21 taken 11560360 times.
✓ Branch 22 taken 4302674 times.
✓ Branch 23 taken 11560360 times.
✗ Branch 24 not taken.
✓ Branch 25 taken 11560360 times.
✗ Branch 26 not taken.
✓ Branch 27 taken 11560360 times.
✗ Branch 28 not taken.
✓ Branch 29 taken 11560360 times.
✗ Branch 30 not taken.
✓ Branch 31 taken 11560360 times.
✗ Branch 32 not taken.
✓ Branch 33 taken 11560360 times.
✗ Branch 34 not taken.
✓ Branch 35 taken 11560360 times.
✗ Branch 36 not taken.
✓ Branch 37 taken 11560360 times.
✗ Branch 38 not taken.
✓ Branch 39 taken 11560360 times.
✓ Branch 40 taken 13000 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 13000 times.
✗ Branch 43 not taken.
✓ Branch 44 taken 13000 times.
✗ Branch 45 not taken.
✓ Branch 46 taken 13000 times.
✗ Branch 47 not taken.
✓ Branch 48 taken 13000 times.
✗ Branch 49 not taken.
✓ Branch 50 taken 13000 times.
✗ Branch 51 not taken.
✓ Branch 52 taken 13000 times.
✗ Branch 53 not taken.
✓ Branch 54 taken 13000 times.
✗ Branch 55 not taken.
✓ Branch 56 taken 13000 times.
✗ Branch 57 not taken.
✓ Branch 58 taken 13000 times.
✗ Branch 59 not taken.
✓ Branch 60 taken 13000 times.
✗ Branch 61 not taken.
✓ Branch 62 taken 13000 times.
✗ Branch 63 not taken.
✓ Branch 64 taken 13000 times.
✗ Branch 65 not taken.
✓ Branch 66 taken 13000 times.
✗ Branch 67 not taken.
✗ Branch 68 not taken.
✗ Branch 69 not taken.
✗ Branch 70 not taken.
✗ Branch 71 not taken.
✗ Branch 72 not taken.
✗ Branch 73 not taken.
✗ Branch 74 not taken.
✗ Branch 75 not taken.
✗ Branch 76 not taken.
✗ Branch 77 not taken.
✗ Branch 78 not taken.
✗ Branch 79 not taken.
✗ Branch 80 not taken.
✗ Branch 81 not taken.
✗ Branch 82 not taken.
✗ Branch 83 not taken.
✗ Branch 84 not taken.
✗ Branch 85 not taken.
✗ Branch 86 not taken.
✗ Branch 87 not taken.
✗ Branch 88 not taken.
✗ Branch 89 not taken.
✗ Branch 90 not taken.
✗ Branch 91 not taken.
✗ Branch 92 not taken.
✗ Branch 93 not taken.
✗ Branch 94 not taken.
✗ Branch 95 not taken.
✗ Branch 96 not taken.
✗ Branch 97 not taken.
✗ Branch 98 not taken.
✗ Branch 99 not taken.
✗ Branch 100 not taken.
✗ Branch 101 not taken.
✗ Branch 102 not taken.
✗ Branch 103 not taken.
✗ Branch 104 not taken.
✗ Branch 105 not taken.
✗ Branch 106 not taken.
✗ Branch 107 not taken.
3474433172 { return viscosity_[phaseIdx]; }
242
243
244 /*****************************************************
245 * Access to fluid properties which only make sense
246 * if assuming thermodynamic equilibrium
247 *****************************************************/
248
249 /*!
250 * \brief The temperature within the domain \f$\mathrm{[K]}\f$
251 */
252 Scalar temperature() const
253
10/20
✓ Branch 0 taken 7191736 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 7191736 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 22464 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 22464 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 36288 times.
✗ Branch 9 not taken.
✓ Branch 10 taken 36288 times.
✗ Branch 11 not taken.
✓ Branch 12 taken 36288 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 36288 times.
✗ Branch 15 not taken.
✓ Branch 16 taken 36288 times.
✗ Branch 17 not taken.
✓ Branch 18 taken 36288 times.
✗ Branch 19 not taken.
298638666 { return temperature_[0]; }
254
255 /*!
256 * \brief The fugacity of a component \f$\mathrm{[Pa]}\f$
257 *
258 * This assumes chemical equilibrium.
259 */
260 Scalar fugacity(int compIdx) const
261 76800 { return fugacity(0, compIdx); }
262
263
264 /*****************************************************
265 * Setter methods. Note that these are not part of the
266 * generic FluidState interface but specific for each
267 * implementation...
268 *****************************************************/
269
270 /*!
271 * \brief Retrieve all parameters from an arbitrary fluid
272 * state.
273 *
274 * \note If the other fluid state object is inconsistent with the
275 * thermodynamic equilibrium, the result of this method is
276 * undefined.
277 */
278 template <class FluidState>
279 1 void assign(const FluidState &fs)
280 {
281
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 1 times.
4 for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx)
282 {
283 3 averageMolarMass_[phaseIdx] = 0;
284 3 sumMoleFractions_[phaseIdx] = 0;
285 6 temperature_[phaseIdx] = fs.temperature();
286
2/2
✓ Branch 0 taken 21 times.
✓ Branch 1 taken 3 times.
24 for (int compIdx = 0; compIdx < numComponents; ++compIdx)
287 {
288 63 moleFraction_[phaseIdx][compIdx] = fs.moleFraction(phaseIdx, compIdx);
289 63 fugacityCoefficient_[phaseIdx][compIdx] = fs.fugacityCoefficient(phaseIdx, compIdx);
290 84 averageMolarMass_[phaseIdx] += moleFraction_[phaseIdx][compIdx]*FluidSystem::molarMass(compIdx);
291 84 sumMoleFractions_[phaseIdx] += moleFraction_[phaseIdx][compIdx];
292 }
293 6 pressure_[phaseIdx] = fs.pressure(phaseIdx);
294 6 saturation_[phaseIdx] = fs.saturation(phaseIdx);
295 9 density_[phaseIdx] = fs.density(phaseIdx);
296 6 molarDensity_[phaseIdx] = fs.molarDensity(phaseIdx);
297 6 enthalpy_[phaseIdx] = fs.enthalpy(phaseIdx);
298 9 viscosity_[phaseIdx] = fs.viscosity(phaseIdx);
299 }
300 1 wPhaseIdx_ = fs.wettingPhase();
301 1 }
302
303 /*!
304 * \brief Set the temperature \f$\mathrm{[K]}\f$ of all phases.
305 */
306 void setTemperature(Scalar value)
307 {
308
63/63
✓ Branch 0 taken 11571699 times.
✓ Branch 1 taken 3858352 times.
✓ Branch 2 taken 12 times.
✓ Branch 3 taken 5 times.
✓ Branch 4 taken 4 times.
✓ Branch 5 taken 2 times.
✓ Branch 6 taken 2 times.
✓ Branch 7 taken 1 times.
✓ Branch 8 taken 2 times.
✓ Branch 9 taken 1 times.
✓ Branch 10 taken 2 times.
✓ Branch 11 taken 1 times.
✓ Branch 12 taken 2 times.
✓ Branch 13 taken 1 times.
✓ Branch 14 taken 2 times.
✓ Branch 16 taken 1 times.
✓ Branch 17 taken 3 times.
✓ Branch 19 taken 1 times.
✓ Branch 20 taken 3 times.
✓ Branch 22 taken 1 times.
✓ Branch 23 taken 3 times.
✓ Branch 24 taken 1 times.
✓ Branch 25 taken 2 times.
✓ Branch 26 taken 1 times.
✓ Branch 27 taken 2 times.
✓ Branch 28 taken 1 times.
✓ Branch 29 taken 2 times.
✓ Branch 30 taken 1 times.
✓ Branch 31 taken 2 times.
✓ Branch 32 taken 1 times.
✓ Branch 33 taken 2 times.
✓ Branch 34 taken 1 times.
✓ Branch 35 taken 2 times.
✓ Branch 36 taken 1 times.
✓ Branch 37 taken 2 times.
✓ Branch 38 taken 1 times.
✓ Branch 39 taken 2 times.
✓ Branch 40 taken 1 times.
✓ Branch 41 taken 2 times.
✓ Branch 42 taken 1 times.
✓ Branch 43 taken 2 times.
✓ Branch 44 taken 1 times.
✓ Branch 45 taken 2 times.
✓ Branch 46 taken 1 times.
✓ Branch 47 taken 2 times.
✓ Branch 48 taken 1 times.
✓ Branch 49 taken 2 times.
✓ Branch 50 taken 1 times.
✓ Branch 51 taken 2 times.
✓ Branch 52 taken 1 times.
✓ Branch 53 taken 2 times.
✓ Branch 54 taken 1 times.
✓ Branch 55 taken 2 times.
✓ Branch 57 taken 1 times.
✓ Branch 58 taken 3 times.
✓ Branch 59 taken 1 times.
✓ Branch 60 taken 2 times.
✓ Branch 61 taken 1 times.
✓ Branch 62 taken 2 times.
✓ Branch 63 taken 1 times.
✓ Branch 64 taken 2 times.
✓ Branch 65 taken 1 times.
✓ Branch 66 taken 2 times.
101864188 for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx)
309
2/4
✓ Branch 1 taken 14 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 14 times.
✗ Branch 5 not taken.
109577594 temperature_[phaseIdx] = value;
310 }
311
312 /*!
313 * \brief Set the temperature \f$\mathrm{[K]}\f$ of a specific phase.
314 * This is not implemented in this fluidstate.
315 */
316 void setTemperature(const int phaseIdx, const Scalar value)
317
2/4
✓ Branch 0 taken 329394 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 329394 times.
✗ Branch 3 not taken.
530933542 { temperature_[phaseIdx] = value; }
318
319 /*!
320 * \brief Set the fluid pressure of a phase \f$\mathrm{[Pa]}\f$
321 */
322 void setPressure(int phaseIdx, Scalar value)
323
12/12
✓ Branch 0 taken 20180792 times.
✓ Branch 1 taken 76091996 times.
✓ Branch 2 taken 20180792 times.
✓ Branch 3 taken 76091982 times.
✓ Branch 4 taken 18444829 times.
✓ Branch 5 taken 71309478 times.
✓ Branch 6 taken 18444815 times.
✓ Branch 7 taken 71309478 times.
✓ Branch 8 taken 3854578 times.
✓ Branch 9 taken 370 times.
✓ Branch 10 taken 3854578 times.
✓ Branch 11 taken 370 times.
617406260 { pressure_[phaseIdx] = value; }
324
325 /*!
326 * \brief Set the saturation of a phase \f$\mathrm{[-]}\f$
327 */
328 void setSaturation(int phaseIdx, Scalar value)
329
12/12
✓ Branch 0 taken 1207452 times.
✓ Branch 1 taken 3268398 times.
✓ Branch 2 taken 1207452 times.
✓ Branch 3 taken 3268398 times.
✓ Branch 4 taken 1207452 times.
✓ Branch 5 taken 3268398 times.
✓ Branch 6 taken 1207452 times.
✓ Branch 7 taken 3268398 times.
✓ Branch 8 taken 1207452 times.
✓ Branch 9 taken 3268398 times.
✓ Branch 10 taken 1207452 times.
✓ Branch 11 taken 3268398 times.
617324626 { saturation_[phaseIdx] = value; }
330
331 /*!
332 * \brief Set the mole fraction of a component in a phase \f$\mathrm{[-]}\f$
333 * and update the average molar mass \f$\mathrm{[kg/mol]}\f$ according
334 * to the current composition of the phase
335 */
336 417277121 void setMoleFraction(int phaseIdx, int compIdx, Scalar value)
337 {
338 1157135450 moleFraction_[phaseIdx][compIdx] = value;
339
340 // re-calculate the mean molar mass
341 578567725 sumMoleFractions_[phaseIdx] = 0.0;
342 578567725 averageMolarMass_[phaseIdx] = 0.0;
343
34/34
✓ Branch 0 taken 1223482047 times.
✓ Branch 1 taken 418011001 times.
✓ Branch 2 taken 17037064 times.
✓ Branch 3 taken 8114624 times.
✓ Branch 4 taken 19411241 times.
✓ Branch 5 taken 8638055 times.
✓ Branch 6 taken 71381943 times.
✓ Branch 7 taken 35160209 times.
✓ Branch 8 taken 20495335 times.
✓ Branch 9 taken 9342476 times.
✓ Branch 10 taken 163560582 times.
✓ Branch 11 taken 55326795 times.
✓ Branch 12 taken 10638239 times.
✓ Branch 13 taken 27992222 times.
✓ Branch 14 taken 24369959 times.
✓ Branch 15 taken 12184977 times.
✓ Branch 16 taken 24369975 times.
✓ Branch 17 taken 12184985 times.
✓ Branch 18 taken 33 times.
✓ Branch 19 taken 14 times.
✓ Branch 20 taken 11 times.
✓ Branch 21 taken 3 times.
✓ Branch 22 taken 11 times.
✓ Branch 23 taken 3 times.
✓ Branch 24 taken 25 times.
✓ Branch 25 taken 10 times.
✓ Branch 26 taken 4 times.
✓ Branch 27 taken 2 times.
✓ Branch 28 taken 2 times.
✓ Branch 29 taken 1 times.
✓ Branch 30 taken 2 times.
✓ Branch 31 taken 1 times.
✓ Branch 32 taken 2 times.
✓ Branch 33 taken 1 times.
2180579105 for (int compJIdx = 0; compJIdx < numComponents; ++compJIdx)
344 {
345
36/54
✓ Branch 0 taken 133946654 times.
✓ Branch 1 taken 133946653 times.
✓ Branch 2 taken 133946654 times.
✓ Branch 3 taken 133946653 times.
✓ Branch 4 taken 133946654 times.
✓ Branch 5 taken 133946653 times.
✓ Branch 6 taken 7446092 times.
✓ Branch 7 taken 7446092 times.
✓ Branch 8 taken 7446092 times.
✓ Branch 9 taken 7446092 times.
✓ Branch 10 taken 7446092 times.
✓ Branch 11 taken 7446092 times.
✓ Branch 12 taken 6512592 times.
✓ Branch 13 taken 6512592 times.
✓ Branch 14 taken 6512592 times.
✓ Branch 15 taken 6512592 times.
✓ Branch 16 taken 6512592 times.
✓ Branch 17 taken 6512592 times.
✓ Branch 18 taken 6512592 times.
✓ Branch 19 taken 6512592 times.
✓ Branch 20 taken 6512592 times.
✓ Branch 21 taken 6512592 times.
✓ Branch 22 taken 6512592 times.
✓ Branch 23 taken 6512592 times.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 108830904 times.
✓ Branch 31 taken 54415452 times.
✓ Branch 32 taken 108830904 times.
✓ Branch 33 taken 54415452 times.
✓ Branch 34 taken 108830904 times.
✓ Branch 35 taken 54415452 times.
✓ Branch 36 taken 18138484 times.
✓ Branch 37 taken 9069242 times.
✓ Branch 38 taken 18138484 times.
✓ Branch 39 taken 9069242 times.
✓ Branch 40 taken 18138484 times.
✓ Branch 41 taken 9069242 times.
✗ Branch 42 not taken.
✗ Branch 43 not taken.
✗ Branch 44 not taken.
✗ Branch 45 not taken.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
✗ Branch 52 not taken.
✗ Branch 53 not taken.
4842590871 sumMoleFractions_[phaseIdx] += moleFraction_[phaseIdx][compJIdx];
346
36/54
✓ Branch 0 taken 133946654 times.
✓ Branch 1 taken 133946653 times.
✓ Branch 2 taken 133946654 times.
✓ Branch 3 taken 133946653 times.
✓ Branch 4 taken 133946654 times.
✓ Branch 5 taken 133946653 times.
✓ Branch 6 taken 7446092 times.
✓ Branch 7 taken 7446092 times.
✓ Branch 8 taken 7446092 times.
✓ Branch 9 taken 7446092 times.
✓ Branch 10 taken 7446092 times.
✓ Branch 11 taken 7446092 times.
✓ Branch 12 taken 6512592 times.
✓ Branch 13 taken 6512592 times.
✓ Branch 14 taken 6512592 times.
✓ Branch 15 taken 6512592 times.
✓ Branch 16 taken 6512592 times.
✓ Branch 17 taken 6512592 times.
✓ Branch 18 taken 6512592 times.
✓ Branch 19 taken 6512592 times.
✓ Branch 20 taken 6512592 times.
✓ Branch 21 taken 6512592 times.
✓ Branch 22 taken 6512592 times.
✓ Branch 23 taken 6512592 times.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✓ Branch 30 taken 108830904 times.
✓ Branch 31 taken 54415452 times.
✓ Branch 32 taken 108830904 times.
✓ Branch 33 taken 54415452 times.
✓ Branch 34 taken 108830904 times.
✓ Branch 35 taken 54415452 times.
✓ Branch 36 taken 18138484 times.
✓ Branch 37 taken 9069242 times.
✓ Branch 38 taken 18138484 times.
✓ Branch 39 taken 9069242 times.
✓ Branch 40 taken 18138484 times.
✓ Branch 41 taken 9069242 times.
✗ Branch 42 not taken.
✗ Branch 43 not taken.
✗ Branch 44 not taken.
✗ Branch 45 not taken.
✗ Branch 46 not taken.
✗ Branch 47 not taken.
✗ Branch 48 not taken.
✗ Branch 49 not taken.
✗ Branch 50 not taken.
✗ Branch 51 not taken.
✗ Branch 52 not taken.
✗ Branch 53 not taken.
5953568925 averageMolarMass_[phaseIdx] += moleFraction_[phaseIdx][compJIdx]*FluidSystem::molarMass(compJIdx);
347 }
348 417277121 }
349
350 /*!
351 * \brief Set the mass fraction of a component in a phase \f$\mathrm{[-]}\f$
352 * and update the average molar mass \f$\mathrm{[kg/mol]}\f$ according
353 * to the current composition of the phase
354 */
355 68030566 void setMassFraction(int phaseIdx, int compIdx, Scalar value)
356 {
357 if (numComponents != 2)
358 DUNE_THROW(Dune::NotImplemented, "This currently only works for 2 components.");
359 else
360 {
361 // calculate average molar mass of the gas phase
362
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 18 times.
68030566 Scalar M1 = FluidSystem::molarMass(compIdx);
363
1/2
✓ Branch 0 taken 14 times.
✗ Branch 1 not taken.
68030566 Scalar M2 = FluidSystem::molarMass(1-compIdx);
364 68030566 Scalar X2 = 1.0-value;
365 68030566 Scalar avgMolarMass = M1*M2/(M2 + X2*(M1 - M2));
366
367 136061132 moleFraction_[phaseIdx][compIdx] = value * avgMolarMass / M1;
368 272122264 moleFraction_[phaseIdx][1-compIdx] = 1.0-moleFraction_[phaseIdx][compIdx];
369
370 // re-calculate the mean molar mass
371 68030566 sumMoleFractions_[phaseIdx] = 0.0;
372 68030566 averageMolarMass_[phaseIdx] = 0.0;
373
2/2
✓ Branch 0 taken 136061132 times.
✓ Branch 1 taken 68030566 times.
204091698 for (int compJIdx = 0; compJIdx < numComponents; ++compJIdx) {
374
6/6
✓ Branch 0 taken 14 times.
✓ Branch 1 taken 14 times.
✓ Branch 2 taken 14 times.
✓ Branch 3 taken 14 times.
✓ Branch 4 taken 14 times.
✓ Branch 5 taken 14 times.
408183396 sumMoleFractions_[phaseIdx] += moleFraction_[phaseIdx][compJIdx];
375
6/6
✓ Branch 0 taken 14 times.
✓ Branch 1 taken 14 times.
✓ Branch 2 taken 14 times.
✓ Branch 3 taken 14 times.
✓ Branch 4 taken 14 times.
✓ Branch 5 taken 14 times.
408183468 averageMolarMass_[phaseIdx] += moleFraction_[phaseIdx][compJIdx]*FluidSystem::molarMass(compJIdx);
376 }
377 }
378 68030566 }
379
380 /*!
381 * \brief Set the fugacity coefficient \f$\Phi^\kappa_\alpha\f$ of component \f$\kappa\f$
382 * in fluid phase \f$\alpha\f$ in \f$\mathrm{[-]}\f$
383 */
384 void setFugacityCoefficient(int phaseIdx, int compIdx, Scalar value)
385 658732374 { fugacityCoefficient_[phaseIdx][compIdx] = value; }
386
387 /*!
388 * \brief Set the density of a phase \f$\mathrm{[kg / m^3]}\f$
389 */
390 void setDensity(int phaseIdx, Scalar value)
391
4/4
✓ Branch 0 taken 23268 times.
✓ Branch 1 taken 11634 times.
✓ Branch 2 taken 23268 times.
✓ Branch 3 taken 11634 times.
615753152 { density_[phaseIdx] = value; }
392
393 /*!
394 * \brief Set the molar density of a phase \f$\mathrm{[mol / m^3]}\f$
395 */
396 void setMolarDensity(int phaseIdx, Scalar value)
397
4/4
✓ Branch 0 taken 23268 times.
✓ Branch 1 taken 11634 times.
✓ Branch 2 taken 23268 times.
✓ Branch 3 taken 11634 times.
579676222 { molarDensity_[phaseIdx] = value; }
398
399 /*!
400 * \brief Set the specific enthalpy of a phase\f$\mathrm{[J/kg]}\f$
401 */
402 void setEnthalpy(int phaseIdx, Scalar value)
403 607868242 { enthalpy_[phaseIdx] = value; }
404
405 /*!
406 * \brief Set the dynamic viscosity of a phase \f$\mathrm{[Pa s]}\f$
407 */
408 void setViscosity(int phaseIdx, Scalar value)
409 609844034 { viscosity_[phaseIdx] = value; }
410
411 /*!
412 * \brief Set the index of the most wetting phase
413 */
414 void setWettingPhase(int phaseIdx)
415
2/2
✓ Branch 0 taken 12185993 times.
✓ Branch 1 taken 87170778 times.
101777060 { wPhaseIdx_ = phaseIdx; }
416
417 protected:
418 //! zero-initialize all data members with braces syntax
419 std::array<std::array<Scalar, numComponents>, numPhases> moleFraction_ = {};
420 std::array<std::array<Scalar, numComponents>, numPhases> fugacityCoefficient_ = {};
421 std::array<Scalar, numPhases> averageMolarMass_ = {};
422 std::array<Scalar, numPhases> sumMoleFractions_ = {};
423 std::array<Scalar, numPhases> pressure_ = {};
424 std::array<Scalar, numPhases> saturation_ = {};
425 std::array<Scalar, numPhases> density_ = {};
426 std::array<Scalar, numPhases> molarDensity_ = {};
427 std::array<Scalar, numPhases> enthalpy_ = {};
428 std::array<Scalar, numPhases> viscosity_ = {};
429 std::array<Scalar, numPhases> temperature_ = {};
430
431 int wPhaseIdx_{0};
432 };
433
434 } // end namespace Dumux
435
436 #endif
437