https://mooseframework.inl.gov
FreeBoundary1Phase.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 "FreeBoundary1Phase.h"
11 #include "FlowModelSinglePhase.h"
12 
13 registerMooseObject("ThermalHydraulicsApp", FreeBoundary1Phase);
14 
17 {
19  params.addClassDescription("Component to create a free flow boundary for single-phase flow.");
20  return params;
21 }
22 
24  : FlowBoundary1Phase(parameters)
25 {
26 }
27 
28 void
30 {
31  ExecFlagEnum userobject_execute_on(MooseUtils::getDefaultExecFlagEnum());
32  userobject_execute_on = {EXEC_INITIAL, EXEC_LINEAR, EXEC_NONLINEAR};
33 
34  // boundary flux user object
35  {
36  const std::string class_name = "ADBoundaryFlux3EqnFreeOutflow";
37  InputParameters params = _factory.getValidParams(class_name);
38  params.set<UserObjectName>("fluid_properties") = _fp_name;
39  params.set<ExecFlagEnum>("execute_on") = userobject_execute_on;
40  getTHMProblem().addUserObject(class_name, _boundary_uo_name, params);
41  }
42 
43  // BCs
44  addWeakBCs();
45 }
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
FreeBoundary1Phase(const InputParameters &parameters)
Adds the boundary terms resulting from an integration by parts of the advection terms, using no external boundary data.
virtual void addMooseObjects() override
ExecFlagEnum getDefaultExecFlagEnum()
const UserObjectName _boundary_uo_name
Name of boundary user object name.
static InputParameters validParams()
const ExecFlagType EXEC_LINEAR
const ExecFlagType EXEC_NONLINEAR
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)
registerMooseObject("ThermalHydraulicsApp", FreeBoundary1Phase)
void addClassDescription(const std::string &doc_string)
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.
const ExecFlagType EXEC_INITIAL