https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
SolidWall1Phase Class Reference

Component for solid wall BC for 1-phase flow. More...

#include <SolidWall1Phase.h>

Inheritance diagram for SolidWall1Phase:
[legend]

Public Types

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

Public Member Functions

 SolidWall1Phase (const InputParameters &params)
 
virtual void addMooseObjects () override
 
const UserObjectName & getFluidPropertiesName () const
 Gets the name of fluid properties used in all flow connections.
 
const std::vector< Connection > & getConnections () const
 Returns the vector of connections of this component.
 
const std::vector< std::string > & getConnectedComponentNames () const
 Returns a list of names of components that are connected to this component.
 
const std::vector< SubdomainName > & getConnectedSubdomainNames () const
 Gets the vector of connected subdomain names.
 
virtual const std::vector< dof_id_type > & getNodeIDs () const
 Gets the list of boundary nodes connected to this component.
 
const std::vector< BoundaryName > & getBoundaryNames () const
 Gets the boundary names for this component.
 
std::string stringify (EComponentSetupStatus status) const
 Return a string for the setup status.
 
const std::string & cname () const
 Get the component name.
 
Componentparent ()
 
const THMMeshconstMesh () const
 Const reference to mesh, which can be called at any point.
 
THMMeshmesh ()
 Non-const reference to THM mesh, which can only be called before the end of mesh setup.
 
THMProblemgetTHMProblem () const
 Gets the THM problem.
 
template<typename T >
bool hasParam (const std::string &name) const
 Test if a parameter exists in the object's input parameters.
 
const std::vector< std::string > & getDependencies () const
 Returns a list of names of components that this component depends upon.
 
void executeInit ()
 Wrapper function for init() that marks the function as being called.
 
void executeInitSecondary ()
 Wrapper function for initSecondary() that marks the function as being called.
 
void executeCheck () const
 Wrapper function for check() that marks the function as being called.
 
void executeSetupMesh ()
 Wrapper function for setupMesh() that marks the function as being called.
 
virtual void addRelationshipManagers (Moose::RelationshipManagerType)
 Adds relationship managers for the component.
 
virtual void addVariables ()
 
template<typename T >
const TgetComponent (const std::string &name) const
 Return a reference to a component via a parameter name.
 
template<typename T >
const TgetComponentByName (const std::string &cname) const
 Return a reference to a component given its name.
 
template<typename T >
bool hasComponent (const std::string &name) const
 Check the existence and type of a component via a parameter name.
 
template<typename T >
bool hasComponentByName (const std::string &cname) const
 Check the existence and type of a component given its name.
 
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.
 
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.
 
void checkSetupStatus (const EComponentSetupStatus &status) const
 Throws an error if the supplied setup status of this component has not been reached.
 
void checkComponentExistsByName (const std::string &comp_name) const
 Checks that a component exists.
 
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.
 
template<typename T >
void checkComponentOfTypeExistsByName (const std::string &comp_name) const
 Checks that the component of a certain type exists.
 
template<typename... Args>
void logError (Args &&... args) const
 Logs an error.
 
template<typename... Args>
void logWarning (Args &&... args) const
 Logs a warning.
 
void addDependency (const std::string &dependency)
 Adds a component name to the list of dependencies.
 
template<typename T >
T getEnumParam (const std::string &param, bool log_error=true) const
 Gets an enum parameter.
 
bool problemIsTransient () const
 Whether the problem is transient.
 
const std::vector< dof_id_type > & getElementIDs () const
 Gets the element IDs corresponding to this component.
 
virtual const std::vector< SubdomainName > & getSubdomainNames () const
 Gets the subdomain names for this component.
 
virtual const std::vector< Moose::CoordinateSystemType > & getCoordSysTypes () const
 Gets the coordinate system types for this component.
 
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.
 
template<typename T >
void checkParameterValueLessThan (const std::string &param, const T &value_max) const
 Checks that a parameter value is less than a value.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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 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.
 
template<typename... Args>
void logComponentWarning (const std::string &component_name, Args &&... args) const
 Logs a warning for a component.
 
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.
 
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.
 
std::string genName (const std::string &prefix, const std::string &name, unsigned int i) const
 Build a name from 2 strings and a number.
 
std::string genName (const std::string &prefix, const std::string &middle, const std::string &suffix="") const
 Build a name from strings.
 
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.
 
const Moose::Functor< Real > * defaultFunctor (const std::string &name)
 
const Moose::Functor< ADReal > * defaultFunctor (const std::string &name)
 

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::map< std::string, EEndType_end_type_to_enum {{"IN", IN}, {"OUT", OUT}}
 Map of end type string to enum.
 
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 Member Functions

virtual bool supportsPassiveTransport () const override
 True if the component supports passive transport variables.
 
virtual void init () override
 Initializes the component.
 
virtual void check () const override
 Check the component integrity.
 
virtual void addWeakBCs ()
 Creates the boundary condition objects for 1-phase flow.
 
virtual void setupMesh () override
 Performs mesh setup such as creating mesh or naming mesh sets.
 
virtual ConvergencegetNonlinearConvergence () const override
 Gets the Component's nonlinear Convergence object if it has one.
 
void addConnection (const BoundaryName &boundary_name)
 Adds a connection for this component.
 
void checkNumberOfConnections (const unsigned int &n_connections) const
 Checks that the number of connections is equal to the supplied value.
 
template<typename T >
void checkSizeEqualsNumberOfConnections (const std::string &param) const
 Checks that the size of a vector parameter equals the number of connections.
 
template<typename T >
void checkAllConnectionsHaveSame (const std::vector< T > &objects, const std::string &description) const
 Checks that all connections have the same of a certain type of object.
 
virtual void initSecondary ()
 Perform secondary initialization, which relies on init() being called for all components.
 
void addRelationshipManagersFromParameters (const InputParameters &moose_object_pars)
 Method to add a relationship manager for the objects being added to the system.
 
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.
 
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.
 
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.
 
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.
 
std::string nonlinearConvergenceName () const
 Nonlinear Convergence name.
 
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.
 
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.
 
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

std::vector< VariableName > _passives_times_area
 Passive transport variables on the connected flow channel.
 
UserObjectName _numerical_flux_name
 Numerical flux user object name.
 
const UserObjectName _boundary_uo_name
 Name of boundary user object name.
 
THM::FlowModelID _flow_model_id
 Flow model ID.
 
std::shared_ptr< const FlowModel_flow_model
 Flow model.
 
UserObjectName _fp_name
 Fluid property user object name.
 
std::string _connected_component_name
 Name of the connected component.
 
EEndType _connected_component_end_type
 End type of the connected component.
 
const Elem * _elem
 Element.
 
unsigned short int _side
 Side ID.
 
dof_id_type _node
 Node ID.
 
Real _normal
 Outward normal on this boundary.
 
BoundaryName _input
 Name of the boundary this component attaches to.
 
