https://mooseframework.inl.gov
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | List of all members
HeatTransferFromHeatStructure3D1Phase Class Reference

Connects a 1-phase flow channel and a 3D heat structure. More...

#include <HeatTransferFromHeatStructure3D1Phase.h>

Inheritance diagram for HeatTransferFromHeatStructure3D1Phase:
[legend]

Public Types

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

Public Member Functions

 HeatTransferFromHeatStructure3D1Phase (const InputParameters &parameters)
 
virtual void addVariables () override
 
virtual void addMooseObjects () override
 
virtual bool isTemperatureType () const override
 Returns whether this heat transfer is specified by temperature, rather than heat flux. More...
 
const MaterialPropertyName & getWallHeatTransferCoefficient1PhaseName () const
 Returns 1-phase wall heat transfer coefficient name. More...
 
virtual ConvergencegetNonlinearConvergence () const override
 Gets the Component's nonlinear Convergence object if it has one. More...
 
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...
 
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 TgetComponent (const std::string &name) const
 Return a reference to a component via a parameter name. More...
 
template<typename T >
const TgetComponentByName (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 &obj_params, const std::string &obj_name, const std::string &param) const
 Connects a controllable parameter of the component to a controllable parameter of a constituent object. More...
 
void connectObject (const InputParameters &obj_params, const std::string &obj_name, const std::string &comp_param, const std::string &obj_param) const
 Connects a controllable parameter of the component to a controllable parameter of a constituent object. 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 >
T getEnumParam (const std::string &param, bool log_error=true) 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...
 
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...
 
virtual bool enabled () const
 
std::shared_ptr< MooseObjectgetSharedPtr ()
 
std::shared_ptr< const MooseObjectgetSharedPtr () const
 
bool isKokkosObject () const
 
MooseAppgetMooseApp () const
 
const std::string & type () const
 
const std::string & name () const
 
std::string typeAndName () const
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
MooseObjectName uniqueName () const
 
const InputParametersparameters () const
 
const hit::Node * getHitNode () const
 
bool hasBase () const
 
const std::string & getBase () const
 
const TgetParam (const std::string &name) const
 
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 
const TqueryParam (const std::string &name) const
 
const TgetRenamedParam (const std::string &old_name, const std::string &new_name) const
 
T getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 
bool haveParameter (const std::string &name) const
 
bool isParamValid (const std::string &name) const
 
bool isParamSetByUser (const std::string &name) const
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 
void paramError (const std::string &param, Args... args) const
 
