LCOV - code coverage report
Current view: top level - src/materials - ADWallHeatTransferCoefficient3EqnDittusBoelterMaterial.C (source / functions) Hit Total Coverage
Test: idaholab/moose thermal_hydraulics: #30301 (3b550b) with base 2ad78d Lines: 32 33 97.0 %
Date: 2025-07-30 13:02:48 Functions: 3 3 100.0 %
Legend: Lines: hit not hit

          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 "ADWallHeatTransferCoefficient3EqnDittusBoelterMaterial.h"
      11             : #include "SinglePhaseFluidProperties.h"
      12             : #include "FlowModelSinglePhase.h"
      13             : #include "Numerics.h"
      14             : 
      15             : registerMooseObject("ThermalHydraulicsApp", ADWallHeatTransferCoefficient3EqnDittusBoelterMaterial);
      16             : 
      17             : InputParameters
      18         775 : ADWallHeatTransferCoefficient3EqnDittusBoelterMaterial::validParams()
      19             : {
      20         775 :   InputParameters params = Material::validParams();
      21        1550 :   params.addParam<MaterialPropertyName>("Hw",
      22             :                                         FlowModelSinglePhase::HEAT_TRANSFER_COEFFICIENT_WALL,
      23             :                                         "Heat transfer coefficient material property");
      24        1550 :   params.addRequiredParam<MaterialPropertyName>("rho", "Density of the liquid");
      25        1550 :   params.addRequiredParam<MaterialPropertyName>("vel", "x-component of the liquid velocity");
      26        1550 :   params.addRequiredParam<MaterialPropertyName>("D_h", "Hydraulic diameter");
      27        1550 :   params.addRequiredParam<MaterialPropertyName>("cp", "Specific heat of the fluid");
      28        1550 :   params.addRequiredParam<MaterialPropertyName>("mu", "Dynamic viscosity of the fluid");
      29        1550 :   params.addRequiredParam<MaterialPropertyName>("k", "Heat conductivity of the fluid");
      30        1550 :   params.addRequiredParam<MaterialPropertyName>("T", "Fluid temperature");
      31        1550 :   params.addRequiredParam<MaterialPropertyName>("T_wall", "Wall temperature");
      32         775 :   params.addClassDescription(
      33             :       "Computes wall heat transfer coefficient using Dittus-Boelter equation");
      34         775 :   return params;
      35           0 : }
      36             : 
      37         606 : ADWallHeatTransferCoefficient3EqnDittusBoelterMaterial::
      38         606 :     ADWallHeatTransferCoefficient3EqnDittusBoelterMaterial(const InputParameters & parameters)
      39             :   : Material(parameters),
      40         606 :     _Hw(declareADProperty<Real>("Hw")),
      41        1212 :     _rho(getADMaterialProperty<Real>("rho")),
      42        1212 :     _vel(getADMaterialProperty<Real>("vel")),
      43        1212 :     _D_h(getADMaterialProperty<Real>("D_h")),
      44        1212 :     _k(getADMaterialProperty<Real>("k")),
      45        1212 :     _mu(getADMaterialProperty<Real>("mu")),
      46        1212 :     _cp(getADMaterialProperty<Real>("cp")),
      47        1212 :     _T(getADMaterialProperty<Real>("T")),
      48        1818 :     _T_wall(getADMaterialProperty<Real>("T_wall"))
      49             : {
      50         606 : }
      51             : 
      52             : void
      53      914236 : ADWallHeatTransferCoefficient3EqnDittusBoelterMaterial::computeQpProperties()
      54             : {
      55      914236 :   ADReal Pr = THM::Prandtl(_cp[_qp], _mu[_qp], _k[_qp]);
      56      914236 :   ADReal Re = std::max(1.0, THM::Reynolds(1., _rho[_qp], _vel[_qp], _D_h[_qp], _mu[_qp]));
      57     1222627 :   ADReal n = (_T[_qp] < _T_wall[_qp]) ? 0.4 : 0.3;
      58      914236 :   ADReal Nu = 0.023 * std::pow(Re, 4. / 5.) * std::pow(Pr, n);
      59             : 
      60      914236 :   _Hw[_qp] = THM::wallHeatTransferCoefficient(Nu, _k[_qp], _D_h[_qp]);
      61      914236 : }

Generated by: LCOV version 1.14