https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SCMHTCSchadModified.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#include "SCMHTCSchadModified.h"
11
13
16{
19 "Class that computes the convective heat transfer coefficient using the "
20 "Schad-Modified correlation. Only use for fuel-pins.");
21 return params;
22}
23
25 : SCMHTCClosureBase(parameters)
26{
27 // Check that the correlation not used for the duct (not supported yet)
28 if (const auto * duct_uo = _scm_problem.getDuctHTCClosure(); duct_uo && duct_uo == this)
29 mooseError("'Schad-Modified' is not yet supported for the 'duct_htc_correlation'.");
30}
31
32Real
34 const NusseltStruct & nusselt_args) const
35{
36 const auto pre = computeNusseltNumberPreInfo(nusselt_args);
37 const auto Pe = pre.Re * pre.Pr;
38 const auto turbulent_Pe = turbulentReynoldsNumber(pre) * pre.Pr;
39
40 if (pre.poD < 1.1 || pre.poD > 1.5)
41 flagSolutionWarning(
42 "Pitch over pin diameter ratio out of range for the Schad-Modified correlation.");
43
44 if (Pe < 150)
45 flagSolutionWarning(
46 "Peclet number (Pe) below recommended range for the Schad-Modified correlation.");
47 else if (Pe > 1000)
48 flagSolutionWarning(
49 "Peclet number (Pe) above recommended range for the Schad-Modified correlation.");
50
51 const Real poly = -16.15 + 24.96 * pre.poD - 8.55 * Utility::pow<2>(pre.poD);
52 auto NuT = 0.0;
53 if (turbulent_Pe <= 1000 && turbulent_Pe >= 150)
54 {
55 NuT = poly * std::pow(turbulent_Pe, 0.3);
56 }
57 else if (turbulent_Pe < 150)
58 {
59 NuT = poly * 4.496;
60 }
61 else
62 {
63 NuT = poly * std::pow(turbulent_Pe, 0.3);
64 }
65
66 return blendTurbulentNusseltNumber(pre, NuT);
67}
registerMooseObject("SubChannelApp", SCMHTCSchadModified)
void addClassDescription(const std::string &doc_string)
void mooseError(Args &&... args) const
const SubChannel1PhaseProblem & _scm_problem
Reference to the subchannel problem.
Base class for the convective heat transfer coefficients (HTC) closures used in SCM.
Real blendTurbulentNusseltNumber(const NusseltPreInfo &nusselt_info, const Real turbulent_nusselt) const
Blends turbulent Nusselt number through the transition range using the base laminar value.
Real turbulentReynoldsNumber(const NusseltPreInfo &nusselt_info) const
Reynolds number used to evaluate the turbulent endpoint for transition-region blending.
static InputParameters validParams()
NusseltPreInfo computeNusseltNumberPreInfo(const NusseltStruct &nusselt_info) const
Computes all the data needed before computing the nusselt number. It's used by all closure models.
Class that calculates the HTC based on the Schad-Modified correlation It can be used only for fuel pi...
SCMHTCSchadModified(const InputParameters &parameters)
static InputParameters validParams()
virtual Real computeNusseltNumber(const FrictionStruct &friction_info, const NusseltStruct &nusselt_info) const override
Computes the nusselt number for the local conditions.
const SCMHTCClosureBase * getDuctHTCClosure() const
structure with the needed information to compute the friction factor at a specific subchannel cell
structure with the needed information to compute the Nusselt number at a specific subchannel cell and...