LCOV - code coverage report
Current view: top level - src/functormaterials - CylindricalGapHeatFluxFunctorMaterial.C (source / functions) Hit Total Coverage
Test: idaholab/moose heat_transfer: #31405 (292dce) with base fef103 Lines: 46 47 97.9 %
Date: 2025-09-04 07:53:51 Functions: 5 58 8.6 %
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 "CylindricalGapHeatFluxFunctorMaterial.h"
      11             : #include "HeatTransferModels.h"
      12             : 
      13             : registerMooseObject("HeatTransferApp", CylindricalGapHeatFluxFunctorMaterial);
      14             : registerMooseObject("HeatTransferApp", ADCylindricalGapHeatFluxFunctorMaterial);
      15             : 
      16             : template <bool is_ad>
      17             : InputParameters
      18          41 : CylindricalGapHeatFluxFunctorMaterialTempl<is_ad>::validParams()
      19             : {
      20          41 :   InputParameters params = FunctorMaterial::validParams();
      21             : 
      22          41 :   params.addClassDescription("Computes cylindrical gap heat flux due to conduction and radiation.");
      23             : 
      24          82 :   params.addRequiredParam<MooseFunctorName>("r_inner", "Inner surface radius functor [m]");
      25          82 :   params.addRequiredParam<MooseFunctorName>("r_outer", "Outer surface radius functor [m]");
      26          82 :   params.addRequiredParam<MooseFunctorName>("T_inner", "Inner surface temperature functor [K]");
      27          82 :   params.addRequiredParam<MooseFunctorName>("T_outer", "Outer surface temperature functor [K]");
      28          82 :   params.addRequiredParam<MooseFunctorName>("k_gap", "Gap thermal conductivity [W/(m-K)]");
      29          82 :   params.addRequiredParam<MooseFunctorName>("emissivity_inner", "Inner surface emissivity functor");
      30          82 :   params.addRequiredParam<MooseFunctorName>("emissivity_outer", "Outer surface emissivity functor");
      31             : 
      32          82 :   params.addParam<MooseFunctorName>(
      33             :       "conduction_heat_flux_name",
      34             :       "conduction_heat_flux",
      35             :       "Name to give the conduction heat flux functor material property");
      36          82 :   params.addParam<MooseFunctorName>(
      37             :       "radiation_heat_flux_name",
      38             :       "radiation_heat_flux",
      39             :       "Name to give the radiation heat flux functor material property");
      40          82 :   params.addParam<MooseFunctorName>("total_heat_flux_name",
      41             :                                     "total_heat_flux",
      42             :                                     "Name to give the total heat flux functor material property");
      43             : 
      44          41 :   return params;
      45           0 : }
      46             : 
      47             : template <bool is_ad>
      48          22 : CylindricalGapHeatFluxFunctorMaterialTempl<is_ad>::CylindricalGapHeatFluxFunctorMaterialTempl(
      49             :     const InputParameters & parameters)
      50             :   : FunctorMaterial(parameters),
      51          22 :     _r_inner(getFunctor<GenericReal<is_ad>>("r_inner")),
      52          44 :     _r_outer(getFunctor<GenericReal<is_ad>>("r_outer")),
      53          44 :     _T_inner(getFunctor<GenericReal<is_ad>>("T_inner")),
      54          44 :     _T_outer(getFunctor<GenericReal<is_ad>>("T_outer")),
      55          44 :     _k_gap(getFunctor<GenericReal<is_ad>>("k_gap")),
      56          44 :     _emiss_inner(getFunctor<GenericReal<is_ad>>("emissivity_inner")),
      57          66 :     _emiss_outer(getFunctor<GenericReal<is_ad>>("emissivity_outer"))
      58             : {
      59          88 :   addFunctorProperty<GenericReal<is_ad>>(
      60          44 :       getParam<MooseFunctorName>("conduction_heat_flux_name"),
      61        9000 :       [this](const auto & r, const auto & t) -> GenericReal<is_ad>
      62             :       {
      63             :         return HeatTransferModels::cylindricalGapConductionHeatFlux(
      64        9000 :             _k_gap(r, t), _r_inner(r, t), _r_outer(r, t), _T_inner(r, t), _T_outer(r, t));
      65             :       });
      66             : 
      67          88 :   addFunctorProperty<GenericReal<is_ad>>(
      68          44 :       getParam<MooseFunctorName>("radiation_heat_flux_name"),
      69        9000 :       [this](const auto & r, const auto & t) -> GenericReal<is_ad>
      70             :       {
      71        9000 :         return HeatTransferModels::cylindricalGapRadiationHeatFlux(_r_inner(r, t),
      72        9000 :                                                                    _r_outer(r, t),
      73        9000 :                                                                    _emiss_inner(r, t),
      74        9000 :                                                                    _emiss_outer(r, t),
      75        9000 :                                                                    _T_inner(r, t),
      76        9000 :                                                                    _T_outer(r, t));
      77             :       });
      78             : 
      79          88 :   addFunctorProperty<GenericReal<is_ad>>(
      80          44 :       getParam<MooseFunctorName>("total_heat_flux_name"),
      81        9000 :       [this](const auto & r, const auto & t) -> GenericReal<is_ad>
      82             :       {
      83             :         return HeatTransferModels::cylindricalGapConductionHeatFlux(
      84        9000 :                    _k_gap(r, t), _r_inner(r, t), _r_outer(r, t), _T_inner(r, t), _T_outer(r, t)) +
      85        9000 :                HeatTransferModels::cylindricalGapRadiationHeatFlux(_r_inner(r, t),
      86        9000 :                                                                    _r_outer(r, t),
      87        9000 :                                                                    _emiss_inner(r, t),
      88        9000 :                                                                    _emiss_outer(r, t),
      89        9000 :                                                                    _T_inner(r, t),
      90       18000 :                                                                    _T_outer(r, t));
      91             :       });
      92          88 : }
      93             : 
      94             : template class CylindricalGapHeatFluxFunctorMaterialTempl<false>;
      95             : template class CylindricalGapHeatFluxFunctorMaterialTempl<true>;

Generated by: LCOV version 1.14