https://mooseframework.inl.gov
Loading...
Searching...
No Matches
VaporMixtureFluidProperties.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
11
19
24
26
27#pragma GCC diagnostic push
28#pragma GCC diagnostic ignored "-Woverloaded-virtual"
29
30Real
32{
33 return 1 - std::accumulate(x.begin(), x.end(), 0.0);
34}
35
36Real
37VaporMixtureFluidProperties::mixtureMolarMass(const std::vector<Real> & molar_fractions,
38 const std::vector<Real> & molar_masses) const
39{
40 mooseAssert(molar_fractions.size() == molar_masses.size(), "Must have same size");
41
42 Real molar_mass_mix = 0;
43 for (const auto i : index_range(molar_fractions))
44 molar_mass_mix += molar_fractions[i] * molar_masses[i];
45 return molar_mass_mix;
46}
47
48std::vector<Real>
50 const std::vector<Real> & molar_fractions, const std::vector<Real> & molar_masses) const
51{
52 mooseAssert(molar_fractions.size() == molar_masses.size(), "Must have same size");
53
54 const auto molar_mass_mix = mixtureMolarMass(molar_fractions, molar_masses);
55
56 std::vector<Real> mass_fractions(molar_fractions.size(), 0.0);
57 for (const auto i : index_range(molar_fractions))
58 mass_fractions[i] = molar_masses[i] / molar_mass_mix * molar_fractions[i];
59 return mass_fractions;
60}
61
62#pragma GCC diagnostic pop
const std::vector< double > x
static InputParameters validParams()
Real primaryMassFraction(const std::vector< Real > &x) const
Computes the mass fraction of the primary vapor given mass fractions of the secondary vapors.
VaporMixtureFluidProperties(const InputParameters &parameters)
std::vector< Real > massFractionsFromMolarFractions(const std::vector< Real > &molar_fractions, const std::vector< Real > &molar_masses) const
Computes the mass fractions for given molar fractions and molar masses.
Real mixtureMolarMass(const std::vector< Real > &molar_fractions, const std::vector< Real > &molar_masses) const
Computes the mixture molar mass for given molar fractions and molar masses.