https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ADRadiativeHeatFluxBC.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
13
16{
18
19 params.addRequiredParam<MooseFunctorName>("T_ambient", "Ambient temperature functor");
20 params.addRequiredParam<MooseFunctorName>("emissivity", "Emissivity functor");
21 params.addParam<MooseFunctorName>("view_factor", 1.0, "View factor functor");
22 params.addParam<MooseFunctorName>(
23 "scale", 1.0, "Functor by which to scale the boundary condition");
24 params.addParam<Real>("stefan_boltzmann_constant", 5.670367e-8, "Stefan-Boltzmann constant");
25
27 "Radiative heat transfer boundary condition for a plate heat structure");
28
29 return params;
30}
31
33 : ADIntegratedBC(parameters),
34 _T_ambient(getFunctor<ADReal>("T_ambient")),
35 _emissivity(getFunctor<ADReal>("emissivity")),
36 _view_factor(getFunctor<ADReal>("view_factor")),
37 _scale(getFunctor<ADReal>("scale")),
38 _sigma(getParam<Real>("stefan_boltzmann_constant"))
39{
40}
41
44{
46 const auto scale = _scale(space_arg, Moose::currentState());
47 const auto emissivity = _emissivity(space_arg, Moose::currentState());
48 const auto view_factor = _view_factor(space_arg, Moose::currentState());
49 const auto T_ambient = _T_ambient(space_arg, Moose::currentState());
50
51 const auto T4 = MathUtils::pow(_u[_qp], 4);
52 const auto T4inf = MathUtils::pow(T_ambient, 4);
53
54 return _test[_i][_qp] * _sigma * scale * emissivity * view_factor * (T4 - T4inf);
55}
registerMooseObject("ThermalHydraulicsApp", ADRadiativeHeatFluxBC)
DualNumber< Real, DNDerivativeType, true > ADReal
Real scale
const ADTemplateVariableValue< T > & _u
static InputParameters validParams()
const ADTemplateVariableTestValue< T > & _test
Radiative heat transfer boundary condition for a plate heat structure.
const Moose::Functor< ADReal > & _emissivity
Emissivity.
ADRadiativeHeatFluxBC(const InputParameters &parameters)
const Moose::Functor< ADReal > & _T_ambient
Ambient temperature.
const Moose::Functor< ADReal > & _view_factor
View factor.
virtual ADReal computeQpResidual() override
const Real _sigma
Stefan-Boltzmann constant.
static InputParameters validParams()
const Moose::Functor< ADReal > & _scale
Functor by which to scale the boundary condition.
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)
const unsigned int & _current_side
const QBase *const & _qrule
unsigned int _qp
const Elem *const & _current_elem
const MooseArray< Point > & _q_point
T pow(T x, int e)
StateArg currentState()