std::vector< Point > _positions
 Physical positions of connected components.
 
std::vector< const Elem * > _elems
 Boundary elements of connected components.
 
std::vector< unsigned short int_sides
 Boundary sides of connected components.
 
std::vector< dof_id_type > _nodes
 Boundary node IDs from connected components.
 
std::vector< unsigned int_boundary_ids
 Boundary IDs of connected components.
 
std::vector< BoundaryName > _boundary_names
 Boundary names of connected components.
 
std::vector< Real > _normals
 Outward normals associated with connected components.
 
std::vector< RealVectorValue > _directions
 Directions of connected components.
 
std::vector< Connection_connections
 Vector of connections of this component.
 
std::vector< std::string > _connected_component_names
 Vector of connected component names.
 
std::vector< SubdomainName > _connected_subdomain_names
 Vector of subdomain names of the connected components.
 
Component_parent
 Pointer to a parent component (used in composed components)
 
THMProblem_sim
 THM problem this component is part of TODO: make _sim private (applications need to switch to getters to avoid breaking).
 
Factory_factory
 The Factory associated with the MooseApp.
 
const Real & _zero
 
THMMesh_mesh
 The THM mesh TODO: make _mesh private (applications need to switch to getters to avoid breaking)
 
std::vector< dof_id_type > _node_ids
 Node IDs of this component.
 
std::vector< dof_id_type > _elem_ids
 Element IDs of this component.
 
std::vector< SubdomainID_subdomain_ids
 List of subdomain IDs this components owns.
 
std::vector< SubdomainName > _subdomain_names
 List of subdomain names this components owns.
 
std::vector< Moose::CoordinateSystemType_coord_sys
 List of coordinate system for each subdomain.
 
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
 

Private Member Functions

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.
 
const Moose::Functor< T > * defaultFunctor (const std::string &name)
 
const Moose::Functor< Real > * defaultFunctor (const std::string &name)
 
const Moose::Functor< ADReal > * defaultFunctor (const std::string &name)
 
const Moose::Functor< T > & getFunctorByName (const std::string &name, SubProblem &subproblem, THREAD_ID tid)
 
virtual bool isADObject () const override
 

Static Private Member Functions

static const hit::Node * getHitNode (const InputParameters &params)
 
static std::string messagePrefix (const InputParameters &params, const bool hit_prefix)
 

Private Attributes

EComponentSetupStatus _component_setup_status
 Component setup status.
 
std::vector< std::string > _dependencies
 List of names of components that this component depends upon.
 
const MooseBase_si_moose_base
 
const FEProblemBase_si_problem
 
const InputParameters_fi_params
 
const std::string _fi_name
 
SubProblem *const _fi_subproblem
 
const THREAD_ID _fi_tid
 
std::vector< std::unique_ptr< Moose::Functor< Real > > > _default_real_functors
 
std::vector< std::unique_ptr< Moose::Functor< ADReal > > > _default_ad_real_functors
 

Detailed Description

Component for solid wall BC for 1-phase flow.

Definition at line 17 of file SolidWall1Phase.h.

Member Enumeration Documentation

◆ EComponentSetupStatus

Component setup status type.

Enumerator
CREATED 

only created

MESH_PREPARED 

mesh set up

INITIALIZED_PRIMARY 

mesh set up, called primary init

INITIALIZED_SECONDARY 

mesh set up, called both inits

CHECKED 

mesh set up, called both inits, checked

Definition at line 37 of file Component.h.

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

◆ EEndType

End type.

Enumerator
IN 

inlet

OUT 

outlet

Definition at line 23 of file Component1DConnection.h.

Constructor & Destructor Documentation

◆ SolidWall1Phase()

SolidWall1Phase::SolidWall1Phase ( const InputParameters params)

Definition at line 23 of file SolidWall1Phase.C.

23: FlowBoundary1Phase(params) {}
Base class for boundary components connected to FlowChannel1Phase components.

Member Function Documentation

◆ addConnection()

void Component1DConnection::addConnection ( const BoundaryName &  boundary_name)
protectedinherited

Adds a connection for this component.

Components using this interface must call this function on all of their connection strings.

Parameters
[in]boundary_nameThe name of the boundary

Definition at line 100 of file Component1DConnection.C.

101{
102 const size_t oparenthesis_pos = boundary_name.find('(');
103 if (oparenthesis_pos != std::string::npos)
104 {
105 logError("You are using the old connection format 'comp_name(end)'. Please update your input "
106 "file to the new one 'comp_name:end'.");
107 }
108 else
109 {
110 const size_t colon_pos = boundary_name.rfind(':');
111 // if it has a colon, assume 'component_name:end_type' format
112 if (colon_pos != std::string::npos)
113 {
114 const std::string connected_component_name = boundary_name.substr(0, colon_pos);
115 const std::string str_end =
116 boundary_name.substr(colon_pos + 1, boundary_name.length() - colon_pos - 1);
117 const EEndType end_type = THM::stringToEnum<EEndType>(str_end);
118
119 _connections.push_back(Connection(boundary_name, connected_component_name, end_type));
120 _connected_component_names.push_back(connected_component_name);
121
122 // Add dependency because the connected component's setupMesh() must be called
123 // before this component's setupMesh().
124 addDependency(connected_component_name);
125 }
126 else
127 {
128 logError("Incorrect connection specified '",
129 boundary_name,
130 "'. Valid connection format is 'component_name:end_type'.");
131 }
132 }
133}
std::vector< std::string > _connected_component_names
Vector of connected component names.
std::vector< Connection > _connections
Vector of connections of this component.
void logError(Args &&... args) const
Logs an error.
Definition Component.h:226
void addDependency(const std::string &dependency)
Adds a component name to the list of dependencies.
Definition Component.C:129

Referenced by Component1DBoundary::Component1DBoundary(), Component1DJunction::Component1DJunction(), ShaftConnectedCompressor1Phase::ShaftConnectedCompressor1Phase(), ShaftConnectedPump1Phase::ShaftConnectedPump1Phase(), and ShaftConnectedTurbine1Phase::ShaftConnectedTurbine1Phase().

◆ 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.

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

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

◆ 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.

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
Factory & _factory
The Factory associated with the MooseApp.
Definition Component.h:497
virtual void addPostprocessor(const std::string &pp_name, const std::string &name, InputParameters &parameters)
InputParameters getValidParams(const std::string &name) const
T & set(const std::string &name, bool quiet_mode=false)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

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

◆ addMooseObjects()

void SolidWall1Phase::addMooseObjects ( )
overridevirtual

Reimplemented from Component.

Definition at line 26 of file SolidWall1Phase.C.

