26 "Stefan Boltzmann constant [W/(m^2-K^4)]. This constant is provided as a " 27 "parameter to allow different precisions.");
30 "Couples boundaries of two 2D cylindrical heat structures via radiation");
39 _emissivities({getParam<Real>(
"primary_emissivity"), getParam<Real>(
"secondary_emissivity")})
48 if (hasComponentByName<HeatStructureBase>(
_hs_names[0]) &&
71 logError(
"The primary and secondary heat structures must be of a type inherited from " 72 "'HeatStructureCylindricalBase'.");
75 logError(
"The primary and secondary boundaries must be aligned.");
77 if (hasComponentByName<HeatStructureBase>(
_hs_names[0]) &&
78 hasComponentByName<HeatStructureBase>(
_hs_names[1]))
88 logError(
"The primary and secondary boundaries must be radial boundaries.");
98 for (
unsigned int i = 0; i < 2; i++)
100 const unsigned int j = i == 0 ? 1 : 0;
102 const auto & hs_cyl = getComponentByName<HeatStructureCylindricalBase>(
_hs_names[i]);
104 const std::string class_name =
"HeatStructure2DRadiationCouplerRZBC";
115 params.
set<
Real>(
"stefan_boltzmann_constant") = getParam<Real>(
"stefan_boltzmann_constant");
116 params.
set<Point>(
"axis_point") = hs_cyl.getPosition();
HeatStructure2DRadiationCouplerRZ(const InputParameters ¶meters)
bool hasBoundary(const BoundaryName &boundary_name) const
Returns true if this component has the supplied boundary.
static InputParameters validParams()
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.
const std::vector< BoundaryName > _hs_boundaries
Primary and secondary heat structure boundaries.
THMProblem & getTHMProblem() const
Gets the THM problem.
registerMooseObject("ThermalHydraulicsApp", HeatStructure2DRadiationCouplerRZ)
virtual void check() const override
Check the component integrity.
InputParameters getValidParams(const std::string &name) const
Couples boundaries of two 2D cylindrical heat structures via radiation.
Builds mapping between two aligned subdomains/boundaries.
virtual const std::string & name() const
static InputParameters validParams()
bool meshesAreAligned() const
Returns true if the primary and secondary meshes are aligned.
virtual void addBoundaryCondition(const std::string &bc_name, const std::string &name, InputParameters ¶meters)
void logError(Args &&... args) const
Logs an error.
virtual void init() override
Initializes the component.
std::vector< bool > _is_cylindrical
Flag for each heat structure deriving from HeatStructureCylindricalBase.
virtual void init() override
Initializes the component.
virtual void addMooseObjects() override
static const std::string TEMPERATURE
std::vector< Real > _view_factors
View factors for the primary and secondary sides.
std::vector< Real > _areas
Areas for the primary and secondary sides.
const std::vector< Real > _emissivities
Emissivities for the primary and secondary sides.
std::vector< Component2D::ExternalBoundaryType > _hs_side_types
Heat structure side types for each boundary.
MeshAlignment _mesh_alignment
Mesh alignment.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Factory & _factory
The Factory associated with the MooseApp.
Base class for 2D generated heat structures.
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
virtual void addMooseObjects()
const std::vector< std::string > _hs_names
Primary and secondary heat structure names.
Couples boundaries of two 2D heat structures.
virtual void check() const override
Check the component integrity.