26 params.
addParam<MooseFunctorName>(
"scale", 1.0,
"Functor by which to scale the heat flux");
37 _mesh_alignment(constMesh(), true)
50 if (hasComponentByName<HeatStructureBase>(
_hs_name) &&
66 logError(
"The centers of the elements of flow channel '",
68 "' do not align with the centers of the specified heat structure side.");
113 const UserObjectName heat_flux_uo_name =
genName(
name(),
"heat_flux_uo");
115 const std::string class_name =
"ADHeatFluxFromHeatStructure3EqnUserObject";
119 params.
set<MaterialPropertyName>(
"T_wall") =
_T_wall_name +
"_coupled";
120 params.
set<std::vector<VariableName>>(
"P_hf") = {
_P_hf_name};
123 params.
set<MooseFunctorName>(
"scale") = getParam<MooseFunctorName>(
"scale");
129 const std::string class_name =
"ADOneD3EqnEnergyHeatFlux";
133 params.
set<UserObjectName>(
"q_uo") = heat_flux_uo_name;
138 const std::string class_name =
"ADHeatFlux3EqnBC";
142 params.
set<UserObjectName>(
"q_uo") = heat_flux_uo_name;
145 params.
set<
bool>(
"hs_coord_system_is_cylindrical") = is_cylindrical;
151 std::string class_name =
"MeshAlignmentVariableTransferMaterial";
154 params.
set<MaterialPropertyName>(
"property_name") =
_T_wall_name +
"_coupled";
162 std::string class_name =
"VariableValueTransferAux";
167 params.
set<std::vector<VariableName>>(
"paired_variable") =
MeshAlignment _mesh_alignment
Mesh alignment.
registerMooseObject("ThermalHydraulicsApp", HeatTransferFromHeatStructure1Phase)
Real getNumberOfUnits() const
Gets the number of units that heat structure represents.
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.
static InputParameters validParams()
VariableName _T_wall_name
wall temperature name
virtual void addVariables() override
static const std::string TEMPERATURE
THMProblem & getTHMProblem() const
Gets the THM problem.
virtual void addMaterial(const std::string &material_name, const std::string &name, InputParameters ¶meters)
Connects a 1-phase flow channel and a heat structure.
FunctionName getInitialT() const
Gets the initial temperature function name.
InputParameters getValidParams(const std::string &name) const
Builds mapping between two aligned subdomains/boundaries.
void initialize(const std::vector< dof_id_type > &primary_elem_ids, const std::vector< std::tuple< dof_id_type, unsigned short int >> &secondary_boundary_info)
Extracts mesh information and builds the mapping.
virtual void addAuxKernel(const std::string &kernel_name, const std::string &name, InputParameters ¶meters)
virtual void addKernel(const std::string &kernel_name, const std::string &name, InputParameters ¶meters)
MaterialPropertyName _Hw_1phase_name
1-phase wall heat transfer coefficient name
const BoundaryName & getHSBoundaryName(const Component *const component) const
Gets the boundary name corresponding to the heat structure and side.
bool isRestarting() const
bool HSBoundaryIsValid(const Component *const component) const
Returns true if the specified heat structure boundary is valid.
virtual const std::string & name() const
bool meshesAreAligned() const
Returns true if the primary and secondary meshes are aligned.
void addFunctionIC(const VariableName &var_name, const std::string &func_name, const std::vector< SubdomainName > &block_names)
virtual void addBoundaryCondition(const std::string &bc_name, const std::string &name, InputParameters ¶meters)
ExecFlagEnum getDefaultExecFlagEnum()
void logError(Args &&... args) const
Logs an error.
VariableName _P_hf_name
heated perimeter name
const dof_id_type & getCoupledElemID(const dof_id_type &elem_id) const
Gets the coupled element ID for a given element ID.
Base class for cylindrical heat structure components.
virtual void check() const override
Check the component integrity.
virtual void addMooseObjects() override
static const std::string TEMPERATURE
virtual void addMooseObjects() override
static InputParameters validParams()
const BoundaryName & getChannelSideName() const
Gets the flow channel nodeset name for this connection.
void check(const Component *const component) const
const std::vector< dof_id_type > & getPrimaryElemIDs() const
Returns the list of element IDs on the primary boundary.
virtual Real getUnitPerimeter(const ExternalBoundaryType &side) const =0
Gets the perimeter of one unit of this heat structure on the specified side.
virtual void addVariables() override
Interface class for coupling to a heat structure boundary.
Component2D::ExternalBoundaryType getHSExternalBoundaryType(const Component *const component) const
Gets the external boundary type for the coupled heat structure boundary.
const ExecFlagType EXEC_LINEAR
virtual void check() const override
Check the component integrity.
const std::string _flow_channel_name
name of the connected flow channel
Base class for heat transfer connections from temperature for 1-phase flow.
const std::vector< std::tuple< dof_id_type, unsigned short int > > & getBoundaryInfo(const BoundaryName &boundary_name) const
Gets boundary info associated with the component boundary.
static const libMesh::FEType & feType()
Get the FE type used for heat conduction.
const BoundaryName & getNodesetName() const
Gets the 1D component nodeset name.
const ExecFlagType EXEC_NONLINEAR
const std::string & _hs_name
Heat structure name.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
HeatTransferFromHeatStructure1Phase(const InputParameters ¶meters)
Factory & _factory
The Factory associated with the MooseApp.
virtual std::vector< std::shared_ptr< UserObject > > addUserObject(const std::string &user_object_name, const std::string &name, InputParameters ¶meters)
Base class for 2D generated heat structures.
static const std::string RHOEA
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
virtual const libMesh::FEType & getFEType() override
Get the FE type for wall temperature variable.
virtual void setupMesh() override
Performs mesh setup such as creating mesh or naming mesh sets.
std::vector< SubdomainName > _flow_channel_subdomains
Subdomains corresponding to the connected flow channel.
Base class for single-phase flow channels.
static InputParameters validParams()
virtual void augmentSparsity(const dof_id_type &elem_id1, const dof_id_type &elem_id2)
Hint how to augment sparsity pattern between two elements.
bool hasCoupledElemID(const dof_id_type &elem_id) const
Returns true if the element ID has a coupled element ID.
const ExecFlagType EXEC_INITIAL