https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
11#include "libmesh/utility.h"
12
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
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}
DualNumber< Real, DNDerivativeType, true > ADReal
registerMooseObject("HeatTransferApp", GapFluxModelRadiative)
Base class for gap flux models used by ModularGapConductanceConstraint.
static InputParameters validParams()
Base class for gap flux models used by ModularGapConductanceConstraint.
static InputParameters validParams()
const ADMaterialProperty< Real > & _secondary_emissivity
Secondary surface emissivity.
GapFluxModelRadiative(const InputParameters &parameters)
const Real _sigma
Stefan-Boltzmann constant.
ADReal computeFlux() const override
Compute gap physics used cache information in GapFluxModelBase.
const ADVariableValue & _secondary_T
Secondary surface temperature.
const ADVariableValue & _primary_T
Primary surface temperature.
const ADMaterialProperty< Real > & _primary_emissivity
Primary surface emissivity.
void addRequiredRangeCheckedParam(const std::string &name, const std::string &parsed_function, const std::string &doc_string)
void addRequiredCoupledVar(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)