27{
28 ExecFlagEnum userobject_execute_on(MooseUtils::getDefaultExecFlagEnum());
29 userobject_execute_on = {EXEC_INITIAL, EXEC_LINEAR, EXEC_NONLINEAR};
30
31 // boundary flux user object
32 {
33 const std::string class_name = "ADBoundaryFlux3EqnGhostWall";
34 InputParameters params = _factory.getValidParams(class_name);
35 params.set<UserObjectName>("numerical_flux") = _numerical_flux_name;
36 params.set<Real>("normal") = _normal;
37 params.set<ExecFlagEnum>("execute_on") = userobject_execute_on;
38 getTHMProblem().addUserObject(class_name, _boundary_uo_name, params);
39 }
40
41 // BCs
42 addWeakBCs();
43}
const ExecFlagType EXEC_INITIAL
const ExecFlagType EXEC_LINEAR
const ExecFlagType EXEC_NONLINEAR
Real _normal
Outward normal on this boundary.
virtual std::vector< std::shared_ptr< UserObject > > addUserObject(const std::string &user_object_name, const std::string &name, InputParameters &parameters)
UserObjectName _numerical_flux_name
Numerical flux user object name.
const UserObjectName _boundary_uo_name
Name of boundary user object name.
virtual void addWeakBCs()
Creates the boundary condition objects for 1-phase flow.
ExecFlagEnum getDefaultExecFlagEnum()

◆ 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.

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();
281}
std::string nonlinearConvergenceName() const
Nonlinear Convergence name.
Definition Component.h:486
virtual void addConvergence(const std::string &type, const std::string &name, InputParameters &parameters)

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

◆ addNode()

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

Definition at line 203 of file Component.C.

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

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

◆ addNodeElement()

Elem * Component::addNodeElement ( dof_id_type  node)
protectedinherited

Definition at line 211 of file Component.C.

212{
213 auto elem = mesh().addNodeElement(node);
214 _elem_ids.push_back(elem->id());
215 return elem;
216}
std::vector< dof_id_type > _elem_ids
Element IDs of this component.
Definition Component.h:508
Elem * addNodeElement(dof_id_type node)
Definition THMMesh.C:116

Referenced by VolumeJunction1Phase::setupMesh().

◆ 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.

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}
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition Component.C:345
virtual void addFunctorMaterial(const std::string &functor_material_name, const std::string &name, InputParameters &parameters)
const std::string & name() const
std::string genName(const std::string &prefix, unsigned int id, const std::string &suffix="") const
Build a name from a prefix, number and possible suffix.

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

◆ addRelationshipManager()

void Component::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 
)
privateinherited

Method for adding a single relationship manager.

This method was copied from Action.

Parameters
moose_object_parsThe parameters of the MooseObject that requested the RM
rm_nameThe class type of the RM, e.g. ElementSideNeighborLayers
rm_typeThe RelationshipManagerType, e.g. geometric, algebraic, coupling
rm_input_parameter_funcThe RM callback function, typically a lambda defined in the requesting MooseObject's validParams function
sys_typeA RMSystemType that can be used to limit the systems and consequent dof_maps that the RM can be attached to

Definition at line 163 of file Component.C.

169{
170 // These need unique names
171 static unsigned int unique_object_id = 0;
172
173 auto new_name = moose_object_pars.getBase() + '_' + name() + '_' + rm_name + "_" +
174 Moose::stringify(rm_type) + " " + std::to_string(unique_object_id);
175
176 auto rm_params = _factory.getValidParams(rm_name);
177 rm_params.set<Moose::RelationshipManagerType>("rm_type") = rm_type;
178
179 rm_params.set<std::string>("for_whom") = name();
180
181 // If there is a callback for setting the RM parameters let's use it
182 if (rm_input_parameter_func)
183 rm_input_parameter_func(moose_object_pars, rm_params);
184
185 rm_params.set<MooseMesh *>("mesh") = &_mesh;
186
187 if (!rm_params.areAllRequiredParamsValid())
188 mooseError("Missing required parameters for RelationshipManager " + rm_name + " for object " +
189 name());
190
191 auto rm_obj = _factory.create<RelationshipManager>(rm_name, new_name, rm_params);
192
193 const bool added = _app.addRelationshipManager(rm_obj);
194
195 // Delete the resources created on behalf of the RM if it ends up not being added to the App.
196 if (!added)
198 else // we added it
199 unique_object_id++;
200}
THMMesh & _mesh
The THM mesh TODO: make _mesh private (applications need to switch to getters to avoid breaking)
Definition Component.h:503
std::shared_ptr< MooseObject > create(const std::string &obj_name, const std::string &name, const InputParameters &parameters, THREAD_ID tid=0, bool print_deprecated=true)
void releaseSharedObjects(const MooseObject &moose_object, THREAD_ID tid=0)
const std::string & getBase() const
bool addRelationshipManager(std::shared_ptr< RelationshipManager > relationship_manager)
void mooseError(Args &&... args) const
MooseApp & _app
std::string stringify(const T &t)
RelationshipManagerType

Referenced by Component::addRelationshipManagersFromParameters().

◆ 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.

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}
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
const std::vector< std::tuple< std::string, Moose::RelationshipManagerType, Moose::RelationshipManagerInputParameterCallback > > & getBuildableRelationshipManagerTypes() const

Referenced by FileMeshPhysicsComponent::addRelationshipManagers().

◆ addVariables()

virtual void Component::addVariables ( )
inlinevirtualinherited

◆ addWeakBCs()

void FlowBoundary1Phase::addWeakBCs ( )
protectedvirtualinherited

Creates the boundary condition objects for 1-phase flow.

Definition at line 52 of file FlowBoundary1Phase.C.

53{
54 const std::string class_name = "ADBoundaryFlux3EqnBC";
55 InputParameters params = _factory.getValidParams(class_name);
56 params.set<std::vector<BoundaryName>>("boundary") = getBoundaryNames();
57 params.set<Real>("normal") = _normal;
58 params.set<UserObjectName>("boundary_flux") = _boundary_uo_name;
59 params.set<std::vector<VariableName>>("A_linear") = {THM::AREA_LINEAR};
60 params.set<std::vector<VariableName>>("rhoA") = {THM::RHOA};
61 params.set<std::vector<VariableName>>("rhouA") = {THM::RHOUA};
62 params.set<std::vector<VariableName>>("rhoEA") = {THM::RHOEA};
63 params.set<std::vector<VariableName>>("passives_times_area") = _passives_times_area;
64 params.set<bool>("implicit") = getTHMProblem().getImplicitTimeIntegrationFlag();
65
66 auto flow_model_1phase = dynamic_cast<const FlowModelSinglePhase *>(_flow_model.get());
67 for (const auto & var : flow_model_1phase->solutionVariableNames())
68 {
69 params.set<NonlinearVariableName>("variable") = var;
71 class_name, genName(name(), var, "bnd_flux_3eqn_bc"), params);
72 }
73}
const std::string name
Definition Setup.h:21
const std::vector< BoundaryName > & getBoundaryNames() const
Gets the boundary names for this component.
virtual void addBoundaryCondition(const std::string &bc_name, const std::string &name, InputParameters &parameters)
std::vector< VariableName > _passives_times_area
Passive transport variables on the connected flow channel.
std::shared_ptr< const FlowModel > _flow_model
Flow model.
Flow model for a single-component, single-phase fluid using the Euler equations.
const bool & getImplicitTimeIntegrationFlag()
Gets the flag indicating whether an implicit time integration scheme is being used.
Definition Simulation.h:329
static const std::string RHOEA
Definition THMNames.h:30
static const std::string AREA_LINEAR
Definition THMNames.h:15
static const std::string RHOUA
Definition THMNames.h:31
static const std::string RHOA
Definition THMNames.h:29

