21 params.
addParam<MaterialPropertyName>(
"Hw",
23 "Heat transfer coefficient material property");
24 params.
addParam<MaterialPropertyName>(
27 params.
addParam<MaterialPropertyName>(
29 params.
addParam<MaterialPropertyName>(
31 params.
addParam<MaterialPropertyName>(
33 params.
addParam<MaterialPropertyName>(
35 params.
addParam<MaterialPropertyName>(
38 params.
addClassDescription(
"Computes wall heat transfer coefficient for gases and water using "
39 "the Gnielinski correlation");
46 _Hw(declareADProperty<Real>(
"Hw")),
47 _rho(getADMaterialProperty<Real>(
"rho")),
48 _vel(getADMaterialProperty<Real>(
"vel")),
49 _D_h(getADMaterialProperty<Real>(
"D_h")),
50 _k(getADMaterialProperty<Real>(
"k")),
51 _mu(getADMaterialProperty<Real>(
"mu")),
52 _cp(getADMaterialProperty<Real>(
"cp")),
53 _T(getADMaterialProperty<Real>(
"T")),
54 _T_wall(getADMaterialProperty<Real>(
"T_wall"))
61 using std::max, std::sqrt, std::pow, std::log10;
66 if (Re < 2300 || Re > 5E+6 || Pr < 0.5 || Pr > 2000)
69 "The Gnielinski correlation is valid when Pr is between 0.5 and 2000, and Re is "
70 "between 2300 and 5000000. Be aware that using values out of this range may lead to "
71 "significant errors in your results!"));
75 ADReal Nu = ((
f / 8.0) * max(0.0,
Re - 1000.0) * Pr) /
76 (1.0 + 12.7 * sqrt(
f / 8.0) * (
pow(Pr, 2.0 / 3.0) - 1.0));
DualNumber< Real, DNDerivativeType, true > ADReal
registerMooseObject("ThermalHydraulicsApp", ADWallHeatTransferCoefficientGnielinskiMaterial)
Real f(Real x)
Test function for Brents method.
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
Computes wall heat transfer coefficient for gases and water using the Gnielinski correlation.
const ADMaterialProperty< Real > & _D_h
Hydraulic diameter.
const ADMaterialProperty< Real > & _vel
Velocity.
ADWallHeatTransferCoefficientGnielinskiMaterial(const InputParameters ¶meters)
const ADMaterialProperty< Real > & _cp
Specific heat capacity.
const ADMaterialProperty< Real > & _rho
Density.
virtual void computeQpProperties() override
static InputParameters validParams()
const ADMaterialProperty< Real > & _k
Thermal conductivity.
const ADMaterialProperty< Real > & _mu
Dynamic viscosity.
ADMaterialProperty< Real > & _Hw
Wall heat transfer coefficient.
static const std::string DENSITY
static const std::string HYDRAULIC_DIAMETER
static const std::string VELOCITY
static const std::string HEAT_TRANSFER_COEFFICIENT_WALL
static const std::string DYNAMIC_VISCOSITY
static const std::string SPECIFIC_HEAT_CONSTANT_PRESSURE
static const std::string THERMAL_CONDUCTIVITY
static const std::string TEMPERATURE
static const std::string TEMPERATURE_WALL
static InputParameters validParams()
void mooseWarning(Args &&... args) const
auto Prandtl(const T1 &cp, const T2 &mu, const T3 &k)
Compute Prandtl number.
auto Reynolds(const T1 &volume_fraction, const T2 &rho, const T3 &vel, const T4 &D_h, const T5 &mu)
Compute Reynolds number.