void paramWarning (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
 
std::string messagePrefix (const bool hit_prefix=true) const
 
std::string errorPrefix (const std::string &) const
 
void mooseError (Args &&... args) const
 
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
void mooseErrorNonPrefixed (Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarning (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseWarningNonPrefixed (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseDeprecated (Args &&... args) const
 
void mooseDeprecatedNoTrace (Args &&... args) const
 
void mooseInfo (Args &&... args) const
 
void callMooseError (std::string msg, const bool with_prefix, const hit::Node *node=nullptr, const bool show_trace=true) 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 void callMooseError (MooseApp *const app, const InputParameters &params, std::string msg, const bool with_prefix, const hit::Node *node, const bool show_trace=true)
 
static std::string deduceFunctorName (const std::string &name, const InputParameters &params)
 

Public Attributes

 usingCombinedWarningSolutionWarnings
 
const ConsoleStream _console
 

Static Public Attributes

static const std::string type_param
 
static const std::string name_param
 
static const std::string unique_name_param
 
static const std::string app_param
 
static const std::string moose_base_param
 
static const std::string kokkos_object_param
 

Protected Types

enum  EAxisAlignment { INVALID = -1, X, Y, Z }
 enum for axis alignment More...
 

Protected Member Functions

virtual const libMesh::FETypegetFEType () override
 Get the FE type for wall temperature variable. More...
 
virtual void setupMesh () override
 Performs mesh setup such as creating mesh or naming mesh sets. More...
 
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...
 
virtual EAxisAlignment getFlowChannelAxisAlignment (const std::string &flow_channel_name) const
 
void addHeatTransferKernels ()
 Adds 1-phase heat transfer kernels. More...
 
void addHeatedPerimeter ()
 Adds heated perimeter variable and objects. 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...
 
void addNonlinearStepFunctorMaterial (const std::string &functor_name, const std::string &property, bool functor_is_ad)
 Adds a functor material to compute the absolute value of the change (step) of some functor between nonlinear iterations. More...
 
void addMaximumFunctorPostprocessor (const std::string &functor_name, const std::string &pp_name, const Real normalization, const std::vector< SubdomainName > &subdomains)
 Adds a Postprocessor to compute the maximum of a functor over some domain. More...
 
void addMultiPostprocessorConvergence (const std::vector< PostprocessorName > &postprocessors, const std::vector< std::string > &descriptions, const std::vector< Real > &tolerances)
 Adds a MultiPostprocessorConvergence for nonlinear convergence for the component. More...
 
std::string nonlinearConvergenceName () const
 Nonlinear Convergence name. 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...
 
void flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const
 
InvalidSolutionID registerInvalidSolutionInternal (const std::string &message, const bool warning) const
 
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)
 
const Moose::Functor< T > & getFunctorByName (const std::string &name)
 

Protected Attributes

const std::vector< std::string > & _flow_channel_names
 name of the connected flow channel More...
 
const BoundaryName & _boundary
 Boundary names for which the boundary component applies. More...
 
std::vector< std::shared_ptr< ClosuresBase > > _flow_channel_closures
 Closures associated with each flow channel. More...
 
const std::string & _hs_name
 Heat structure name. More...
 
MeshAlignment1D3D _mesh_alignment
 Mesh alignment object. More...
 
unsigned int _num_layers
 Number of layers in the flow channel direction. More...
 
MooseEnum _layered_average_uo_direction
 Direction for layered average user objects. More...
 
libMesh::FEType _fe_type
 The type of the wall temperature variable. More...
 
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
 
ActionFactory_action_factory
 
const std::string & _type
 
const std::string & _name
 
const InputParameters_pars
 
const Parallel::Communicator & _communicator
 
Logger_log
 

Detailed Description

Connects a 1-phase flow channel and a 3D heat structure.

Definition at line 19 of file HeatTransferFromHeatStructure3D1Phase.h.

Member Enumeration Documentation

◆ EAxisAlignment

◆ 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 37 of file Component.h.

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

Constructor & Destructor Documentation

◆ HeatTransferFromHeatStructure3D1Phase()

HeatTransferFromHeatStructure3D1Phase::HeatTransferFromHeatStructure3D1Phase ( const InputParameters parameters)

Definition at line 40 of file HeatTransferFromHeatStructure3D1Phase.C.

43  _flow_channel_names(getParam<std::vector<std::string>>("flow_channels")),
44  _boundary(getParam<BoundaryName>("boundary")),
45  _hs_name(getParam<std::string>("hs")),
48 {
49  for (const auto & fch_name : _flow_channel_names)
50  addDependency(fch_name);
52 }
HeatTransferFromTemperature1Phase(const InputParameters &parameters)
const T & getParam(const std::string &name) const
void addDependency(const std::string &dependency)
Adds a component name to the list of dependencies.
Definition: Component.C:129
const InputParameters & parameters() const
const std::vector< std::string > & _flow_channel_names
name of the connected flow channel
MooseEnum _layered_average_uo_direction
Direction for layered average user objects.
const THMMesh & constMesh() const
Const reference to mesh, which can be called at any point.
Definition: Component.h:63
MeshAlignment1D3D _mesh_alignment
Mesh alignment object.
const BoundaryName & _boundary
Boundary names for which the boundary component applies.
const std::string & _hs_name
Heat structure name.

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(), 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:542

◆ addHeatedPerimeter()

void HeatTransferBase::addHeatedPerimeter ( )
protectedinherited

Adds heated perimeter variable and objects.

Definition at line 114 of file HeatTransferBase.C.

Referenced by HeatTransferBase::addVariables().

115 {
117  false, _P_hf_name, getTHMProblem().getFlowFEType(), _flow_channel_subdomains);
118 
119  // create heat flux perimeter variable if not transferred from external app
120  if (!_P_hf_transferred)
121  {
122  if (_P_hf_provided)
123  {
124  _P_hf_fn_name = getParam<FunctionName>("P_hf");
125  }
126  // create heat flux perimeter function if not provided; assume circular flow channel
127  else
128  {
129  _P_hf_fn_name = genName(name(), "P_hf_fn");
130 
131  const std::string class_name = "GeneralizedCircumference";
132  InputParameters params = _factory.getValidParams(class_name);
133  params.set<FunctionName>("area_function") = _A_fn_name;
134  getTHMProblem().addFunction(class_name, _P_hf_fn_name, params);
135  }
136 
137  if (!_app.isRestarting())
139  }
140 }
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
bool isRestarting() 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
const std::string & name() const
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:497
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

◆ addHeatTransferKernels()

void HeatTransferFromTemperature1Phase::addHeatTransferKernels ( )
protectedinherited

Adds 1-phase heat transfer kernels.

Definition at line 54 of file HeatTransferFromTemperature1Phase.C.

Referenced by HeatTransferFromExternalAppTemperature1Phase::addMooseObjects(), and HeatTransferFromSpecifiedTemperature1Phase::addMooseObjects().

55 {
56  {
57  const std::string class_name = "ADOneDEnergyWallHeating";
58  InputParameters params = _factory.getValidParams(class_name);
59  params.set<NonlinearVariableName>("variable") = FlowModelSinglePhase::RHOEA;
60  params.set<std::vector<SubdomainName>>("block") = _flow_channel_subdomains;
61  params.set<std::vector<VariableName>>("T_wall") = {_T_wall_name};
62  params.set<MaterialPropertyName>("Hw") = _Hw_1phase_name;
63  params.set<std::vector<VariableName>>("P_hf") = {_P_hf_name};
64  params.set<MaterialPropertyName>("T") = FlowModelSinglePhase::TEMPERATURE;
65  getTHMProblem().addKernel(class_name, genName(name(), "wall_heat_transfer"), params);
66  }
67 }
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.
VariableName _T_wall_name
wall temperature name
static const std::string TEMPERATURE
THMProblem & getTHMProblem() const
Gets the THM problem.
Definition: Component.C:135
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
virtual void addKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
MaterialPropertyName _Hw_1phase_name
1-phase wall heat transfer coefficient name
VariableName _P_hf_name
heated perimeter name
const std::string & name() const
Factory & _factory
The Factory associated with the MooseApp.
Definition: Component.h:497
static const std::string RHOEA
std::vector< SubdomainName > _flow_channel_subdomains
Subdomains corresponding to the connected flow channel.

◆ addMaximumFunctorPostprocessor()

void Component::addMaximumFunctorPostprocessor ( const std::string &  functor_name,
const std::string &  pp_name,
const Real  normalization,
const std::vector< SubdomainName > &  subdomains 
)
protectedinherited

Adds a Postprocessor to compute the maximum of a functor over some domain.

Parameters
[in]functor_nameFunctor for which to compute maximum
[in]pp_nameName of new Postprocessor
[in]normalizationFactor by which to divide quantity
[in]subdomainsSubdomains over which to compute maximum

Definition at line 252 of file Component.C.

Referenced by FlowChannel1Phase::addMooseObjects(), and HeatStructureBase::addMooseObjects().

256 {
257  const std::string class_name = "ElementExtremeFunctorValue";
258  InputParameters params = _factory.getValidParams(class_name);
259  params.set<std::vector<SubdomainName>>("block") = subdomains;
260  params.set<MooseEnum>("value_type") = "max";
261  params.set<MooseFunctorName>("functor") = functor_name;
262  params.set<Real>("scale") = 1.0 / normalization;
263  params.set<ExecFlagEnum>("execute_on") = EXEC_NONLINEAR_CONVERGENCE;
264  params.set<std::vector<OutputName>>("outputs") = {"none"};
265  getTHMProblem().addPostprocessor(class_name, pp_name, params);
266 }
THMProblem & getTHMProblem() const
Gets the THM problem.
Definition: Component.C:135
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
virtual void addPostprocessor(const std::string &pp_name, const std::string &name, InputParameters &parameters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Factory & _factory
The Factory associated with the MooseApp.
Definition: Component.h:497

◆ addMooseObjects()

void HeatTransferFromHeatStructure3D1Phase::addMooseObjects ( )
overridevirtual

Reimplemented from HeatTransferFromTemperature1Phase.

Definition at line 262 of file HeatTransferFromHeatStructure3D1Phase.C.

263 {
265 
266  for (unsigned int i = 0; i < _flow_channel_closures.size(); i++)
267  {
268  _flow_channel_closures[i]->addMooseObjectsHeatTransfer(
269  *this, getComponentByName<FlowChannel1Phase>(_flow_channel_names[i]));
270  }
271 
273  execute_on = {EXEC_INITIAL, EXEC_LINEAR, EXEC_NONLINEAR};
274 
275  std::vector<Point> fch_positions;
276  for (const auto & fch_name : _flow_channel_names)
277  {
278  const FlowChannel1Phase & flow_channel = getComponentByName<FlowChannel1Phase>(fch_name);
279  fch_positions.push_back(flow_channel.getPosition());
280  }
281 
282  const UserObjectName T_wall_avg_uo_name = genName(name(), "T_wall_avg_uo");
283  {
284  const std::string class_name = "NearestPointLayeredSideAverage";
285  InputParameters params = _factory.getValidParams(class_name);
286  params.set<std::vector<VariableName>>("variable") = {HeatConductionModel::TEMPERATURE};
287  params.set<std::vector<BoundaryName>>("boundary") = {_boundary};
288  params.set<ExecFlagEnum>("execute_on") = execute_on;
289  params.set<MooseEnum>("direction") = _layered_average_uo_direction;
290  params.set<unsigned int>("num_layers") = _num_layers;
291  params.set<std::vector<Point>>("points") = fch_positions;
292  getTHMProblem().addUserObject(class_name, T_wall_avg_uo_name, params);
293  }
294  {
295  std::string class_name = "SpatialUserObjectAux";
296  InputParameters params = _factory.getValidParams(class_name);
297  params.set<std::vector<SubdomainName>>("block") = _flow_channel_subdomains;
298  params.set<AuxVariableName>("variable") = _T_wall_name;
299  params.set<ExecFlagEnum>("execute_on") = execute_on;
300  params.set<UserObjectName>("user_object") = T_wall_avg_uo_name;
301  getTHMProblem().addAuxKernel(class_name, genName(name(), "T_wall_transfer"), params);
302  }
303  {
304  const std::string class_name = "ADOneD3EqnEnergyHeatFluxFromHeatStructure3D";
305  InputParameters params = _factory.getValidParams(class_name);
306  params.set<std::vector<SubdomainName>>("block") = _flow_channel_subdomains;
307  params.set<std::vector<VariableName>>("P_hf") = {_P_hf_name};
308  params.set<MaterialPropertyName>("Hw") = _Hw_1phase_name;
309  params.set<UserObjectName>("user_object") = T_wall_avg_uo_name;
310  params.set<MaterialPropertyName>("T") = FlowModelSinglePhase::TEMPERATURE;
311  params.set<NonlinearVariableName>("variable") = FlowModelSinglePhase::RHOEA;
312  getTHMProblem().addKernel(class_name, genName(name(), "heat_flux_kernel"), params);
313  }
314 
315  const UserObjectName heat_transfer_uo_name = genName(name(), "heat_flux_uo");
316  {
317  const std::string class_name = "ADHeatTransferFromHeatStructure3D1PhaseUserObject";
318  InputParameters params = _factory.getValidParams(class_name);
319  params.set<std::vector<SubdomainName>>("block") = _flow_channel_subdomains;
320  params.set<MeshAlignment1D3D *>("_mesh_alignment") = &_mesh_alignment;
321  params.set<std::vector<VariableName>>("P_hf") = {_P_hf_name};
322  params.set<MaterialPropertyName>("Hw") = _Hw_1phase_name;
323  params.set<MaterialPropertyName>("T") = FlowModelSinglePhase::TEMPERATURE;
324  params.set<ExecFlagEnum>("execute_on") = execute_on;
325  getTHMProblem().addUserObject(class_name, heat_transfer_uo_name, params);
326  }
327  {
328  const std::string class_name = "ADConvectionHeatTransfer3DBC";
329  InputParameters params = _factory.getValidParams(class_name);
330  params.set<std::vector<BoundaryName>>("boundary") = {_boundary};
331  params.set<NonlinearVariableName>("variable") = HeatConductionModel::TEMPERATURE;
332  params.set<UserObjectName>("ht_uo") = heat_transfer_uo_name;
333  getTHMProblem().addBoundaryCondition(class_name, genName(name(), "heat_flux_bc"), params);
334  }
335 }
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.
unsigned int _num_layers
Number of layers in the flow channel direction.
VariableName _T_wall_name
wall temperature name
static const std::string TEMPERATURE
THMProblem & getTHMProblem() const
Gets the THM problem.
Definition: Component.C:135
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
virtual void addAuxKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
virtual void addKernel(const std::string &kernel_name, const std::string &name, InputParameters &parameters)
MaterialPropertyName _Hw_1phase_name
1-phase wall heat transfer coefficient name
const std::vector< std::string > & _flow_channel_names
name of the connected flow channel
virtual void addBoundaryCondition(const std::string &bc_name, const std::string &name, InputParameters &parameters)
ExecFlagEnum getDefaultExecFlagEnum()
VariableName _P_hf_name
heated perimeter name
const std::string & name() const
Single-component, single-phase flow channel.
static const std::string TEMPERATURE
virtual void addMooseObjects() override
MooseEnum _layered_average_uo_direction
Direction for layered average user objects.
const ExecFlagType EXEC_LINEAR
std::vector< std::shared_ptr< ClosuresBase > > _flow_channel_closures
Closures associated with each flow channel.
const ExecFlagType EXEC_NONLINEAR
Factory & _factory
The Factory associated with the MooseApp.
Definition: Component.h:497
virtual std::vector< std::shared_ptr< UserObject > > addUserObject(const std::string &user_object_name, const std::string &name, InputParameters &parameters)
MeshAlignment1D3D _mesh_alignment
Mesh alignment object.
const BoundaryName & _boundary
Boundary names for which the boundary component applies.
static const std::string RHOEA
std::vector< SubdomainName > _flow_channel_subdomains
Subdomains corresponding to the connected flow channel.
Builds mapping between a 1D subdomain and a 3D boundary.
const ExecFlagType EXEC_INITIAL

◆ addMultiPostprocessorConvergence()

void Component::addMultiPostprocessorConvergence ( const std::vector< PostprocessorName > &  postprocessors,
const std::vector< std::string > &  descriptions,
const std::vector< Real > &  tolerances 
)
protectedinherited

Adds a MultiPostprocessorConvergence for nonlinear convergence for the component.

Parameters
[in]postprocessorsPostprocessors to compare
[in]descriptionsDescription of each Postprocessor
[in]tolerancesTolerance for each check

Definition at line 269 of file Component.C.

Referenced by FlowChannel1Phase::addMooseObjects(), and HeatStructureBase::addMooseObjects().

272 {
273  const std::string class_name = "MultiPostprocessorConvergence";
274  InputParameters params = _factory.getValidParams(class_name);
275  params.set<std::vector<PostprocessorName>>("postprocessors") = postprocessors;
276  params.set<std::vector<std::string>>("descriptions") = descriptions;
277  params.set<std::vector<Real>>("tolerances") = tolerances;
278  params.set<unsigned int>("min_iterations") = 1;
279  params.set<unsigned int>("max_iterations") = std::numeric_limits<unsigned int>::max();
280  getTHMProblem().addConvergence(class_name, nonlinearConvergenceName(), params);
281 }
THMProblem & getTHMProblem() const
Gets the THM problem.
Definition: Component.C:135
T & set(const std::string &name, bool quiet_mode=false)
InputParameters getValidParams(const std::string &name) const
virtual void addConvergence(const std::string &type, const std::string &name, InputParameters &parameters)
std::string nonlinearConvergenceName() const
Nonlinear Convergence name.
Definition: Component.h:486
Factory & _factory
The Factory associated with the MooseApp.
Definition: Component.h:497

◆ addNode()

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

Definition at line 203 of file Component.C.

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

204 {
205  auto node = mesh().addNode(pt);
206  _node_ids.push_back(node->id());
207  return node;
208 }
std::vector< dof_id_type > _node_ids
Node IDs of this component.
Definition: Component.h:506
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 211 of file Component.C.

Referenced by VolumeJunction1Phase::setupMesh().

212 {
213  auto elem = mesh().addNodeElement(node);
214  _elem_ids.push_back(elem->id());
215  return elem;
216 }
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:508
THMMesh & mesh()
Non-const reference to THM mesh, which can only be called before the end of mesh setup.
Definition: Component.C:60

◆ addNonlinearStepFunctorMaterial()

void Component::addNonlinearStepFunctorMaterial ( const std::string &  functor_name,
const std::string &  property,
bool  functor_is_ad 
)
protectedinherited

Adds a functor material to compute the absolute value of the change (step) of some functor between nonlinear iterations.

Parameters
[in]functor_nameFunctor for which to compute step
[in]propertyName of new step functor material property
[in]functor_is_adIs the functor for which to compute the step AD?

Definition at line 236 of file Component.C.

Referenced by FlowChannel1Phase::addMooseObjects(), and HeatStructureBase::addMooseObjects().

239 {
240  const std::string class_name =
241  functor_is_ad ? "ADFunctorChangeFunctorMaterial" : "FunctorChangeFunctorMaterial";
242  InputParameters params = _factory.getValidParams(class_name);
243  params.set<std::vector<SubdomainName>>("block") = getSubdomainNames();
244  params.set<MooseFunctorName>("functor") = functor_name;
245  params.set<MooseEnum>("change_over") = "nonlinear";
246  params.set<std::string>("prop_name") = property;
247  params.set<bool>("take_absolute_value") = true;
248  getTHMProblem().addFunctorMaterial(class_name, genName(name(), property + "_fmat"), params);
249 }
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)
InputParameters getValidParams(const std::string &name) const
virtual void addFunctorMaterial(const std::string &functor_material_name, const std::string &name, InputParameters &parameters)
const std::string & name() const
Factory & _factory
The Factory associated with the MooseApp.
Definition: Component.h:497
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345

◆ addRelationshipManagers()

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

Adds relationship managers for the component.

Reimplemented in FileMeshPhysicsComponent.

Definition at line 111 of file Component.h.

111 {}

◆ 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 148 of file Component.C.

Referenced by FileMeshPhysicsComponent::addRelationshipManagers().

149 {
150  const auto & buildable_types = moose_object_pars.getBuildableRelationshipManagerTypes();
151 
152  for (const auto & buildable_type : buildable_types)
153  {
154  auto & rm_name = std::get<0>(buildable_type);
155  auto & rm_type = std::get<1>(buildable_type);
156  auto rm_input_parameter_func = std::get<2>(buildable_type);
157 
158  addRelationshipManager(moose_object_pars, rm_name, rm_type, rm_input_parameter_func);
159  }
160 }
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:163

◆ addVariables()

void HeatTransferFromHeatStructure3D1Phase::addVariables ( )
overridevirtual

Reimplemented from HeatTransferFromTemperature1Phase.

Definition at line 236 of file HeatTransferFromHeatStructure3D1Phase.C.

237 {
239  false, _P_hf_name, getTHMProblem().getFlowFEType(), _flow_channel_subdomains);
240 
241  _P_hf_fn_name = getParam<FunctionName>("P_hf");
242 
243  if (!_app.isRestarting())
245 
248  libMesh::FEType(CONSTANT, MONOMIAL),
251  false, _T_wall_name, libMesh::FEType(CONSTANT, MONOMIAL), _flow_channel_subdomains);
252 
253  // wall temperature initial condition
254  if (!getTHMProblem().hasInitialConditionsFromFile() && !_app.isRestarting())
255  {
256  const HeatStructureFromFile3D & hs = getComponentByName<HeatStructureFromFile3D>(_hs_name);
258  }
259 }
VariableName _T_wall_name
wall temperature name
THMProblem & getTHMProblem() const
Gets the THM problem.
Definition: Component.C:135
Heat structure component that loads the mesh from an ExodusII file.
FunctionName getInitialT() const
Gets the initial temperature function name.
bool isRestarting() 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
static const std::string TEMPERATURE_WALL
Definition: FlowModel.h:108
MooseApp & _app
FunctionName _P_hf_fn_name
heated perimeter function name
std::vector< SubdomainName > _flow_channel_subdomains
Subdomains corresponding to the connected flow channel.
const std::string & _hs_name
Heat structure name.

