https://mooseframework.inl.gov
HeatStructure2DRadiationCouplerRZBC.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 "HeatConductionNames.h"
12 
14 
17 {
19  params += RZSymmetry::validParams();
20 
21  params.addRequiredParam<Real>("emissivity", "Emissivity function of this boundary");
22  params.addRequiredParam<Real>("coupled_emissivity",
23  "Emissivity function of the coupled boundary");
24  params.addRequiredParam<Real>("view_factor", "View factor of this boundary");
25  params.addRequiredParam<Real>("area", "Area of this boundary");
26  params.addRequiredParam<Real>("coupled_area", "Area of the coupled boundary");
27  params.addParam<Real>("stefan_boltzmann_constant",
29  "Stefan Boltzmann constant [W/(m^2-K^4)]. This constant is provided as a "
30  "parameter to allow different precisions.");
31 
32  params.addClassDescription("Applies BC for HeatStructure2DRadiationCouplerRZ");
33 
34  return params;
35 }
36 
38  const InputParameters & parameters)
39  : HeatStructure2DCouplerBCBase(parameters),
40  RZSymmetry(this, parameters),
41 
42  _emissivity(getParam<Real>("emissivity")),
43  _coupled_emissivity(getParam<Real>("coupled_emissivity")),
44  _view_factor(getParam<Real>("view_factor")),
45  _area(getParam<Real>("area")),
46  _coupled_area(getParam<Real>("coupled_area")),
47  _sigma(getParam<Real>("stefan_boltzmann_constant")),
48  _radiation_resistance((1.0 - _emissivity) / _emissivity + 1.0 / _view_factor +
49  (1.0 - _coupled_emissivity) / _coupled_emissivity * _area / _coupled_area)
50 {
51 }
52 
53 ADReal
55 {
56  const auto T_coupled = computeCoupledTemperature();
57  const Real circumference = computeCircumference(_q_point[_qp]);
58  return _sigma * (std::pow(_u[_qp], 4) - std::pow(T_coupled, 4)) / _radiation_resistance *
59  circumference * _test[_i][_qp];
60 }
const ADTemplateVariableValue< T > & _u
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
Interface class for enabling objects to be RZ symmetric about arbitrary axis.
Definition: RZSymmetry.h:19
const Real & _sigma
Stefan-Boltzmann constant.
DualNumber< Real, DNDerivativeType, true > ADReal
void addRequiredParam(const std::string &name, const std::string &doc_string)
unsigned int _qp
const Real _radiation_resistance
Radiation resistance.
const MooseArray< Point > & _q_point
registerMooseObject("ThermalHydraulicsApp", HeatStructure2DRadiationCouplerRZBC)
Base class for BC for components derived from HeatStructure2DCouplerBase.
virtual Real computeCircumference(const RealVectorValue &pt)
Definition: RZSymmetry.C:85
ADReal computeCoupledTemperature() const
Computes the coupled neighbor temperature.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const ADTemplateVariableTestValue< T > & _test
HeatStructure2DRadiationCouplerRZBC(const InputParameters &parameters)
Applies BC for HeatStructure2DRadiationCouplerRZ.
void addClassDescription(const std::string &doc_string)
MooseUnits pow(const MooseUnits &, int)
static InputParameters validParams()
Definition: RZSymmetry.C:17