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.
virtual const std::string & name() const
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.
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.
Base class for 2D generated heat structures.
void mooseError(Args &&... args) const
virtual Real getUnitPerimeter(const ExternalBoundaryType &side) const override
Gets the perimeter of one unit of this heat structure on the specified side.
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.