20 "Boundary condition for radiative heat flux in a linear finite volume system. "
21 "The nonlinear radiative flux q = sigma * emissivity * (T^4 - Tinfinity^4) is "
22 "linearized via first-order Taylor expansion around the extrapolated boundary face "
23 "temperature from the previous iteration, yielding a Robin-type condition with "
24 "second-order spatial accuracy. The lagged coefficients are updated on every linear system "
25 "assembly. Fixed point iterations can be used to converge the nonlinear problem every time "
29 "Functor describing the surface emissivity for the radiative boundary condition");
31 "Tinfinity",
"Functor for the far-field temperature of the body in radiative heat transfer");
33 "stefan_boltzmann_constant", 5.670374419e-8,
"The Stefan-Boltzmann constant");
36 "Functor for the thermal conductivity. Must match the diffusion_coeff used in "
37 "LinearFVDiffusion, as it serves as the alpha coefficient in the Robin formulation.");
43 _emissivity(getFunctor<Real>(
"emissivity")),
44 _tinf(getFunctor<Real>(
"Tinfinity")),
45 _sigma(getParam<Real>(
"stefan_boltzmann_constant")),
46 _diffusion_coeff(getFunctor<Real>(
"diffusion_coeff"))
79 (3.0 * Utility::pow<4>(T_b_old) + Utility::pow<4>(
_tinf(face, state)));
registerMooseObject("HeatTransferApp", LinearFVFunctorRadiativeBC)
const ElemInfo * elemInfo() const
const ElemInfo * neighborInfo() const
static InputParameters validParams()
const FaceInfo * _current_face_info
FaceInfo::VarFaceNeighbors _current_face_type
RealVectorValue computeCellToFaceVector() const
MooseLinearVariableFV< Real > & _var
Boundary condition for radiative heat flux in a linear finite volume system.
virtual Real getGamma(Moose::FaceArg face, Moose::StateArg state) const override
LinearFVFunctorRadiativeBC(const InputParameters ¶meters)
virtual Real getAlpha(Moose::FaceArg face, Moose::StateArg state) const override
const Real _sigma
Stefan-Boltzmann constant (sigma)
const Moose::Functor< Real > & _tinf
Far-field temperature functor (T_infinity)
Real extrapolateFaceTemperature(Moose::StateArg state) const
Extrapolates the boundary face temperature from the previous iteration.
const Moose::Functor< Real > & _emissivity
Emissivity functor (epsilon)
virtual Real getBeta(Moose::FaceArg face, Moose::StateArg state) const override
static InputParameters validParams()
const Moose::Functor< Real > & _diffusion_coeff
Thermal conductivity functor; must match the diffusion_coeff in LinearFVDiffusion.
void computeCellGradients()
Real getElemValue(const ElemInfo &elem_info, const StateArg &state) const
VectorValue< Real > gradSln(const ElemInfo &elem_info, const StateArg &state) const