17 params.addClassDescription(
"Compositional flash calculations for use in fluid state classes");
28 std::vector<Real> & Zi,
29 std::vector<Real> & Ki)
const
31 const std::size_t num_z = Zi.size();
33 if (Ki.size() != num_z + 1)
34 mooseError(
"The number of mass fractions or equilibrium components passed to rachfordRice is "
40 for (std::size_t i = 0; i < num_z; ++i)
42 f += Zi[i] * (Ki[i] - 1.0) / (1.0 + x * (Ki[i] - 1.0));
47 f += (1.0 - Z_total) * (Ki[num_z] - 1.0) / (1.0 + x * (Ki[num_z] - 1.0));
54 std::vector<Real> & Zi,
55 std::vector<Real> & Ki)
const
57 const std::size_t num_Z = Zi.size();
59 if (Ki.size() != num_Z + 1)
60 mooseError(
"The number of mass fractions or equilibrium components passed to rachfordRice is "
66 for (std::size_t i = 0; i < num_Z; ++i)
68 df -= Zi[i] * (Ki[i] - 1.0) * (Ki[i] - 1.0) / (1.0 + x * (Ki[i] - 1.0)) /
69 (1.0 + x * (Ki[i] - 1.0));
74 df -= (1.0 - Z_total) * (Ki[num_Z] - 1.0) * (Ki[num_Z] - 1.0) / (1.0 + x * (Ki[num_Z] - 1.0)) /
75 (1.0 + x * (Ki[num_Z] - 1.0));
83 return (Z0 * (K1 - K0) - (K1 - 1.0)) / ((K0 - 1.0) * (K1 - 1.0));
89 const DualReal & K1)
const
91 return (Z0 * (K1 - K0) - (K1 - 1.0)) / ((K0 - 1.0) * (K1 - 1.0));
98 if (Ki.size() != Zi.size() + 1)
99 mooseError(
"The number of mass fractions or equilibrium components passed to rachfordRice is "
112 unsigned int iter = 0;