https://mooseframework.inl.gov
Loading...
Searching...
No Matches
FlowModelGasMixAux.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
10#include "FlowModelGasMixAux.h"
12#include "THMIndicesGasMix.h"
13
14registerMooseObject("ThermalHydraulicsApp", FlowModelGasMixAux);
15
18{
20
21 MooseEnum quantity("p T");
22 params.addRequiredParam<MooseEnum>("quantity", quantity, "Quantity to compute");
23
24 params.addRequiredCoupledVar("xirhoA", "xi*rho*A variable");
25 params.addRequiredCoupledVar("rhoA", "rho*A variable");
26 params.addRequiredCoupledVar("rhouA", "rho*u*A variable");
27 params.addRequiredCoupledVar("rhoEA", "rho*E*A variable");
28 params.addRequiredCoupledVar("area", "Cross-sectional area variable");
29
30 params.addRequiredParam<UserObjectName>("fluid_properties",
31 "The VaporMixtureFluidProperties object");
32
33 params.addClassDescription("Computes various quantities for FlowModelGasMix.");
34
35 return params;
36}
37
39 : AuxKernel(parameters),
40 _quantity(getParam<MooseEnum>("quantity").getEnum<Quantity>()),
41 _xirhoA(coupledValue("xirhoA")),
42 _rhoA(coupledValue("rhoA")),
43 _rhouA(coupledValue("rhouA")),
44 _rhoEA(coupledValue("rhoEA")),
45 _area(coupledValue("area")),
46 _fp(getUserObject<VaporMixtureFluidProperties>("fluid_properties"))
47{
48}
49
50Real
52{
53 std::vector<Real> U(THMGasMix1D::N_FLUX_INPUTS);
59
60 const auto W = FlowModelGasMixUtils::computePrimitiveSolution<false>(U, _fp);
61
62 switch (_quantity)
63 {
65 {
66 return W[THMGasMix1D::PRESSURE];
67 break;
68 }
70 {
72 break;
73 }
74 default:
75 mooseAssert(false, "Invalid 'quantity' parameter.");
76 return 0;
77 }
78}
registerMooseObject("ThermalHydraulicsApp", FlowModelGasMixAux)
static InputParameters validParams()
Computes various quantities for FlowModelGasMix.
static InputParameters validParams()
const VariableValue & _rhoA
const Quantity _quantity
Which quantity to compute.
virtual Real computeValue() override
const VariableValue & _area
FlowModelGasMixAux(const InputParameters &parameters)
const VariableValue & _rhoEA
const VaporMixtureFluidProperties & _fp
Fluid properties.
const VariableValue & _xirhoA
const VariableValue & _rhouA
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
Base class for fluid properties of vapor mixtures.
static const unsigned int N_FLUX_INPUTS
Number of numerical flux function inputs.