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");
23 params.
addParam<std::vector<UserObjectName>>(
24 "solid_properties",
"Solid properties object name for each radial region");
26 "solid_properties_T_ref",
28 "Density reference temperatures for each radial region. This is required if " 29 "'solid_properties' is provided. The density in each region will be a constant value " 30 "computed by evaluating the density function at the reference temperature.");
31 params.
addParam<
Real>(
"num_rods", 1.0,
"Number of rods represented by this heat structure");
42 _names = getParam<std::vector<std::string>>(
"names");
44 for (
unsigned int i = 0; i <
_names.size(); i++)
47 _width = getParam<std::vector<Real>>(
"widths");
50 _n_part_elems = getParam<std::vector<unsigned int>>(
"n_part_elems");
68 checkEqualSize<std::string, unsigned int>(
"names",
"n_part_elems");
69 checkEqualSize<std::string, Real>(
"names",
"widths");
72 checkEqualSize<UserObjectName, std::string>(
"solid_properties",
"names");
73 checkEqualSize<UserObjectName, Real>(
"solid_properties",
"solid_properties_T_ref");
88 return std::numeric_limits<Real>::quiet_NaN();
103 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
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.