https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
55{
56 using std::pow;
57 const auto T_coupled = computeCoupledTemperature();
58 const Real circumference = computeCircumference(_q_point[_qp]);
59 return _sigma * (pow(_u[_qp], 4) - pow(T_coupled, 4)) / _radiation_resistance * circumference *
60 _test[_i][_qp];
61}
DualNumber< Real, DNDerivativeType, true > ADReal
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
registerMooseObject("ThermalHydraulicsApp", HeatStructure2DRadiationCouplerRZBC)
const ADTemplateVariableValue< T > & _u
const ADTemplateVariableTestValue< T > & _test
Base class for BC for components derived from HeatStructure2DCouplerBase.
ADReal computeCoupledTemperature() const
Computes the coupled neighbor temperature.
Applies BC for HeatStructure2DRadiationCouplerRZ.
HeatStructure2DRadiationCouplerRZBC(const InputParameters &parameters)
const Real & _sigma
Stefan-Boltzmann constant.
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)
unsigned int _qp
const MooseArray< Point > & _q_point
Interface class for enabling objects to be RZ symmetric about arbitrary axis.
Definition RZSymmetry.h:20
virtual Real computeCircumference(const RealVectorValue &pt)
Definition RZSymmetry.C:85
static InputParameters validParams()
Definition RZSymmetry.C:17