◆ check()

void HeatTransferFromHeatStructure3D1Phase::check ( ) const
overrideprotectedvirtual

Check the component integrity.

Reimplemented from HeatTransfer1PhaseBase.

Definition at line 214 of file HeatTransferFromHeatStructure3D1Phase.C.

215 {
217 
218  for (unsigned int i = 0; i < _flow_channel_closures.size(); i++)
219  {
220  auto & clsr = _flow_channel_closures[i];
221  if (clsr != nullptr && hasComponentByName<FlowChannel1Phase>(_flow_channel_names[i]))
222  clsr->checkHeatTransfer(*this, getComponentByName<FlowChannel1Phase>(_flow_channel_names[i]));
223  }
224 
225  if (hasComponentByName<HeatStructureFromFile3D>(_hs_name))
226  {
227  const auto & hs = getComponentByName<HeatStructureFromFile3D>(_hs_name);
228  if (!hs.hasBoundary(_boundary))
229  logError("The boundary '", _boundary, "' does not exist on the component '", _hs_name, "'.");
230  }
231  else
232  logError("The component '", _hs_name, "' is not a HeatStructureFromFile3D component.");
233 }
const std::vector< std::string > & _flow_channel_names
name of the connected flow channel
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:226
virtual void check() const
Check the component integrity.
Definition: Component.h:416
std::vector< std::shared_ptr< ClosuresBase > > _flow_channel_closures
Closures associated with each flow channel.
const BoundaryName & _boundary
Boundary names for which the boundary component applies.
const std::string & _hs_name
Heat structure name.

◆ 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 141 of file Component.C.

