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.
|
34344316 | 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 1401542 times.
✓ Branch 1 taken 2751008 times.
✓ Branch 2 taken 3435578 times.
✓ Branch 3 taken 8762556 times.
✓ Branch 4 taken 4240998 times.
✓ Branch 5 taken 100956798 times.
✓ Branch 6 taken 5227883 times.
✓ Branch 7 taken 95672803 times.
✓ Branch 8 taken 4350038 times.
✓ Branch 9 taken 715493 times.
✓ Branch 10 taken 1944394 times.
✓ Branch 11 taken 349831 times.
✓ Branch 12 taken 1944392 times.
✓ Branch 13 taken 985734 times.
✓ Branch 14 taken 1502115 times.
✓ Branch 15 taken 1351996 times.
✓ Branch 16 taken 312 times.
✓ Branch 17 taken 680962 times.
✓ Branch 18 taken 365 times.
✓ Branch 19 taken 127114 times.
✓ Branch 20 taken 91 times.
✓ Branch 21 taken 284700 times.
✓ Branch 22 taken 207 times.
✓ Branch 23 taken 50638078 times.
✓ Branch 24 taken 186 times.
✓ Branch 25 taken 116549222 times.
✓ Branch 26 taken 9070494 times.
✓ Branch 27 taken 76452546 times.
✓ Branch 28 taken 9070493 times.
✓ Branch 29 taken 10604178 times.
✓ Branch 30 taken 38 times.
✓ Branch 31 taken 347525 times.
✓ Branch 32 taken 23 times.
✓ Branch 33 taken 1355 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.
|
5958552788 | { 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 170294734 times.
✓ Branch 1 taken 51647964 times.
✓ Branch 2 taken 30475149 times.
✓ Branch 3 taken 7215570 times.
✓ Branch 4 taken 3758845 times.
✓ Branch 5 taken 10284543 times.
✓ Branch 6 taken 60363565 times.
✓ Branch 7 taken 24763247 times.
✓ Branch 8 taken 60957796 times.
✓ Branch 9 taken 75859435 times.
✓ Branch 10 taken 49398665 times.
✓ Branch 11 taken 102046629 times.
✓ Branch 12 taken 46002721 times.
✓ Branch 13 taken 119699530 times.
✓ Branch 14 taken 73878889 times.
✓ Branch 15 taken 126772246 times.
✓ Branch 16 taken 353135459 times.
✓ Branch 17 taken 109221072 times.
✓ Branch 18 taken 43709814 times.
✓ Branch 19 taken 86408011 times.
✓ Branch 20 taken 24760428 times.
✓ Branch 21 taken 24939445 times.
✓ Branch 22 taken 8410835 times.
✓ Branch 23 taken 4409578 times.
✓ Branch 24 taken 4267438 times.
✓ Branch 25 taken 9649799 times.
✓ Branch 26 taken 5157801 times.
✓ Branch 27 taken 10988612 times.
✓ Branch 28 taken 10993998 times.
✓ Branch 29 taken 5093035 times.
✓ Branch 30 taken 5002138 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.
|
18239288170 | { 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 | 508227626 | Scalar massFraction(int phaseIdx, int compIdx) const | |
106 | { | ||
107 | // calculate the mass fractions: | ||
108 | // for "mass" models this is just a back calculation | ||
109 |
28/28✓ Branch 0 taken 198090087 times.
✓ Branch 1 taken 79640007 times.
✓ Branch 2 taken 363077490 times.
✓ Branch 3 taken 36264327 times.
✓ Branch 4 taken 20783216 times.
✓ Branch 5 taken 20783213 times.
✓ Branch 6 taken 6777210 times.
✓ Branch 7 taken 6810207 times.
✓ Branch 8 taken 2713481 times.
✓ Branch 9 taken 2821661 times.
✓ Branch 10 taken 76225 times.
✓ Branch 11 taken 25 times.
✓ Branch 12 taken 22525 times.
✓ Branch 13 taken 25645 times.
✓ Branch 14 taken 25773 times.
✓ Branch 15 taken 10265 times.
✓ Branch 16 taken 25 times.
✓ Branch 17 taken 25 times.
✓ Branch 18 taken 5145 times.
✓ Branch 19 taken 25 times.
✓ Branch 20 taken 25 times.
✓ Branch 21 taken 25 times.
✓ Branch 22 taken 25 times.
✓ Branch 23 taken 25 times.
✓ Branch 24 taken 26 times.
✓ Branch 25 taken 25 times.
✓ Branch 26 taken 25 times.
✓ Branch 27 taken 25 times.
|
5835083699 | return sumMoleFractions_[phaseIdx] |
110 |
28/28✓ Branch 0 taken 198090087 times.
✓ Branch 1 taken 79640007 times.
✓ Branch 2 taken 363077490 times.
✓ Branch 3 taken 36264327 times.
✓ Branch 4 taken 20783216 times.
✓ Branch 5 taken 20783213 times.
✓ Branch 6 taken 6777210 times.
✓ Branch 7 taken 6810207 times.
✓ Branch 8 taken 2713481 times.
✓ Branch 9 taken 2821661 times.
✓ Branch 10 taken 76225 times.
✓ Branch 11 taken 25 times.
✓ Branch 12 taken 22525 times.
✓ Branch 13 taken 25645 times.
✓ Branch 14 taken 25773 times.
✓ Branch 15 taken 10265 times.
✓ Branch 16 taken 25 times.
✓ Branch 17 taken 25 times.
✓ Branch 18 taken 5145 times.
✓ Branch 19 taken 25 times.
✓ Branch 20 taken 25 times.
✓ Branch 21 taken 25 times.
✓ Branch 22 taken 25 times.
✓ Branch 23 taken 25 times.
✓ Branch 24 taken 26 times.
✓ Branch 25 taken 25 times.
✓ Branch 26 taken 25 times.
✓ Branch 27 taken 25 times.
|
5835083699 | * moleFraction(phaseIdx, compIdx) |
111 |
28/28✓ Branch 0 taken 198090082 times.
✓ Branch 1 taken 380184837 times.
✓ Branch 2 taken 62532653 times.
✓ Branch 3 taken 36264325 times.
✓ Branch 4 taken 20783211 times.
✓ Branch 5 taken 20783211 times.
✓ Branch 6 taken 6777205 times.
✓ Branch 7 taken 6810205 times.
✓ Branch 8 taken 2713481 times.
✓ Branch 9 taken 2821661 times.
✓ Branch 10 taken 76225 times.
✓ Branch 11 taken 25 times.
✓ Branch 12 taken 22525 times.
✓ Branch 13 taken 25645 times.
✓ Branch 14 taken 25773 times.
✓ Branch 15 taken 10265 times.
✓ Branch 16 taken 25 times.
✓ Branch 17 taken 25 times.
✓ Branch 18 taken 5145 times.
✓ Branch 19 taken 25 times.
✓ Branch 20 taken 25 times.
✓ Branch 21 taken 25 times.
✓ Branch 22 taken 25 times.
✓ Branch 23 taken 25 times.
✓ Branch 24 taken 25 times.
✓ Branch 25 taken 25 times.
✓ Branch 26 taken 25 times.
✓ Branch 27 taken 25 times.
|
5822192971 | * 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.
|
3804321291 | / 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.
|
184607808 | { 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 | 205989772 | { 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.
|
377278413 | { 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 |
189/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 19746489 times.
✓ Branch 13 taken 79887331 times.
✓ Branch 14 taken 19746489 times.
✓ Branch 15 taken 18392620 times.
✓ Branch 16 taken 20703626 times.
✓ Branch 17 taken 18392620 times.
✓ Branch 18 taken 41658304 times.
✓ Branch 19 taken 2781871 times.
✓ Branch 20 taken 41658304 times.
✓ Branch 21 taken 927021 times.
✓ Branch 22 taken 39866024 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 88501486 times.
✓ Branch 37 taken 42486078 times.
✓ Branch 38 taken 88501486 times.
✓ Branch 39 taken 42486078 times.
✓ Branch 40 taken 88501486 times.
✓ Branch 41 taken 42486078 times.
✓ Branch 42 taken 39895524 times.
✓ Branch 43 taken 41564390 times.
✓ Branch 44 taken 39895524 times.
✓ Branch 45 taken 41572265 times.
✓ Branch 46 taken 39895524 times.
✓ Branch 47 taken 41572265 times.
✓ Branch 48 taken 1063438 times.
✓ Branch 49 taken 30213867 times.
✓ Branch 50 taken 1063438 times.
✓ Branch 51 taken 30213842 times.
✓ Branch 52 taken 1063438 times.
✓ Branch 53 taken 30213842 times.
✓ Branch 54 taken 753153 times.
✓ Branch 55 taken 24806822 times.
✓ Branch 56 taken 753153 times.
✓ Branch 57 taken 24798972 times.
✓ Branch 58 taken 753153 times.
✓ Branch 59 taken 24798972 times.
✓ Branch 60 taken 3151918 times.
✓ Branch 61 taken 18417676 times.
✓ Branch 62 taken 3151918 times.
✓ Branch 63 taken 18417701 times.
✓ Branch 64 taken 3151918 times.
✓ Branch 65 taken 18417701 times.
✓ Branch 66 taken 392238 times.
✓ Branch 67 taken 18417701 times.
✓ Branch 68 taken 392238 times.
✓ Branch 69 taken 18417676 times.
✓ Branch 70 taken 392238 times.
✓ Branch 71 taken 18417676 times.
✓ Branch 72 taken 414113 times.
✓ Branch 73 taken 18417676 times.
✓ Branch 74 taken 414113 times.
✓ Branch 75 taken 18417676 times.
✓ Branch 76 taken 414113 times.
✓ Branch 77 taken 18417676 times.
✓ Branch 78 taken 191680 times.
✓ Branch 79 taken 14789740 times.
✓ Branch 80 taken 191680 times.
✓ Branch 81 taken 14789765 times.
✓ Branch 82 taken 191680 times.
✓ Branch 83 taken 14789765 times.
✗ Branch 84 not taken.
✓ Branch 85 taken 5414945 times.
✗ Branch 86 not taken.
✓ Branch 87 taken 5414920 times.
✗ Branch 88 not taken.
✓ Branch 89 taken 5414920 times.
✓ Branch 90 taken 14425 times.
✗ Branch 91 not taken.
✓ Branch 92 taken 14425 times.
✗ Branch 93 not taken.
✓ Branch 94 taken 14425 times.
✗ Branch 95 not taken.
✓ Branch 96 taken 6600 times.
✗ Branch 97 not taken.
✓ Branch 98 taken 6600 times.
✓ Branch 99 taken 25 times.
✓ Branch 100 taken 6600 times.
✓ Branch 101 taken 25 times.
✓ Branch 102 taken 13000 times.
✓ Branch 103 taken 25 times.
✓ Branch 104 taken 13000 times.
✗ Branch 105 not taken.
✓ Branch 106 taken 13000 times.
✗ Branch 107 not taken.
✓ Branch 108 taken 6625 times.
✗ Branch 109 not taken.
✓ Branch 110 taken 6625 times.
✓ Branch 111 taken 6400 times.
✓ Branch 112 taken 6625 times.
✓ Branch 113 taken 6400 times.
✓ Branch 114 taken 6625 times.
✓ Branch 115 taken 6400 times.
✓ Branch 116 taken 6625 times.
✓ Branch 117 taken 6400 times.
✓ Branch 118 taken 6625 times.
✓ Branch 119 taken 6400 times.
✓ Branch 120 taken 12825 times.
✓ Branch 121 taken 6400 times.
✓ Branch 122 taken 12825 times.
✓ Branch 123 taken 6400 times.
✓ Branch 124 taken 12825 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 taken 25 times.
✓ Branch 151 taken 6400 times.
✓ Branch 152 taken 25 times.
✓ Branch 153 taken 6400 times.
✓ Branch 154 taken 25 times.
✓ Branch 155 taken 6400 times.
✓ Branch 156 taken 25 times.
✓ Branch 157 taken 6400 times.
✓ Branch 158 taken 25 times.
✗ Branch 159 not taken.
✓ Branch 160 taken 25 times.
✗ Branch 161 not taken.
✓ Branch 162 taken 25 times.
✗ Branch 163 not taken.
✓ Branch 164 taken 25 times.
✗ Branch 165 not taken.
✓ Branch 166 taken 25 times.
✗ Branch 167 not taken.
✓ Branch 168 taken 25 times.
✗ Branch 169 not taken.
✓ Branch 170 taken 25 times.
✗ Branch 171 not taken.
✓ Branch 172 taken 25 times.
✗ Branch 173 not taken.
✓ Branch 174 taken 25 times.
✗ Branch 175 not taken.
✓ Branch 176 taken 25 times.
✗ Branch 177 not taken.
✓ Branch 178 taken 25 times.
✗ Branch 179 not taken.
✓ Branch 180 taken 25 times.
✗ Branch 181 not taken.
✓ Branch 182 taken 25 times.
✗ Branch 183 not taken.
✓ Branch 184 taken 25 times.
✗ Branch 185 not taken.
✓ Branch 186 taken 25 times.
✗ Branch 187 not taken.
✓ Branch 188 taken 25 times.
✗ Branch 189 not taken.
✓ Branch 190 taken 25 times.
✗ Branch 191 not taken.
✓ Branch 192 taken 25 times.
✗ Branch 193 not taken.
✓ Branch 194 taken 25 times.
✗ Branch 195 not taken.
✓ Branch 196 taken 25 times.
✗ Branch 197 not taken.
✓ Branch 198 taken 25 times.
✗ Branch 199 not taken.
✓ Branch 200 taken 25 times.
✗ Branch 201 not taken.
✓ Branch 202 taken 25 times.
✗ Branch 203 not taken.
✓ Branch 204 taken 25 times.
✗ Branch 205 not taken.
✓ Branch 206 taken 25 times.
✗ Branch 207 not taken.
✓ Branch 208 taken 25 times.
✗ Branch 209 not taken.
✓ Branch 210 taken 25 times.
✗ Branch 211 not taken.
✓ Branch 212 taken 25 times.
✗ Branch 213 not taken.
✓ Branch 214 taken 25 times.
✗ Branch 215 not taken.
✓ Branch 216 taken 25 times.
✗ Branch 217 not taken.
✓ Branch 218 taken 25 times.
✗ Branch 219 not taken.
✓ Branch 220 taken 25 times.
✗ Branch 221 not taken.
✓ Branch 222 taken 25 times.
✗ Branch 223 not taken.
✓ Branch 224 taken 25 times.
✗ Branch 225 not taken.
✓ Branch 226 taken 25 times.
✗ Branch 227 not taken.
✓ Branch 228 taken 25 times.
✗ Branch 229 not taken.
✓ Branch 230 taken 25 times.
✗ Branch 231 not taken.
✓ Branch 232 taken 25 times.
✗ Branch 233 not taken.
✓ Branch 234 taken 25 times.
✗ Branch 235 not taken.
✓ Branch 236 taken 25 times.
✗ Branch 237 not taken.
✓ Branch 238 taken 25 times.
✗ Branch 239 not taken.
✓ Branch 240 taken 25 times.
✗ Branch 241 not taken.
✓ Branch 242 taken 25 times.
✗ Branch 243 not taken.
✓ Branch 244 taken 25 times.
✗ Branch 245 not taken.
|
31351883016 | { 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.
|
4960600704 | { 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 130916686 times.
✓ Branch 1 taken 112829402 times.
✓ Branch 2 taken 166477399 times.
✓ Branch 3 taken 153251316 times.
✓ Branch 4 taken 94733522 times.
✓ Branch 5 taken 158707383 times.
✓ Branch 6 taken 127228891 times.
✓ Branch 7 taken 189446819 times.
✓ Branch 8 taken 146348415 times.
✓ Branch 9 taken 148426660 times.
✓ Branch 10 taken 96431033 times.
✓ Branch 11 taken 164064589 times.
✓ Branch 12 taken 115479373 times.
✓ Branch 13 taken 167884729 times.
✓ Branch 14 taken 140620762 times.
✓ Branch 15 taken 155330575 times.
✓ Branch 16 taken 71004253 times.
✓ Branch 17 taken 126745001 times.
✓ Branch 18 taken 136838813 times.
✓ Branch 19 taken 131966785 times.
✓ Branch 20 taken 125230620 times.
✓ Branch 21 taken 114648866 times.
✓ Branch 22 taken 49541727 times.
✓ Branch 23 taken 58623697 times.
✓ Branch 24 taken 87689290 times.
✓ Branch 25 taken 120422526 times.
✓ Branch 26 taken 65026486 times.
✓ Branch 27 taken 112208024 times.
✓ Branch 28 taken 21941149 times.
✓ Branch 29 taken 29321197 times.
✓ Branch 30 taken 19396748 times.
✓ Branch 31 taken 59969341 times.
✓ Branch 32 taken 1551379 times.
✓ Branch 33 taken 39589109 times.
✓ Branch 34 taken 5771336 times.
✓ Branch 35 taken 21881946 times.
✓ Branch 36 taken 5475263 times.
✓ Branch 37 taken 21204975 times.
✓ Branch 38 taken 18826504 times.
✓ Branch 39 taken 25060345 times.
✓ Branch 40 taken 18331331 times.
✓ Branch 41 taken 24565170 times.
✓ Branch 42 taken 3125082 times.
✓ Branch 43 taken 4698390 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.
|
5629701134 | { 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 76090229 times.
✓ Branch 1 taken 115276319 times.
✓ Branch 2 taken 125951046 times.
✓ Branch 3 taken 169753731 times.
✓ Branch 4 taken 119829225 times.
✓ Branch 5 taken 185357570 times.
✓ Branch 6 taken 119438106 times.
✓ Branch 7 taken 185558866 times.
✓ Branch 8 taken 125999531 times.
✓ Branch 9 taken 137323248 times.
✓ Branch 10 taken 80322547 times.
✓ Branch 11 taken 183752555 times.
✓ Branch 12 taken 55973235 times.
✓ Branch 13 taken 164458922 times.
✓ Branch 14 taken 104900184 times.
✓ Branch 15 taken 140828301 times.
✓ Branch 16 taken 81806858 times.
✓ Branch 17 taken 137666494 times.
✓ Branch 18 taken 36099704 times.
✓ Branch 19 taken 68704897 times.
✓ Branch 20 taken 29072163 times.
✓ Branch 21 taken 43563467 times.
✓ Branch 22 taken 27886407 times.
✓ Branch 23 taken 95798405 times.
✓ Branch 24 taken 29360866 times.
✓ Branch 25 taken 99470572 times.
✓ Branch 26 taken 34538443 times.
✓ Branch 27 taken 56173195 times.
✓ Branch 28 taken 4562184 times.
✓ Branch 29 taken 23857788 times.
✓ Branch 30 taken 1864949 times.
✓ Branch 31 taken 14729509 times.
✓ Branch 32 taken 455857 times.
✓ Branch 33 taken 13791860 times.
✓ Branch 34 taken 433810 times.
✓ Branch 35 taken 13769804 times.
✓ Branch 36 taken 364861 times.
✓ Branch 37 taken 382833 times.
✓ Branch 38 taken 20138572 times.
✓ Branch 39 taken 23441459 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.
|
8761001806 | { 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.
|
85986741 | assert(FluidSystem::isGas(phaseIdx)); |
218 | 121057071 | 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.
|
1667514426 | { 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.
|
2797105340 | { 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 |
74/108✓ Branch 0 taken 3568529 times.
✓ Branch 1 taken 24993485 times.
✓ Branch 2 taken 3843723 times.
✓ Branch 3 taken 29199272 times.
✓ Branch 4 taken 4118707 times.
✓ Branch 5 taken 32941800 times.
✓ Branch 6 taken 4064846 times.
✓ Branch 7 taken 32983461 times.
✓ Branch 8 taken 10273934 times.
✓ Branch 9 taken 38323084 times.
✓ Branch 10 taken 10315595 times.
✓ Branch 11 taken 38323084 times.
✓ Branch 12 taken 7890044 times.
✓ Branch 13 taken 38323085 times.
✓ Branch 14 taken 7890044 times.
✓ Branch 15 taken 38323084 times.
✓ Branch 16 taken 7254017 times.
✓ Branch 17 taken 19725808 times.
✓ Branch 18 taken 7011472 times.
✓ Branch 19 taken 15478361 times.
✓ Branch 20 taken 4323148 times.
✓ Branch 21 taken 11560360 times.
✓ Branch 22 taken 4302699 times.
✓ Branch 23 taken 11560360 times.
✓ Branch 24 taken 25 times.
✓ Branch 25 taken 11560360 times.
✓ Branch 26 taken 25 times.
✓ Branch 27 taken 11560360 times.
✓ Branch 28 taken 25 times.
✓ Branch 29 taken 11560360 times.
✓ Branch 30 taken 25 times.
✓ Branch 31 taken 11560360 times.
✓ Branch 32 taken 25 times.
✓ Branch 33 taken 11560360 times.
✓ Branch 34 taken 25 times.
✓ Branch 35 taken 11560360 times.
✓ Branch 36 taken 25 times.
✓ Branch 37 taken 11560360 times.
✓ Branch 38 taken 25 times.
✓ Branch 39 taken 11560360 times.
✓ Branch 40 taken 13025 times.
✗ Branch 41 not taken.
✓ Branch 42 taken 13025 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 13025 times.
✗ Branch 61 not taken.
✓ Branch 62 taken 13025 times.
✗ Branch 63 not taken.
✓ Branch 64 taken 13025 times.
✗ Branch 65 not taken.
✓ Branch 66 taken 13025 times.
✗ Branch 67 not taken.
✓ Branch 68 taken 25 times.
✗ Branch 69 not taken.
✓ Branch 70 taken 25 times.
✗ Branch 71 not taken.
✓ Branch 72 taken 25 times.
✗ Branch 73 not taken.
✓ Branch 74 taken 25 times.
✗ Branch 75 not taken.
✓ Branch 76 taken 25 times.
✗ Branch 77 not taken.
✓ Branch 78 taken 25 times.
✗ Branch 79 not taken.
✓ Branch 80 taken 25 times.
✗ Branch 81 not taken.
✓ Branch 82 taken 25 times.
✗ Branch 83 not taken.
✓ Branch 84 taken 25 times.
✗ Branch 85 not taken.
✓ Branch 86 taken 25 times.
✗ Branch 87 not taken.
✓ Branch 88 taken 25 times.
✗ Branch 89 not taken.
✓ Branch 90 taken 25 times.
✗ Branch 91 not taken.
✓ Branch 92 taken 25 times.
✗ Branch 93 not taken.
✓ Branch 94 taken 25 times.
✗ Branch 95 not taken.
✓ Branch 96 taken 25 times.
✗ Branch 97 not taken.
✓ Branch 98 taken 25 times.
✗ Branch 99 not taken.
✓ Branch 100 taken 25 times.
✗ Branch 101 not taken.
✓ Branch 102 taken 25 times.
✗ Branch 103 not taken.
✓ Branch 104 taken 25 times.
✗ Branch 105 not taken.
✓ Branch 106 taken 25 times.
✗ Branch 107 not taken.
|
3491938382 | { 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.
|
302972766 | { 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.
|
103506090 | for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx) |
309 |
2/4✓ Branch 1 taken 15 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 15 times.
✗ Branch 5 not taken.
|
111219496 | 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.
|
533042058 | { 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 20304873 times.
✓ Branch 1 taken 76478566 times.
✓ Branch 2 taken 20304873 times.
✓ Branch 3 taken 76478551 times.
✓ Branch 4 taken 18568911 times.
✓ Branch 5 taken 71711927 times.
✓ Branch 6 taken 18568896 times.
✓ Branch 7 taken 71711927 times.
✓ Branch 8 taken 3854565 times.
✓ Branch 9 taken 383 times.
✓ Branch 10 taken 3854565 times.
✓ Branch 11 taken 383 times.
|
621156366 | { 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.
|
621074730 | { 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 | 420950449 | void setMoleFraction(int phaseIdx, int compIdx, Scalar value) | |
337 | { | ||
338 | 1164613314 | moleFraction_[phaseIdx][compIdx] = value; | |
339 | |||
340 | // re-calculate the mean molar mass | ||
341 | 582306657 | sumMoleFractions_[phaseIdx] = 0.0; | |
342 | 582306657 | averageMolarMass_[phaseIdx] = 0.0; | |
343 |
34/34✓ Branch 0 taken 1232176883 times.
✓ Branch 1 taken 421684329 times.
✓ Branch 2 taken 17037064 times.
✓ Branch 3 taken 8114624 times.
✓ Branch 4 taken 19411241 times.
✓ Branch 5 taken 8638055 times.
✓ Branch 6 taken 71449703 times.
✓ Branch 7 taken 35194089 times.
✓ Branch 8 taken 20491023 times.
✓ Branch 9 taken 9340320 times.
✓ Branch 10 taken 163560582 times.
✓ Branch 11 taken 55326795 times.
✓ Branch 12 taken 10638239 times.
✓ Branch 13 taken 27992222 times.
✓ Branch 14 taken 24403839 times.
✓ Branch 15 taken 12201917 times.
✓ Branch 16 taken 24403855 times.
✓ Branch 17 taken 12201925 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.
|
2193127141 | for (int compJIdx = 0; compJIdx < numComponents; ++compJIdx) |
344 | { | ||
345 |
36/54✓ Branch 0 taken 135584654 times.
✓ Branch 1 taken 135584653 times.
✓ Branch 2 taken 135584654 times.
✓ Branch 3 taken 135584653 times.
✓ Branch 4 taken 135584654 times.
✓ Branch 5 taken 135584653 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.
|
4869069003 | sumMoleFractions_[phaseIdx] += moleFraction_[phaseIdx][compJIdx]; |
346 |
36/54✓ Branch 0 taken 135584654 times.
✓ Branch 1 taken 135584653 times.
✓ Branch 2 taken 135584654 times.
✓ Branch 3 taken 135584653 times.
✓ Branch 4 taken 135584654 times.
✓ Branch 5 taken 135584653 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.
|
5986861473 | averageMolarMass_[phaseIdx] += moleFraction_[phaseIdx][compJIdx]*FluidSystem::molarMass(compJIdx); |
347 | } | ||
348 | 420950449 | } | |
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 | 68327501 | 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 |
2/2✓ Branch 0 taken 1950 times.
✓ Branch 1 taken 1969 times.
|
68327501 | Scalar M1 = FluidSystem::molarMass(compIdx); |
363 |
2/2✓ Branch 0 taken 1965 times.
✓ Branch 1 taken 1950 times.
|
68327501 | Scalar M2 = FluidSystem::molarMass(1-compIdx); |
364 | 68327501 | Scalar X2 = 1.0-value; | |
365 | 68327501 | Scalar avgMolarMass = M1*M2/(M2 + X2*(M1 - M2)); | |
366 | |||
367 | 136655002 | moleFraction_[phaseIdx][compIdx] = value * avgMolarMass / M1; | |
368 | 273310004 | moleFraction_[phaseIdx][1-compIdx] = 1.0-moleFraction_[phaseIdx][compIdx]; | |
369 | |||
370 | // re-calculate the mean molar mass | ||
371 | 68327501 | sumMoleFractions_[phaseIdx] = 0.0; | |
372 | 68327501 | averageMolarMass_[phaseIdx] = 0.0; | |
373 |
2/2✓ Branch 0 taken 136655002 times.
✓ Branch 1 taken 68327501 times.
|
204982503 | for (int compJIdx = 0; compJIdx < numComponents; ++compJIdx) { |
374 |
6/6✓ Branch 0 taken 3915 times.
✓ Branch 1 taken 3915 times.
✓ Branch 2 taken 3915 times.
✓ Branch 3 taken 3915 times.
✓ Branch 4 taken 3915 times.
✓ Branch 5 taken 3915 times.
|
409965006 | sumMoleFractions_[phaseIdx] += moleFraction_[phaseIdx][compJIdx]; |
375 |
6/6✓ Branch 0 taken 3915 times.
✓ Branch 1 taken 3915 times.
✓ Branch 2 taken 3915 times.
✓ Branch 3 taken 3915 times.
✓ Branch 4 taken 3915 times.
✓ Branch 5 taken 3915 times.
|
409980682 | averageMolarMass_[phaseIdx] += moleFraction_[phaseIdx][compJIdx]*FluidSystem::molarMass(compJIdx); |
376 | } | ||
377 | } | ||
378 | 68327501 | } | |
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 | 662677254 | { 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.
|
619503256 | { 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.
|
583173642 | { 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 | 611618346 | { 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 | 613592188 | { 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 12202933 times.
✓ Branch 1 taken 87696769 times.
|
102304111 | { 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 |