15 #include "FEProblem.h"
16 #include "MooseMesh.h"
24 InputParameters params = validParams<MooseObjectAction>();
25 params.addClassDescription(
"This class allows us to have a section of the input file like the "
26 "following which adds BC objects for each requested boundary "
32 : MooseObjectAction(parameters)
42 _dim = _mesh->dimension();
44 if (_type ==
"NSWeakStagnationInletBC")
52 else if (_type ==
"NSNoPenetrationBC")
58 else if (_type ==
"NSStaticPressureOutletBC")
70 const std::string kernel_type =
"NSMassWeakStagnationBC";
71 InputParameters params = _factory.getValidParams(kernel_type);
72 params.set<NonlinearVariableName>(
"variable") =
NS::density;
79 params += _moose_object_pars;
81 _problem->addBoundaryCondition(kernel_type,
"weak_stagnation_mass_inflow", params);
87 const std::string kernel_type =
"NSEnergyWeakStagnationBC";
88 InputParameters params = _factory.getValidParams(kernel_type);
91 params += _moose_object_pars;
92 _problem->addBoundaryCondition(kernel_type,
"weak_stagnation_energy_inflow", params);
102 const std::string kernel_type =
"NSMomentumConvectiveWeakStagnationBC";
103 InputParameters params = _factory.getValidParams(kernel_type);
104 params.set<NonlinearVariableName>(
"variable") = momentums[
component];
106 params += _moose_object_pars;
109 params.set<
unsigned int>(
"component") =
component;
111 _problem->addBoundaryCondition(kernel_type,
112 std::string(
"weak_stagnation_") + momentums[
component] +
113 std::string(
"_convective_inflow"),
119 const std::string kernel_type =
"NSMomentumPressureWeakStagnationBC";
120 InputParameters params = _factory.getValidParams(kernel_type);
121 params.set<NonlinearVariableName>(
"variable") = momentums[
component];
123 params += _moose_object_pars;
126 params.set<
unsigned int>(
"component") =
component;
128 _problem->addBoundaryCondition(kernel_type,
129 std::string(
"weak_stagnation_") + momentums[
component] +
130 std::string(
"_pressure_inflow"),
139 const std::string kernel_type =
"NSPressureNeumannBC";
140 InputParameters params = _factory.getValidParams(kernel_type);
141 params.set<NonlinearVariableName>(
"variable") = momentums[
component];
143 params += _moose_object_pars;
146 params.set<
unsigned int>(
"component") =
component;
149 _problem->addBoundaryCondition(
150 kernel_type, momentums[
component] + std::string(
"_no_penetration"), params);
156 const std::string kernel_type =
"NSMassUnspecifiedNormalFlowBC";
157 InputParameters params = _factory.getValidParams(kernel_type);
158 params.set<NonlinearVariableName>(
"variable") =
NS::density;
160 params += _moose_object_pars;
161 _problem->addBoundaryCondition(kernel_type,
"mass_outflow", params);
168 const std::string kernel_type =
"NSMomentumInviscidSpecifiedPressureBC";
169 InputParameters params = _factory.getValidParams(kernel_type);
170 params.set<NonlinearVariableName>(
"variable") = momentums[
component];
172 params += _moose_object_pars;
175 params.set<
unsigned int>(
"component") =
component;
177 _problem->addBoundaryCondition(
178 kernel_type, momentums[
component] + std::string(
"_specified_pressure_outflow"), params);
184 const std::string kernel_type =
"NSEnergyInviscidSpecifiedPressureBC";
185 InputParameters params = _factory.getValidParams(kernel_type);
188 params += _moose_object_pars;
191 _problem->addBoundaryCondition(kernel_type,
"rhoE_specified_pressure_outflow", params);