https://mooseframework.inl.gov
InletFunction1Phase.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 "InletFunction1Phase.h"
11 
12 registerMooseObject("ThermalHydraulicsTestApp", InletFunction1Phase);
13 
16 {
18 
19  params.addClassDescription("1-phase inlet with all variables prescribed by functions.");
20 
21  params.addRequiredParam<FunctionName>("rho", "Prescribed density [kg/m^3]");
22  params.addRequiredParam<FunctionName>("vel", "Prescribed velocity [m/s]");
23  params.addRequiredParam<FunctionName>("p", "Prescribed pressure [Pa]");
24 
25  return params;
26 }
27 
29  : FlowBoundary1Phase(params)
30 {
31 }
32 
33 void
35 {
37  execute_on = {EXEC_INITIAL, EXEC_LINEAR, EXEC_NONLINEAR};
38 
39  // boundary flux user object
40  {
41  const std::string class_name = "BoundaryFlux3EqnFunction";
42  InputParameters params = _factory.getValidParams(class_name);
43  params.set<FunctionName>("rho") = getParam<FunctionName>("rho");
44  params.set<FunctionName>("vel") = getParam<FunctionName>("vel");
45  params.set<FunctionName>("p") = getParam<FunctionName>("p");
46  params.set<UserObjectName>("fluid_properties") = _fp_name;
47  params.set<ExecFlagEnum>("execute_on") = execute_on;
48  getTHMProblem().addUserObject(class_name, _boundary_uo_name, params);
49  }
50 
51  // BCs
52  addWeakBCs();
53 }
InletFunction1Phase(const InputParameters &params)
virtual void addMooseObjects() override
THMProblem & getTHMProblem() const
Gets the THM problem.
Definition: Component.C:135
T & set(const std::string &name, bool quiet_mode=false)
static InputParameters validParams()
InputParameters getValidParams(const std::string &name) const
void addRequiredParam(const std::string &name, const std::string &doc_string)
ExecFlagEnum getDefaultExecFlagEnum()
const UserObjectName _boundary_uo_name
Name of boundary user object name.
const ExecFlagType EXEC_LINEAR
const ExecFlagType EXEC_NONLINEAR
1-phase inlet with all variables prescribed by functions.
Factory & _factory
The Factory associated with the MooseApp.
Definition: Component.h:446
virtual std::vector< std::shared_ptr< UserObject > > addUserObject(const std::string &user_object_name, const std::string &name, InputParameters &parameters)
void addClassDescription(const std::string &doc_string)
static InputParameters validParams()
UserObjectName _fp_name
Fluid property user object name.
Definition: FlowBoundary.h:38
virtual void addWeakBCs()
Creates the boundary condition objects for 1-phase flow.
Base class for boundary components connected to FlowChannel1Phase components.
registerMooseObject("ThermalHydraulicsTestApp", InletFunction1Phase)
const ExecFlagType EXEC_INITIAL