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'.");
bool hasBlock(const std::string &name) const
Returns true if there is a transverse region of a given name.
Base class for THM components.
void logError(Args &&... args) const
Logs an error.
virtual void check() const
Check the component integrity.
static InputParameters validParams()
const std::vector< std::string > & _region_names
Names of the heat structure regions where heat generation is to be applied.
HeatSourceBase(const InputParameters ¶meters)
std::vector< SubdomainName > _subdomain_names
Names of the heat structure subdomains corresponding to the given regions.
const std::string & _hs_name
Heat structure name.
static InputParameters validParams()
virtual void check() const override
Check the component integrity.
Base class for 2D generated heat structures.
Heat structure component that loads the mesh from an ExodusII file.
bool hasRegion(const std::string ®ion) const
Has the given region?
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.