142 {
143  if (!_sim.hasComponent(comp_name))
144  logError("The component '", comp_name, "' does not exist");
145 }
THMProblem & _sim
THM problem this component is part of TODO: make _sim private (applications need to switch to getters...
Definition: Component.h:494
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:226
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 636 of file Component.h.

637 {
638  insistParameterExists<std::string>(__FUNCTION__, param);
639 
640  const std::string & comp_name = getParam<std::string>(param);
641  checkComponentOfTypeExistsByName<T>(comp_name);
642 }

◆ 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 646 of file Component.h.

647 {
648  if (!_sim.hasComponentOfType<T>(comp_name))
649  {
650  if (_sim.hasComponent(comp_name))
651  logError("The component '", comp_name, "' is not of type '", demangle(typeid(T).name()), "'");
652  else
653  logError("The component '", comp_name, "' does not exist");
654  }
655 }
THMProblem & _sim
THM problem this component is part of TODO: make _sim private (applications need to switch to getters...
Definition: Component.h:494
const double T
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:226
bool hasComponent(const std::string &name) const
Find out if simulation has a component with the given name.
Definition: Simulation.C:1002
const std::string & name() const
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
inherited

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 702 of file Component.h.

703 {
704  insistParameterExists<std::vector<T1>>(__FUNCTION__, param1);
705  insistParameterExists<std::vector<T2>>(__FUNCTION__, param2);
706 
707  const auto & value1 = getParam<std::vector<T1>>(param1);
708  const auto & value2 = getParam<std::vector<T2>>(param2);
709  if (value1.size() != value2.size())
710  logError("The number of entries in parameter '",
711  param1,
712  "' (",
713  value1.size(),
714  ") must equal the number of entries of parameter '",
715  param2,
716  "' (",
717  value2.size(),
718  ")");
719 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:226

◆ checkMutuallyExclusiveParameters()

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

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 284 of file Component.C.

286 {
287  unsigned int n_provided_params = 0;
288  for (const auto & param : params)
289  if (isParamValid(param))
290  n_provided_params++;
291 
292  if (n_provided_params != 1)
293  {
294  std::string params_list_string = "{'" + params[0] + "'";
295  for (unsigned int i = 1; i < params.size(); ++i)
296  params_list_string += ", '" + params[i] + "'";
297  params_list_string += "}";
298 
299  if (n_provided_params == 0 && need_one_specified)
300  logError("One of the parameters ", params_list_string, " must be provided");
301 
302  if (n_provided_params != 0)
303  logError("Only one of the parameters ", params_list_string, " can be provided");
304  }
305 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:226
bool isParamValid(const std::string &name) const

◆ checkParameterValueLessThan()

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

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 659 of file Component.h.

660 {
661  insistParameterExists<T>(__FUNCTION__, param);
662 
663  const auto & value = getParam<T>(param);
664  if (value >= value_max)
665  logError("The value of parameter '", param, "' (", value, ") must be less than ", value_max);
666 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:226
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(), HeatTransfer1PhaseBase::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:309
MPI_Status status
const std::string & name() const
EComponentSetupStatus _component_setup_status
Component setup status.
Definition: Component.h:539
void mooseError(Args &&... args) const

◆ checkSizeEqualsParameterValue()

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

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 760 of file Component.h.

762 {
763  insistParameterExists<std::vector<T1>>(__FUNCTION__, param1);
764  insistParameterExists<T2>(__FUNCTION__, param2);
765 
766  const auto & value1 = getParam<std::vector<T1>>(param1);
767  const auto & value2 = getParam<T2>(param2);
768  if (value1.size() != value2)
769  logError("The number of entries in parameter '",
770  param1,
771  "' (",
772  value1.size(),
773  ") must be equal to the value of parameter '",
774  param2,
775  "' (",
776  value2,
777  ")");
778 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:226

◆ checkSizeEqualsValue() [1/2]

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

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 723 of file Component.h.

724 {
725  insistParameterExists<std::vector<T>>(__FUNCTION__, param);
726 
727  const auto & param_value = getParam<std::vector<T>>(param);
728  if (param_value.size() != n_entries)
729  logError("The number of entries in parameter '",
730  param,
731  "' (",
732  param_value.size(),
733  ") must be equal to ",
734  n_entries);
735 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:226

◆ checkSizeEqualsValue() [2/2]

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

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 739 of file Component.h.

742 {
743  insistParameterExists<std::vector<T>>(__FUNCTION__, param);
744 
745  const auto & param_value = getParam<std::vector<T>>(param);
746  if (param_value.size() != n_entries)
747  logError("The number of entries in parameter '",
748  param,
749  "' (",
750  param_value.size(),
751  ") must be equal to ",
752  description,
753  " (",
754  n_entries,
755  ")");
756 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:226

◆ checkSizeGreaterThan()

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

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 686 of file Component.h.

687 {
688  insistParameterExists<std::vector<T>>(__FUNCTION__, param);
689 
690  const auto & value = getParam<std::vector<T>>(param);
691  if (value.size() <= n_entries)
692  logError("The number of entries in the parameter '",
693  param,
694  "' (",
695  value.size(),
696  ") must be greater than ",
697  n_entries);
698 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:226
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
inherited

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 670 of file Component.h.

671 {
672  insistParameterExists<std::vector<T>>(__FUNCTION__, param);
673 
674  const auto & value = getParam<std::vector<T>>(param);
675  if (value.size() >= n_entries)
676  logError("The number of entries in the parameter '",
677  param,
678  "' (",
679  value.size(),
680  ") must be less than ",
681  n_entries);
682 }
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:226
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:489
const std::string & name() const

◆ connectObject() [1/2]

void Component::connectObject ( const InputParameters obj_params,
const std::string &  obj_name,
const std::string &  param 
) const
inherited

Connects a controllable parameter of the component to a controllable parameter of a constituent object.

This version assumes that the component and object have the same control parameter name.

Parameters
[in]obj_paramsConstituent object input parameters object
[in]obj_nameConstituent object name
[in]paramControllable parameter name (same in both component and constituent object)

Definition at line 98 of file Component.C.

Referenced by HeatSourceFromTotalPower::addMooseObjects(), InletStagnationPressureTemperature1Phase::addMooseObjects(), Outlet1Phase::addMooseObjects(), InletDensityVelocity1Phase::addMooseObjects(), InletVelocityTemperature1Phase::addMooseObjects(), InletMassFlowRateTemperature1Phase::addMooseObjects(), GateValve1Phase::addMooseObjects(), TotalPower::addMooseObjects(), SimpleTurbine1Phase::addMooseObjects(), Closures1PhaseTHM::addWallFFMaterial(), Pump1Phase::buildVolumeJunctionUserObject(), JunctionParallelChannels1Phase::buildVolumeJunctionUserObject(), SimpleTurbine1Phase::buildVolumeJunctionUserObject(), ShaftConnectedCompressor1Phase::buildVolumeJunctionUserObject(), ShaftConnectedTurbine1Phase::buildVolumeJunctionUserObject(), ShaftConnectedPump1Phase::buildVolumeJunctionUserObject(), VolumeJunction1Phase::buildVolumeJunctionUserObject(), GeometricalComponent::getVariableFn(), and FlowModel::getVariableFn().

101 {
102  connectObject(obj_params, obj_name, param, param);
103 }
void connectObject(const InputParameters &obj_params, const std::string &obj_name, const std::string &param) const
Connects a controllable parameter of the component to a controllable parameter of a constituent objec...
Definition: Component.C:98

◆ connectObject() [2/2]

void Component::connectObject ( const InputParameters obj_params,
const std::string &  obj_name,
const std::string &  comp_param,
const std::string &  obj_param 
) const
inherited

Connects a controllable parameter of the component to a controllable parameter of a constituent object.

This is achieved by creating a "controllable parameter alias".

Parameters
[in]obj_paramsConstituent object input parameters object
[in]obj_nameConstituent object name
[in]comp_paramControllable component parameter
[in]obj_paramConstituent object parameter

Definition at line 106 of file Component.C.

110 {
111  MooseObjectParameterName alias("component", this->name(), comp_param, "::");
112  MooseObjectParameterName obj_controlled_param(obj_params.getBase(), obj_name, obj_param);
113  _app.getInputParameterWarehouse().addControllableParameterAlias(alias, obj_controlled_param);
114 }
InputParameterWarehouse & getInputParameterWarehouse()
const std::string & getBase() const
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 63 of file Component.h.

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

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

◆ 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:416
EComponentSetupStatus _component_setup_status
Component setup status.
Definition: Component.h:539
mesh set up, called both inits, checked
Definition: Component.h:43

◆ 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:41
virtual void init()
Initializes the component.
Definition: Component.h:405
EComponentSetupStatus _component_setup_status
Component setup status.
Definition: Component.h:539

◆ 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:42
virtual void initSecondary()
Perform secondary initialization, which relies on init() being called for all components.
Definition: Component.h:411
EComponentSetupStatus _component_setup_status
Component setup status.
Definition: Component.h:539

◆ 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:421
EComponentSetupStatus _component_setup_status
Component setup status.
Definition: Component.h:539

◆ 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(), FlowModel1PhaseBase::addDensityAux(), FlowModelGasMix::addDensityIC(), FlowModelSinglePhase::addDensityIC(), FlowModel1PhaseBase::addEnergyGravityKernel(), FlowChannel1Phase::addFlowChannel1PhaseFunctorMaterial(), FlowModelSinglePhase::addFluidPropertiesMaterials(), FlowModelGasMix::addFluidPropertiesMaterials(), VolumeJunctionCoupledFlux1Phase::addFluxTransfer(), FlowModel1PhaseBase::addFunctionIC(), Simulation::addFunctionIC(), FlowModel1PhaseBase::addHeatConductionDGKernel(), HeatTransferBase::addHeatedPerimeter(), HeatConductionModel::addHeatEquationRZ(), HeatConductionModel::addHeatEquationXYZ(), HeatTransferFromTemperature1Phase::addHeatTransferKernels(), FlowChannel1PhaseBase::addHydraulicDiameterMaterial(), FlowModelGasMix::addMassDiffusionEnergyDGKernel(), FlowModelGasMix::addMassDiffusionSpeciesDGKernel(), FlowModelGasMix::addMassFractionAux(), FlowModel1PhaseBase::addMomentumAreaGradientKernel(), FlowModel1PhaseBase::addMomentumFrictionKernel(), FlowModel1PhaseBase::addMomentumGravityKernel(), HeatSourceFromPowerDensity::addMooseObjects(), HeatSourceFromTotalPower::addMooseObjects(), HeatStructure2DCoupler::addMooseObjects(), HeatStructure2DRadiationCouplerRZ::addMooseObjects(), HeatTransferFromHeatFlux1Phase::addMooseObjects(), HSBoundaryAmbientConvection::addMooseObjects(), HSBoundaryHeatFlux::addMooseObjects(), HSBoundaryRadiation::addMooseObjects(), HSBoundarySpecifiedTemperature::addMooseObjects(), InletVelocityTemperature1Phase::addMooseObjects(), FormLossFromFunction1Phase::addMooseObjects(), VolumeJunction1Phase::addMooseObjects(), FormLossFromExternalApp1Phase::addMooseObjects(), GateValve1Phase::addMooseObjects(), HeatSourceVolumetric1Phase::addMooseObjects(), HeatTransferFromSpecifiedTemperature1Phase::addMooseObjects(), HSBoundaryExternalAppTemperature::addMooseObjects(), Shaft::addMooseObjects(), TotalPower::addMooseObjects(), FlowChannel1Phase::addMooseObjects(), FormLoss1PhaseBase::addMooseObjects(), HeatTransferFromExternalAppHeatFlux1Phase::addMooseObjects(), HSBoundaryExternalAppConvection::addMooseObjects(), ShaftConnectedCompressor1Phase::addMooseObjects(), ShaftConnectedTurbine1Phase::addMooseObjects(), ShaftConnectedPump1Phase::addMooseObjects(), HeatTransferBase::addMooseObjects(), SimpleTurbine1Phase::addMooseObjects(), HSCoupler2D3D::addMooseObjects(), addMooseObjects(), HSCoupler2D2DRadiation::addMooseObjects(), HeatTransferFromHeatStructure1Phase::addMooseObjects(), HSBoundaryExternalAppHeatFlux::addMooseObjects(), JunctionOneToOne1Phase::addMooseObjects(), FlowChannelBase::addMooseObjects(), FunctorClosures::addMooseObjectsFlowChannel(), Closures1PhaseSimple::addMooseObjectsHeatTransfer(), Component::addNonlinearStepFunctorMaterial(), FlowChannel1Phase::addNormalized1PhaseResidualNorm(), FlowModelSinglePhase::addPassiveTransportIC(), FlowModelSinglePhase::addPressureAux(), FlowModelGasMix::addPressureAux(), VolumeJunctionCoupledFlux1Phase::addPropertyTransfer(), FlowModelSinglePhase::addRDGAdvectionDGKernels(), FlowModelGasMix::addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelGasMix::addRhoEAIC(), FlowModelSinglePhase::addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), FlowModelSinglePhase::addSlopeReconstructionMaterial(), FlowModelGasMix::addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), FlowModelSinglePhase::addTemperatureAux(), FlowModelGasMix::addTemperatureAux(), FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient(), FlowChannelBase::addVariables(), FlowModel1PhaseBase::addVelocityAux(), FlowModel1PhaseBase::addVelocityIC(), VolumeJunction1Phase::addVolumeJunctionIC(), VolumeJunctionCoupledFlux1Phase::addVolumeJunctionKernel(), Closures1PhaseTHM::addWallFFMaterial(), Closures1PhaseBase::addWallFrictionFunctionMaterial(), Closures1PhaseTHM::addWallHTCMaterial(), ClosuresBase::addWallTemperatureFromAuxMaterial(), Closures1PhaseSimple::addWallTemperatureFromHeatFluxMaterial(), FlowBoundary1Phase::addWeakBCs(), FlowBoundaryGasMix::addWeakBCs(), ClosuresBase::addWeightedAverageMaterial(), FlowModelGasMix::addXiRhoAIC(), ClosuresBase::addZeroMaterial(), Component2D::buildMesh(), FileMeshComponent::buildMesh(), Component1D::buildMesh(), HeatSourceBase::HeatSourceBase(), Component::nonlinearConvergenceName(), 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:21

◆ 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 557 of file Component.h.

558 {
559  const std::string & comp_name = getParam<std::string>(pname);
560  return getComponentByName<T>(comp_name);
561 }

◆ 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 565 of file Component.h.

566 {
567  return _sim.getComponentByName<T>(comp_name);
568 }
THMProblem & _sim
THM problem this component is part of TODO: make _sim private (applications need to switch to getters...
Definition: Component.h:494
const double T
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 353 of file Component.C.

354 {
356 
357  return _coord_sys;
358 }
std::vector< Moose::CoordinateSystemType > _coord_sys
List of coordinate system for each subdomain.
Definition: Component.h:515
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 86 of file Component.h.

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

◆ getElementIDs()

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

Gets the element IDs corresponding to this component.

Definition at line 337 of file Component.C.

Referenced by setupMesh().

338 {
340 
341  return _elem_ids;
342 }
std::vector< dof_id_type > _elem_ids
Element IDs of this component.
Definition: Component.h:508
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,
bool  log_error = true 
) 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
[in]log_errorIf true, log an error if the valid is invalid

Definition at line 590 of file Component.h.

591 {
592  const MooseEnum & moose_enum = getParam<MooseEnum>(param);
593  const T value = THM::stringToEnum<T>(moose_enum);
594  if (log_error && static_cast<int>(value) < 0) // cast necessary for scoped enums
595  {
596  // Get the keys from the MooseEnum. Unfortunately, this returns a list of
597  // *all* keys, including the invalid key that was supplied. Thus, that key
598  // needs to be manually excluded below.
599  const std::vector<std::string> & keys = moose_enum.getNames();
600 
601  // Create the string of keys to go in the error message. The last element of
602  // keys is skipped because the invalid key should always be last.
603  std::string keys_string = "{";
604  for (unsigned int i = 0; i < keys.size() - 1; ++i)
605  {
606  if (i != 0)
607  keys_string += ",";
608  keys_string += "'" + keys[i] + "'";
609  }
610  keys_string += "}";
611 
612  logError("The parameter '" + param + "' was given an invalid value ('" +
613  std::string(moose_enum) + "'). Valid values (case-insensitive) are " + keys_string);
614  }
615 
616  return value;
617 }
const double T
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:226
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
std::vector< std::string > getNames() const

◆ getFEType()

const libMesh::FEType & HeatTransferFromHeatStructure3D1Phase::getFEType ( )
overrideprotectedvirtual

Get the FE type for wall temperature variable.

Reimplemented from HeatTransferFromTemperature1Phase.

Definition at line 55 of file HeatTransferFromHeatStructure3D1Phase.C.

56 {
58 }
static const libMesh::FEType & feType()
Get the FE type used for heat conduction.

◆ getFlowChannelAxisAlignment()

HeatTransferFromHeatStructure3D1Phase::EAxisAlignment HeatTransferFromHeatStructure3D1Phase::getFlowChannelAxisAlignment ( const std::string &  flow_channel_name) const
protectedvirtual

Definition at line 97 of file HeatTransferFromHeatStructure3D1Phase.C.

Referenced by init().

99 {
100  const FlowChannel1Phase & flow_channel = getComponentByName<FlowChannel1Phase>(flow_channel_name);
101  RealVectorValue direction = flow_channel.getDirection().unit();
102  Real x_dir_norm = std::abs(direction * RealVectorValue(1, 0, 0));
103  Real y_dir_norm = std::abs(direction * RealVectorValue(0, 1, 0));
104  Real z_dir_norm = std::abs(direction * RealVectorValue(0, 0, 1));
105  if (x_dir_norm == 1 && y_dir_norm == 0 && z_dir_norm == 0)
106  return EAxisAlignment::X;
107  else if (x_dir_norm == 0 && y_dir_norm == 1 && z_dir_norm == 0)
108  return EAxisAlignment::Y;
109  else if (x_dir_norm == 0 && y_dir_norm == 0 && z_dir_norm == 1)
110  return EAxisAlignment::Z;
111  else
112  {
113  logError(
114  "The flow channel '", flow_channel_name, "' must be aligned with the x-, y-, or z- axis.");
115  return EAxisAlignment::INVALID;
116  }
117 }
virtual RealVectorValue getDirection() const
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:226
TypeVector< Real > unit() const
Single-component, single-phase flow channel.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ getFlowChannelName()

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

Get the name of the connected flow channel.

Definition at line 77 of file HeatTransferBase.h.

77 { 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 67 of file HeatTransferBase.h.

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

◆ getFluidPropertiesName()

const UserObjectName & HeatTransferBase::getFluidPropertiesName ( ) const
inherited

Definition at line 173 of file HeatTransferBase.C.

174 {
176 
177  return _fp_name;
178 }
mesh set up, called primary init
Definition: Component.h:41
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 143 of file HeatTransferBase.C.

Referenced by FlowChannelBase::getHeatTransferVariableNames().

144 {
146 
147  return _P_hf_name;
148 }
VariableName _P_hf_name
heated perimeter name
mesh set up, called both inits
Definition: Component.h:42
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 329 of file Component.C.

330 {
332 
333  return _node_ids;
334 }
std::vector< dof_id_type > _node_ids
Node IDs of this component.
Definition: Component.h:506
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

◆ getNonlinearConvergence()

virtual Convergence* HeatTransferBase::getNonlinearConvergence ( ) const
inlineoverridevirtualinherited

Gets the Component's nonlinear Convergence object if it has one.

Reimplemented from Component.

Definition at line 26 of file HeatTransferBase.h.

26 { return nullptr; }

◆ 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 345 of file Component.C.

Referenced by Closures1PhaseBase::addAverageWallTemperatureMaterial(), FlowModel::addCommonInitialConditions(), FlowModel::addCommonMooseObjects(), FlowChannelBase::addCommonObjects(), FlowModel::addCommonVariables(), HeatStructureBase::addConstantDensitySolidPropertiesMaterial(), FlowModel1PhaseBase::addDensityAux(), FlowModelGasMix::addDensityIC(), FlowModelSinglePhase::addDensityIC(), FlowModel1PhaseBase::addEnergyGravityKernel(), FlowChannel1Phase::addFlowChannel1PhaseFunctorMaterial(), FlowModelSinglePhase::addFluidPropertiesMaterials(), FlowModelGasMix::addFluidPropertiesMaterials(), FlowModel1PhaseBase::addFunctionIC(), FlowModel1PhaseBase::addHeatConductionDGKernel(), HeatConductionModel::addHeatEquationRZ(), HeatConductionModel::addHeatEquationXYZ(), FlowChannel1PhaseBase::addHydraulicDiameterMaterial(), HeatConductionModel::addInitialConditions(), VolumeJunction1Phase::addJunctionIC(), VolumeJunction1Phase::addJunctionVariable(), FlowModelGasMix::addMassDiffusionEnergyDGKernel(), FlowModelGasMix::addMassDiffusionSpeciesDGKernel(), FlowModelGasMix::addMassFractionAux(), FlowModel1PhaseBase::addMomentumAreaGradientKernel(), FlowModel1PhaseBase::addMomentumFrictionKernel(), FlowModel1PhaseBase::addMomentumGravityKernel(), HeatSourceVolumetric1Phase::addMooseObjects(), VolumeJunction1Phase::addMooseObjects(), ShaftConnectedCompressor1Phase::addMooseObjects(), ShaftConnectedPump1Phase::addMooseObjects(), ShaftConnectedTurbine1Phase::addMooseObjects(), FlowChannel1Phase::addMooseObjects(), HeatStructureBase::addMooseObjects(), SimpleTurbine1Phase::addMooseObjects(), HeatTransferFromHeatStructure1Phase::addMooseObjects(), FlowChannelBase::addMooseObjects(), FunctorClosures::addMooseObjectsFlowChannel(), Closures1PhaseSimple::addMooseObjectsHeatTransfer(), Component::addNonlinearStepFunctorMaterial(), FlowChannel1Phase::addNormalized1PhaseResidualNorm(), FlowChannel1Phase::addNumericalFluxVectorPostprocessor(), FlowModelSinglePhase::addPassiveTransportIC(), FlowModelSinglePhase::addPressureAux(), FlowModelGasMix::addPressureAux(), FlowModelSinglePhase::addRDGAdvectionDGKernels(), FlowModelGasMix::addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelGasMix::addRhoEAIC(), FlowModelSinglePhase::addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), FlowModelSinglePhase::addSlopeReconstructionMaterial(), FlowModelGasMix::addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), FlowModelSinglePhase::addTemperatureAux(), FlowModelGasMix::addTemperatureAux(), FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient(), HSBoundaryExternalAppTemperature::addVariables(), HSBoundaryExternalAppConvection::addVariables(), FlowModel1PhaseBase::addVariables(), FlowModelGasMix::addVariables(), FlowModelSinglePhase::addVariables(), HSBoundaryExternalAppHeatFlux::addVariables(), HeatConductionModel::addVariables(), FlowChannelBase::addVariables(), FlowModel1PhaseBase::addVelocityAux(), FlowModel1PhaseBase::addVelocityIC(), VolumeJunction1Phase::addVolumeJunctionIC(), Closures1PhaseTHM::addWallFFMaterial(), Closures1PhaseBase::addWallFrictionFunctionMaterial(), Closures1PhaseTHM::addWallHTCMaterial(), ClosuresBase::addWallTemperatureFromAuxMaterial(), Closures1PhaseSimple::addWallTemperatureFromHeatFluxMaterial(), ClosuresBase::addWeightedAverageMaterial(), FlowModelGasMix::addXiRhoAIC(), ClosuresBase::addZeroMaterial(), FileMeshPhysicsComponent::getBlocks(), FormLoss1PhaseBase::init(), FileMeshPhysicsComponent::init(), init(), HeatTransferBase::init(), and Component1DConnection::init().

346 {
348 
349  return _subdomain_names;
350 }
std::vector< SubdomainName > _subdomain_names
List of subdomain names this components owns.
Definition: Component.h:513
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 HeatStructureBase::addAverageElementSizePostprocessor(), FlowChannelBase::addCommonObjects(), HeatStructureBase::addConstantDensitySolidPropertiesMaterial(), FlowChannel1Phase::addFlowChannel1PhaseFunctorMaterial(), VolumeJunctionCoupledFlux1Phase::addFluxPostprocessor(), VolumeJunctionCoupledFlux1Phase::addFluxTransfer(), HeatTransferBase::addHeatedPerimeter(), HeatTransferFromTemperature1Phase::addHeatTransferKernels(), FlowChannel1PhaseBase::addHydraulicDiameterMaterial(), VolumeJunction1Phase::addJunctionIC(), VolumeJunction1Phase::addJunctionVariable(), Component::addMaximumFunctorPostprocessor(), HeatTransferFromHeatFlux1Phase::addMooseObjects(), HSBoundaryHeatFlux::addMooseObjects(), HeatStructure2DRadiationCouplerRZ::addMooseObjects(), HeatSourceFromTotalPower::addMooseObjects(), HeatStructure2DCoupler::addMooseObjects(), SolidWall1Phase::addMooseObjects(), HSBoundarySpecifiedTemperature::addMooseObjects(), InletStagnationPressureTemperature1Phase::addMooseObjects(), FormLossFromFunction1Phase::addMooseObjects(), InletMassFlowRateTemperature1Phase::addMooseObjects(), Outlet1Phase::addMooseObjects(), InletFunction1Phase::addMooseObjects(), InletVelocityTemperature1Phase::addMooseObjects(), HSBoundaryAmbientConvection::addMooseObjects(), HeatSourceFromPowerDensity::addMooseObjects(), HSBoundaryRadiation::addMooseObjects(), InletDensityVelocity1Phase::addMooseObjects(), Shaft::addMooseObjects(), TotalPower::addMooseObjects(), FormLossFromExternalApp1Phase::addMooseObjects(), VolumeJunction1Phase::addMooseObjects(), HeatTransferFromSpecifiedTemperature1Phase::addMooseObjects(), FreeBoundary1Phase::addMooseObjects(), GateValve1Phase::addMooseObjects(), HSBoundaryExternalAppTemperature::addMooseObjects(), HeatSourceVolumetric1Phase::addMooseObjects(), ShaftConnectedCompressor1Phase::addMooseObjects(), ShaftConnectedMotor::addMooseObjects(), ShaftConnectedPump1Phase::addMooseObjects(), ShaftConnectedTurbine1Phase::addMooseObjects(), HeatTransferFromExternalAppHeatFlux1Phase::addMooseObjects(), SolidWallGasMix::addMooseObjects(), FormLoss1PhaseBase::addMooseObjects(), HSBoundaryExternalAppConvection::addMooseObjects(), HSCoupler2D2DRadiation::addMooseObjects(), HSCoupler2D3D::addMooseObjects(), HeatTransferBase::addMooseObjects(), SimpleTurbine1Phase::addMooseObjects(), addMooseObjects(), HeatTransferFromHeatStructure1Phase::addMooseObjects(), HSBoundaryExternalAppHeatFlux::addMooseObjects(), JunctionOneToOne1Phase::addMooseObjects(), FlowChannelBase::addMooseObjects(), Component::addMultiPostprocessorConvergence(), Component::addNonlinearStepFunctorMaterial(), FlowChannel1Phase::addNormalized1PhaseResidualNorm(), FlowChannel1Phase::addNumericalFluxVectorPostprocessor(), VolumeJunctionCoupledFlux1Phase::addPropertyPostprocessor(), VolumeJunctionCoupledFlux1Phase::addPropertyTransfer(), HeatStructureBase::addResidualNormPostprocessor(), HeatTransferFromSpecifiedTemperature1Phase::addVariables(), HeatTransferFromTemperature1Phase::addVariables(), HSBoundaryExternalAppTemperature::addVariables(), HeatTransferFromExternalAppTemperature1Phase::addVariables(), Shaft::addVariables(), TotalPower::addVariables(), TotalPowerBase::addVariables(), FormLossFromExternalApp1Phase::addVariables(), HeatTransferFromExternalAppHeatFlux1Phase::addVariables(), HSBoundaryExternalAppConvection::addVariables(), addVariables(), HeatTransferFromHeatStructure1Phase::addVariables(), HSBoundaryExternalAppHeatFlux::addVariables(), FlowChannelBase::addVariables(), VolumeJunction1Phase::addVolumeJunctionIC(), VolumeJunctionCoupledFlux1Phase::addVolumeJunctionKernel(), FlowBoundary1Phase::addWeakBCs(), FlowBoundaryGasMix::addWeakBCs(), FlowChannel1PhaseBase::buildFlowModel(), HeatStructureInterface::buildModel(), Pump1Phase::buildVolumeJunctionUserObject(), JunctionParallelChannels1Phase::buildVolumeJunctionUserObject(), SimpleTurbine1Phase::buildVolumeJunctionUserObject(), ShaftConnectedPump1Phase::buildVolumeJunctionUserObject(), ShaftConnectedCompressor1Phase::buildVolumeJunctionUserObject(), ShaftConnectedTurbine1Phase::buildVolumeJunctionUserObject(), VolumeJunction1Phase::buildVolumeJunctionUserObject(), Shaft::check(), VolumeJunction1Phase::check(), FlowChannel1PhaseBase::check(), HeatStructureInterface::check(), FlowChannelGasMix::checkFluidProperties(), FlowChannel1Phase::checkFluidProperties(), FlowChannel1Phase::getNonlinearConvergence(), HeatStructureBase::getNonlinearConvergence(), GeometricalComponent::getVariableFn(), FlowJunction1Phase::init(), FlowBoundary1PhaseBase::init(), FlowJunction::init(), FlowBoundary::init(), Component1DConnection::init(), FlowChannelBase::init(), Component::problemIsTransient(), HeatStructure2DCouplerBase::setupMesh(), GateValve1Phase::setupMesh(), HSCoupler2D2DRadiation::setupMesh(), HSCoupler2D3D::setupMesh(), HeatTransferFromHeatStructure1Phase::setupMesh(), JunctionOneToOne1Phase::setupMesh(), setupMesh(), and VolumeJunction1Phase::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:494

◆ getWallHeatFluxName()

const MaterialPropertyName & HeatTransferBase::getWallHeatFluxName ( ) const
inherited

Returns wall heat flux name.

Returns
The name of wall heat flux material property

Definition at line 167 of file HeatTransferBase.C.

Referenced by FlowChannelBase::getHeatTransferVariableNames().

168 {
169  return _q_wall_name;
170 }
MaterialPropertyName _q_wall_name
wall heat flux name

◆ getWallHeatTransferCoefficient1PhaseName()

const MaterialPropertyName & HeatTransfer1PhaseBase::getWallHeatTransferCoefficient1PhaseName ( ) const
inherited

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 FlowChannel1PhaseBase::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:42
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 159 of file HeatTransferBase.C.

Referenced by FlowChannelBase::getHeatTransferVariableNames().

160 {
162 
163  return _T_wall_mat_name;
164 }
mesh set up, called both inits
Definition: Component.h:42
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 151 of file HeatTransferBase.C.

Referenced by FlowChannelBase::getHeatTransferVariableNames().

152 {
154 
155  return _T_wall_name;
156 }
VariableName _T_wall_name
wall temperature name
mesh set up, called both inits
Definition: Component.h:42
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 572 of file Component.h.

573 {
574  const std::string & comp_name = getParam<std::string>(pname);
575  return hasComponentByName<T>(comp_name);
576 }

◆ 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 580 of file Component.h.

581 {
582  if (_sim.hasComponentOfType<T>(comp_name))
583  return true;
584  else
585  return false;
586 }
THMProblem & _sim
THM problem this component is part of TODO: make _sim private (applications need to switch to getters...
Definition: Component.h:494
const double T
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 550 of file Component.h.

551 {
552  return parameters().have_parameter<T>(name);
553 }
const double T
const InputParameters & parameters() const
const std::string & name() const
bool have_parameter(std::string_view name) const

◆ init()

void HeatTransferFromHeatStructure3D1Phase::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 HeatTransfer1PhaseBase.

Definition at line 120 of file HeatTransferFromHeatStructure3D1Phase.C.

121 {
123 
124  std::vector<EAxisAlignment> fch_axis_alignment;
125  std::vector<unsigned int> fch_num_elems;
126  std::vector<Real> fch_lengths;
127  for (const auto & fch_name : _flow_channel_names)
128  {
129  checkComponentOfTypeExistsByName<FlowChannel1Phase>(fch_name);
130 
131  if (hasComponentByName<FlowChannel1Phase>(fch_name))
132  {
133  const FlowChannel1Phase & flow_channel = getComponentByName<FlowChannel1Phase>(fch_name);
134 
135  flow_channel.addHeatTransferName(name());
136  fch_axis_alignment.push_back(getFlowChannelAxisAlignment(fch_name));
137 
138  const auto subdomain_names = flow_channel.getSubdomainNames();
140  _flow_channel_subdomains.end(), subdomain_names.begin(), subdomain_names.end());
141 
142  const auto & closures = flow_channel.getClosuresObjects();
143  _flow_channel_closures.insert(_flow_channel_closures.end(), closures.begin(), closures.end());
144 
145  fch_num_elems.push_back(flow_channel.getNumElems());
146 
147  fch_lengths.push_back(flow_channel.getLength());
148  }
149  }
150 
151  // check that all flow channels have the same axis alignment
152  if (fch_axis_alignment.size() > 1)
153  {
154  for (unsigned int i = 1; i < fch_axis_alignment.size(); i++)
155  if (fch_axis_alignment[i] != fch_axis_alignment[0])
156  logError("Flow channel '",
158  "' has a different axis alignment (",
159  fch_axis_alignment[i],
160  "). Make sure all flow channels are aligned with the same axis.");
161  }
162  if (fch_axis_alignment.size() > 0 && fch_axis_alignment[0] != EAxisAlignment::INVALID)
163  _layered_average_uo_direction = fch_axis_alignment[0];
164 
165  // check that all flow channels have the same number of elements
166  if (fch_num_elems.size() > 1)
167  {
168  for (unsigned int i = 1; i < fch_num_elems.size(); i++)
169  if (fch_num_elems[i] != fch_num_elems[0])
170  logError("Flow channel '",
172  "' has ",
173  fch_num_elems[i],
174  " elements which is inconsistent with the rest of the flow channels. Make sure "
175  "all flow channels have the same number of elements.");
176  }
177  if (fch_num_elems.size() > 0)
178  _num_layers = fch_num_elems[0];
179 
180  // check that all flow channels have the same length
181  if (fch_lengths.size() > 1)
182  {
183  for (unsigned int i = 1; i < fch_lengths.size(); i++)
184  if (fch_lengths[i] != fch_lengths[0])
185  logError("Flow channel '",
187  "' has length equal to ",
188  fch_lengths[i],
189  " which is inconsistent with the rest of the flow channels. Make sure all flow "
190  "channels have the length.");
191  }
192 }
unsigned int _num_layers
Number of layers in the flow channel direction.
std::vector< std::shared_ptr< ClosuresBase > > getClosuresObjects() const
Get the used closures object(s)
const std::vector< std::string > & _flow_channel_names
name of the connected flow channel
void logError(Args &&... args) const
Logs an error.
Definition: Component.h:226
const std::string & name() const
Single-component, single-phase flow channel.
virtual EAxisAlignment getFlowChannelAxisAlignment(const std::string &flow_channel_name) const
void addHeatTransferName(const std::string &ht_name) const
Adds the name of a heat transfer component to the flow channel&#39;s list.
MooseEnum _layered_average_uo_direction
Direction for layered average user objects.
virtual void init()
Initializes the component.
Definition: Component.h:405
std::vector< std::shared_ptr< ClosuresBase > > _flow_channel_closures
Closures associated with each flow channel.
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition: Component.C:345
std::vector< SubdomainName > _flow_channel_subdomains
Subdomains corresponding to the connected flow channel.

◆ initSecondary()

void HeatTransferFromHeatStructure3D1Phase::initSecondary ( )
overrideprotectedvirtual

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

Reimplemented from HeatTransfer1PhaseBase.

Definition at line 195 of file HeatTransferFromHeatStructure3D1Phase.C.

196 {
198 
199  for (const auto & fch_name : _flow_channel_names)
200  {
201  if (hasComponentByName<FlowChannel1Phase>(fch_name))
202  {
203  const FlowChannel1Phase & flow_channel = getComponentByName<FlowChannel1Phase>(fch_name);
204  const std::string suffix = flow_channel.getHeatTransferNamesSuffix(name());
209  }
210  }
211 }
VariableName _T_wall_name
wall temperature name
static const std::string HEAT_TRANSFER_COEFFICIENT_WALL
MaterialPropertyName _Hw_1phase_name
1-phase wall heat transfer coefficient name
const std::vector< std::string > & _flow_channel_names
name of the connected flow channel
VariableName _P_hf_name
heated perimeter name
const std::string & name() const
Single-component, single-phase flow channel.
static const std::string TEMPERATURE_WALL
Definition: FlowModel.h:108
virtual void initSecondary()
Perform secondary initialization, which relies on init() being called for all components.
Definition: Component.h:411
static const std::string HEAT_FLUX_PERIMETER
Definition: FlowModel.h:105
MaterialPropertyName _q_wall_name
wall heat flux name
static const std::string HEAT_FLUX_WALL
Definition: FlowModel.h:104
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
inherited

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 621 of file Component.h.

623 {
624  if (!hasParam<T>(param_name))
625  mooseError(name(),
626  ": Calling ",
627  function_name,
628  " failed, parameter '",
629  param_name,
630  "' does not exist or does not have the type you requested. Double check your "
631  "spelling and/or type of the parameter.");
632 }
const std::string & name() const
void mooseError(Args &&... args) const

◆ isTemperatureType()

bool HeatTransferFromTemperature1Phase::isTemperatureType ( ) const
overridevirtualinherited

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

Implements HeatTransferBase.

Definition at line 70 of file HeatTransferFromTemperature1Phase.C.

71 {
72  return true;
73 }

◆ 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 226 of file Component.h.

Referenced by Component1DConnection::addConnection(), HSBoundary::check(), HeatSourceBase::check(), FlowBoundary1Phase::check(), FlowJunction1Phase::check(), InletDensityVelocity1Phase::check(), InletMassFlowRateTemperature1Phase::check(), InletStagnationEnthalpyMomentum1Phase::check(), InletStagnationPressureTemperature1Phase::check(), Component1DJunction::check(), InletVelocityTemperature1Phase::check(), Outlet1Phase::check(), HSBoundaryExternalAppHeatFlux::check(), HeatStructure2DCoupler::check(), HeatTransferFromExternalAppTemperature1Phase::check(), HeatStructure2DRadiationCouplerRZ::check(), GeneratedMeshComponent::check(), HeatStructure2DCouplerBase::check(), Shaft::check(), HSCoupler2D2DRadiation::check(), HSCoupler2D3D::check(), check(), VolumeJunction1Phase::check(), FlowChannel1PhaseBase::check(), HeatStructureInterface::check(), Component2D::check(), FlowChannelBase::check(), HSBoundary::checkAllComponent2DBoundariesAreExternal(), Component1DConnection::checkAllConnectionsHaveSame(), Component::checkComponentExistsByName(), Component::checkComponentOfTypeExistsByName(), Component::checkEqualSize(), FlowChannelGasMix::checkFluidProperties(), FlowChannel1Phase::checkFluidProperties(), Component::checkMutuallyExclusiveParameters(), Component1DConnection::checkNumberOfConnections(), Component::checkParameterValueLessThan(), Component1DConnection::checkSizeEqualsNumberOfConnections(), Component::checkSizeEqualsParameterValue(), Component::checkSizeEqualsValue(), Component::checkSizeGreaterThan(), Component::checkSizeLessThan(), ElbowPipe1Phase::ElbowPipe1Phase(), Component::getEnumParam(), getFlowChannelAxisAlignment(), HeatStructureFromFile3D::HeatStructureFromFile3D(), FlowJunction1Phase::init(), init(), Component1DConnection::init(), HeatTransfer1PhaseBase::initSecondary(), LoggerTestComponent::LoggerTestComponent(), HeatTransferFromHeatStructure1Phase::setupMesh(), and Component1DConnection::setupMesh().

227  {
228  logComponentError(cname(), std::forward<Args>(args)...);
229  }
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 235 of file Component.h.

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

236  {
237  logComponentWarning(cname(), std::forward<Args>(args)...);
238  }
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.

◆ 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:539
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:503

◆ nonlinearConvergenceName()

std::string Component::nonlinearConvergenceName ( ) const
inlineprotectedinherited

Nonlinear Convergence name.

Definition at line 486 of file Component.h.

Referenced by Component::addMultiPostprocessorConvergence(), FlowChannel1Phase::getNonlinearConvergence(), and HeatStructureBase::getNonlinearConvergence().

486 { return genName(name(), "nlconv"); }
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.
const std::string & name() const

◆ parent()

Component* Component::parent ( )
inlineinherited

Definition at line 55 of file Component.h.

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

◆ 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 }
const InputParameters & _pars
const double T
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)
const std::string & name() const
bool isParamValid(const std::string &name) const

◆ 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 }
const std::string & name() const

◆ problemIsTransient()

bool Component::problemIsTransient ( ) const
inlineinherited

Whether the problem is transient.

Definition at line 264 of file Component.h.

Referenced by HeatConductionModel::addHeatEquationRZ(), HeatConductionModel::addHeatEquationXYZ(), and FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient().

264 { 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 219 of file Component.C.

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

222 {
223  _subdomain_ids.push_back(subdomain_id);
224  _subdomain_names.push_back(subdomain_name);
225  _coord_sys.push_back(coord_system);
226  if (_parent)
227  {
228  _parent->_subdomain_ids.push_back(subdomain_id);
229  _parent->_subdomain_names.push_back(subdomain_name);
230  _parent->_coord_sys.push_back(coord_system);
231  }
232  mesh().setSubdomainName(subdomain_id, subdomain_name);
233 }
std::vector< SubdomainName > _subdomain_names
List of subdomain names this components owns.
Definition: Component.h:513
Component * _parent
Pointer to a parent component (used in composed components)
Definition: Component.h:489
std::vector< Moose::CoordinateSystemType > _coord_sys
List of coordinate system for each subdomain.
Definition: Component.h:515
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:511

◆ setupMesh()

void HeatTransferFromHeatStructure3D1Phase::setupMesh ( )
overrideprotectedvirtual

Performs mesh setup such as creating mesh or naming mesh sets.

Reimplemented from Component.

Definition at line 61 of file HeatTransferFromHeatStructure3D1Phase.C.

62 {
63  if (hasComponentByName<HeatStructureFromFile3D>(_hs_name))
64  {
65  std::vector<dof_id_type> fchs_elem_ids;
66  for (unsigned int i = 0; i < _flow_channel_names.size(); i++)
67  {
68  auto fch_name = _flow_channel_names[i];
69  if (hasComponentByName<FlowChannel1Phase>(fch_name))
70  {
71  const FlowChannel1Phase & flow_channel = getComponentByName<FlowChannel1Phase>(fch_name);
72  fchs_elem_ids.insert(fchs_elem_ids.end(),
73  flow_channel.getElementIDs().begin(),
74  flow_channel.getElementIDs().end());
75  }
76  }
77 
78  const auto & hs = getComponentByName<HeatStructureFromFile3D>(_hs_name);
79  if (hs.hasBoundary(_boundary))
80  {
81  _mesh_alignment.initialize(fchs_elem_ids, hs.getBoundaryInfo(_boundary));
82 
83  for (const auto & fc_elem_id : fchs_elem_ids)
84  {
86  {
87  const auto & hs_elem_ids = _mesh_alignment.getCoupledSecondaryElemIDs(fc_elem_id);
88  for (const auto & hs_elem_id : hs_elem_ids)
89  getTHMProblem().augmentSparsity(fc_elem_id, hs_elem_id);
90  }
91  }
92  }
93  }
94 }
THMProblem & getTHMProblem() const
Gets the THM problem.
Definition: Component.C:135
const std::vector< dof_id_type > & getElementIDs() const
Gets the element IDs corresponding to this component.
Definition: Component.C:337
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.
const std::vector< std::string > & _flow_channel_names
name of the connected flow channel
Single-component, single-phase flow channel.
MeshAlignment1D3D _mesh_alignment
Mesh alignment object.
const BoundaryName & _boundary
Boundary names for which the boundary component applies.
const std::vector< dof_id_type > & getCoupledSecondaryElemIDs(const dof_id_type &primary_elem_id) const
Gets the coupled secondary element IDs for a given primary element ID.
virtual void augmentSparsity(const dof_id_type &elem_id1, const dof_id_type &elem_id2)
Hint how to augment sparsity pattern between two elements.
Definition: Simulation.C:71
const std::string & _hs_name
Heat structure name.
bool hasCoupledSecondaryElemIDs(const dof_id_type &primary_elem_id) const
Returns true if the given primary element ID has coupled secondary elements.

◆ stringify()

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

Return a string for the setup status.

Definition at line 309 of file Component.C.

Referenced by Component::checkSetupStatus().

310 {
311  switch (status)
312  {
313  case CREATED:
314  return "component created";
315  case MESH_PREPARED:
316  return "component mesh set up";
317  case INITIALIZED_PRIMARY:
318  return "primary initialization completed";
320  return "secondary initialization completed";
321  case CHECKED:
322  return "component fully set up and checked";
323  default:
324  mooseError("Should not reach here");
325  }
326 }
only created
Definition: Component.h:39
MPI_Status status
mesh set up, called primary init
Definition: Component.h:41
mesh set up, called both inits
Definition: Component.h:42
void mooseError(Args &&... args) const
mesh set up, called both inits, checked
Definition: Component.h:43

◆ validParams()

InputParameters HeatTransferFromHeatStructure3D1Phase::validParams ( )
static

Definition at line 22 of file HeatTransferFromHeatStructure3D1Phase.C.

23 {
25 
26  params.makeParamRequired<FunctionName>("P_hf");
27  params.makeParamNotRequired<std::string>("flow_channel");
28  params.suppressParameter<std::string>("flow_channel");
29  params.set<std::string>("flow_channel", true) = "";
30  params.addRequiredParam<std::vector<std::string>>(
31  "flow_channels", "List of flow channel component names to connect to");
32  params.addRequiredParam<BoundaryName>(
33  "boundary", "The name of the heat structure boundary this heat transfer is applied on.");
34  params.addRequiredParam<std::string>("hs", "Heat structure name");
35  params.addClassDescription("Connects multiple 1-phase flow channels and a 3D heat structure");
36 
37  return params;
38 }
T & set(const std::string &name, bool quiet_mode=false)
void addRequiredParam(const std::string &name, const std::string &doc_string)
void suppressParameter(const std::string &name)
void makeParamNotRequired(const std::string &name)
void makeParamRequired(const std::string &name)
void addClassDescription(const std::string &doc_string)

Member Data Documentation

◆ _A_fn_name

FunctionName HeatTransferBase::_A_fn_name
protectedinherited

area function name for the connected flow channel

Definition at line 116 of file HeatTransferBase.h.

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

◆ _boundary

const BoundaryName& HeatTransferFromHeatStructure3D1Phase::_boundary
protected

Boundary names for which the boundary component applies.

Definition at line 49 of file HeatTransferFromHeatStructure3D1Phase.h.

Referenced by addMooseObjects(), check(), and setupMesh().

◆ _closures_objects

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

Used closures object(s)

Definition at line 98 of file HeatTransferBase.h.

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

◆ _coord_sys

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

List of coordinate system for each subdomain.

Definition at line 515 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 497 of file Component.h.

Referenced by HeatStructureBase::addAverageElementSizePostprocessor(), FlowChannelBase::addCommonObjects(), HeatStructureBase::addConstantDensitySolidPropertiesMaterial(), FlowChannel1Phase::addFlowChannel1PhaseFunctorMaterial(), VolumeJunctionCoupledFlux1Phase::addFluxPostprocessor(), VolumeJunctionCoupledFlux1Phase::addFluxTransfer(), HeatTransferBase::addHeatedPerimeter(), HeatTransferFromTemperature1Phase::addHeatTransferKernels(), FlowChannel1PhaseBase::addHydraulicDiameterMaterial(), Component::addMaximumFunctorPostprocessor(), SolidWall1Phase::addMooseObjects(), InletStagnationPressureTemperature1Phase::addMooseObjects(), InletVelocityTemperature1Phase::addMooseObjects(), FormLossFromFunction1Phase::addMooseObjects(), InletFunction1Phase::addMooseObjects(), HSBoundaryHeatFlux::addMooseObjects(), Outlet1Phase::addMooseObjects(), HeatTransferFromHeatFlux1Phase::addMooseObjects(), HSBoundaryRadiation::addMooseObjects(), HSBoundarySpecifiedTemperature::addMooseObjects(), InletDensityVelocity1Phase::addMooseObjects(), HeatSourceFromPowerDensity::addMooseObjects(), InletMassFlowRateTemperature1Phase::addMooseObjects(), HSBoundaryAmbientConvection::addMooseObjects(), HeatStructure2DCoupler::addMooseObjects(), HeatSourceFromTotalPower::addMooseObjects(), HeatStructure2DRadiationCouplerRZ::addMooseObjects(), FreeBoundary1Phase::addMooseObjects(), GateValve1Phase::addMooseObjects(), HSBoundaryExternalAppTemperature::addMooseObjects(), HeatSourceVolumetric1Phase::addMooseObjects(), Shaft::addMooseObjects(), TotalPower::addMooseObjects(), VolumeJunction1Phase::addMooseObjects(), HeatTransferFromSpecifiedTemperature1Phase::addMooseObjects(), FormLossFromExternalApp1Phase::addMooseObjects(), SolidWallGasMix::addMooseObjects(), HSBoundaryExternalAppConvection::addMooseObjects(), ShaftConnectedCompressor1Phase::addMooseObjects(), FormLoss1PhaseBase::addMooseObjects(), ShaftConnectedMotor::addMooseObjects(), ShaftConnectedPump1Phase::addMooseObjects(), ShaftConnectedTurbine1Phase::addMooseObjects(), HeatTransferFromExternalAppHeatFlux1Phase::addMooseObjects(), HSCoupler2D2DRadiation::addMooseObjects(), addMooseObjects(), SimpleTurbine1Phase::addMooseObjects(), HSCoupler2D3D::addMooseObjects(), HeatTransferBase::addMooseObjects(), HeatTransferFromHeatStructure1Phase::addMooseObjects(), HSBoundaryExternalAppHeatFlux::addMooseObjects(), JunctionOneToOne1Phase::addMooseObjects(), FlowChannelBase::addMooseObjects(), Component::addMultiPostprocessorConvergence(), Component::addNonlinearStepFunctorMaterial(), FlowChannel1Phase::addNormalized1PhaseResidualNorm(), FlowChannel1Phase::addNumericalFluxVectorPostprocessor(), VolumeJunctionCoupledFlux1Phase::addPropertyPostprocessor(), VolumeJunctionCoupledFlux1Phase::addPropertyTransfer(), Component::addRelationshipManager(), HeatStructureBase::addResidualNormPostprocessor(), FlowChannelBase::addVariables(), VolumeJunction1Phase::addVolumeJunctionIC(), VolumeJunctionCoupledFlux1Phase::addVolumeJunctionKernel(), FlowBoundary1Phase::addWeakBCs(), FlowBoundaryGasMix::addWeakBCs(), FlowChannel1PhaseBase::buildFlowModel(), Pump1Phase::buildVolumeJunctionUserObject(), JunctionParallelChannels1Phase::buildVolumeJunctionUserObject(), SimpleTurbine1Phase::buildVolumeJunctionUserObject(), ShaftConnectedCompressor1Phase::buildVolumeJunctionUserObject(), ShaftConnectedPump1Phase::buildVolumeJunctionUserObject(), ShaftConnectedTurbine1Phase::buildVolumeJunctionUserObject(), and VolumeJunction1Phase::buildVolumeJunctionUserObject().

◆ _fe_type

libMesh::FEType HeatTransferFromTemperature1Phase::_fe_type
protectedinherited

The type of the wall temperature variable.

Definition at line 37 of file HeatTransferFromTemperature1Phase.h.

Referenced by HeatTransferFromTemperature1Phase::getFEType().

◆ _flow_channel_closures

std::vector<std::shared_ptr<ClosuresBase> > HeatTransferFromHeatStructure3D1Phase::_flow_channel_closures
protected

Closures associated with each flow channel.

Definition at line 51 of file HeatTransferFromHeatStructure3D1Phase.h.

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

◆ _flow_channel_name

const std::string HeatTransferBase::_flow_channel_name
protectedinherited

◆ _flow_channel_names

const std::vector<std::string>& HeatTransferFromHeatStructure3D1Phase::_flow_channel_names
protected

name of the connected flow channel

Definition at line 47 of file HeatTransferFromHeatStructure3D1Phase.h.

Referenced by addMooseObjects(), check(), HeatTransferFromHeatStructure3D1Phase(), init(), initSecondary(), and setupMesh().

◆ _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 114 of file HeatTransferBase.h.

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

◆ _hs_name

const std::string& HeatTransferFromHeatStructure3D1Phase::_hs_name
protected

Heat structure name.

Definition at line 53 of file HeatTransferFromHeatStructure3D1Phase.h.

Referenced by addVariables(), check(), HeatTransferFromHeatStructure3D1Phase(), and setupMesh().

◆ _Hw_1phase_name

MaterialPropertyName HeatTransfer1PhaseBase::_Hw_1phase_name
protectedinherited

◆ _layered_average_uo_direction

MooseEnum HeatTransferFromHeatStructure3D1Phase::_layered_average_uo_direction
protected

Direction for layered average user objects.

Definition at line 59 of file HeatTransferFromHeatStructure3D1Phase.h.

Referenced by addMooseObjects(), and init().

◆ _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 503 of file Component.h.

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

◆ _mesh_alignment

MeshAlignment1D3D HeatTransferFromHeatStructure3D1Phase::_mesh_alignment
protected

Mesh alignment object.

Definition at line 55 of file HeatTransferFromHeatStructure3D1Phase.h.

Referenced by addMooseObjects(), and setupMesh().

◆ _model_type

THM::FlowModelID HeatTransferBase::_model_type
protectedinherited

flow model type

Definition at line 112 of file HeatTransferBase.h.

Referenced by HeatTransferBase::init().

◆ _node_ids

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

◆ _num_layers

unsigned int HeatTransferFromHeatStructure3D1Phase::_num_layers
protected

Number of layers in the flow channel direction.

Definition at line 57 of file HeatTransferFromHeatStructure3D1Phase.h.

Referenced by addMooseObjects(), and init().

◆ _P_hf_fn_name

FunctionName HeatTransferBase::_P_hf_fn_name
protectedinherited

heated perimeter function name

Definition at line 118 of file HeatTransferBase.h.

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

◆ _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 95 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 93 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 489 of file Component.h.

Referenced by 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 494 of file Component.h.

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

◆ _subdomain_ids

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

List of subdomain IDs this components owns.

Definition at line 511 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 513 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 105 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 499 of file Component.h.


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