https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
16template <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
47template <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
registerMooseObject("HeatTransferApp", CylindricalGapHeatFluxFunctorMaterial)
Moose::GenericType< Real, is_ad > GenericReal
Computes cylindrical gap heat flux due to conduction and radiation.
const Moose::Functor< GenericReal< is_ad > > & _k_gap
Gap thermal conductivity.
const Moose::Functor< GenericReal< is_ad > > & _r_outer
Outer surface radius.
CylindricalGapHeatFluxFunctorMaterialTempl(const InputParameters &parameters)
const Moose::Functor< GenericReal< is_ad > > & _emiss_outer
Outer surface emissivity.
const Moose::Functor< GenericReal< is_ad > > & _T_outer
Outer surface temperature.
const Moose::Functor< GenericReal< is_ad > > & _emiss_inner
Inner surface emissivity.
const Moose::Functor< GenericReal< is_ad > > & _r_inner
Inner surface radius.
const Moose::Functor< GenericReal< is_ad > > & _T_inner
Inner surface temperature.
static InputParameters validParams()
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
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.
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.