www.mooseframework.org
TestTwoPhaseNCGFluidProperties.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 
12 registerMooseObject("FluidPropertiesTestApp", TestTwoPhaseNCGFluidProperties);
13 
14 template <>
15 InputParameters
17 {
18  InputParameters params = validParams<TwoPhaseNCGFluidProperties>();
19 
20  params.addClassDescription("Test 2-phase NCG fluid properties");
21 
22  params.addRequiredParam<std::vector<UserObjectName>>(
23  "fp_ncgs", "Name of fluid properties user object(s) for non-condensable gases");
24 
25  return params;
26 }
27 
29  : TwoPhaseNCGFluidProperties(parameters)
30 {
31  // create liquid and vapor fluid properties
32  if (_tid == 0)
33  {
34  {
35  const std::string class_name = "IdealGasFluidProperties";
36  InputParameters params = _app.getFactory().getValidParams(class_name);
37  params.set<Real>("gamma") = 1.4;
38  params.set<Real>("molar_mass") = 0.030794295555555556;
39  _fe_problem.addUserObject(class_name, "test_fp_liquid", params);
40  }
41  {
42  const std::string class_name = "IdealGasFluidProperties";
43  InputParameters params = _app.getFactory().getValidParams(class_name);
44  params.set<Real>("gamma") = 1.1;
45  params.set<Real>("molar_mass") = 0.027714866;
46  params.set<Real>("T_c") = 100;
47  params.set<Real>("rho_c") = 300;
48  _fe_problem.addUserObject(class_name, "test_fp_vapor", params);
49  }
50  }
51 
52  // create 2-phase fluid properties
53  if (_tid == 0)
54  {
55  const std::string class_name = "TestTwoPhaseFluidProperties";
56  InputParameters params = _app.getFactory().getValidParams(class_name);
57  params.set<UserObjectName>("fp_liquid") = "test_fp_liquid";
58  params.set<UserObjectName>("fp_vapor") = "test_fp_vapor";
59  _fe_problem.addUserObject(class_name, _2phase_name, params);
60  }
61  _fp_2phase = &_fe_problem.getUserObjectTempl<TwoPhaseFluidProperties>(_2phase_name);
62 
63  // create vapor mixture fluid properties
64  if (_tid == 0)
65  {
66  const std::string class_name = "IdealRealGasMixtureFluidProperties";
67  InputParameters params = _app.getFactory().getValidParams(class_name);
68  params.set<UserObjectName>("fp_primary") = getVaporName();
69  params.set<std::vector<UserObjectName>>("fp_secondary") =
70  getParam<std::vector<UserObjectName>>("fp_ncgs");
71  _fe_problem.addUserObject(class_name, _vapor_mixture_name, params);
72  }
74  &_fe_problem.getUserObjectTempl<VaporMixtureFluidProperties>(_vapor_mixture_name);
75 }
validParams< TwoPhaseNCGFluidProperties >
InputParameters validParams< TwoPhaseNCGFluidProperties >()
Definition: TwoPhaseNCGFluidProperties.C:14
TwoPhaseNCGFluidProperties::getVaporName
const UserObjectName & getVaporName() const override
Returns the name of the vapor single-phase fluid properties object.
Definition: TwoPhaseNCGFluidProperties.h:30
TwoPhaseNCGFluidProperties::_2phase_name
const UserObjectName _2phase_name
Two-phase fluid properties user object name.
Definition: TwoPhaseNCGFluidProperties.h:80
TestTwoPhaseNCGFluidProperties::TestTwoPhaseNCGFluidProperties
TestTwoPhaseNCGFluidProperties(const InputParameters &parameters)
Definition: TestTwoPhaseNCGFluidProperties.C:28
TestTwoPhaseNCGFluidProperties.h
TwoPhaseNCGFluidProperties
Base class for fluid properties used with 2-phase flow with non-condensable gases (NCGs) present.
Definition: TwoPhaseNCGFluidProperties.h:24
TestTwoPhaseNCGFluidProperties
Test 2-phase NCG fluid properties.
Definition: TestTwoPhaseNCGFluidProperties.h:24
TwoPhaseFluidProperties
Base class for fluid properties used with two-phase flow.
Definition: TwoPhaseFluidProperties.h:23
validParams< TestTwoPhaseNCGFluidProperties >
InputParameters validParams< TestTwoPhaseNCGFluidProperties >()
Definition: TestTwoPhaseNCGFluidProperties.C:16
TwoPhaseNCGFluidProperties::_vapor_mixture_name
const UserObjectName _vapor_mixture_name
Vapor mixture fluid properties user object name.
Definition: TwoPhaseNCGFluidProperties.h:82
TwoPhaseNCGFluidProperties::_fp_2phase
const TwoPhaseFluidProperties * _fp_2phase
Two-phase fluid properties user object.
Definition: TwoPhaseNCGFluidProperties.h:85
TwoPhaseNCGFluidProperties::_fp_vapor_mixture
const VaporMixtureFluidProperties * _fp_vapor_mixture
Vapor mixture fluid properties user object.
Definition: TwoPhaseNCGFluidProperties.h:87
registerMooseObject
registerMooseObject("FluidPropertiesTestApp", TestTwoPhaseNCGFluidProperties)
VaporMixtureFluidProperties
Base class for fluid properties of vapor mixtures.
Definition: VaporMixtureFluidProperties.h:27