https://mooseframework.inl.gov
Loading...
Searching...
No Matches
HeatRateRadiation.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 "HeatRateRadiation.h"
11
12registerMooseObject("ThermalHydraulicsApp", HeatRateRadiation);
13
16{
18
19 params.addRequiredCoupledVar("T", "Temperature");
20 params.addRequiredParam<MooseFunctorName>("T_ambient", "Ambient temperature functor");
21 params.addRequiredParam<MooseFunctorName>("emissivity", "Emissivity functor");
22 params.addParam<MooseFunctorName>("view_factor", 1.0, "View factor functor");
23 params.addParam<Real>("stefan_boltzmann_constant", 5.670367e-8, "Stefan-Boltzmann constant");
24 params.addParam<MooseFunctorName>("scale", 1.0, "Functor by which to scale the heat flux");
25
26 params.addClassDescription("Integrates a radiative heat flux over a boundary.");
27
28 return params;
29}
30
32 : SideIntegralPostprocessor(parameters),
33
34 _T(coupledValue("T")),
35 _T_ambient(getFunctor<Real>("T_ambient")),
36 _emissivity(getFunctor<Real>("emissivity")),
37 _view_factor(getFunctor<Real>("view_factor")),
38 _sigma_stefan_boltzmann(getParam<Real>("stefan_boltzmann_constant")),
39 _scale(getFunctor<Real>("scale"))
40{
41}
42
43Real
45{
47 const auto scale = _scale(space_arg, Moose::currentState());
48 const auto emissivity = _emissivity(space_arg, Moose::currentState());
49 const auto view_factor = _view_factor(space_arg, Moose::currentState());
50 const auto T_ambient = _T_ambient(space_arg, Moose::currentState());
51
52 const Real T4 = MathUtils::pow(_T[_qp], 4);
53 const Real T4inf = MathUtils::pow(T_ambient, 4);
54
55 return scale * _sigma_stefan_boltzmann * emissivity * view_factor * (T4inf - T4);
56}
registerMooseObject("ThermalHydraulicsApp", HeatRateRadiation)
Real scale
Integrates a radiative heat flux over a boundary.
const Moose::Functor< Real > & _emissivity
Emissivity.
HeatRateRadiation(const InputParameters &parameters)
virtual Real computeQpIntegral() override
const VariableValue & _T
Temperature.
static InputParameters validParams()
const Moose::Functor< Real > & _T_ambient
Ambient temperature.
const Real & _sigma_stefan_boltzmann
Stefan-Boltzmann constant.
const Moose::Functor< Real > & _scale
Functor by which to scale the heat flux.
const Moose::Functor< Real > & _view_factor
View factor.
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
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)
static InputParameters validParams()
const unsigned int & _current_side
const QBase *const & _qrule
const MooseArray< Point > & _q_point
const Elem *const & _current_elem
T pow(T x, int e)
StateArg currentState()