21 params.
addRequiredParam<Real>(
"open_area_fraction",
"Fraction of flow area that is open [-]");
38 if (connected_elems.size() == 2)
51 bool slope_reconstruction_used =
false;
54 const std::string & comp_name = connection._component_name;
55 if (hasComponentByName<FlowChannel1Phase>(comp_name))
57 const FlowChannel1Phase & comp = getComponentByName<FlowChannel1Phase>(comp_name);
58 slope_reconstruction_used =
62 if (slope_reconstruction_used)
63 logWarning(
"Currently GateValve1Phase cannot perform slope reconstruction across the "
64 "junction, so the slopes on the adjacent elements will be zero.");
75 const std::string class_name =
"ADGateValve1PhaseUserObject";
78 params.
set<std::vector<Real>>(
"normals") =
_normals;
83 params.
set<Real>(
"open_area_fraction") = getParam<Real>(
"open_area_fraction");
88 params.
set<std::string>(
"component_name") =
name();
95 const std::vector<NonlinearVariableName> var_names = {
100 for (std::size_t j = 0; j < var_names.size(); j++)
102 const std::string class_name =
"ADGateValve1PhaseBC";
106 params.
set<NonlinearVariableName>(
"variable") = var_names[j];
108 params.
set<
unsigned int>(
"connection_index") = i;
116 class_name,
genName(
name(), i, var_names[j] +
":" + class_name), params);
registerMooseObject("ThermalHydraulicsApp", GateValve1Phase)
const ExecFlagType EXEC_INITIAL
const ExecFlagType EXEC_LINEAR
const ExecFlagType EXEC_NONLINEAR
std::vector< Real > _normals
Outward normals associated with connected components.
std::vector< BoundaryName > _boundary_names
Boundary names of connected components.
void checkNumberOfConnections(const unsigned int &n_connections) const
Checks that the number of connections is equal to the supplied value.
const std::vector< Connection > & getConnections() const
Returns the vector of connections of this component.
const std::vector< processor_id_type > & getConnectedProcessorIDs()
Gets the processor IDs of the connected 1D components.
const std::vector< dof_id_type > & getConnectedElementIDs()
Gets the element IDs of the connected 1D components.
THMProblem & getTHMProblem() const
Gets the THM problem.
Factory & _factory
The Factory associated with the MooseApp.
virtual void setupMesh()
Performs mesh setup such as creating mesh or naming mesh sets.
void connectObject(const InputParameters &obj_params, const std::string &obj_name, const std::string ¶m) const
Connects a controllable parameter of the component to a controllable parameter of a constituent objec...
void logWarning(Args &&... args) const
Logs a warning.
virtual std::vector< std::shared_ptr< UserObject > > addUserObject(const std::string &user_object_name, const std::string &name, InputParameters ¶meters)
virtual void addBoundaryCondition(const std::string &bc_name, const std::string &name, InputParameters ¶meters)
InputParameters getValidParams(const std::string &name) const
const MooseEnum & getSlopeReconstruction() const
Gets the slope reconstruction option used.
Single-component, single-phase flow channel.
Base class for 1-phase flow junctions.
std::vector< UserObjectName > _numerical_flux_names
virtual void check() const override
Check the component integrity.
static InputParameters validParams()
const std::string _junction_uo_name
Name of junction user object name, if any.
static const std::string RHOUA
static const std::string RHOA
static const std::string RHOEA
static const std::string AREA
static const std::string AREA_LINEAR
Gate valve component for 1-phase flow.
virtual void setupMesh() override
Performs mesh setup such as creating mesh or naming mesh sets.
virtual void check() const override
Check the component integrity.
static InputParameters validParams()
GateValve1Phase(const InputParameters ¶ms)
virtual void addMooseObjects() override
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.
virtual void augmentSparsity(const dof_id_type &elem_id1, const dof_id_type &elem_id2)
Hint how to augment sparsity pattern between two elements.
const bool & getImplicitTimeIntegrationFlag()
Gets the flag indicating whether an implicit time integration scheme is being used.
ExecFlagEnum getDefaultExecFlagEnum()