https://mooseframework.inl.gov
Loading...
Searching...
No Matches
FlowBoundaryGasMix.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 "FlowBoundaryGasMix.h"
11#include "FlowChannelGasMix.h"
12#include "THMNames.h"
13
20
25
26void
28{
30
31 checkComponentOfTypeExistsByName<FlowChannelGasMix>(_connected_component_name);
32}
33
34void
36{
37 const std::string class_name = "BoundaryFluxGasMixBC";
38 InputParameters params = _factory.getValidParams(class_name);
39 params.set<std::vector<BoundaryName>>("boundary") = getBoundaryNames();
40 params.set<Real>("normal") = _normal;
41 params.set<UserObjectName>("boundary_flux") = _boundary_uo_name;
42 params.set<std::vector<VariableName>>("A_linear") = {THM::AREA_LINEAR};
43 params.set<std::vector<VariableName>>("xirhoA") = {THM::XIRHOA};
44 params.set<std::vector<VariableName>>("rhoA") = {THM::RHOA};
45 params.set<std::vector<VariableName>>("rhouA") = {THM::RHOUA};
46 params.set<std::vector<VariableName>>("rhoEA") = {THM::RHOEA};
47 params.set<bool>("implicit") = getTHMProblem().getImplicitTimeIntegrationFlag();
48
49 const std::vector<NonlinearVariableName> variables{
51
52 for (const auto & var : variables)
53 {
54 params.set<NonlinearVariableName>("variable") = var;
55 getTHMProblem().addBoundaryCondition(class_name, genName(name(), var, "bc"), params);
56 }
57}
const std::string name
Definition Setup.h:21
std::string _connected_component_name
Name of the connected component.
Real _normal
Outward normal on this boundary.
const std::vector< BoundaryName > & getBoundaryNames() const
Gets the boundary names for this component.
THMProblem & getTHMProblem() const
Gets the THM problem.
Definition Component.C:135
Factory & _factory
The Factory associated with the MooseApp.
Definition Component.h:497
virtual void check() const
Check the component integrity.
Definition Component.h:416
virtual void addBoundaryCondition(const std::string &bc_name, const std::string &name, InputParameters &parameters)
InputParameters getValidParams(const std::string &name) const
Base class for boundary components connected to FlowChannel1PhaseBase components.
static InputParameters validParams()
const UserObjectName _boundary_uo_name
Name of boundary user object name.
static InputParameters validParams()
virtual void addWeakBCs()
Creates the boundary condition objects for weak boundary conditions.
FlowBoundaryGasMix(const InputParameters &params)
virtual void check() const override
Check the component integrity.
T & set(const std::string &name, bool quiet_mode=false)
std::string genName(const std::string &prefix, unsigned int id, const std::string &suffix="") const
Build a name from a prefix, number and possible suffix.
const bool & getImplicitTimeIntegrationFlag()
Gets the flag indicating whether an implicit time integration scheme is being used.
Definition Simulation.h:329
static const std::string XIRHOA
Definition THMNames.h:47
static const std::string RHOEA
Definition THMNames.h:30
static const std::string AREA_LINEAR
Definition THMNames.h:15
static const std::string RHOUA
Definition THMNames.h:31
static const std::string RHOA
Definition THMNames.h:29