19 params.
addRequiredParam<std::string>(
"hs",
"Heat structure in which to apply heat source");
21 "regions",
"Heat structure regions where heat generation is to be applied");
28 _hs_name(getParam<
std::string>(
"hs")),
29 _region_names(getParam<
std::vector<
std::string>>(
"regions"))
31 checkSizeGreaterThan<std::string>(
"regions", 0);
42 checkComponentOfTypeExists<HeatStructureInterface>(
"hs");
44 if (hasComponent<HeatStructureBase>(
"hs"))
51 "' does not exist in heat structure '",
52 getParam<std::string>(
"hs"),
55 else if (hasComponent<HeatStructureFromFile3D>(
"hs"))
62 "' does not exist in heat structure '",
63 getParam<std::string>(
"hs"),
67 logError(
"Heat structure must be of type 'HeatStructureBase' or 'HeatStructureFromFile3D'.");
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.
Heat structure component that loads the mesh from an ExodusII file.
const std::vector< std::string > & _region_names
Names of the heat structure regions where heat generation is to be applied.
static InputParameters validParams()
static InputParameters validParams()
void logError(Args &&... args) const
Logs an error.
virtual void check() const
Check the component integrity.
bool hasRegion(const std::string ®ion) const
Has the given region?
Base class for THM components.
HeatSourceBase(const InputParameters ¶meters)
const std::string & _hs_name
Heat structure name.
bool hasBlock(const std::string &name) const
Returns true if there is a transverse region of a given name.
virtual void check() const override
Check the component integrity.
Base class for 2D generated heat structures.
std::vector< SubdomainName > _subdomain_names
Names of the heat structure subdomains corresponding to the given regions.