19 params.
addRequiredParam<std::vector<std::string>>(
"names",
"Name of each transverse region");
20 params.
addRequiredParam<std::vector<Real>>(
"widths",
"Width of each transverse region [m]");
22 "n_part_elems",
"Number of elements of each transverse 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");
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");
77 checkEqualSize<std::string, unsigned int>(
"names",
"n_part_elems");
78 checkEqualSize<std::string, Real>(
"names",
"widths");
80 checkEqualSize<std::string, std::string>(
"names",
"materials");
83 checkEqualSize<UserObjectName, std::string>(
"solid_properties",
"names");
84 checkEqualSize<UserObjectName, Real>(
"solid_properties",
"solid_properties_T_ref");
100 return std::numeric_limits<Real>::quiet_NaN();
115 return (y_max - y_min) *
_depth;
Real _length
Total axial length.
std::vector< Real > _volume
Volume of each transverse region.
const Real & _depth
plate fuel depth
std::vector< std::string > _material_names
Material names.
ExternalBoundaryType
External boundary type.
Real _num_rods
The number of rods represented by this heat structure.
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.
const std::string & name() const
virtual void check() const override
Check the component integrity.
std::vector< std::string > _names
Names of each transverse region.
std::vector< unsigned int > _n_part_elems
Number of elements in each transverse region.
HeatStructurePlate(const InputParameters ¶ms)
virtual Real computeRadialBoundaryArea(const Real &length, const Real &y) const override
Computes the area of a radial boundary.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
std::vector< Real > _width
Width of each transverse region.
static InputParameters validParams()
Component to model plate heat structure.
virtual void check() const override
Check the component integrity.
void mooseError(Args &&... args) const
Base class for 2D generated heat structures.
virtual Real getUnitPerimeter(const ExternalBoundaryType &side) const override
Gets the perimeter of one unit of this heat structure on the specified side.
bool isParamValid(const std::string &name) const
registerMooseObject("ThermalHydraulicsApp", HeatStructurePlate)
virtual Real computeAxialBoundaryArea(const Real &y_min, const Real &y_max) const override
Computes the area of an axial boundary.
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.