Loading [MathJax]/extensions/tex2jax.js
https://mooseframework.inl.gov
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
HeatTransfer1PhaseBase Class Referenceabstract

Base class for heat transfer connections to 1-phase flow channels. More...

#include <HeatTransfer1PhaseBase.h>

Inheritance diagram for HeatTransfer1PhaseBase:
[legend]

Public Types

enum  EComponentSetupStatus {
  CREATED, MESH_PREPARED, INITIALIZED_PRIMARY, INITIALIZED_SECONDARY,
  CHECKED
}
 Component setup status type. More...
 
typedef DataFileName DataFileParameterType
 

Public Member Functions

 HeatTransfer1PhaseBase (const InputParameters &parameters)
 
virtual void addMooseObjects () override
 
const MaterialPropertyName & getWallHeatTransferCoefficient1PhaseName () const
 Returns 1-phase wall heat transfer coefficient name. More...
 
virtual void addVariables () override
 
const VariableName & getHeatedPerimeterName () const
 Returns heated perimeter name. More...
 
const VariableName & getWallTemperatureName () const
 Returns wall temperature name. More...
 
const MaterialPropertyName & getWallTemperatureMatName () const
 Returns wall temperature name. More...
 
const MaterialPropertyName & getWallHeatFluxName () const
 Returns wall heat flux name. More...
 
virtual bool isTemperatureType () const =0
 Returns whether this heat transfer is specified by temperature, rather than heat flux. More...
 
const std::vector< SubdomainName > & getFlowChannelSubdomains () const
 Get the list of the subdomain names associated with the flow channel. More...
 
const UserObjectName & getFluidPropertiesName () const
 
const std::string & getFlowChannelName () const
 Get the name of the connected flow channel. More...
 
std::string stringify (EComponentSetupStatus status) const
 Return a string for the setup status. More...
 
const std::string & cname () const
 Get the component name. More...
 
Componentparent ()
 
const THMMeshconstMesh () const
 Const reference to mesh, which can be called at any point. More...
 
THMMeshmesh ()
 Non-const reference to THM mesh, which can only be called before the end of mesh setup. More...
 
THMProblemgetTHMProblem () const
 Gets the THM problem. More...
 
template<typename T >
bool hasParam (const std::string &name) const
 Test if a parameter exists in the object's input parameters. More...
 
const std::vector< std::string > & getDependencies () const
 Returns a list of names of components that this component depends upon. More...
 
void executeInit ()
 Wrapper function for init() that marks the function as being called. More...
 
void executeInitSecondary ()
 Wrapper function for initSecondary() that marks the function as being called. More...
 
void executeCheck () const
 Wrapper function for check() that marks the function as being called. More...
 
void executeSetupMesh ()
 Wrapper function for setupMesh() that marks the function as being called. More...
 
virtual void addRelationshipManagers (Moose::RelationshipManagerType)
 Adds relationship managers for the component. More...
 
template<typename T >
const T & getComponent (const std::string &name) const
 Return a reference to a component via a parameter name. More...
 
template<typename T >
const T & getComponentByName (const std::string &cname) const
 Return a reference to a component given its name. More...
 
template<typename T >
bool hasComponent (const std::string &name) const
 Check the existence and type of a component via a parameter name. More...
 
template<typename T >
bool hasComponentByName (const std::string &cname) const
 Check the existence and type of a component given its name. More...
 
void connectObject (const InputParameters &params, const std::string &mooseName, const std::string &name) const
 Connect with control logic. More...
 
void connectObject (const InputParameters &params, const std::string &mooseName, const std::string &name, const std::string &par_name) const
 Connect with control logic. More...
 
void makeFunctionControllableIfConstant (const FunctionName &fn_name, const std::string &control_name, const std::string &param="value") const
 Makes a function controllable if it is constant. More...
 
void checkSetupStatus (const EComponentSetupStatus &status) const
 Throws an error if the supplied setup status of this component has not been reached. More...
 
void checkComponentExistsByName (const std::string &comp_name) const
 Checks that a component exists. More...
 
template<typename T >
void checkComponentOfTypeExists (const std::string &param) const
 Checks that the component of a certain type exists, where the name is given by a parameter. More...
 
template<typename T >
void checkComponentOfTypeExistsByName (const std::string &comp_name) const
 Checks that the component of a certain type exists. More...
 
template<typename... Args>
void logError (Args &&... args) const
 Logs an error. More...
 
template<typename... Args>
void logWarning (Args &&... args) const
 Logs a warning. More...
 
void addDependency (const std::string &dependency)
 Adds a component name to the list of dependencies. More...
 
template<typename T >
getEnumParam (const std::string &param) const
 Gets an enum parameter. More...
 
bool problemIsTransient () const
 Whether the problem is transient. More...
 
const std::vector< dof_id_type > & getNodeIDs () const
 Gets the node IDs corresponding to this component. More...
 
const std::vector< dof_id_type > & getElementIDs () const
 Gets the element IDs corresponding to this component. More...
 
virtual const std::vector< SubdomainName > & getSubdomainNames () const
 Gets the subdomain names for this component. More...
 
virtual const std::vector< Moose::CoordinateSystemType > & getCoordSysTypes () const
 Gets the coordinate system types for this component. More...
 
virtual bool enabled () const
 
std::shared_ptr< MooseObjectgetSharedPtr ()
 
std::shared_ptr< const MooseObjectgetSharedPtr () const
 
MooseAppgetMooseApp () const
 
const std::string & type () const
 
virtual const std::string & name () const
 
std::string typeAndName () const
 
std::string errorPrefix (const std::string &error_type) const
 
void callMooseError (std::string msg, const bool with_prefix) const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
const InputParametersparameters () const
 
MooseObjectName uniqueName () const
 
const T & getParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &nm) const
 
void paramError (const std::string &param, Args... args) const
 
void paramWarning (const std::string &param, Args... args) const
 
