https://mooseframework.inl.gov
GapFluxModelRadiative.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 
10 #include "GapFluxModelRadiative.h"
11 #include "libmesh/utility.h"
12 
13 registerMooseObject("HeatTransferApp", GapFluxModelRadiative);
14 
17 {
19  params.addClassDescription("Gap flux demonstration model for radiative heat conductance");
20  params.addRequiredCoupledVar("temperature", "The name of the temperature variable");
21  params.addParam<Real>("sigma", 5.670373e-8, "Stefan-Boltzmann constant");
22  params.addRequiredRangeCheckedParam<MaterialPropertyName>(
23  "primary_emissivity",
24  "primary_emissivity>0 && primary_emissivity<=1",
25  "Primary surface emissivity");
26  params.addRequiredRangeCheckedParam<MaterialPropertyName>(
27  "secondary_emissivity",
28  "secondary_emissivity>0 && secondary_emissivity<=1",
29  "Secondary surface emissivity");
30  return params;
31 }
32 
34  : GapFluxModelBase(parameters),
35  _primary_T(adCoupledNeighborValue("temperature")),
36  _secondary_T(adCoupledValue("temperature")),
37  _sigma(getParam<Real>("sigma")),
38  _primary_emissivity(getNeighborADMaterialProperty<Real>("primary_emissivity")),
39  _secondary_emissivity(getADMaterialProperty<Real>("secondary_emissivity"))
40 {
41 }
42 
43 ADReal
45 {
46  const auto Fe = 1.0 / (1.0 / _primary_emissivity[_qp] + 1.0 / _secondary_emissivity[_qp] - 1.0);
47  return _sigma * Fe * (Utility::pow<4>(_primary_T[_qp]) - Utility::pow<4>(_secondary_T[_qp]));
48 }
void addRequiredRangeCheckedParam(const std::string &name, const std::string &parsed_function, 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)
static InputParameters validParams()
DualNumber< Real, DNDerivativeType, true > ADReal
const ADVariableValue & _secondary_T
Secondary surface temperature.
Base class for gap flux models used by ModularGapConductanceConstraint.
const Real _sigma
Stefan-Boltzmann constant.
registerMooseObject("HeatTransferApp", GapFluxModelRadiative)
GapFluxModelRadiative(const InputParameters &parameters)
const ADVariableValue & _primary_T
Primary surface temperature.
ADReal computeFlux() const override
Compute gap physics used cache information in GapFluxModelBase.
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Base class for gap flux models used by ModularGapConductanceConstraint.
unsigned int _qp
void addClassDescription(const std::string &doc_string)
const ADMaterialProperty< Real > & _secondary_emissivity
Secondary surface emissivity.
static InputParameters validParams()
const ADMaterialProperty< Real > & _primary_emissivity
Primary surface emissivity.