Referenced by FreeBoundary1Phase::addMooseObjects(), InletDensityVelocity1Phase::addMooseObjects(), InletMassFlowRateTemperature1Phase::addMooseObjects(), InletStagnationPressureTemperature1Phase::addMooseObjects(), InletVelocityTemperature1Phase::addMooseObjects(), Outlet1Phase::addMooseObjects(), addMooseObjects(), and InletFunction1Phase::addMooseObjects().

◆ check()

void FlowBoundary1Phase::check ( ) const
overrideprotectedvirtualinherited

Check the component integrity.

Reimplemented from FlowBoundary.

Reimplemented in InletDensityVelocity1Phase, InletMassFlowRateTemperature1Phase, InletStagnationEnthalpyMomentum1Phase, InletStagnationPressureTemperature1Phase, InletVelocityTemperature1Phase, and Outlet1Phase.

Definition at line 41 of file FlowBoundary1Phase.C.

42{
44
45 checkComponentOfTypeExistsByName<FlowChannel1Phase>(_connected_component_name);
46
48 logError("Passive transport has not been implemented for this Component type.");
49}
std::string _connected_component_name
Name of the connected component.
virtual void check() const
Check the component integrity.
Definition Component.h:416
virtual bool supportsPassiveTransport() const
True if the component supports passive transport variables.

Referenced by InletDensityVelocity1Phase::check(), InletMassFlowRateTemperature1Phase::check(), InletStagnationEnthalpyMomentum1Phase::check(), InletStagnationPressureTemperature1Phase::check(), InletVelocityTemperature1Phase::check(), and Outlet1Phase::check().

◆ checkAllConnectionsHaveSame()

template<typename T >
void Component1DConnection::checkAllConnectionsHaveSame ( const std::vector< T > &  objects,
const std::string &  description 
) const
protectedinherited

Checks that all connections have the same of a certain type of object.

Template Parameters
Ttype of object to check
Parameters
[in]objectslist of objects corresponding to each connection
[in]descriptiondescription of the obect to check

Definition at line 177 of file Component1DConnection.h.

179{
180 for (const auto & obj : objects)
181 if (obj != objects[0])
182 logError("All connections must have the same ", description);
183}
if(subdm)

◆ 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
bool hasComponent(const std::string &name) const
Find out if simulation has a component with the given name.

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

◆ 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}

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

◆ checkNumberOfConnections()

void Component1DConnection::checkNumberOfConnections ( const unsigned int n_connections) const
protectedinherited

Checks that the number of connections is equal to the supplied value.

Parameters
[in]n_connectionsenforced number of connections

Definition at line 136 of file Component1DConnection.C.

137{
138 if (_connections.size() != n_connections)
139 logError("The number of connections (", _connections.size(), ") must equal ", n_connections);
140}

Referenced by Component1DBoundary::check(), GateValve1Phase::check(), and JunctionOneToOne1Phase::check().

◆ 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}
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.

118{
119 if (_component_setup_status < status)
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
EComponentSetupStatus _component_setup_status
Component setup status.
Definition Component.h:539

Referenced by FlowChannelBase::getAreaFunctionName(), Component2D::getBoundaryArea(), Component2D::getBoundaryInfo(), 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(), Component::getNodeIDs(), Component1DConnection::getNodeIDs(), Component1D::getNodesetID(), Component1D::getNodesetName(), Component::getSubdomainNames(), HeatTransfer1PhaseBase::getWallHeatTransferCoefficient1PhaseName(), HeatTransferBase::getWallTemperatureMatName(), HeatTransferBase::getWallTemperatureName(), Component2D::hasBoundary(), FileMeshComponent::hasBoundary(), Component2D::hasExternalBoundary(), and HeatStructureFromFile3D::hasRegion().

◆ checkSizeEqualsNumberOfConnections()

template<typename T >
void Component1DConnection::checkSizeEqualsNumberOfConnections ( const std::string &  param) const
protectedinherited

Checks that the size of a vector parameter equals the number of connections.

Template Parameters
Ttype of element in the vector parameter
Parameters
[in]paramvector parameter name

Definition at line 162 of file Component1DConnection.h.

163{
164 const auto & value = getParam<std::vector<T>>(param);
165 if (value.size() != _connections.size())
166 logError("The number of entries in '",
167 param,
168 "' (",
169 value.size(),
170 ") must equal the number of connections (",
171 _connections.size(),
172 ")");
173}

◆ 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}

◆ 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}

◆ 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}

◆ 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}

◆ 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}

◆ 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.

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

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

◆ connectObject() [1/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);
114}
void addControllableParameterAlias(const MooseObjectParameterName &alias, const MooseObjectParameterName &secondary)
InputParameterWarehouse & getInputParameterWarehouse()

◆ connectObject() [2/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.

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

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

◆ 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.

63{ return _mesh; }

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

◆ 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}

Referenced by Simulation::integrityCheck().

◆ 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}
virtual void init()
Initializes the component.
Definition Component.h:405

◆ 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{
81}
virtual void initSecondary()
Perform secondary initialization, which relies on init() being called for all components.
Definition Component.h:411

◆ 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

◆ genName() [1/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 }

◆ genName() [2/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 }

◆ genName() [3/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 }