void paramInfo (const std::string &param, Args... args) const
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void mooseError (Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseInfo (Args &&... args) const
 
std::string getDataFileName (const std::string &param) const
 
std::string getDataFileNameByName (const std::string &relative_path) const
 
std::string getDataFilePath (const std::string &relative_path) const
 
const Parallel::Communicator & comm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 
template<typename... Args>
void logComponentError (const std::string &component_name, Args &&... args) const
 Logs an error for a component. More...
 
template<typename... Args>
void logComponentWarning (const std::string &component_name, Args &&... args) const
 Logs a warning for a component. More...
 
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. More...
 
std::string genName (const std::string &prefix, unsigned int i, unsigned int j, const std::string &suffix="") const
 Build a name from a prefix, 2 numbers and possible suffix. More...
 
std::string genName (const std::string &prefix, const std::string &name, unsigned int i) const
 Build a name from 2 strings and a number. More...
 
std::string genName (const std::string &prefix, const std::string &middle, const std::string &suffix="") const
 Build a name from strings. More...
 
std::string genSafeName (const std::string &prefix, const std::string &middle, const std::string &suffix="") const
 Build a name from strings that is safe to use in input files (i.e. More...
 

Static Public Member Functions

static InputParameters validParams ()
 
static std::string deduceFunctorName (const std::string &name, const InputParameters &params)
 

Public Attributes

const ConsoleStream _console
 

Protected Member Functions

virtual void init () override
 Initializes the component. More...
 
virtual void initSecondary () override
 Perform secondary initialization, which relies on init() being called for all components. More...
 
virtual void check () const override
 Check the component integrity. More...
 
void addHeatedPerimeter ()
 Adds heated perimeter variable and objects. More...
 
virtual void setupMesh ()
 Performs mesh setup such as creating mesh or naming mesh sets. More...
 
void addRelationshipManagersFromParameters (const InputParameters &moose_object_pars)
 Method to add a relationship manager for the objects being added to the system. More...
 
Node * addNode (const Point &pt)
 
Elem * addNodeElement (dof_id_type node)
 
virtual void setSubdomainInfo (SubdomainID subdomain_id, const std::string &subdomain_name, const Moose::CoordinateSystemType &coord_system=Moose::COORD_XYZ)
 Sets the next subdomain ID, name, and coordinate system. More...
 
template<typename T >
void insistParameterExists (const std::string &function_name, const std::string &param_name) const
 Runtime check to make sure that a parameter of specified type exists in the component's input parameters. More...
 
template<typename T >
void checkParameterValueLessThan (const std::string &param, const T &value_max) const
 Checks that a parameter value is less than a value. More...
 
template<typename T >
void checkSizeLessThan (const std::string &param, const unsigned int &n_entries) const
 Checks that the size of a vector parameter is less than a value. More...
 
template<typename T >
void checkSizeGreaterThan (const std::string &param, const unsigned int &n_entries) const
 Checks that the size of a vector parameter is greater than a value. More...
 
template<typename T1 , typename T2 >
void checkEqualSize (const std::string &param1, const std::string &param2) const
 Checks that the size of two vector parameters are equal. More...
 
template<typename T >
void checkSizeEqualsValue (const std::string &param, const unsigned int &n_entries) const
 Checks that the size of a vector parameter equals a value. More...
 
template<typename T >
void checkSizeEqualsValue (const std::string &param, const unsigned int &n_entries, const std::string &description) const
 Checks that the size of a vector parameter equals a value. More...
 
template<typename T1 , typename T2 >
void checkSizeEqualsParameterValue (const std::string &param1, const std::string &param2) const
 Checks that the size of a vector parameter equals the value of another parameter. More...
 
void checkMutuallyExclusiveParameters (const std::vector< std::string > &params, bool need_one_specified=true) const
 Checks that exactly one parameter out of a list is provided. More...
 
template<typename T >
void passParameter (const std::string &name, const std::string &new_name, InputParameters &params) const
 Passes a parameter from this object's input parameters to another set of input parameters. More...
 
template<typename T >
void passParameter (const std::string &name, InputParameters &params) const
 Passes a parameter from this object's input parameters to another set of input parameters. More...
 
std::string deduceFunctorName (const std::string &name) const
 
const Moose::Functor< T > & getFunctor (const std::string &name)
 
const Moose::Functor< T > & getFunctor (const std::string &name, THREAD_ID tid)
 
const Moose::Functor< T > & getFunctor (const std::string &name, SubProblem &subproblem)
 
const Moose::Functor< T > & getFunctor (const std::string &name, SubProblem &subproblem, THREAD_ID tid)
 
bool isFunctor (const std::string &name) const
 
bool isFunctor (const std::string &name, const SubProblem &subproblem) const
 
Moose::ElemArg makeElemArg (const Elem *elem, bool correct_skewnewss=false) const
 
void checkFunctorSupportsSideIntegration (const std::string &name, bool qp_integration)
 

Protected Attributes

MaterialPropertyName _Hw_1phase_name
 1-phase wall heat transfer coefficient name More...
 
const std::string _flow_channel_name
 name of the connected flow channel More...
 
const bool _P_hf_transferred
 flag that heated perimeter is transferred from another application More...
 
const bool _P_hf_provided
 flag that the heated perimeter was specified via an input parameter More...
 
std::vector< std::shared_ptr< ClosuresBase > > _closures_objects
 Used closures object(s) More...
 
VariableName _P_hf_name
 heated perimeter name More...
 
VariableName _T_wall_name
 wall temperature name More...
 
MaterialPropertyName _T_wall_mat_name
 wall temperature material name More...
 
MaterialPropertyName _q_wall_name
 wall heat flux name More...
 
std::vector< SubdomainName > _flow_channel_subdomains
 Subdomains corresponding to the connected flow channel. More...
 
THM::FlowModelID _model_type
 flow model type More...
 
UserObjectName _fp_name
 fluid properties object name More...
 
FunctionName _A_fn_name
 area function name for the connected flow channel More...
 
FunctionName _P_hf_fn_name
 heated perimeter function name More...
 
Component_parent
 Pointer to a parent component (used in composed components) More...
 
THMProblem_sim
 THM problem this component is part of TODO: make _sim private (applications need to switch to getters to avoid breaking). More...
 
Factory_factory
 The Factory associated with the MooseApp. More...
 
const Real_zero
 
THMMesh_mesh
 The THM mesh TODO: make _mesh private (applications need to switch to getters to avoid breaking) More...
 
std::vector< dof_id_type_node_ids
 Node IDs of this component. More...
 
std::vector< dof_id_type_elem_ids
 Element IDs of this component. More...
 
std::vector< SubdomainID_subdomain_ids
 List of subdomain IDs this components owns. More...
 
std::vector< SubdomainName > _subdomain_names
 List of subdomain names this components owns. More...
 
std::vector< Moose::CoordinateSystemType_coord_sys
 List of coordinate system for each subdomain. More...
 
const bool & _enabled
 
MooseApp_app
 
const std::string _type
 
const std::string _name
 
const InputParameters_pars
 
ActionFactory_action_factory
 
const Parallel::Communicator & _communicator
 
Logger_log
 

Detailed Description

Base class for heat transfer connections to 1-phase flow channels.

Definition at line 17 of file HeatTransfer1PhaseBase.h.

Member Enumeration Documentation

◆ EComponentSetupStatus

Component setup status type.

Enumerator
CREATED 

only created

MESH_PREPARED 

mesh set up

INITIALIZED_PRIMARY 

mesh set up, called primary init

INITIALIZED_SECONDARY 

mesh set up, called both inits

CHECKED 

mesh set up, called both inits, checked

Definition at line 36 of file Component.h.

37  {
38  CREATED,
42  CHECKED
43  };
only created
Definition: Component.h:38
mesh set up, called primary init
Definition: Component.h:40
mesh set up, called both inits
Definition: Component.h:41
mesh set up, called both inits, checked
Definition: Component.h:42

Constructor & Destructor Documentation

◆ HeatTransfer1PhaseBase()

HeatTransfer1PhaseBase::HeatTransfer1PhaseBase ( const InputParameters parameters)

Definition at line 25 of file HeatTransfer1PhaseBase.C.

27 {
28 }
HeatTransferBase(const InputParameters &parameters)
const InputParameters & parameters() const

Member Function Documentation

◆ addDependency()

void Component::addDependency ( const std::string &  dependency)
inherited

Adds a component name to the list of dependencies.

Parameters
[in]dependencyname of component to add to list of dependencies

Definition at line 129 of file Component.C.

Referenced by Component1DConnection::addConnection(), HeatTransferBase::HeatTransferBase(), HeatTransferFromHeatStructure3D1Phase::HeatTransferFromHeatStructure3D1Phase(), HSCoupler2D2DRadiation::HSCoupler2D2DRadiation(), HSCoupler2D3D::HSCoupler2D3D(), and Shaft::Shaft().

130 {
131  _dependencies.push_back(dependency);
132 }
std::vector< std::string > _dependencies
List of names of components that this component depends upon.
Definition: Component.h:491

◆ addHeatedPerimeter()

void HeatTransferBase::addHeatedPerimeter ( )
protectedinherited

Adds heated perimeter variable and objects.

Definition at line 117 of file HeatTransferBase.C.

Referenced by HeatTransferBase::addVariables().

118 {
120  false, _P_hf_name, getTHMProblem().getFlowFEType(), _flow_channel_subdomains);
121 
122  // create heat flux perimeter variable if not transferred from external app
123  if (!_P_hf_transferred)
124  {
125  if (_P_hf_provided)
126  {
127  _P_hf_fn_name = getParam<FunctionName>("P_hf");
128  }
129  // create heat flux perimeter function if not provided; assume circular flow channel
130  else
131  {
132  _P_hf_fn_name = genName(name(), "P_hf_fn");
133 
134  const std::string class_name = "GeneralizedCircumference";
135  InputParameters params = _factory.getValidParams(class_name);
136  params.set<FunctionName>("area_function") = _A_fn_name;
137  getTHMProblem().addFunction(class_name, _P_hf_fn_name, params);
138 
140  }
141 
142  if (!_app.isRestarting())
144  }
145 }
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.
THMProblem & getTHMProblem() const
Gets the THM problem.
Definition: Component.C:135
T & set(const std::string &name, bool quiet_mode=false)
FunctionName _A_fn_name
area function name for the connected flow channel
InputParameters getValidParams(const std::string &name) const
void makeFunctionControllableIfConstant(const FunctionName &fn_name, const std::string &control_name, const std::string &param="value") const
Makes a function controllable if it is constant.
Definition: Component.C:141
bool isRestarting() const
virtual const std::string & name() const
void addFunctionIC(const VariableName &var_name, const std::string &func_name, const std::vector< SubdomainName > &block_names)
Definition: Simulation.C:532
VariableName _P_hf_name
heated perimeter name
void addSimVariable(bool nl, const VariableName &name, libMesh::FEType fe_type, Real scaling_factor=1.0)
Queues a variable of type MooseVariableScalar to be added to the nonlinear or aux system...
Definition: Simulation.C:271
virtual void addFunction(const std::string &type, const std::string &name, InputParameters &parameters)
MooseApp & _app
Factory & _factory
The Factory associated with the MooseApp.
Definition: Component.h:446
FunctionName _P_hf_fn_name
heated perimeter function name
std::vector< SubdomainName > _flow_channel_subdomains
Subdomains corresponding to the connected flow channel.
const bool _P_hf_transferred
flag that heated perimeter is transferred from another application
const bool _P_hf_provided
flag that the heated perimeter was specified via an input parameter

◆ addMooseObjects()

void HeatTransfer1PhaseBase::addMooseObjects ( )
overridevirtual

Reimplemented from HeatTransferBase.

Reimplemented in HeatTransferFromHeatStructure1Phase, HeatTransferFromHeatStructure3D1Phase, HeatTransferFromExternalAppHeatFlux1Phase, HeatTransferFromExternalAppTemperature1Phase, HeatTransferFromSpecifiedTemperature1Phase, HeatTransferFromTemperature1Phase, and HeatTransferFromHeatFlux1Phase.

Definition at line 65 of file HeatTransfer1PhaseBase.C.

Referenced by HeatTransferFromHeatFlux1Phase::addMooseObjects(), HeatTransferFromTemperature1Phase::addMooseObjects(), and HeatTransferFromExternalAppHeatFlux1Phase::addMooseObjects().

66 {
68 
69  for (const auto & closures : _closures_objects)
70  closures->addMooseObjectsHeatTransfer(
71  *this, getComponentByName<FlowChannel1Phase>(_flow_channel_name));
72 }
std::vector< std::shared_ptr< ClosuresBase > > _closures_objects
Used closures object(s)
virtual void addMooseObjects() override
const std::string _flow_channel_name
name of the connected flow channel

◆ addNode()

Node * Component::addNode ( const Point &  pt)
protectedinherited

Definition at line 213 of file Component.C.

Referenced by Component2D::build2DMesh(), Component2D::build2DMesh2ndOrder(), FileMeshComponent::buildMesh(), ElbowPipe1Phase::buildMeshNodes(), Component1D::buildMeshNodes(), and VolumeJunction1Phase::setupMesh().

214 {
215  auto node = mesh().addNode(pt);
216  _node_ids.push_back(node->id());
217  return node;
218 }
std::vector< dof_id_type > _node_ids
Node IDs of this component.
Definition: Component.h:455
THMMesh & mesh()
Non-const reference to THM mesh, which can only be called before the end of mesh setup.
Definition: Component.C:60
Node * addNode(const Point &pt)
Add a new node into the mesh.
Definition: THMMesh.C:95

◆ addNodeElement()

Elem * Component::addNodeElement ( dof_id_type  node)
protectedinherited

Definition at line 221 of file Component.C.

Referenced by VolumeJunction1Phase::setupMesh().

222 {
223  auto elem = mesh().addNodeElement(node);
224  _elem_ids.push_back(elem->id());
225  return elem;
226 }
Elem * addNodeElement(dof_id_type node)
Definition: THMMesh.C:116
std::vector< dof_id_type > _elem_ids
Element IDs of this component.
Definition: Component.h:457
THMMesh & mesh()
Non-const reference to THM mesh, which can only be called before the end of mesh setup.
Definition: Component.C:60

◆ addRelationshipManagers()

virtual void Component::addRelationshipManagers ( Moose::RelationshipManagerType  )
inlinevirtualinherited

Adds relationship managers for the component.

Reimplemented in FileMeshPhysicsComponent.

Definition at line 110 of file Component.h.

110 {}

◆ addRelationshipManagersFromParameters()

void Component::addRelationshipManagersFromParameters ( const InputParameters moose_object_pars)
protectedinherited

Method to add a relationship manager for the objects being added to the system.

Relationship managers have to be added relatively early. In many cases before the Action::act() method is called.

This method was copied from Action.

Parameters
moose_object_parsThe MooseObject to inspect for RelationshipManagers to add

Definition at line 158 of file Component.C.

Referenced by FileMeshPhysicsComponent::addRelationshipManagers().

159 {
160  const auto & buildable_types = moose_object_pars.getBuildableRelationshipManagerTypes();
161 
162  for (const auto & buildable_type : buildable_types)
163  {
164  auto & rm_name = std::get<0>(buildable_type);
165  auto & rm_type = std::get<1>(buildable_type);
166  auto rm_input_parameter_func = std::get<2>(buildable_type);
167 
168  addRelationshipManager(moose_object_pars, rm_name, rm_type, rm_input_parameter_func);
169  }
170 }
const std::vector< std::tuple< std::string, Moose::RelationshipManagerType, Moose::RelationshipManagerInputParameterCallback > > & getBuildableRelationshipManagerTypes() const
void addRelationshipManager(const InputParameters &moose_object_pars, std::string rm_name, Moose::RelationshipManagerType rm_type, Moose::RelationshipManagerInputParameterCallback rm_input_parameter_func, Moose::RMSystemType sys_type=Moose::RMSystemType::NONE)
Method for adding a single relationship manager.
Definition: Component.C:173

◆ addVariables()

void HeatTransferBase::addVariables ( )
overridevirtualinherited

Reimplemented from Component.

Reimplemented in HeatTransferFromHeatStructure1Phase, HeatTransferFromHeatStructure3D1Phase, HeatTransferFromExternalAppHeatFlux1Phase, HeatTransferFromExternalAppTemperature1Phase, HeatTransferFromSpecifiedTemperature1Phase, and HeatTransferFromTemperature1Phase.

Definition at line 89 of file HeatTransferBase.C.

Referenced by HeatTransferFromTemperature1Phase::addVariables(), and HeatTransferFromExternalAppHeatFlux1Phase::addVariables().

90 {
91  // heat flux perimeter variable
92  if (!_P_hf_transferred)
94 }
void addHeatedPerimeter()
Adds heated perimeter variable and objects.
const bool _P_hf_transferred
flag that heated perimeter is transferred from another application

◆ check()

void HeatTransfer1PhaseBase::check ( ) const
overrideprotectedvirtual

Check the component integrity.

Reimplemented from HeatTransferBase.

Reimplemented in HeatTransferFromHeatStructure3D1Phase, HeatTransferFromHeatStructure1Phase, and HeatTransferFromExternalAppTemperature1Phase.

Definition at line 55 of file HeatTransfer1PhaseBase.C.

Referenced by HeatTransferFromExternalAppTemperature1Phase::check(), and HeatTransferFromHeatStructure1Phase::check().

56 {
58 
59  for (const auto & closures : _closures_objects)
60  if (closures && hasComponentByName<FlowChannel1Phase>(_flow_channel_name))
61  closures->checkHeatTransfer(*this, getComponentByName<FlowChannel1Phase>(_flow_channel_name));
62 }
std::vector< std::shared_ptr< ClosuresBase > > _closures_objects
Used closures object(s)
virtual void check() const override
Check the component integrity.
const std::string _flow_channel_name
name of the connected flow channel

◆ checkComponentExistsByName()

void Component::checkComponentExistsByName ( const std::string &  comp_name) const
inherited

Checks that a component exists.

Parameters
[in]comp_namename of the component

Definition at line 151 of file Component.C.

152 {
153  if (!_sim.hasComponent(comp_name))
154  logError("The component '", comp_name, "' does not exist");
155 }
THMProblem & _sim
THM problem this component is part of TODO: make _sim private (applications need to switch to getters...
Definition: Component.h:443
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:215
bool hasComponent(const std::string &name) const
Find out if simulation has a component with the given name.
Definition: Simulation.C:1002

◆ checkComponentOfTypeExists()

template<typename T >
void Component::checkComponentOfTypeExists ( const std::string &  param) const
inherited

Checks that the component of a certain type exists, where the name is given by a parameter.

Template Parameters
Tenforced type of component
Parameters
[in]paramparameter name for component name

Definition at line 585 of file Component.h.

586 {
587  insistParameterExists<std::string>(__FUNCTION__, param);
588 
589  const std::string & comp_name = getParam<std::string>(param);
590  checkComponentOfTypeExistsByName<T>(comp_name);
591 }

◆ checkComponentOfTypeExistsByName()

template<typename T >
void Component::checkComponentOfTypeExistsByName ( const std::string &  comp_name) const
inherited

Checks that the component of a certain type exists.

Template Parameters
Tenforced type of component
Parameters
[in]comp_namecomponent name

Definition at line 595 of file Component.h.

596 {
597  if (!_sim.hasComponentOfType<T>(comp_name))
598  {
599  if (_sim.hasComponent(comp_name))
600  logError("The component '", comp_name, "' is not of type '", demangle(typeid(T).name()), "'");
601  else
602  logError("The component '", comp_name, "' does not exist");
603  }
604 }
THMProblem & _sim
THM problem this component is part of TODO: make _sim private (applications need to switch to getters...
Definition: Component.h:443
virtual const std::string & name() const
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:215
bool hasComponent(const std::string &name) const
Find out if simulation has a component with the given name.
Definition: Simulation.C:1002
std::string demangle(const char *name)
bool hasComponentOfType(const std::string &name) const
Find out if simulation has a component with the given name and specified type.
Definition: Simulation.h:493

◆ checkEqualSize()

template<typename T1 , typename T2 >
void Component::checkEqualSize ( const std::string &  param1,
const std::string &  param2 
) const
protectedinherited

Checks that the size of two vector parameters are equal.

Template Parameters
T1type of element in the first vector parameter
T2type of element in the second vector parameter
Parameters
[in]param1first parameter name
[in]param2second parameter name

Definition at line 651 of file Component.h.

652 {
653  insistParameterExists<std::vector<T1>>(__FUNCTION__, param1);
654  insistParameterExists<std::vector<T2>>(__FUNCTION__, param2);
655 
656  const auto & value1 = getParam<std::vector<T1>>(param1);
657  const auto & value2 = getParam<std::vector<T2>>(param2);
658  if (value1.size() != value2.size())
659  logError("The number of entries in parameter '",
660  param1,
661  "' (",
662  value1.size(),
663  ") must equal the number of entries of parameter '",
664  param2,
665  "' (",
666  value2.size(),
667  ")");
668 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:215

◆ checkMutuallyExclusiveParameters()

void Component::checkMutuallyExclusiveParameters ( const std::vector< std::string > &  params,
bool  need_one_specified = true 
) const
protectedinherited

Checks that exactly one parameter out of a list is provided.

Parameters
[in]paramsvector of parameter names
[in]need_one_specifiedNeed one of the parameters specified?

Definition at line 246 of file Component.C.

Referenced by HeatStructureCylindrical::check(), and HeatStructurePlate::check().

248 {
249  unsigned int n_provided_params = 0;
250  for (const auto & param : params)
251  if (isParamValid(param))
252  n_provided_params++;
253 
254  if (n_provided_params != 1)
255  {
256  std::string params_list_string = "{'" + params[0] + "'";
257  for (unsigned int i = 1; i < params.size(); ++i)
258  params_list_string += ", '" + params[i] + "'";
259  params_list_string += "}";
260 
261  if (n_provided_params == 0 && need_one_specified)
262  logError("One of the parameters ", params_list_string, " must be provided");
263 
264  if (n_provided_params != 0)
265  logError("Only one of the parameters ", params_list_string, " can be provided");
266  }
267 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:215
bool isParamValid(const std::string &name) const

◆ checkParameterValueLessThan()

template<typename T >
void Component::checkParameterValueLessThan ( const std::string &  param,
const T &  value_max 
) const
protectedinherited

Checks that a parameter value is less than a value.

Template Parameters
Ttype of parameter
Parameters
[in]paramparameter name
[in]value_maxvalue which parameter value must be less than

Definition at line 608 of file Component.h.

609 {
610  insistParameterExists<T>(__FUNCTION__, param);
611 
612  const auto & value = getParam<T>(param);
613  if (value >= value_max)
614  logError("The value of parameter '", param, "' (", value, ") must be less than ", value_max);
615 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:215
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)

◆ checkSetupStatus()

void Component::checkSetupStatus ( const EComponentSetupStatus status) const
inherited

Throws an error if the supplied setup status of this component has not been reached.

This is useful for getter functions that rely on data initialized after the constructor; if an error is not thrown, then uninitialized data could be returned from these functions.

Parameters
[in]statusSetup status that this component must have reached

Definition at line 117 of file Component.C.

Referenced by FlowChannelBase::getAreaFunctionName(), Component2D::getBoundaryArea(), FileMeshComponent::getBoundaryInfo(), Component2D::getBoundaryInfo(), Component1DConnection::getBoundaryNames(), Component1D::getConnections(), Component::getCoordSysTypes(), Component::getElementIDs(), Component2D::getExternalBoundaryName(), Component2D::getExternalBoundaryType(), FlowChannelBase::getFlowModel(), FlowBoundary::getFluidPropertiesName(), FlowJunction::getFluidPropertiesName(), HeatTransferBase::getFluidPropertiesName(), HeatTransferBase::getHeatedPerimeterName(), FlowChannelBase::getHeatTransferNames(), FlowChannelBase::getHeatTransferNamesSuffix(), Component1DConnection::getNodeIDs(), Component::getNodeIDs(), Component1D::getNodesetID(), Component1D::getNodesetName(), Component::getSubdomainNames(), getWallHeatTransferCoefficient1PhaseName(), HeatTransferBase::getWallTemperatureMatName(), HeatTransferBase::getWallTemperatureName(), FileMeshComponent::hasBoundary(), Component2D::hasBoundary(), Component2D::hasExternalBoundary(), and HeatStructureFromFile3D::hasRegion().

118 {
120  mooseError(name(),
121  ": The component setup status (",
123  ") is less than the required status (",
124  stringify(status),
125  ")");
126 }
std::string stringify(EComponentSetupStatus status) const
Return a string for the setup status.
Definition: Component.C:271
virtual const std::string & name() const
MPI_Status status
EComponentSetupStatus _component_setup_status
Component setup status.
Definition: Component.h:488
void mooseError(Args &&... args) const

◆ checkSizeEqualsParameterValue()

template<typename T1 , typename T2 >
void Component::checkSizeEqualsParameterValue ( const std::string &  param1,
const std::string &  param2 
) const
protectedinherited

Checks that the size of a vector parameter equals the value of another parameter.

Template Parameters
T1type of element in the vector parameter
T2type of the parameter whose value is compared to size
Parameters
[in]param1vector parameter name
[in]param2name of parameter whose value is compared to size

Definition at line 709 of file Component.h.

711 {
712  insistParameterExists<std::vector<T1>>(__FUNCTION__, param1);
713  insistParameterExists<T2>(__FUNCTION__, param2);
714 
715  const auto & value1 = getParam<std::vector<T1>>(param1);
716  const auto & value2 = getParam<T2>(param2);
717  if (value1.size() != value2)
718  logError("The number of entries in parameter '",
719  param1,
720  "' (",
721  value1.size(),
722  ") must be equal to the value of parameter '",
723  param2,
724  "' (",
725  value2,
726  ")");
727 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:215

◆ checkSizeEqualsValue() [1/2]

template<typename T >
void Component::checkSizeEqualsValue ( const std::string &  param,
const unsigned int n_entries 
) const
protectedinherited

Checks that the size of a vector parameter equals a value.

This version does not supply a description to the value.

Template Parameters
Ttype of element in the vector parameter
Parameters
[in]paramparameter name
[in]n_entriesvalue which parameter size must be equal to

Definition at line 672 of file Component.h.

673 {
674  insistParameterExists<std::vector<T>>(__FUNCTION__, param);
675 
676  const auto & param_value = getParam<std::vector<T>>(param);
677  if (param_value.size() != n_entries)
678  logError("The number of entries in parameter '",
679  param,
680  "' (",
681  param_value.size(),
682  ") must be equal to ",
683  n_entries);
684 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:215

◆ checkSizeEqualsValue() [2/2]

template<typename T >
void Component::checkSizeEqualsValue ( const std::string &  param,
const unsigned int n_entries,
const std::string &  description 
) const
protectedinherited

Checks that the size of a vector parameter equals a value.

This version supplies a description to the value.

Template Parameters
Ttype of element in the vector parameter
Parameters
[in]paramparameter name
[in]n_entriesvalue which parameter size must be equal to
[in]descriptiondescription of the value that size must be equal to

Definition at line 688 of file Component.h.

691 {
692  insistParameterExists<std::vector<T>>(__FUNCTION__, param);
693 
694  const auto & param_value = getParam<std::vector<T>>(param);
695  if (param_value.size() != n_entries)
696  logError("The number of entries in parameter '",
697  param,
698  "' (",
699  param_value.size(),
700  ") must be equal to ",
701  description,
702  " (",
703  n_entries,
704  ")");
705 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:215

◆ checkSizeGreaterThan()

template<typename T >
void Component::checkSizeGreaterThan ( const std::string &  param,
const unsigned int n_entries 
) const
protectedinherited

Checks that the size of a vector parameter is greater than a value.

Template Parameters
Ttype of element in the vector parameter
Parameters
[in]paramparameter name
[in]n_entriesvalue which parameter size must be greater than

Definition at line 635 of file Component.h.

636 {
637  insistParameterExists<std::vector<T>>(__FUNCTION__, param);
638 
639  const auto & value = getParam<std::vector<T>>(param);
640  if (value.size() <= n_entries)
641  logError("The number of entries in the parameter '",
642  param,
643  "' (",
644  value.size(),
645  ") must be greater than ",
646  n_entries);
647 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:215
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)

◆ checkSizeLessThan()

template<typename T >
void Component::checkSizeLessThan ( const std::string &  param,
const unsigned int n_entries 
) const
protectedinherited

Checks that the size of a vector parameter is less than a value.

Template Parameters
Ttype of element in the vector parameter
Parameters
[in]paramparameter name
[in]n_entriesvalue which parameter size must be less than

Definition at line 619 of file Component.h.

620 {
621  insistParameterExists<std::vector<T>>(__FUNCTION__, param);
622 
623  const auto & value = getParam<std::vector<T>>(param);
624  if (value.size() >= n_entries)
625  logError("The number of entries in the parameter '",
626  param,
627  "' (",
628  value.size(),
629  ") must be less than ",
630  n_entries);
631 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:215
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)

◆ cname()

const std::string & Component::cname ( ) const
inherited

Get the component name.

Returns
The name of the component. For composite component, return its parent name

Definition at line 51 of file Component.C.

Referenced by ShaftConnectedCompressor1Phase::buildVolumeJunctionUserObject(), ShaftConnectedTurbine1Phase::buildVolumeJunctionUserObject(), ShaftConnectedPump1Phase::buildVolumeJunctionUserObject(), Closures1PhaseSimple::checkFlowChannel(), Closures1PhaseSimple::checkHeatTransfer(), Component::cname(), Component::logError(), and Component::logWarning().

52 {
53  if (_parent)
54  return _parent->cname();
55  else
56  return name();
57 }
const std::string & cname() const
Get the component name.
Definition: Component.C:51
Component * _parent
Pointer to a parent component (used in composed components)
Definition: Component.h:438
virtual const std::string & name() const

◆ connectObject() [1/2]

void Component::connectObject ( const InputParameters params,
const std::string &  mooseName,
const std::string &  name 
) const
inherited

◆ connectObject() [2/2]

void Component::connectObject ( const InputParameters params,
const std::string &  mooseName,
const std::string &  name,
const std::string &  par_name 
) const
inherited

Connect with control logic.

Definition at line 106 of file Component.C.

110 {
111  MooseObjectParameterName alias("component", this->name(), name, "::");
112  MooseObjectParameterName par_value(params.get<std::string>("_moose_base"), mooseName, par_name);
114 }
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
InputParameterWarehouse & getInputParameterWarehouse()
virtual const std::string & name() const
void addControllableParameterAlias(const MooseObjectParameterName &alias, const MooseObjectParameterName &secondary)
MooseApp & _app

◆ constMesh()

const THMMesh& Component::constMesh ( ) const
inlineinherited

Const reference to mesh, which can be called at any point.

Note that overloading mesh() was not possible due to the need to call this const version, even when the component is not const.

Definition at line 62 of file Component.h.

Referenced by FileMeshPhysicsComponent::getMesh(), and Component1DJunction::initSecondary().

62 { return _mesh; }
THMMesh & _mesh
The THM mesh TODO: make _mesh private (applications need to switch to getters to avoid breaking) ...
Definition: Component.h:452

◆ executeCheck()

void Component::executeCheck ( ) const
inherited

Wrapper function for check() that marks the function as being called.

Definition at line 84 of file Component.C.

85 {
86  check();
88 }
virtual void check() const
Check the component integrity.
Definition: Component.h:301
EComponentSetupStatus _component_setup_status
Component setup status.
Definition: Component.h:488
mesh set up, called both inits, checked
Definition: Component.h:42

◆ executeInit()

void Component::executeInit ( )
inherited

Wrapper function for init() that marks the function as being called.

Definition at line 70 of file Component.C.

71 {
72  init();
74 }
mesh set up, called primary init
Definition: Component.h:40
virtual void init()
Initializes the component.
Definition: Component.h:290
EComponentSetupStatus _component_setup_status
Component setup status.
Definition: Component.h:488

◆ executeInitSecondary()

void Component::executeInitSecondary ( )
inherited

Wrapper function for initSecondary() that marks the function as being called.

Definition at line 77 of file Component.C.

78 {
79  initSecondary();
81 }
mesh set up, called both inits
Definition: Component.h:41
virtual void initSecondary()
Perform secondary initialization, which relies on init() being called for all components.
Definition: Component.h:296
EComponentSetupStatus _component_setup_status
Component setup status.
Definition: Component.h:488

◆ executeSetupMesh()

void Component::executeSetupMesh ( )
inherited

Wrapper function for setupMesh() that marks the function as being called.

Definition at line 91 of file Component.C.

92 {
93  setupMesh();
95 }
virtual void setupMesh()
Performs mesh setup such as creating mesh or naming mesh sets.
Definition: Component.h:306
EComponentSetupStatus _component_setup_status
Component setup status.
Definition: Component.h:488

◆ genName() [1/4]

std::string NamingInterface::genName ( const std::string &  prefix,
unsigned int  id,
const std::string &  suffix = "" 
) const
inlineinherited

Build a name from a prefix, number and possible suffix.

Definition at line 29 of file NamingInterface.h.

Referenced by Closures1PhaseBase::addAverageWallTemperatureMaterial(), FlowModel::addCommonInitialConditions(), FlowModel::addCommonMooseObjects(), FlowChannelBase::addCommonObjects(), Simulation::addComponentScalarIC(), HeatStructureBase::addConstantDensitySolidPropertiesMaterial(), Simulation::addConstantIC(), Simulation::addConstantScalarIC(), Simulation::addFunctionIC(), HeatTransferBase::addHeatedPerimeter(), HeatConductionModel::addHeatEquationRZ(), HeatConductionModel::addHeatEquationXYZ(), HeatTransferFromTemperature1Phase::addHeatTransferKernels(), FlowChannel1Phase::addHydraulicDiameterMaterial(), FlowModelSinglePhase::addInitialConditions(), HeatConductionModel::addMaterials(), FormLossFromFunction1Phase::addMooseObjects(), HeatSourceFromPowerDensity::addMooseObjects(), HeatSourceFromTotalPower::addMooseObjects(), HeatStructure2DCoupler::addMooseObjects(), HeatStructure2DRadiationCouplerRZ::addMooseObjects(), HSBoundarySpecifiedTemperature::addMooseObjects(), HeatTransferFromHeatFlux1Phase::addMooseObjects(), HSBoundaryAmbientConvection::addMooseObjects(), HSBoundaryHeatFlux::addMooseObjects(), HSBoundaryRadiation::addMooseObjects(), InletVelocityTemperature1Phase::addMooseObjects(), GateValve1Phase::addMooseObjects(), HeatSourceVolumetric1Phase::addMooseObjects(), HeatTransferFromSpecifiedTemperature1Phase::addMooseObjects(), HSBoundaryExternalAppTemperature::addMooseObjects(), Shaft::addMooseObjects(), FormLossFromExternalApp1Phase::addMooseObjects(), TotalPower::addMooseObjects(), VolumeJunction1Phase::addMooseObjects(), FormLoss1PhaseBase::addMooseObjects(), ShaftConnectedCompressor1Phase::addMooseObjects(), ShaftConnectedPump1Phase::addMooseObjects(), ShaftConnectedTurbine1Phase::addMooseObjects(), HeatTransferFromExternalAppHeatFlux1Phase::addMooseObjects(), HSBoundaryExternalAppConvection::addMooseObjects(), HSCoupler2D3D::addMooseObjects(), HeatTransferBase::addMooseObjects(), FlowModelSinglePhase::addMooseObjects(), SimpleTurbine1Phase::addMooseObjects(), HeatTransferFromHeatStructure3D1Phase::addMooseObjects(), HSCoupler2D2DRadiation::addMooseObjects(), HeatTransferFromHeatStructure1Phase::addMooseObjects(), HSBoundaryExternalAppHeatFlux::addMooseObjects(), JunctionOneToOne1Phase::addMooseObjects(), FlowChannelBase::addMooseObjects(), FunctorClosures::addMooseObjectsFlowChannel(), Closures1PhaseSimple::addMooseObjectsHeatTransfer(), FlowModelSinglePhase::addRDGAdvectionDGKernels(), FlowModelSinglePhase::addRDGMooseObjects(), Closures1PhaseTHM::addTemperatureWallFromHeatFluxMaterial(), FlowChannelBase::addVariables(), Closures1PhaseTHM::addWallFFMaterial(), Closures1PhaseBase::addWallFrictionFunctionMaterial(), Closures1PhaseTHM::addWallHTCMaterial(), ClosuresBase::addWallTemperatureFromAuxMaterial(), Closures1PhaseSimple::addWallTemperatureFromHeatFluxMaterial(), FlowBoundary1Phase::addWeakBC3Eqn(), ClosuresBase::addWeightedAverageMaterial(), ClosuresBase::addZeroMaterial(), Component2D::buildMesh(), FileMeshComponent::buildMesh(), Component1D::buildMesh(), HeatSourceBase::HeatSourceBase(), VolumeJunction1Phase::junctionVariableName(), and Simulation::setupInitialConditionsFromFile().

30  {
31  std::stringstream ss;
32  ss << prefix << ":" << id;
33  if (!suffix.empty())
34  ss << ":" << suffix;
35  return ss.str();
36  }

◆ genName() [2/4]

std::string NamingInterface::genName ( const std::string &  prefix,
unsigned int  i,
unsigned int  j,
const std::string &  suffix = "" 
) const
inlineinherited

Build a name from a prefix, 2 numbers and possible suffix.

Definition at line 41 of file NamingInterface.h.

45  {
46  std::stringstream ss;
47  ss << prefix << ":" << i << ":" << j;
48  if (!suffix.empty())
49  ss << ":" << suffix;
50  return ss.str();
51  }
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")

◆ genName() [3/4]

std::string NamingInterface::genName ( const std::string &  prefix,
const std::string &  name,
unsigned int  i 
) const
inlineinherited

Build a name from 2 strings and a number.

Definition at line 56 of file NamingInterface.h.

57  {
58  std::stringstream ss;
59  ss << prefix << ":" << name << ":" << i;
60  return ss.str();
61  }
const std::string name
Definition: Setup.h:20

◆ genName() [4/4]

std::string NamingInterface::genName ( const std::string &  prefix,
const std::string &  middle,
const std::string &  suffix = "" 
) const
inlineinherited

Build a name from strings.

Definition at line 66 of file NamingInterface.h.

69  {
70  std::stringstream ss;
71  ss << prefix << ":" << middle;
72  if (!suffix.empty())
73  ss << ":" << suffix;
74  return ss.str();
75  }

◆ genSafeName()

std::string NamingInterface::genSafeName ( const std::string &  prefix,
const std::string &  middle,
const std::string &  suffix = "" 
) const
inlineinherited

Build a name from strings that is safe to use in input files (i.e.

can be exposed to users)

Definition at line 80 of file NamingInterface.h.

Referenced by HSBoundaryAmbientConvection::addMooseObjects(), HSBoundaryRadiation::addMooseObjects(), HSBoundaryHeatFlux::addMooseObjects(), HSBoundaryExternalAppConvection::addMooseObjects(), and HSBoundaryExternalAppHeatFlux::addMooseObjects().

83  {
84  std::stringstream ss;
85  ss << prefix << "_" << middle;
86  if (!suffix.empty())
87  ss << "_" << suffix;
88  return ss.str();
89  }

◆ getComponent()

template<typename T >
const T & Component::getComponent ( const std::string &  name) const
inherited

Return a reference to a component via a parameter name.

Template Parameters
Tthe type of the component we are requesting
Parameters
nameThe parameter name that has the component name

Definition at line 506 of file Component.h.

507 {
508  const std::string & comp_name = getParam<std::string>(pname);
509  return getComponentByName<T>(comp_name);
510 }

◆ getComponentByName()

template<typename T >
const T & Component::getComponentByName ( const std::string &  cname) const
inherited

Return a reference to a component given its name.

Template Parameters
Tthe type of the component we are requesting
Parameters
cnameThe name of the component

Definition at line 514 of file Component.h.

515 {
516  return _sim.getComponentByName<T>(comp_name);
517 }
THMProblem & _sim
THM problem this component is part of TODO: make _sim private (applications need to switch to getters...
Definition: Component.h:443
const T & getComponentByName(const std::string &name) const
Get component by its name.
Definition: Simulation.h:504

◆ getCoordSysTypes()

const std::vector< Moose::CoordinateSystemType > & Component::getCoordSysTypes ( ) const
virtualinherited

Gets the coordinate system types for this component.

Returns
vector of coordinate system types for this component

Definition at line 315 of file Component.C.

316 {
318 
319  return _coord_sys;
320 }
std::vector< Moose::CoordinateSystemType > _coord_sys
List of coordinate system for each subdomain.
Definition: Component.h:464
void checkSetupStatus(const EComponentSetupStatus &status) const
Throws an error if the supplied setup status of this component has not been reached.
Definition: Component.C:117

◆ getDependencies()

const std::vector<std::string>& Component::getDependencies ( ) const
inlineinherited

Returns a list of names of components that this component depends upon.

Definition at line 85 of file Component.h.

85 { return _dependencies; }
std::vector< std::string > _dependencies
List of names of components that this component depends upon.
Definition: Component.h:491

◆ getElementIDs()

const std::vector< dof_id_type > & Component::getElementIDs ( ) const
inherited

Gets the element IDs corresponding to this component.

Definition at line 299 of file Component.C.

Referenced by HeatTransferFromHeatStructure3D1Phase::setupMesh().

300 {
302 
303  return _elem_ids;
304 }
std::vector< dof_id_type > _elem_ids
Element IDs of this component.
Definition: Component.h:457
void checkSetupStatus(const EComponentSetupStatus &status) const
Throws an error if the supplied setup status of this component has not been reached.
Definition: Component.C:117

◆ getEnumParam()

template<typename T >
T Component::getEnumParam ( const std::string &  param) const
inherited

Gets an enum parameter.

This function takes the name of a MooseEnum parameter that is tied to an enum defined in THM. If the value is invalid, an error will be logged, and a negative integer will be cast into the enum type.

Template Parameters
Tenum type
Parameters
[in]paramname of the MooseEnum parameter

Definition at line 539 of file Component.h.

540 {
541  const MooseEnum & moose_enum = getParam<MooseEnum>(param);
542  const T value = THM::stringToEnum<T>(moose_enum);
543  if (static_cast<int>(value) < 0) // cast necessary for scoped enums
544  {
545  // Get the keys from the MooseEnum. Unfortunately, this returns a list of
546  // *all* keys, including the invalid key that was supplied. Thus, that key
547  // needs to be manually excluded below.
548  const std::vector<std::string> & keys = moose_enum.getNames();
549 
550  // Create the string of keys to go in the error message. The last element of
551  // keys is skipped because the invalid key should always be last.
552  std::string keys_string = "{";
553  for (unsigned int i = 0; i < keys.size() - 1; ++i)
554  {
555  if (i != 0)
556  keys_string += ",";
557  keys_string += "'" + keys[i] + "'";
558  }
559  keys_string += "}";
560 
561  logError("The parameter '" + param + "' was given an invalid value ('" +
562  std::string(moose_enum) + "'). Valid values (case-insensitive) are " + keys_string);
563  }
564 
565  return value;
566 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:215
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
std::vector< std::string > getNames() const

◆ getFlowChannelName()

const std::string& HeatTransferBase::getFlowChannelName ( ) const
inlineinherited

Get the name of the connected flow channel.

Definition at line 76 of file HeatTransferBase.h.

76 { return _flow_channel_name; }
const std::string _flow_channel_name
name of the connected flow channel

◆ getFlowChannelSubdomains()

const std::vector<SubdomainName>& HeatTransferBase::getFlowChannelSubdomains ( ) const
inlineinherited

Get the list of the subdomain names associated with the flow channel.

Returns
List of subdomain names associated with the flow channel

Definition at line 66 of file HeatTransferBase.h.

67  {
69  }
std::vector< SubdomainName > _flow_channel_subdomains
Subdomains corresponding to the connected flow channel.

◆ getFluidPropertiesName()

const UserObjectName & HeatTransferBase::getFluidPropertiesName ( ) const
inherited

Definition at line 178 of file HeatTransferBase.C.

179 {
181 
182  return _fp_name;
183 }
mesh set up, called primary init
Definition: Component.h:40
UserObjectName _fp_name
fluid properties object name
void checkSetupStatus(const EComponentSetupStatus &status) const
Throws an error if the supplied setup status of this component has not been reached.
Definition: Component.C:117

◆ getHeatedPerimeterName()

const VariableName & HeatTransferBase::getHeatedPerimeterName ( ) const
inherited

Returns heated perimeter name.

Returns
The name of heated perimeter variable

Definition at line 148 of file HeatTransferBase.C.

Referenced by FlowChannelBase::getHeatTransferVariableNames().

149 {
151 
152  return _P_hf_name;
153 }
VariableName _P_hf_name
heated perimeter name
mesh set up, called both inits
Definition: Component.h:41
void checkSetupStatus(const EComponentSetupStatus &status) const
Throws an error if the supplied setup status of this component has not been reached.
Definition: Component.C:117

◆ getNodeIDs()

const std::vector< dof_id_type > & Component::getNodeIDs ( ) const
inherited

Gets the node IDs corresponding to this component.

Definition at line 291 of file Component.C.

292 {
294 
295  return _node_ids;
296 }
std::vector< dof_id_type > _node_ids
Node IDs of this component.
Definition: Component.h:455
void checkSetupStatus(const EComponentSetupStatus &status) const
Throws an error if the supplied setup status of this component has not been reached.
Definition: Component.C:117

◆ getSubdomainNames()

const std::vector< SubdomainName > & Component::getSubdomainNames ( ) const
virtualinherited

Gets the subdomain names for this component.

Returns
vector of subdomain names for this component

Definition at line 307 of file Component.C.

Referenced by Closures1PhaseBase::addAverageWallTemperatureMaterial(), FlowModel::addCommonInitialConditions(), FlowModel::addCommonMooseObjects(), FlowChannelBase::addCommonObjects(), FlowModel::addCommonVariables(), HeatStructureBase::addConstantDensitySolidPropertiesMaterial(), HeatConductionModel::addHeatEquationRZ(), HeatConductionModel::addHeatEquationXYZ(), FlowChannel1Phase::addHydraulicDiameterMaterial(), FlowModelSinglePhase::addInitialConditions(), HeatConductionModel::addInitialConditions(), VolumeJunction1Phase::addJunctionIC(), VolumeJunction1Phase::addJunctionVariable(), HeatConductionModel::addMaterials(), VolumeJunction1Phase::addMooseObjects(), HeatSourceVolumetric1Phase::addMooseObjects(), ShaftConnectedCompressor1Phase::addMooseObjects(), ShaftConnectedPump1Phase::addMooseObjects(), ShaftConnectedTurbine1Phase::addMooseObjects(), SimpleTurbine1Phase::addMooseObjects(), FlowModelSinglePhase::addMooseObjects(), HeatTransferFromHeatStructure1Phase::addMooseObjects(), FlowChannelBase::addMooseObjects(), FunctorClosures::addMooseObjectsFlowChannel(), Closures1PhaseSimple::addMooseObjectsHeatTransfer(), FlowModelSinglePhase::addRDGAdvectionDGKernels(), FlowModelSinglePhase::addRDGMooseObjects(), Closures1PhaseTHM::addTemperatureWallFromHeatFluxMaterial(), HSBoundaryExternalAppTemperature::addVariables(), HSBoundaryExternalAppConvection::addVariables(), FlowModelSinglePhase::addVariables(), HSBoundaryExternalAppHeatFlux::addVariables(), HeatConductionModel::addVariables(), FlowChannelBase::addVariables(), Closures1PhaseTHM::addWallFFMaterial(), Closures1PhaseBase::addWallFrictionFunctionMaterial(), Closures1PhaseTHM::addWallHTCMaterial(), ClosuresBase::addWallTemperatureFromAuxMaterial(), Closures1PhaseSimple::addWallTemperatureFromHeatFluxMaterial(), ClosuresBase::addWeightedAverageMaterial(), ClosuresBase::addZeroMaterial(), FileMeshPhysicsComponent::getBlocks(), FormLoss1PhaseBase::init(), FileMeshPhysicsComponent::init(), HeatTransferFromHeatStructure3D1Phase::init(), HeatTransferBase::init(), and Component1DConnection::init().

308 {
310 
311  return _subdomain_names;
312 }
std::vector< SubdomainName > _subdomain_names
List of subdomain names this components owns.
Definition: Component.h:462
void checkSetupStatus(const EComponentSetupStatus &status) const
Throws an error if the supplied setup status of this component has not been reached.
Definition: Component.C:117

◆ getTHMProblem()

THMProblem & Component::getTHMProblem ( ) const
inherited

Gets the THM problem.

Definition at line 135 of file Component.C.

Referenced by FlowChannelBase::addCommonObjects(), HeatStructureBase::addConstantDensitySolidPropertiesMaterial(), HeatTransferBase::addHeatedPerimeter(), HeatTransferFromTemperature1Phase::addHeatTransferKernels(), FlowChannel1Phase::addHydraulicDiameterMaterial(), VolumeJunction1Phase::addJunctionIC(), VolumeJunction1Phase::addJunctionVariable(), FormLossFromFunction1Phase::addMooseObjects(), HeatStructure2DRadiationCouplerRZ::addMooseObjects(), HSBoundaryRadiation::addMooseObjects(), HeatStructure2DCoupler::addMooseObjects(), InletFunction1Phase::addMooseObjects(), HSBoundaryAmbientConvection::addMooseObjects(), HeatSourceFromTotalPower::addMooseObjects(), HeatSourceFromPowerDensity::addMooseObjects(), SolidWall1Phase::addMooseObjects(), HeatTransferFromHeatFlux1Phase::addMooseObjects(), Outlet1Phase::addMooseObjects(), HSBoundarySpecifiedTemperature::addMooseObjects(), InletVelocityTemperature1Phase::addMooseObjects(), HSBoundaryHeatFlux::addMooseObjects(), InletStagnationPressureTemperature1Phase::addMooseObjects(), InletMassFlowRateTemperature1Phase::addMooseObjects(), InletDensityVelocity1Phase::addMooseObjects(), Shaft::addMooseObjects(), TotalPower::addMooseObjects(), HeatTransferFromSpecifiedTemperature1Phase::addMooseObjects(), VolumeJunction1Phase::addMooseObjects(), FreeBoundary1Phase::addMooseObjects(), GateValve1Phase::addMooseObjects(), HSBoundaryExternalAppTemperature::addMooseObjects(), HeatSourceVolumetric1Phase::addMooseObjects(), FormLossFromExternalApp1Phase::addMooseObjects(), HeatTransferFromExternalAppHeatFlux1Phase::addMooseObjects(), FormLoss1PhaseBase::addMooseObjects(), ShaftConnectedCompressor1Phase::addMooseObjects(), ShaftConnectedMotor::addMooseObjects(), ShaftConnectedPump1Phase::addMooseObjects(), ShaftConnectedTurbine1Phase::addMooseObjects(), HSBoundaryExternalAppConvection::addMooseObjects(), HeatTransferBase::addMooseObjects(), HeatTransferFromHeatStructure3D1Phase::addMooseObjects(), SimpleTurbine1Phase::addMooseObjects(), HSCoupler2D2DRadiation::addMooseObjects(), HSCoupler2D3D::addMooseObjects(), HeatStructureBase::addMooseObjects(), HeatTransferFromHeatStructure1Phase::addMooseObjects(), HSBoundaryExternalAppHeatFlux::addMooseObjects(), JunctionOneToOne1Phase::addMooseObjects(), FlowChannelBase::addMooseObjects(), VolumeJunction1Phase::addVariables(), HSBoundaryExternalAppTemperature::addVariables(), HeatTransferFromSpecifiedTemperature1Phase::addVariables(), Shaft::addVariables(), HeatTransferFromTemperature1Phase::addVariables(), FormLossFromExternalApp1Phase::addVariables(), TotalPowerBase::addVariables(), HeatTransferFromExternalAppTemperature1Phase::addVariables(), TotalPower::addVariables(), HeatTransferFromExternalAppHeatFlux1Phase::addVariables(), HSBoundaryExternalAppConvection::addVariables(), HeatTransferFromHeatStructure3D1Phase::addVariables(), HeatTransferFromHeatStructure1Phase::addVariables(), HSBoundaryExternalAppHeatFlux::addVariables(), FlowChannelBase::addVariables(), FlowBoundary1Phase::addWeakBC3Eqn(), FlowChannel1Phase::buildFlowModel(), HeatStructureInterface::buildModel(), Pump1Phase::buildVolumeJunctionUserObject(), JunctionParallelChannels1Phase::buildVolumeJunctionUserObject(), SimpleTurbine1Phase::buildVolumeJunctionUserObject(), ShaftConnectedPump1Phase::buildVolumeJunctionUserObject(), ShaftConnectedCompressor1Phase::buildVolumeJunctionUserObject(), ShaftConnectedTurbine1Phase::buildVolumeJunctionUserObject(), VolumeJunction1Phase::buildVolumeJunctionUserObject(), Shaft::check(), VolumeJunction1Phase::check(), FlowChannel1Phase::check(), HeatStructureInterface::check(), GeometricalComponent::getVariableFn(), FlowJunction1Phase::init(), FlowBoundary1Phase::init(), FlowBoundary::init(), FlowJunction::init(), FlowChannel1Phase::init(), Component1DConnection::init(), FlowChannelBase::init(), Component::problemIsTransient(), HeatStructure2DCouplerBase::setupMesh(), GateValve1Phase::setupMesh(), HSCoupler2D2DRadiation::setupMesh(), HSCoupler2D3D::setupMesh(), HeatTransferFromHeatStructure1Phase::setupMesh(), JunctionOneToOne1Phase::setupMesh(), VolumeJunction1Phase::setupMesh(), and HeatTransferFromHeatStructure3D1Phase::setupMesh().

136 {
137  return _sim;
138 }
THMProblem & _sim
THM problem this component is part of TODO: make _sim private (applications need to switch to getters...
Definition: Component.h:443

◆ getWallHeatFluxName()

const MaterialPropertyName & HeatTransferBase::getWallHeatFluxName ( ) const
inherited

Returns wall heat flux name.

Returns
The name of wall heat flux material property

Definition at line 172 of file HeatTransferBase.C.

Referenced by FlowChannelBase::getHeatTransferVariableNames().

173 {
174  return _q_wall_name;
175 }
MaterialPropertyName _q_wall_name
wall heat flux name

◆ getWallHeatTransferCoefficient1PhaseName()

const MaterialPropertyName & HeatTransfer1PhaseBase::getWallHeatTransferCoefficient1PhaseName ( ) const

Returns 1-phase wall heat transfer coefficient name.

Returns
The name of the 1-phase wall heat transfer coefficient variable

Definition at line 75 of file HeatTransfer1PhaseBase.C.

Referenced by Closures1PhaseSimple::addMooseObjectsHeatTransfer(), and FlowChannel1Phase::getHeatTransferVariableNames().

76 {
78 
79  return _Hw_1phase_name;
80 }
MaterialPropertyName _Hw_1phase_name
1-phase wall heat transfer coefficient name
mesh set up, called both inits
Definition: Component.h:41
void checkSetupStatus(const EComponentSetupStatus &status) const
Throws an error if the supplied setup status of this component has not been reached.
Definition: Component.C:117

◆ getWallTemperatureMatName()

const MaterialPropertyName & HeatTransferBase::getWallTemperatureMatName ( ) const
inherited

Returns wall temperature name.

Returns
The name of wall temperature material

Definition at line 164 of file HeatTransferBase.C.

Referenced by FlowChannelBase::getHeatTransferVariableNames().

165 {
167 
168  return _T_wall_mat_name;
169 }
mesh set up, called both inits
Definition: Component.h:41
void checkSetupStatus(const EComponentSetupStatus &status) const
Throws an error if the supplied setup status of this component has not been reached.
Definition: Component.C:117
MaterialPropertyName _T_wall_mat_name
wall temperature material name

◆ getWallTemperatureName()

const VariableName & HeatTransferBase::getWallTemperatureName ( ) const
inherited

Returns wall temperature name.

Returns
The name of wall temperature variable

Definition at line 156 of file HeatTransferBase.C.

Referenced by FlowChannelBase::getHeatTransferVariableNames().

157 {
159 
160  return _T_wall_name;
161 }
VariableName _T_wall_name
wall temperature name
mesh set up, called both inits
Definition: Component.h:41
void checkSetupStatus(const EComponentSetupStatus &status) const
Throws an error if the supplied setup status of this component has not been reached.
Definition: Component.C:117

◆ hasComponent()

template<typename T >
bool Component::hasComponent ( const std::string &  name) const
inherited

Check the existence and type of a component via a parameter name.

Template Parameters
Tthe type of the component we are requesting
Parameters
nameThe parameter name that has the component name
Returns
true if the component with given name and type exists, otherwise false

Definition at line 521 of file Component.h.

522 {
523  const std::string & comp_name = getParam<std::string>(pname);
524  return hasComponentByName<T>(comp_name);
525 }

◆ hasComponentByName()

template<typename T >
bool Component::hasComponentByName ( const std::string &  cname) const
inherited

Check the existence and type of a component given its name.

Template Parameters
Tthe type of the component we are requesting
Parameters
cnameThe name of the component
Returns
true if the component with given name and type exists, otherwise false

Definition at line 529 of file Component.h.

530 {
531  if (_sim.hasComponentOfType<T>(comp_name))
532  return true;
533  else
534  return false;
535 }
THMProblem & _sim
THM problem this component is part of TODO: make _sim private (applications need to switch to getters...
Definition: Component.h:443
bool hasComponentOfType(const std::string &name) const
Find out if simulation has a component with the given name and specified type.
Definition: Simulation.h:493

◆ hasParam()

template<typename T >
bool Component::hasParam ( const std::string &  name) const
inherited

Test if a parameter exists in the object's input parameters.

Parameters
nameThe name of the parameter
Returns
true if the parameter exists, false otherwise

Definition at line 499 of file Component.h.

500 {
501  return parameters().have_parameter<T>(name);
502 }
virtual const std::string & name() const
bool have_parameter(std::string_view name) const
const InputParameters & parameters() const

◆ init()

void HeatTransfer1PhaseBase::init ( )
overrideprotectedvirtual

Initializes the component.

The reason this function exists (as opposed to just having everything in the constructor) is because some initialization depends on all components existing, since many components couple to other components. Therefore, when deciding whether code should go into the constructor or this function, one should use the following reasoning: if an operation does not require the existence of other components, then put that operation in the constructor; otherwise, put it in this function.

Reimplemented from HeatTransferBase.

Reimplemented in HeatTransferFromHeatStructure3D1Phase.

Definition at line 31 of file HeatTransfer1PhaseBase.C.

32 {
34 }
virtual void init() override
Initializes the component.

◆ initSecondary()

void HeatTransfer1PhaseBase::initSecondary ( )
overrideprotectedvirtual

Perform secondary initialization, which relies on init() being called for all components.

Reimplemented from HeatTransferBase.

Reimplemented in HeatTransferFromHeatStructure3D1Phase, and HeatTransferFromExternalAppTemperature1Phase.

Definition at line 37 of file HeatTransfer1PhaseBase.C.

Referenced by HeatTransferFromExternalAppTemperature1Phase::initSecondary().

38 {
40 
41  // determine names of heat transfer variables
42  if (hasComponentByName<FlowChannel1Phase>(_flow_channel_name))
43  {
44  const FlowChannel1Phase & flow_channel =
45  getComponentByName<FlowChannel1Phase>(_flow_channel_name);
46  const std::string Hw_suffix = flow_channel.getHeatTransferNamesSuffix(name());
47 
49  }
50  else
51  logError("Coupled component '", _flow_channel_name, "' must be a single phase flow channel.");
52 }
virtual void initSecondary() override
Perform secondary initialization, which relies on init() being called for all components.
static const std::string HEAT_TRANSFER_COEFFICIENT_WALL
MaterialPropertyName _Hw_1phase_name
1-phase wall heat transfer coefficient name
virtual const std::string & name() const
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:215
A class representing a 1-phase flow channel.
const std::string _flow_channel_name
name of the connected flow channel
std::string getHeatTransferNamesSuffix(const std::string &ht_name) const
Gets suffix to add to heat-transfer-related names in a heat transfer component.

◆ insistParameterExists()

template<typename T >
void Component::insistParameterExists ( const std::string &  function_name,
const std::string &  param_name 
) const
protectedinherited

Runtime check to make sure that a parameter of specified type exists in the component's input parameters.

This is intended to help developers write code. The idea is to provide a useful message when developers make typos, etc. If this check fails, the code execution will be stopped.

Template Parameters
TThe type of the parameter to be checked
Parameters
function_nameThe name of the function calling this method
param_nameThe name of the parameter to be checked

Definition at line 570 of file Component.h.

572 {
573  if (!hasParam<T>(param_name))
574  mooseError(name(),
575  ": Calling ",
576  function_name,
577  " failed, parameter '",
578  param_name,
579  "' does not exist or does not have the type you requested. Double check your "
580  "spelling and/or type of the parameter.");
581 }
virtual const std::string & name() const
void mooseError(Args &&... args) const

◆ isTemperatureType()

virtual bool HeatTransferBase::isTemperatureType ( ) const
pure virtualinherited

Returns whether this heat transfer is specified by temperature, rather than heat flux.

Returns
true if the heat transfer is specified by temperature, false otherwise

Implemented in HeatTransferFromExternalAppHeatFlux1Phase, HeatTransferFromTemperature1Phase, and HeatTransferFromHeatFlux1Phase.

Referenced by FlowChannelBase::check(), and FlowChannelBase::initSecondary().

◆ logComponentError()

template<typename... Args>
void LoggingInterface::logComponentError ( const std::string &  component_name,
Args &&...  args 
) const
inlineinherited

Logs an error for a component.

Parameters
[in]component_nameName of the component

Definition at line 47 of file LoggingInterface.h.

Referenced by Closures1PhaseSimple::checkFlowChannel(), Closures1PhaseSimple::checkHeatTransfer(), and Component::logError().

48  {
49  _log.add(Logger::ERROR, component_name, ": ", std::forward<Args>(args)...);
50  }
void add(EMessageType type, Args &&... args)
Add a message to the log.
Definition: Logger.h:35

◆ logComponentWarning()

template<typename... Args>
void LoggingInterface::logComponentWarning ( const std::string &  component_name,
Args &&...  args 
) const
inlineinherited

Logs a warning for a component.

Parameters
[in]component_nameName of the component

Definition at line 67 of file LoggingInterface.h.

Referenced by Component::logWarning().

68  {
69  _log.add(Logger::WARNING, component_name, ": ", std::forward<Args>(args)...);
70  }
void add(EMessageType type, Args &&... args)
Add a message to the log.
Definition: Logger.h:35

◆ logError()

template<typename... Args>
void Component::logError ( Args &&...  args) const
inlineinherited

Logs an error.

Definition at line 215 of file Component.h.

Referenced by Component1DConnection::addConnection(), HSBoundary::check(), HeatSourceBase::check(), Component1DJunction::check(), InletStagnationPressureTemperature1Phase::check(), HeatStructure2DCoupler::check(), InletDensityVelocity1Phase::check(), Outlet1Phase::check(), InletMassFlowRateTemperature1Phase::check(), SupersonicInlet::check(), HSBoundaryExternalAppHeatFlux::check(), InletStagnationEnthalpyMomentum1Phase::check(), InletVelocityTemperature1Phase::check(), HeatTransferFromExternalAppTemperature1Phase::check(), HeatStructure2DRadiationCouplerRZ::check(), GeneratedMeshComponent::check(), HeatStructure2DCouplerBase::check(), Shaft::check(), HSCoupler2D2DRadiation::check(), HSCoupler2D3D::check(), HeatTransferFromHeatStructure1Phase::check(), VolumeJunction1Phase::check(), HeatTransferFromHeatStructure3D1Phase::check(), FlowChannel1Phase::check(), HeatStructureInterface::check(), Component2D::check(), FlowChannelBase::check(), HSBoundary::checkAllComponent2DBoundariesAreExternal(), Component1DConnection::checkAllConnectionsHaveSame(), Component::checkComponentExistsByName(), Component::checkComponentOfTypeExistsByName(), Component::checkEqualSize(), Component::checkMutuallyExclusiveParameters(), Component1DConnection::checkNumberOfConnections(), Component::checkParameterValueLessThan(), Component1DConnection::checkSizeEqualsNumberOfConnections(), Component::checkSizeEqualsParameterValue(), Component::checkSizeEqualsValue(), Component::checkSizeGreaterThan(), Component::checkSizeLessThan(), ElbowPipe1Phase::ElbowPipe1Phase(), FreeBoundary::FreeBoundary(), GateValve::GateValve(), Component::getEnumParam(), HeatTransferFromHeatStructure3D1Phase::getFlowChannelAxisAlignment(), HeatGeneration::HeatGeneration(), HeatSourceVolumetric::HeatSourceVolumetric(), HeatStructureFromFile3D::HeatStructureFromFile3D(), HeatTransferFromHeatStructure3D1Phase::init(), FlowChannel1Phase::init(), Component1DConnection::init(), initSecondary(), JunctionOneToOne::JunctionOneToOne(), LoggerTestComponent::LoggerTestComponent(), PrescribedReactorPower::PrescribedReactorPower(), Component1DConnection::setupMesh(), and SolidWall::SolidWall().

216  {
217  logComponentError(cname(), std::forward<Args>(args)...);
218  }
const std::string & cname() const
Get the component name.
Definition: Component.C:51
void logComponentError(const std::string &component_name, Args &&... args) const
Logs an error for a component.

◆ logWarning()

template<typename... Args>
void Component::logWarning ( Args &&...  args) const
inlineinherited

Logs a warning.

Definition at line 224 of file Component.h.

Referenced by GateValve1Phase::check(), LoggerTestComponent::LoggerTestComponent(), and VolumeJunction1Phase::VolumeJunction1Phase().

225  {
226  logComponentWarning(cname(), std::forward<Args>(args)...);
227  }
const std::string & cname() const
Get the component name.
Definition: Component.C:51
void logComponentWarning(const std::string &component_name, Args &&... args) const
Logs a warning for a component.

◆ makeFunctionControllableIfConstant()

void Component::makeFunctionControllableIfConstant ( const FunctionName &  fn_name,
const std::string &  control_name,
const std::string &  param = "value" 
) const
inherited

Makes a function controllable if it is constant.

Parameters
[in]fn_namename of the function
[in]control_namename of control parameter
[in]paramname of controlled parameter

Definition at line 141 of file Component.C.

Referenced by FlowModel::addCommonInitialConditions(), FlowChannelBase::addCommonObjects(), HeatTransferBase::addHeatedPerimeter(), FlowChannel1Phase::addHydraulicDiameterMaterial(), HSBoundarySpecifiedTemperature::addMooseObjects(), ShaftConnectedMotor::addMooseObjects(), Closures1PhaseSimple::addMooseObjectsHeatTransfer(), HeatTransferFromSpecifiedTemperature1Phase::addVariables(), and Closures1PhaseBase::addWallFrictionFunctionMaterial().

144 {
145  const Function & fn = _sim.getFunction(fn_name);
146  if (dynamic_cast<const ConstantFunction *>(&fn) != nullptr)
147  connectObject(fn.parameters(), fn_name, control_name, param);
148 }
THMProblem & _sim
THM problem this component is part of TODO: make _sim private (applications need to switch to getters...
Definition: Component.h:443
virtual Function & getFunction(const std::string &name, const THREAD_ID tid=0)
void connectObject(const InputParameters &params, const std::string &mooseName, const std::string &name) const
Connect with control logic.
Definition: Component.C:98
const InputParameters & parameters() const

◆ mesh()

THMMesh & Component::mesh ( )
inherited

Non-const reference to THM mesh, which can only be called before the end of mesh setup.

Definition at line 60 of file Component.C.

Referenced by GeometricalComponent::addElement(), GeometricalComponent::addElementEdge2(), GeometricalComponent::addElementEdge3(), GeometricalComponent::addElementQuad4(), GeometricalComponent::addElementQuad9(), Component::addNode(), Component::addNodeElement(), Component2D::build2DMesh(), Component2D::build2DMesh2ndOrder(), Component2D::buildMesh(), FileMeshComponent::buildMesh(), Component1D::buildMesh(), Component::setSubdomainInfo(), Component1DJunction::setupMesh(), Component1DBoundary::setupMesh(), GeneratedMeshComponent::setupMesh(), VolumeJunction1Phase::setupMesh(), and FileMeshComponent::setupMesh().

61 {
63  mooseError(
64  "A non-const reference to the THM mesh cannot be obtained after mesh setup is complete.");
65  else
66  return _mesh;
67 }
EComponentSetupStatus _component_setup_status
Component setup status.
Definition: Component.h:488
void mooseError(Args &&... args) const
THMMesh & _mesh
The THM mesh TODO: make _mesh private (applications need to switch to getters to avoid breaking) ...
Definition: Component.h:452

◆ parent()

Component* Component::parent ( )
inlineinherited

Definition at line 54 of file Component.h.

54 { return _parent; }
Component * _parent
Pointer to a parent component (used in composed components)
Definition: Component.h:438

◆ passParameter() [1/2]

template<typename T >
void THMObject::passParameter ( const std::string &  name,
const std::string &  new_name,
InputParameters params 
) const
protectedinherited

Passes a parameter from this object's input parameters to another set of input parameters.

Template Parameters
Tthe type of the parameter to be passed
Parameters
name[in]name the name of this object's parameter
new_name[in]new_name the name of the corresponding parameters in params
params[in,out]params the parameters to which the parameter will be passed

Definition at line 54 of file THMObject.h.

57 {
58  if (isParamValid(name))
59  params.set<T>(new_name) = _pars.get<T>(name);
60 }
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
T & set(const std::string &name, bool quiet_mode=false)
virtual const std::string & name() const
bool isParamValid(const std::string &name) const
const InputParameters & _pars

◆ passParameter() [2/2]

template<typename T >
void THMObject::passParameter ( const std::string &  name,
InputParameters params 
) const
protectedinherited

Passes a parameter from this object's input parameters to another set of input parameters.

This version overloads the other by assuming that the parameter has the same name.

Template Parameters
Tthe type of the parameter to be passed
Parameters
name[in]name the name of the parameter
params[in,out]params the parameters to which the parameter will be passed

Definition at line 64 of file THMObject.h.

65 {
66  passParameter<T>(name, name, params);
67 }
virtual const std::string & name() const

◆ problemIsTransient()

bool Component::problemIsTransient ( ) const
inlineinherited

Whether the problem is transient.

Definition at line 252 of file Component.h.

Referenced by HeatConductionModel::addHeatEquationRZ(), HeatConductionModel::addHeatEquationXYZ(), and FlowModelSinglePhase::addMooseObjects().

252 { return getTHMProblem().isTransient(); }
THMProblem & getTHMProblem() const
Gets the THM problem.
Definition: Component.C:135
virtual bool isTransient() const override

◆ setSubdomainInfo()

void Component::setSubdomainInfo ( SubdomainID  subdomain_id,
const std::string &  subdomain_name,
const Moose::CoordinateSystemType coord_system = Moose::COORD_XYZ 
)
protectedvirtualinherited

Sets the next subdomain ID, name, and coordinate system.

Parameters
[in]subdomain_idsubdomain index
[in]subdomain_namename of the new subdomain
[in]coord_systemtype of coordinate system

Definition at line 229 of file Component.C.

Referenced by Component2D::buildMesh(), FileMeshComponent::buildMesh(), Component1D::buildMesh(), and VolumeJunction1Phase::setupMesh().

232 {
233  _subdomain_ids.push_back(subdomain_id);
234  _subdomain_names.push_back(subdomain_name);
235  _coord_sys.push_back(coord_system);
236  if (_parent)
237  {
238  _parent->_subdomain_ids.push_back(subdomain_id);
239  _parent->_subdomain_names.push_back(subdomain_name);
240  _parent->_coord_sys.push_back(coord_system);
241  }
242  mesh().setSubdomainName(subdomain_id, subdomain_name);
243 }
std::vector< SubdomainName > _subdomain_names
List of subdomain names this components owns.
Definition: Component.h:462
Component * _parent
Pointer to a parent component (used in composed components)
Definition: Component.h:438
std::vector< Moose::CoordinateSystemType > _coord_sys
List of coordinate system for each subdomain.
Definition: Component.h:464
void setSubdomainName(SubdomainID subdomain_id, const SubdomainName &name)
THMMesh & mesh()
Non-const reference to THM mesh, which can only be called before the end of mesh setup.
Definition: Component.C:60
std::vector< SubdomainID > _subdomain_ids
List of subdomain IDs this components owns.
Definition: Component.h:460

◆ setupMesh()

virtual void Component::setupMesh ( )
inlineprotectedvirtualinherited

◆ stringify()

std::string Component::stringify ( EComponentSetupStatus  status) const
inherited

Return a string for the setup status.

Definition at line 271 of file Component.C.

Referenced by Component::checkSetupStatus().

272 {
273  switch (status)
274  {
275  case CREATED:
276  return "component created";
277  case MESH_PREPARED:
278  return "component mesh set up";
279  case INITIALIZED_PRIMARY:
280  return "primary initialization completed";
282  return "secondary initialization completed";
283  case CHECKED:
284  return "component fully set up and checked";
285  default:
286  mooseError("Should not reach here");
287  }
288 }
only created
Definition: Component.h:38
MPI_Status status
mesh set up, called primary init
Definition: Component.h:40
mesh set up, called both inits
Definition: Component.h:41
void mooseError(Args &&... args) const
mesh set up, called both inits, checked
Definition: Component.h:42

◆ validParams()

InputParameters HeatTransfer1PhaseBase::validParams ( )
static

Definition at line 17 of file HeatTransfer1PhaseBase.C.

Referenced by HeatTransferFromExternalAppHeatFlux1Phase::validParams(), HeatTransferFromHeatFlux1Phase::validParams(), and HeatTransferFromTemperature1Phase::validParams().

18 {
20  params.addParam<FunctionName>("Hw", "Convective heat transfer coefficient [W/(m^2-K)]");
21  params.declareControllable("Hw");
22  return params;
23 }
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
static InputParameters validParams()
void declareControllable(const std::string &name, std::set< ExecFlagType > execute_flags={})

Member Data Documentation

◆ _A_fn_name

FunctionName HeatTransferBase::_A_fn_name
protectedinherited

area function name for the connected flow channel

Definition at line 115 of file HeatTransferBase.h.

Referenced by HeatTransferBase::addHeatedPerimeter(), and HeatTransferBase::init().

◆ _closures_objects

std::vector<std::shared_ptr<ClosuresBase> > HeatTransferBase::_closures_objects
protectedinherited

Used closures object(s)

Definition at line 97 of file HeatTransferBase.h.

Referenced by addMooseObjects(), check(), and HeatTransferBase::init().

◆ _coord_sys

std::vector<Moose::CoordinateSystemType> Component::_coord_sys
protectedinherited

List of coordinate system for each subdomain.

Definition at line 464 of file Component.h.

Referenced by Component::getCoordSysTypes(), and Component::setSubdomainInfo().

◆ _elem_ids

std::vector<dof_id_type> Component::_elem_ids
protectedinherited

◆ _factory

Factory& Component::_factory
protectedinherited

The Factory associated with the MooseApp.

Definition at line 446 of file Component.h.

Referenced by FlowChannelBase::addCommonObjects(), HeatStructureBase::addConstantDensitySolidPropertiesMaterial(), HeatTransferBase::addHeatedPerimeter(), HeatTransferFromTemperature1Phase::addHeatTransferKernels(), FlowChannel1Phase::addHydraulicDiameterMaterial(), HSBoundaryRadiation::addMooseObjects(), HeatStructure2DRadiationCouplerRZ::addMooseObjects(), HeatSourceFromPowerDensity::addMooseObjects(), HSBoundarySpecifiedTemperature::addMooseObjects(), HSBoundaryAmbientConvection::addMooseObjects(), InletDensityVelocity1Phase::addMooseObjects(), HeatStructure2DCoupler::addMooseObjects(), InletStagnationPressureTemperature1Phase::addMooseObjects(), InletVelocityTemperature1Phase::addMooseObjects(), Outlet1Phase::addMooseObjects(), HeatTransferFromHeatFlux1Phase::addMooseObjects(), FormLossFromFunction1Phase::addMooseObjects(), InletMassFlowRateTemperature1Phase::addMooseObjects(), SolidWall1Phase::addMooseObjects(), HeatSourceFromTotalPower::addMooseObjects(), InletFunction1Phase::addMooseObjects(), HSBoundaryHeatFlux::addMooseObjects(), FormLossFromExternalApp1Phase::addMooseObjects(), FreeBoundary1Phase::addMooseObjects(), Shaft::addMooseObjects(), HeatTransferFromSpecifiedTemperature1Phase::addMooseObjects(), GateValve1Phase::addMooseObjects(), TotalPower::addMooseObjects(), VolumeJunction1Phase::addMooseObjects(), HSBoundaryExternalAppTemperature::addMooseObjects(), HeatSourceVolumetric1Phase::addMooseObjects(), ShaftConnectedMotor::addMooseObjects(), FormLoss1PhaseBase::addMooseObjects(), HeatTransferFromExternalAppHeatFlux1Phase::addMooseObjects(), ShaftConnectedCompressor1Phase::addMooseObjects(), ShaftConnectedPump1Phase::addMooseObjects(), ShaftConnectedTurbine1Phase::addMooseObjects(), HSBoundaryExternalAppConvection::addMooseObjects(), HSCoupler2D3D::addMooseObjects(), SimpleTurbine1Phase::addMooseObjects(), HeatTransferFromHeatStructure3D1Phase::addMooseObjects(), HeatTransferBase::addMooseObjects(), HSCoupler2D2DRadiation::addMooseObjects(), HeatTransferFromHeatStructure1Phase::addMooseObjects(), HSBoundaryExternalAppHeatFlux::addMooseObjects(), JunctionOneToOne1Phase::addMooseObjects(), FlowChannelBase::addMooseObjects(), Component::addRelationshipManager(), FlowChannelBase::addVariables(), FlowBoundary1Phase::addWeakBC3Eqn(), FlowChannel1Phase::buildFlowModel(), Pump1Phase::buildVolumeJunctionUserObject(), JunctionParallelChannels1Phase::buildVolumeJunctionUserObject(), SimpleTurbine1Phase::buildVolumeJunctionUserObject(), ShaftConnectedTurbine1Phase::buildVolumeJunctionUserObject(), ShaftConnectedPump1Phase::buildVolumeJunctionUserObject(), ShaftConnectedCompressor1Phase::buildVolumeJunctionUserObject(), and VolumeJunction1Phase::buildVolumeJunctionUserObject().

◆ _flow_channel_name

const std::string HeatTransferBase::_flow_channel_name
protectedinherited

◆ _flow_channel_subdomains

std::vector<SubdomainName> HeatTransferBase::_flow_channel_subdomains
protectedinherited

◆ _fp_name

UserObjectName HeatTransferBase::_fp_name
protectedinherited

fluid properties object name

Definition at line 113 of file HeatTransferBase.h.

Referenced by HeatTransferBase::getFluidPropertiesName(), and HeatTransferBase::init().

◆ _Hw_1phase_name

MaterialPropertyName HeatTransfer1PhaseBase::_Hw_1phase_name
protected

◆ _log

Logger& LoggingInterface::_log
protectedinherited

◆ _mesh

THMMesh& Component::_mesh
protectedinherited

The THM mesh TODO: make _mesh private (applications need to switch to getters to avoid breaking)

Definition at line 452 of file Component.h.

Referenced by Component::addRelationshipManager(), Component::constMesh(), and Component::mesh().

◆ _model_type

THM::FlowModelID HeatTransferBase::_model_type
protectedinherited

flow model type

Definition at line 111 of file HeatTransferBase.h.

Referenced by HeatTransferBase::init().

◆ _node_ids

std::vector<dof_id_type> Component::_node_ids
protectedinherited

◆ _P_hf_fn_name

FunctionName HeatTransferBase::_P_hf_fn_name
protectedinherited

◆ _P_hf_name

VariableName HeatTransferBase::_P_hf_name
protectedinherited

◆ _P_hf_provided

const bool HeatTransferBase::_P_hf_provided
protectedinherited

flag that the heated perimeter was specified via an input parameter

Definition at line 94 of file HeatTransferBase.h.

Referenced by HeatTransferBase::addHeatedPerimeter().

◆ _P_hf_transferred

const bool HeatTransferBase::_P_hf_transferred
protectedinherited

flag that heated perimeter is transferred from another application

Definition at line 92 of file HeatTransferBase.h.

Referenced by HeatTransferBase::addHeatedPerimeter(), HeatTransferBase::addMooseObjects(), and HeatTransferBase::addVariables().

◆ _parent

Component* Component::_parent
protectedinherited

Pointer to a parent component (used in composed components)

Definition at line 438 of file Component.h.

Referenced by HeatStructureBase::addMooseObjects(), Component::cname(), Component::parent(), and Component::setSubdomainInfo().

◆ _q_wall_name

MaterialPropertyName HeatTransferBase::_q_wall_name
protectedinherited

◆ _sim

THMProblem& Component::_sim
protectedinherited

THM problem this component is part of TODO: make _sim private (applications need to switch to getters to avoid breaking).

Also, rename to "_thm_problem" at that point.

Definition at line 443 of file Component.h.

Referenced by Component::checkComponentExistsByName(), Component::checkComponentOfTypeExistsByName(), Component::getComponentByName(), Component::getTHMProblem(), Component::hasComponentByName(), and Component::makeFunctionControllableIfConstant().

◆ _subdomain_ids

std::vector<SubdomainID> Component::_subdomain_ids
protectedinherited

List of subdomain IDs this components owns.

Definition at line 460 of file Component.h.

Referenced by Component2D::build2DMesh(), Component2D::build2DMesh2ndOrder(), and Component::setSubdomainInfo().

◆ _subdomain_names

std::vector<SubdomainName> Component::_subdomain_names
protectedinherited

List of subdomain names this components owns.

Definition at line 462 of file Component.h.

Referenced by Component::getSubdomainNames(), and Component::setSubdomainInfo().

◆ _T_wall_mat_name

MaterialPropertyName HeatTransferBase::_T_wall_mat_name
protectedinherited

wall temperature material name

Definition at line 104 of file HeatTransferBase.h.

Referenced by HeatTransferBase::getWallTemperatureMatName(), and HeatTransferBase::initSecondary().

◆ _T_wall_name

VariableName HeatTransferBase::_T_wall_name
protectedinherited

◆ _zero

const Real& Component::_zero
protectedinherited

Definition at line 448 of file Component.h.


The documentation for this class was generated from the following files: