https://mooseframework.inl.gov
Loading...
Searching...
No Matches
VaporMixtureInterface.h
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
10#pragma once
11
12#include "InputParameters.h"
13#include "InitialCondition.h"
15
16template <typename T = InitialCondition>
18
22template <class T>
24{
25public:
27
28protected:
32 std::vector<Real> getMassFractionVector() const;
33
37 const unsigned int _n_secondary_vapors;
39 const std::vector<const VariableValue *> _x_secondary_vapors;
40
41public:
43};
44
45template <class T>
48{
50
51 params.addRequiredCoupledVar("x_secondary_vapors", "Mass fractions of secondary vapors");
52 params.addRequiredParam<UserObjectName>("fp_vapor_mixture",
53 "Vapor mixture fluid properties user object name");
54
55 return params;
56}
57
58template <class T>
60 : T(parameters),
61 _fp_vapor_mixture(T::template getUserObject<VaporMixtureFluidProperties>("fp_vapor_mixture")),
62 _n_secondary_vapors(T::coupledComponents("x_secondary_vapors")),
63 _x_secondary_vapors(T::coupledValues("x_secondary_vapors"))
64{
65}
66
67template <class T>
68std::vector<Real>
70{
71 std::vector<Real> x_secondary_vapors(_n_secondary_vapors);
72 for (unsigned int i = 0; i < _n_secondary_vapors; ++i)
73 x_secondary_vapors[i] = (*_x_secondary_vapors[i])[T::_qp];
74 return x_secondary_vapors;
75}
const double T
InputParameters emptyInputParameters()
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
void addRequiredParam(const std::string &name, const std::string &doc_string)
Base class for fluid properties of vapor mixtures.
Interface for calculations involving vapor mixtures.
std::vector< Real > getMassFractionVector() const
Gets the vector of mass fractions of each secondary vapor, at a quadrature point.
static InputParameters validParams()
const unsigned int _n_secondary_vapors
Number of secondary vapors.
const std::vector< const VariableValue * > _x_secondary_vapors
Mass fractions of secondary vapors.
const VaporMixtureFluidProperties & _fp_vapor_mixture
Vapor mixture fluid properties.
VaporMixtureInterface(const InputParameters &parameters)