◆ genName() [4/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.

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

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(), FlowModelGasMix::addFluidPropertiesMaterials(), FlowModelSinglePhase::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(), FlowChannel1Phase::addMooseObjects(), FlowChannelBase::addMooseObjects(), FormLoss1PhaseBase::addMooseObjects(), FormLossFromExternalApp1Phase::addMooseObjects(), FormLossFromFunction1Phase::addMooseObjects(), GateValve1Phase::addMooseObjects(), HeatSourceFromPowerDensity::addMooseObjects(), HeatSourceFromTotalPower::addMooseObjects(), HeatSourceVolumetric1Phase::addMooseObjects(), HeatStructure2DCoupler::addMooseObjects(), HeatStructure2DRadiationCouplerRZ::addMooseObjects(), HeatTransferBase::addMooseObjects(), HeatTransferFromExternalAppHeatFlux1Phase::addMooseObjects(), HeatTransferFromHeatFlux1Phase::addMooseObjects(), HeatTransferFromHeatStructure1Phase::addMooseObjects(), HeatTransferFromHeatStructure3D1Phase::addMooseObjects(), HeatTransferFromSpecifiedTemperature1Phase::addMooseObjects(), HSBoundaryAmbientConvection::addMooseObjects(), HSBoundaryExternalAppConvection::addMooseObjects(), HSBoundaryExternalAppHeatFlux::addMooseObjects(), HSBoundaryExternalAppTemperature::addMooseObjects(), HSBoundaryHeatFlux::addMooseObjects(), HSBoundaryRadiation::addMooseObjects(), HSBoundarySpecifiedTemperature::addMooseObjects(), HSCoupler2D2DRadiation::addMooseObjects(), HSCoupler2D3D::addMooseObjects(), InletVelocityTemperature1Phase::addMooseObjects(), JunctionOneToOne1Phase::addMooseObjects(), Shaft::addMooseObjects(), ShaftConnectedCompressor1Phase::addMooseObjects(), ShaftConnectedPump1Phase::addMooseObjects(), ShaftConnectedTurbine1Phase::addMooseObjects(), SimpleTurbine1Phase::addMooseObjects(), TotalPower::addMooseObjects(), VolumeJunction1Phase::addMooseObjects(), FunctorClosures::addMooseObjectsFlowChannel(), Closures1PhaseSimple::addMooseObjectsHeatTransfer(), Component::addNonlinearStepFunctorMaterial(), FlowChannel1Phase::addNormalized1PhaseResidualNorm(), FlowModelSinglePhase::addPassiveTransportIC(), FlowModelGasMix::addPressureAux(), FlowModelSinglePhase::addPressureAux(), VolumeJunctionCoupledFlux1Phase::addPropertyTransfer(), FlowModelGasMix::addRDGAdvectionDGKernels(), FlowModelSinglePhase::addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelGasMix::addRhoEAIC(), FlowModelSinglePhase::addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), FlowModelGasMix::addSlopeReconstructionMaterial(), FlowModelSinglePhase::addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), FlowModelGasMix::addTemperatureAux(), FlowModelSinglePhase::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(), FileMeshComponent::buildMesh(), Component1D::buildMesh(), Component2D::buildMesh(), HeatSourceBase::HeatSourceBase(), Component::nonlinearConvergenceName(), and Simulation::setupInitialConditionsFromFile().

◆ 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.

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

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

◆ getBoundaryNames()

const std::vector< BoundaryName > & Component1DConnection::getBoundaryNames ( ) const
inherited

Gets the boundary names for this component.

Returns
boundary names for this component

Definition at line 151 of file Component1DConnection.C.

152{
154
155 return _boundary_names;
156}
std::vector< BoundaryName > _boundary_names
Boundary names of connected components.
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

Referenced by FlowBoundary1Phase::addWeakBCs(), and FlowBoundaryGasMix::addWeakBCs().

◆ 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}
const T & getComponentByName(const std::string &name) const
Get component by its name.
Definition Simulation.h:504

◆ getConnectedComponentNames()

const std::vector< std::string > & Component1DConnection::getConnectedComponentNames ( ) const
inlineinherited

Returns a list of names of components that are connected to this component.

Returns
list of names of components that are connected to this component

Definition at line 63 of file Component1DConnection.h.

64 {
66 }

◆ getConnectedSubdomainNames()

const std::vector< SubdomainName > & Component1DConnection::getConnectedSubdomainNames ( ) const
inlineinherited

Gets the vector of connected subdomain names.

Definition at line 71 of file Component1DConnection.h.

72 {
74 }
std::vector< SubdomainName > _connected_subdomain_names
Vector of subdomain names of the connected components.

◆ getConnections()

const std::vector< Connection > & Component1DConnection::getConnections ( ) const
inlineinherited

Returns the vector of connections of this component.

Returns
vector of connections of this component

Definition at line 56 of file Component1DConnection.h.

56{ return _connections; }

Referenced by GateValve1Phase::check(), Component1DBoundary::Component1DBoundary(), JunctionOneToOne1Phase::init(), and Component1DJunction::setupMesh().

◆ 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

◆ 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; }

◆ 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.

338{
340
341 return _elem_ids;
342}

Referenced by HeatTransferFromHeatStructure1Phase::setupMesh(), and HeatTransferFromHeatStructure3D1Phase::setupMesh().

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

◆ getFluidPropertiesName()

const UserObjectName & FlowBoundary::getFluidPropertiesName ( ) const
inherited

Gets the name of fluid properties used in all flow connections.

Returns
name of fluid properties used in all flow connections

Definition at line 51 of file FlowBoundary.C.

52{
54
55 return _fp_name;
56}
UserObjectName _fp_name
Fluid property user object name.

◆ getNodeIDs()

const std::vector< dof_id_type > & Component1DConnection::getNodeIDs ( ) const
virtualinherited

Gets the list of boundary nodes connected to this component.

Returns
list of connected boundary nodes

Definition at line 143 of file Component1DConnection.C.

144{
146
147 return _nodes;
148}
std::vector< dof_id_type > _nodes
Boundary node IDs from connected components.

◆ getNonlinearConvergence()

virtual Convergence * Component1DBoundary::getNonlinearConvergence ( ) const
inlineoverrideprotectedvirtualinherited

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

Reimplemented from Component.

Definition at line 25 of file Component1DBoundary.h.

