https://mooseframework.inl.gov
CylindricalGapHeatFluxFunctorMaterial.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 
11 #include "HeatTransferModels.h"
12 
15 
16 template <bool is_ad>
19 {
21 
22  params.addClassDescription("Computes cylindrical gap heat flux due to conduction and radiation.");
23 
24  params.addRequiredParam<MooseFunctorName>("r_inner", "Inner surface radius functor [m]");
25  params.addRequiredParam<MooseFunctorName>("r_outer", "Outer surface radius functor [m]");
26  params.addRequiredParam<MooseFunctorName>("T_inner", "Inner surface temperature functor [K]");
27  params.addRequiredParam<MooseFunctorName>("T_outer", "Outer surface temperature functor [K]");
28  params.addRequiredParam<MooseFunctorName>("k_gap", "Gap thermal conductivity [W/(m-K)]");
29  params.addRequiredParam<MooseFunctorName>("emissivity_inner", "Inner surface emissivity functor");
30  params.addRequiredParam<MooseFunctorName>("emissivity_outer", "Outer surface emissivity functor");
31 
32  params.addParam<MooseFunctorName>(
33  "conduction_heat_flux_name",
34  "conduction_heat_flux",
35  "Name to give the conduction heat flux functor material property");
36  params.addParam<MooseFunctorName>(
37  "radiation_heat_flux_name",
38  "radiation_heat_flux",
39  "Name to give the radiation heat flux functor material property");
40  params.addParam<MooseFunctorName>("total_heat_flux_name",
41  "total_heat_flux",
42  "Name to give the total heat flux functor material property");
43 
44  return params;
45 }
46 
47 template <bool is_ad>
49  const InputParameters & parameters)
50  : FunctorMaterial(parameters),
51  _r_inner(getFunctor<GenericReal<is_ad>>("r_inner")),
52  _r_outer(getFunctor<GenericReal<is_ad>>("r_outer")),
53  _T_inner(getFunctor<GenericReal<is_ad>>("T_inner")),
54  _T_outer(getFunctor<GenericReal<is_ad>>("T_outer")),
55  _k_gap(getFunctor<GenericReal<is_ad>>("k_gap")),
56  _emiss_inner(getFunctor<GenericReal<is_ad>>("emissivity_inner")),
57  _emiss_outer(getFunctor<GenericReal<is_ad>>("emissivity_outer"))
58 {
59  addFunctorProperty<GenericReal<is_ad>>(
60  getParam<MooseFunctorName>("conduction_heat_flux_name"),
61  [this](const auto & r, const auto & t) -> GenericReal<is_ad>
62  {
64  _k_gap(r, t), _r_inner(r, t), _r_outer(r, t), _T_inner(r, t), _T_outer(r, t));
65  });
66 
67  addFunctorProperty<GenericReal<is_ad>>(
68  getParam<MooseFunctorName>("radiation_heat_flux_name"),
69  [this](const auto & r, const auto & t) -> GenericReal<is_ad>
70  {
72  _r_outer(r, t),
73  _emiss_inner(r, t),
74  _emiss_outer(r, t),
75  _T_inner(r, t),
76  _T_outer(r, t));
77  });
78 
79  addFunctorProperty<GenericReal<is_ad>>(
80  getParam<MooseFunctorName>("total_heat_flux_name"),
81  [this](const auto & r, const auto & t) -> GenericReal<is_ad>
82  {
84  _k_gap(r, t), _r_inner(r, t), _r_outer(r, t), _T_inner(r, t), _T_outer(r, t)) +
86  _r_outer(r, t),
87  _emiss_inner(r, t),
88  _emiss_outer(r, t),
89  _T_inner(r, t),
90  _T_outer(r, t));
91  });
92 }
93 
Moose::GenericType< Real, is_ad > GenericReal
Computes cylindrical gap heat flux due to conduction and radiation.
CylindricalGapHeatFluxFunctorMaterialTempl(const InputParameters &parameters)
const Moose::Functor< GenericReal< is_ad > > & _T_inner
Inner surface temperature.
static InputParameters validParams()
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
const Moose::Functor< GenericReal< is_ad > > & _k_gap
Gap thermal conductivity.
const Moose::Functor< GenericReal< is_ad > > & _T_outer
Outer surface temperature.
void addRequiredParam(const std::string &name, const std::string &doc_string)
registerMooseObject("HeatTransferApp", CylindricalGapHeatFluxFunctorMaterial)
const Moose::Functor< GenericReal< is_ad > > & _r_outer
Outer surface radius.
const Moose::Functor< GenericReal< is_ad > > & _r_inner
Inner surface radius.
auto cylindricalGapRadiationHeatFlux(const T1 &r_inner, const T2 &r_outer, const T3 &emiss_inner, const T4 &emiss_outer, const T5 &T_inner, const T6 &T_outer, const Real &sigma=HeatConduction::Constants::sigma)
Computes the radiation heat flux across a cylindrical gap.
auto cylindricalGapConductionHeatFlux(const T1 &k_gap, const T2 &r_inner, const T3 &r_outer, const T4 &T_inner, const T5 &T_outer)
Computes the conduction heat flux across a cylindrical gap.
const Moose::Functor< GenericReal< is_ad > > & _emiss_inner
Inner surface emissivity.
void addClassDescription(const std::string &doc_string)
const Moose::Functor< GenericReal< is_ad > > & _emiss_outer
Outer surface emissivity.