19 params.
addRequiredParam<std::vector<std::string>>(
"names",
"Name of each radial region");
20 params.
addRequiredParam<std::vector<Real>>(
"widths",
"Width of each radial region [m]");
22 "Number of elements of each radial region");
25 "Material name for each transverse region",
26 "HeatStructureMaterials are deprecated. Please make corresponding SolidProperties objects " 27 "and replace the heat structure parameter 'materials' with the parameters 'solid_properties' " 28 "and 'solid_properties_T_ref'. See heat structure documentation for more information.");
29 params.
addParam<std::vector<UserObjectName>>(
30 "solid_properties",
"Solid properties object name for each radial region");
32 "solid_properties_T_ref",
34 "Density reference temperatures for each radial region. This is required if " 35 "'solid_properties' is provided. The density in each region will be a constant value " 36 "computed by evaluating the density function at the reference temperature.");
37 params.
addParam<
Real>(
"num_rods", 1.0,
"Number of rods represented by this heat structure");
38 params.
addParam<
Real>(
"inner_radius", 0.,
"Inner radius of the heat structure [m]");
48 _names = getParam<std::vector<std::string>>(
"names");
50 for (
unsigned int i = 0; i <
_names.size(); i++)
54 : std::vector<std::string>{};
56 _width = getParam<std::vector<Real>>(
"widths");
59 _n_part_elems = getParam<std::vector<unsigned int>>(
"n_part_elems");
72 r[i + 1] = r[i] +
_width[i];
83 checkEqualSize<std::string, unsigned int>(
"names",
"n_part_elems");
84 checkEqualSize<std::string, Real>(
"names",
"widths");
86 checkEqualSize<std::string, std::string>(
"names",
"materials");
89 checkEqualSize<UserObjectName, std::string>(
"solid_properties",
"names");
90 checkEqualSize<UserObjectName, Real>(
"solid_properties",
"solid_properties_T_ref");
Real _length
Total axial length.
std::vector< Real > _volume
Volume of each transverse region.
Real _inner_radius
Inner radius of the heat structure.
std::vector< std::string > _material_names
Material names.
Real _num_rods
The number of rods represented by this heat structure.
static InputParameters validParams()
virtual void check() const override
Check the component integrity.
bool isParamValid(const std::string &name) const
Real _total_width
Total width of all transverse regions.
unsigned int _total_elem_number
Total number of transverse elements.
unsigned int _n_regions
Number of transverse regions.
Base class for cylindrical heat structure components.
std::vector< std::string > _names
Names of each transverse region.
std::vector< unsigned int > _n_part_elems
Number of elements in each transverse region.
registerMooseObject("ThermalHydraulicsApp", HeatStructureCylindrical)
Component to model cylindrical heat structure.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< Real > _width
Width of each transverse region.
static InputParameters validParams()
virtual void check() const override
Check the component integrity.
HeatStructureCylindrical(const InputParameters ¶ms)
std::map< std::string, unsigned int > _name_index
Map from block name to block index.
void checkMutuallyExclusiveParameters(const std::vector< std::string > ¶ms, bool need_one_specified=true) const
Checks that exactly one parameter out of a list is provided.