25{ 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.

346{
348
349 return _subdomain_names;
350}
std::vector< SubdomainName > _subdomain_names
List of subdomain names this components owns.
Definition Component.h:513

Referenced by Closures1PhaseBase::addAverageWallTemperatureMaterial(), FlowModel::addCommonInitialConditions(), FlowModel::addCommonMooseObjects(), FlowChannelBase::addCommonObjects(), FlowModel::addCommonVariables(), HeatStructureBase::addConstantDensitySolidPropertiesMaterial(), FlowModel1PhaseBase::addDensityAux(), FlowModelGasMix::addDensityIC(), FlowModelSinglePhase::addDensityIC(), FlowModel1PhaseBase::addEnergyGravityKernel(), FlowChannel1Phase::addFlowChannel1PhaseFunctorMaterial(), FlowModelGasMix::addFluidPropertiesMaterials(), FlowModelSinglePhase::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(), FlowChannel1Phase::addMooseObjects(), FlowChannelBase::addMooseObjects(), HeatSourceVolumetric1Phase::addMooseObjects(), HeatStructureBase::addMooseObjects(), HeatTransferFromHeatStructure1Phase::addMooseObjects(), ShaftConnectedCompressor1Phase::addMooseObjects(), ShaftConnectedPump1Phase::addMooseObjects(), ShaftConnectedTurbine1Phase::addMooseObjects(), SimpleTurbine1Phase::addMooseObjects(), VolumeJunction1Phase::addMooseObjects(), FunctorClosures::addMooseObjectsFlowChannel(), Closures1PhaseSimple::addMooseObjectsHeatTransfer(), Component::addNonlinearStepFunctorMaterial(), FlowChannel1Phase::addNormalized1PhaseResidualNorm(), FlowChannel1Phase::addNumericalFluxVectorPostprocessor(), FlowModelSinglePhase::addPassiveTransportIC(), FlowModelGasMix::addPressureAux(), FlowModelSinglePhase::addPressureAux(), FlowModelGasMix::addRDGAdvectionDGKernels(), FlowModelSinglePhase::addRDGAdvectionDGKernels(), FlowModel1PhaseBase::addRhoAIC(), FlowModelGasMix::addRhoEAIC(), FlowModelSinglePhase::addRhoEAIC(), FlowModel1PhaseBase::addRhoUAIC(), FlowModelGasMix::addSlopeReconstructionMaterial(), FlowModelSinglePhase::addSlopeReconstructionMaterial(), FlowModel1PhaseBase::addSpecificInternalEnergyAux(), FlowModel1PhaseBase::addSpecificInternalEnergyIC(), FlowModel1PhaseBase::addSpecificTotalEnthalpyAux(), FlowModel1PhaseBase::addSpecificTotalEnthalpyIC(), FlowModel1PhaseBase::addSpecificVolumeAux(), FlowModel1PhaseBase::addSpecificVolumeIC(), FlowModelGasMix::addTemperatureAux(), FlowModelSinglePhase::addTemperatureAux(), FlowModel1PhaseBase::addTimeDerivativeKernelIfTransient(), HeatConductionModel::addVariables(), FlowModel1PhaseBase::addVariables(), FlowModelGasMix::addVariables(), FlowModelSinglePhase::addVariables(), FlowChannelBase::addVariables(), HSBoundaryExternalAppConvection::addVariables(), HSBoundaryExternalAppHeatFlux::addVariables(), HSBoundaryExternalAppTemperature::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(), Component1DConnection::init(), FileMeshPhysicsComponent::init(), FormLoss1PhaseBase::init(), HeatTransferBase::init(), and HeatTransferFromHeatStructure3D1Phase::init().

◆ getTHMProblem()

THMProblem & Component::getTHMProblem ( ) const
inherited

Gets the THM problem.

Definition at line 135 of file Component.C.

136{
137 return _sim;
138}

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(), FlowChannelBase::addMooseObjects(), FormLoss1PhaseBase::addMooseObjects(), FormLossFromExternalApp1Phase::addMooseObjects(), FormLossFromFunction1Phase::addMooseObjects(), FreeBoundary1Phase::addMooseObjects(), GateValve1Phase::addMooseObjects(), HeatSourceFromPowerDensity::addMooseObjects(), HeatSourceFromTotalPower::addMooseObjects(), HeatSourceVolumetric1Phase::addMooseObjects(), HeatStructure2DCoupler::addMooseObjects(), HeatStructure2DRadiationCouplerRZ::addMooseObjects(), HeatTransferBase::addMooseObjects(), HeatTransferFromExternalAppHeatFlux1Phase::addMooseObjects(), HeatTransferFromHeatFlux1Phase::addMooseObjects(), HeatTransferFromHeatStructure1Phase::addMooseObjects(), HeatTransferFromHeatStructure3D1Phase::addMooseObjects(), HeatTransferFromSpecifiedTemperature1Phase::addMooseObjects(), HSBoundaryAmbientConvection::addMooseObjects(), HSBoundaryExternalAppConvection::addMooseObjects(), HSBoundaryExternalAppHeatFlux::addMooseObjects(), HSBoundaryExternalAppTemperature::addMooseObjects(), HSBoundaryHeatFlux::addMooseObjects(), HSBoundaryRadiation::addMooseObjects(), HSBoundarySpecifiedTemperature::addMooseObjects(), HSCoupler2D2DRadiation::addMooseObjects(), HSCoupler2D3D::addMooseObjects(), InletDensityVelocity1Phase::addMooseObjects(), InletMassFlowRateTemperature1Phase::addMooseObjects(), InletStagnationPressureTemperature1Phase::addMooseObjects(), InletVelocityTemperature1Phase::addMooseObjects(), JunctionOneToOne1Phase::addMooseObjects(), Outlet1Phase::addMooseObjects(), Shaft::addMooseObjects(), ShaftConnectedCompressor1Phase::addMooseObjects(), ShaftConnectedMotor::addMooseObjects(), ShaftConnectedPump1Phase::addMooseObjects(), ShaftConnectedTurbine1Phase::addMooseObjects(), SimpleTurbine1Phase::addMooseObjects(), addMooseObjects(), SolidWallGasMix::addMooseObjects(), TotalPower::addMooseObjects(), VolumeJunction1Phase::addMooseObjects(), InletFunction1Phase::addMooseObjects(), Component::addMultiPostprocessorConvergence(), Component::addNonlinearStepFunctorMaterial(), FlowChannel1Phase::addNormalized1PhaseResidualNorm(), FlowChannel1Phase::addNumericalFluxVectorPostprocessor(), VolumeJunctionCoupledFlux1Phase::addPropertyPostprocessor(), VolumeJunctionCoupledFlux1Phase::addPropertyTransfer(), HeatStructureBase::addResidualNormPostprocessor(), FlowChannelBase::addVariables(), FormLossFromExternalApp1Phase::addVariables(), HeatTransferFromExternalAppHeatFlux1Phase::addVariables(), HeatTransferFromExternalAppTemperature1Phase::addVariables(), HeatTransferFromHeatStructure1Phase::addVariables(), HeatTransferFromHeatStructure3D1Phase::addVariables(), HeatTransferFromSpecifiedTemperature1Phase::addVariables(), HeatTransferFromTemperature1Phase::addVariables(), HSBoundaryExternalAppConvection::addVariables(), HSBoundaryExternalAppHeatFlux::addVariables(), HSBoundaryExternalAppTemperature::addVariables(), Shaft::addVariables(), TotalPower::addVariables(), TotalPowerBase::addVariables(), VolumeJunction1Phase::addVolumeJunctionIC(), VolumeJunctionCoupledFlux1Phase::addVolumeJunctionKernel(), FlowBoundary1Phase::addWeakBCs(), FlowBoundaryGasMix::addWeakBCs(), FlowChannel1PhaseBase::buildFlowModel(), HeatStructureInterface::buildModel(), VolumeJunction1Phase::buildVolumeJunctionUserObject(), JunctionParallelChannels1Phase::buildVolumeJunctionUserObject(), Pump1Phase::buildVolumeJunctionUserObject(), ShaftConnectedCompressor1Phase::buildVolumeJunctionUserObject(), ShaftConnectedPump1Phase::buildVolumeJunctionUserObject(), ShaftConnectedTurbine1Phase::buildVolumeJunctionUserObject(), SimpleTurbine1Phase::buildVolumeJunctionUserObject(), HeatStructureInterface::check(), FlowChannel1PhaseBase::check(), Shaft::check(), VolumeJunction1Phase::check(), FlowChannel1Phase::checkFluidProperties(), FlowChannelGasMix::checkFluidProperties(), FlowChannel1Phase::getNonlinearConvergence(), HeatStructureBase::getNonlinearConvergence(), GeometricalComponent::getVariableFn(), Component1DConnection::init(), FlowBoundary::init(), FlowBoundary1PhaseBase::init(), FlowChannelBase::init(), FlowJunction::init(), FlowJunction1Phase::init(), Component::problemIsTransient(), GateValve1Phase::setupMesh(), HeatStructure2DCouplerBase::setupMesh(), HeatTransferFromHeatStructure1Phase::setupMesh(), HeatTransferFromHeatStructure3D1Phase::setupMesh(), HSCoupler2D2DRadiation::setupMesh(), HSCoupler2D3D::setupMesh(), JunctionOneToOne1Phase::setupMesh(), and VolumeJunction1Phase::setupMesh().

◆ 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}

