Line data Source code
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 "ADWallHeatTransferCoefficientWolfMcCarthyMaterial.h" 11 : #include "SinglePhaseFluidProperties.h" 12 : #include "FlowModelSinglePhase.h" 13 : #include "Numerics.h" 14 : 15 : registerMooseObject("ThermalHydraulicsApp", ADWallHeatTransferCoefficientWolfMcCarthyMaterial); 16 : 17 : InputParameters 18 170 : ADWallHeatTransferCoefficientWolfMcCarthyMaterial::validParams() 19 : { 20 170 : InputParameters params = Material::validParams(); 21 340 : params.addParam<MaterialPropertyName>("Hw", 22 : FlowModelSinglePhase::HEAT_TRANSFER_COEFFICIENT_WALL, 23 : "Heat transfer coefficient material property"); 24 340 : params.addParam<MaterialPropertyName>( 25 : "rho", FlowModelSinglePhase::DENSITY, "Density of the liquid"); 26 340 : params.addParam<MaterialPropertyName>("vel", FlowModelSinglePhase::VELOCITY, "Fluid velocity"); 27 340 : params.addParam<MaterialPropertyName>( 28 : "D_h", FlowModelSinglePhase::HYDRAULIC_DIAMETER, "Hydraulic diameter"); 29 340 : params.addParam<MaterialPropertyName>( 30 : "cp", FlowModelSinglePhase::SPECIFIC_HEAT_CONSTANT_PRESSURE, "Specific heat of the fluid"); 31 340 : params.addParam<MaterialPropertyName>( 32 : "mu", FlowModelSinglePhase::DYNAMIC_VISCOSITY, "Dynamic viscosity of the fluid"); 33 340 : params.addParam<MaterialPropertyName>( 34 : "k", FlowModelSinglePhase::THERMAL_CONDUCTIVITY, "Heat conductivity of the fluid"); 35 340 : params.addParam<MaterialPropertyName>( 36 : "T", FlowModelSinglePhase::TEMPERATURE, "Fluid temperature"); 37 340 : params.addParam<MaterialPropertyName>("T_wall", FlowModel::TEMPERATURE_WALL, "Wall temperature"); 38 170 : params.addClassDescription( 39 : "Computes wall heat transfer coefficient using Wolf-McCarthy correlation"); 40 170 : return params; 41 0 : } 42 : 43 132 : ADWallHeatTransferCoefficientWolfMcCarthyMaterial:: 44 132 : ADWallHeatTransferCoefficientWolfMcCarthyMaterial(const InputParameters & parameters) 45 : : Material(parameters), 46 132 : _Hw(declareADProperty<Real>("Hw")), 47 264 : _rho(getADMaterialProperty<Real>("rho")), 48 264 : _vel(getADMaterialProperty<Real>("vel")), 49 264 : _D_h(getADMaterialProperty<Real>("D_h")), 50 264 : _k(getADMaterialProperty<Real>("k")), 51 264 : _mu(getADMaterialProperty<Real>("mu")), 52 264 : _cp(getADMaterialProperty<Real>("cp")), 53 264 : _T(getADMaterialProperty<Real>("T")), 54 396 : _T_wall(getADMaterialProperty<Real>("T_wall")) 55 : { 56 132 : } 57 : 58 : void 59 4289 : ADWallHeatTransferCoefficientWolfMcCarthyMaterial::computeQpProperties() 60 : { 61 4289 : ADReal Pr = THM::Prandtl(_cp[_qp], _mu[_qp], _k[_qp]); 62 4289 : ADReal Re = std::max(1.0, THM::Reynolds(1., _rho[_qp], _vel[_qp], _D_h[_qp], _mu[_qp])); 63 4289 : ADReal Nu = 0.025 * std::pow(Re, 0.8) * std::pow(Pr, 0.4) * 64 8578 : std::pow(std::max(_T[_qp], _T_wall[_qp]) / _T[_qp], -0.55); 65 : 66 4289 : _Hw[_qp] = THM::wallHeatTransferCoefficient(Nu, _k[_qp], _D_h[_qp]); 67 4289 : }