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") =
registerMooseObject("ThermalHydraulicsApp", HeatTransferFromHeatStructure1Phase)
const ExecFlagType EXEC_INITIAL
const ExecFlagType EXEC_LINEAR
const ExecFlagType EXEC_NONLINEAR
const BoundaryName & getNodesetName() const
Gets the 1D component nodeset name.
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.
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
void logError(Args &&... args) const
Logs an error.
const std::vector< dof_id_type > & getElementIDs() const
Gets the element IDs corresponding to this component.
THMProblem & getTHMProblem() const
Gets the THM problem.
Factory & _factory
The Factory associated with the MooseApp.
virtual void check() const
Check the component integrity.
virtual std::vector< std::shared_ptr< UserObject > > addUserObject(const std::string &user_object_name, const std::string &name, InputParameters ¶meters)
virtual void addMaterial(const std::string &material_name, const std::string &name, InputParameters ¶meters)
virtual void addBoundaryCondition(const std::string &bc_name, const std::string &name, InputParameters ¶meters)
virtual void addKernel(const std::string &kernel_name, const std::string &name, InputParameters ¶meters)
virtual void addAuxKernel(const std::string &kernel_name, const std::string &name, InputParameters ¶meters)
InputParameters getValidParams(const std::string &name) const
Base class for single-phase flow channels.
static const std::string TEMPERATURE
static const std::string RHOEA
Interface class for coupling to a heat structure boundary.
const std::string & _hs_name
Heat structure name.
const BoundaryName & getHSBoundaryName(const Component *const component) const
Gets the boundary name corresponding to the heat structure and side.
static InputParameters validParams()
bool HSBoundaryIsValid(const Component *const component) const
Returns true if the specified heat structure boundary is valid.
Component2D::ExternalBoundaryType getHSExternalBoundaryType(const Component *const component) const
Gets the external boundary type for the coupled heat structure boundary.
void check(const Component *const component) const
static const libMesh::FEType & feType()
Get the FE type used for heat conduction.
static const std::string TEMPERATURE
Base class for 2D generated heat structures.
Real getNumberOfUnits() const
Gets the number of units that heat structure represents.
virtual Real getUnitPerimeter(const ExternalBoundaryType &side) const =0
Gets the perimeter of one unit of this heat structure on the specified side.
Base class for cylindrical heat structure components.
FunctionName getInitialT() const
Gets the initial temperature function name.
MaterialPropertyName _Hw_1phase_name
1-phase wall heat transfer coefficient name
VariableName _P_hf_name
heated perimeter name
VariableName _T_wall_name
wall temperature name
const std::string _flow_channel_name
name of the connected flow channel
std::vector< SubdomainName > _flow_channel_subdomains
Subdomains corresponding to the connected flow channel.
Connects a 1-phase flow channel and a heat structure.
virtual void setupMesh() override
Performs mesh setup such as creating mesh or naming mesh sets.
virtual void check() const override
Check the component integrity.
virtual void addMooseObjects() override
const BoundaryName & getChannelSideName() const
Gets the flow channel nodeset name for this connection.
HeatTransferFromHeatStructure1Phase(const InputParameters ¶meters)
static InputParameters validParams()
MeshAlignment _mesh_alignment
Mesh alignment.
virtual const libMesh::FEType & getFEType() override
Get the FE type for wall temperature variable.
virtual void addVariables() override
Base class for heat transfer connections from temperature for 1-phase flow.
virtual void addVariables() override
virtual void addMooseObjects() override
static InputParameters validParams()
const std::vector< dof_id_type > & getPrimaryElemIDs() const
Returns the list of element IDs on the primary boundary.
bool meshesAreAligned() const
Returns true if the primary and secondary meshes are aligned.
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.
bool hasCoupledElemID(const dof_id_type &elem_id) const
Returns true if the element ID has a coupled element ID.
const dof_id_type & getCoupledElemID(const dof_id_type &elem_id) const
Gets the coupled element ID for a given element ID.
bool isRestarting() const
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.
void addFunctionIC(const VariableName &var_name, const std::string &func_name, const std::vector< SubdomainName > &block_names)
ExecFlagEnum getDefaultExecFlagEnum()