◆ 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}
bool have_parameter(std::string_view name) const
const InputParameters & parameters() const

◆ init()

void FlowBoundary1Phase::init ( )
overrideprotectedvirtualinherited

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 FlowBoundary1PhaseBase.

Definition at line 28 of file FlowBoundary1Phase.C.

29{
31
32 if (hasComponentByName<FlowChannel1Phase>(_connected_component_name))
33 {
34 auto flow_model_1phase = dynamic_cast<const FlowModelSinglePhase *>(_flow_model.get());
35 mooseAssert(flow_model_1phase, "Incompatible flow model");
36 _passives_times_area = flow_model_1phase->passiveTransportSolutionVariableNames();
37 }
38}
virtual void init() override
Initializes the component.

◆ initSecondary()

virtual void Component::initSecondary ( )
inlineprotectedvirtualinherited

◆ 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))
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}

◆ 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.

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
@ ERROR
Definition Logger.h:25

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

◆ 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.

68 {
69 _log.add(Logger::WARNING, component_name, ": ", std::forward<Args>(args)...);
70 }
@ WARNING
Definition Logger.h:26

Referenced by Component::logWarning().

◆ logError()

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

Logs an error.

Definition at line 226 of file Component.h.

227 {
228 logComponentError(cname(), std::forward<Args>(args)...);
229 }
void logComponentError(const std::string &component_name, Args &&... args) const
Logs an error for a component.

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

◆ logWarning()

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

Logs a warning.

Definition at line 235 of file Component.h.

236 {
237 logComponentWarning(cname(), std::forward<Args>(args)...);
238 }
void logComponentWarning(const std::string &component_name, Args &&... args) const
Logs a warning for a component.

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

◆ mesh()

THMMesh & Component::mesh ( )
inherited

◆ nonlinearConvergenceName()

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

◆ parent()

Component * Component::parent ( )
inlineinherited

Definition at line 55 of file Component.h.

55{ return _parent; }

◆ passParameter() [1/2]

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

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

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

Definition at line 54 of file THMObject.h.

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

◆ passParameter() [2/2]

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

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

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

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

Definition at line 64 of file THMObject.h.

65{
66 passParameter<T>(name, name, params);
67}

◆ problemIsTransient()

bool Component::problemIsTransient ( ) const
inlineinherited

Whether the problem is transient.

Definition at line 264 of file Component.h.

264{ return getTHMProblem().isTransient(); }
virtual bool isTransient() const override

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

◆ 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.

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< SubdomainID > _subdomain_ids
List of subdomain IDs this components owns.
Definition Component.h:511
void setSubdomainName(SubdomainID subdomain_id, const SubdomainName &name)

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

◆ setupMesh()

void Component1DBoundary::setupMesh ( )
overrideprotectedvirtualinherited

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

Reimplemented from Component1DConnection.

Definition at line 34 of file Component1DBoundary.C.

35{
37
38 if (_nodes.size() > 0)
39 {
40 _elem = _elems[0];
41 _side = _sides[0];
42 _node = _nodes[0];
43 _normal = _normals[0];
44
45 // create a sideset corresponding to the side of the connected component end
46 const BoundaryID boundary_id = mesh().getNextBoundaryId();
47 auto & binfo = mesh().getMesh().get_boundary_info();
48 binfo.add_side(_elem, _side, boundary_id);
49 binfo.sideset_name(boundary_id) = name();
50 }
51}
boundary_id_type BoundaryID
unsigned short int _side
Side ID.
dof_id_type _node
Node ID.
const Elem * _elem
Element.
std::vector< Real > _normals
Outward normals associated with connected components.
virtual void setupMesh() override
Performs mesh setup such as creating mesh or naming mesh sets.
std::vector< const Elem * > _elems
Boundary elements of connected components.
std::vector< unsigned short int > _sides
Boundary sides of connected components.
MeshBase & getMesh()
virtual BoundaryID getNextBoundaryId()
Gets the next nodeset or sideset ID.
Definition THMMesh.C:209

◆ stringify()

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

Return a string for the setup status.

Definition at line 309 of file Component.C.

