https://mooseframework.inl.gov
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 
14 {
16 
17  return params;
18 }
19 
21  : FluidProperties(parameters)
22 {
23 }
24 
26 
27 #pragma GCC diagnostic push
28 #pragma GCC diagnostic ignored "-Woverloaded-virtual"
29 
30 Real
31 VaporMixtureFluidProperties::primaryMassFraction(const std::vector<Real> & x) const
32 {
33  return 1 - std::accumulate(x.begin(), x.end(), 0.0);
34 }
35 
36 Real
37 VaporMixtureFluidProperties::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 
48 std::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
static InputParameters validParams()
VaporMixtureFluidProperties(const InputParameters &parameters)
const std::vector< double > x
static InputParameters validParams()
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.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Real primaryMassFraction(const std::vector< Real > &x) const
Computes the mass fraction of the primary vapor given mass fractions of the secondary vapors...
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.
auto index_range(const T &sizable)