19 "Class that computes the convective heat transfer coefficient using the " 20 "Borishanskii correlation. Only use for fuel-pins.");
29 mooseError(
"'Borishanskii' is not yet supported for the 'duct_htc_correlation'.");
37 const Real Pe = pre.Re * pre.Pr;
40 if (pre.poD < 1.1 || pre.poD > 1.5)
42 "Pitch-over-pin diameter ratio out of range for the Borishanskii correlation.");
45 const Real poly = -8.12 + 12.76 * pre.poD - 3.65 * Utility::pow<2>(pre.poD);
48 mooseError(
"Logarithm argument non-positive in Borishanskii correlation; " 49 "Check Pitch-over-pin diameter ratio.");
52 auto NuT = 24.15 * std::log(
poly);
54 const Real corr_prefactor = 0.0174 * (1.0 - std::exp(6.0 - 6.0 * pre.poD));
58 "Peclet number (Pe) above recommended range for the Borishanskii correlation.");
60 if (turbulent_Pe >= 200.0 && turbulent_Pe <= 2200.0)
62 NuT += corr_prefactor *
std::pow(turbulent_Pe - 200.0, 0.9);
64 else if (turbulent_Pe < 200.0)
71 NuT += corr_prefactor *
std::pow(turbulent_Pe - 200.0, 0.9);
R poly(const C &c, const T x, const bool derivative=false)
NusseltPreInfo computeNusseltNumberPreInfo(const NusseltStruct &nusselt_info) const
Computes all the data needed before computing the nusselt number. It's used by all closure models...
structure with the needed information to compute the friction factor at a specific subchannel cell ...
const SubChannel1PhaseProblem & _scm_problem
Reference to the subchannel problem.
static InputParameters validParams()
const SCMHTCClosureBase * getDuctHTCClosure() const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real computeNusseltNumber(const FrictionStruct &friction_info, const NusseltStruct &nusselt_info) const override
Computes the nusselt number for the local conditions.
void mooseError(Args &&... args) const
Real turbulentReynoldsNumber(const NusseltPreInfo &nusselt_info) const
Reynolds number used to evaluate the turbulent endpoint for transition-region blending.
Base class for the convective heat transfer coefficients (HTC) closures used in SCM.
static InputParameters validParams()
MooseUnits pow(const MooseUnits &, int)
Class that calculates the HTC based on the Borishanskii correlation It can be used only for fuel pins...
SCMHTCBorishanskii(const InputParameters ¶meters)
Real blendTurbulentNusseltNumber(const NusseltPreInfo &nusselt_info, const Real turbulent_nusselt) const
Blends turbulent Nusselt number through the transition range using the base laminar value...
registerMooseObject("SubChannelApp", SCMHTCBorishanskii)
structure with the needed information to compute the Nusselt number at a specific subchannel cell and...