310{
311 switch (status)
312 {
313 case CREATED:
314 return "component created";
315 case MESH_PREPARED:
316 return "component mesh set up";
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}

Referenced by Component::checkSetupStatus().

◆ supportsPassiveTransport()

virtual bool SolidWall1Phase::supportsPassiveTransport ( ) const
inlineoverrideprotectedvirtual

True if the component supports passive transport variables.

Reimplemented from FlowBoundary1Phase.

Definition at line 25 of file SolidWall1Phase.h.

25{ return true; }

◆ validParams()

InputParameters SolidWall1Phase::validParams ( )
static

Definition at line 16 of file SolidWall1Phase.C.

17{
19 params.addClassDescription("Adds the boundary condition for a wall in single phase flow");
20 return params;
21}
static InputParameters validParams()
void addClassDescription(const std::string &doc_string)

Member Data Documentation

◆ _boundary_ids

std::vector<unsigned int> Component1DConnection::_boundary_ids
protectedinherited

Boundary IDs of connected components.

Definition at line 141 of file Component1DConnection.h.

Referenced by Component1DConnection::setupMesh().

◆ _boundary_names

std::vector<BoundaryName> Component1DConnection::_boundary_names
protectedinherited

◆ _boundary_uo_name

const UserObjectName FlowBoundary1PhaseBase::_boundary_uo_name
protectedinherited

◆ _component_setup_status

EComponentSetupStatus Component::_component_setup_status
mutableprivateinherited

◆ _connected_component_end_type

EEndType Component1DBoundary::_connected_component_end_type
protectedinherited

End type of the connected component.

Definition at line 30 of file Component1DBoundary.h.

Referenced by Component1DBoundary::Component1DBoundary().

◆ _connected_component_name

std::string Component1DBoundary::_connected_component_name
protectedinherited

◆ _connected_component_names

std::vector<std::string> Component1DConnection::_connected_component_names
protectedinherited

◆ _connected_subdomain_names

std::vector<SubdomainName> Component1DConnection::_connected_subdomain_names
protectedinherited

Vector of subdomain names of the connected components.

Definition at line 154 of file Component1DConnection.h.

Referenced by Component1DConnection::getConnectedSubdomainNames(), and Component1DConnection::init().

◆ _connections

std::vector<Connection> Component1DConnection::_connections
protectedinherited

◆ _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().

◆ _dependencies

std::vector<std::string> Component::_dependencies
privateinherited

List of names of components that this component depends upon.

Definition at line 542 of file Component.h.

Referenced by Component::addDependency(), and Component::getDependencies().

◆ _directions

std::vector<RealVectorValue> Component1DConnection::_directions
protectedinherited

◆ _elem

const Elem* Component1DBoundary::_elem
protectedinherited

Element.

Definition at line 33 of file Component1DBoundary.h.

Referenced by Component1DBoundary::setupMesh().

◆ _elem_ids

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

◆ _elems

std::vector<const Elem *> Component1DConnection::_elems
protectedinherited

Boundary elements of connected components.

Definition at line 135 of file Component1DConnection.h.

Referenced by Component1DBoundary::setupMesh(), and Component1DConnection::setupMesh().

◆ _end_type_to_enum

const std::map< std::string, Component1DConnection::EEndType > Component1DConnection::_end_type_to_enum {{"IN", IN}, {"OUT", OUT}}
staticinherited

Map of end type string to enum.

Definition at line 14 of file Component1DConnection.h.

Referenced by THM::stringToEnum().

◆ _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(), FlowChannelBase::addMooseObjects(), FormLoss1PhaseBase::addMooseObjects(), FormLossFromExternalApp1Phase::addMooseObjects(), FormLossFromFunction1Phase::addMooseObjects(), FreeBoundary1Phase::addMooseObjects(), GateValve1Phase::addMooseObjects(), HeatSourceFromPowerDensity::addMooseObjects(), HeatSourceFromTotalPower::addMooseObjects(), HeatSourceVolumetric1Phase::addMooseObjects(), HeatStructure2DCoupler::addMooseObjects(), HeatStructure2DRadiationCouplerRZ::addMooseObjects(), HeatTransferBase::addMooseObjects(), HeatTransferFromExternalAppHeatFlux1Phase::addMooseObjects(), HeatTransferFromHeatFlux1Phase::addMooseObjects(), HeatTransferFromHeatStructure1Phase::addMooseObjects(), HeatTransferFromHeatStructure3D1Phase::addMooseObjects(), HeatTransferFromSpecifiedTemperature1Phase::addMooseObjects(), HSBoundaryAmbientConvection::addMooseObjects(), HSBoundaryExternalAppConvection::addMooseObjects(), HSBoundaryExternalAppHeatFlux::addMooseObjects(), HSBoundaryExternalAppTemperature::addMooseObjects(), HSBoundaryHeatFlux::addMooseObjects(), HSBoundaryRadiation::addMooseObjects(), HSBoundarySpecifiedTemperature::addMooseObjects(), HSCoupler2D2DRadiation::addMooseObjects(), HSCoupler2D3D::addMooseObjects(), InletDensityVelocity1Phase::addMooseObjects(), InletMassFlowRateTemperature1Phase::addMooseObjects(), InletStagnationPressureTemperature1Phase::addMooseObjects(), InletVelocityTemperature1Phase::addMooseObjects(), JunctionOneToOne1Phase::addMooseObjects(), Outlet1Phase::addMooseObjects(), Shaft::addMooseObjects(), ShaftConnectedCompressor1Phase::addMooseObjects(), ShaftConnectedMotor::addMooseObjects(), ShaftConnectedPump1Phase::addMooseObjects(), ShaftConnectedTurbine1Phase::addMooseObjects(), SimpleTurbine1Phase::addMooseObjects(), addMooseObjects(), SolidWallGasMix::addMooseObjects(), TotalPower::addMooseObjects(), VolumeJunction1Phase::addMooseObjects(), InletFunction1Phase::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(), VolumeJunction1Phase::buildVolumeJunctionUserObject(), JunctionParallelChannels1Phase::buildVolumeJunctionUserObject(), Pump1Phase::buildVolumeJunctionUserObject(), ShaftConnectedCompressor1Phase::buildVolumeJunctionUserObject(), ShaftConnectedPump1Phase::buildVolumeJunctionUserObject(), ShaftConnectedTurbine1Phase::buildVolumeJunctionUserObject(), and SimpleTurbine1Phase::buildVolumeJunctionUserObject().

◆ _flow_model

std::shared_ptr<const FlowModel> FlowBoundary::_flow_model
protectedinherited

◆ _flow_model_id

THM::FlowModelID FlowBoundary::_flow_model_id
protectedinherited

Flow model ID.

Definition at line 34 of file FlowBoundary.h.

Referenced by FlowBoundary::init().

◆ _fp_name

UserObjectName FlowBoundary::_fp_name
protectedinherited

◆ _input

BoundaryName Component1DBoundary::_input
protectedinherited

Name of the boundary this component attaches to.

Definition at line 41 of file Component1DBoundary.h.

Referenced by Component1DBoundary::Component1DBoundary().

◆ _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().

◆ _node

dof_id_type Component1DBoundary::_node
protectedinherited

Node ID.

Definition at line 37 of file Component1DBoundary.h.

Referenced by Component1DBoundary::setupMesh().

◆ _node_ids

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

◆ _nodes

std::vector<dof_id_type> Component1DConnection::_nodes
protectedinherited

◆ _normal

Real Component1DBoundary::_normal
protectedinherited

◆ _normals

std::vector<Real> Component1DConnection::_normals
protectedinherited

◆ _numerical_flux_name

UserObjectName FlowBoundary1PhaseBase::_numerical_flux_name
protectedinherited

◆ _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().

◆ _passives_times_area

std::vector<VariableName> FlowBoundary1Phase::_passives_times_area
protectedinherited

Passive transport variables on the connected flow channel.

Definition at line 35 of file FlowBoundary1Phase.h.

Referenced by FlowBoundary1Phase::addWeakBCs(), FlowBoundary1Phase::check(), and FlowBoundary1Phase::init().

◆ _positions

std::vector<Point> Component1DConnection::_positions
protectedinherited

Physical positions of connected components.

Definition at line 133 of file Component1DConnection.h.

Referenced by Component1DConnection::setupMesh().

◆ _side

unsigned short int Component1DBoundary::_side
protectedinherited

Side ID.

Definition at line 35 of file Component1DBoundary.h.

Referenced by Component1DBoundary::setupMesh().

◆ _sides

std::vector<unsigned short int> Component1DConnection::_sides
protectedinherited

Boundary sides of connected components.

Definition at line 137 of file Component1DConnection.h.

Referenced by Component1DBoundary::setupMesh(), and Component1DConnection::setupMesh().

◆ _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().

◆ _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: