https://mooseframework.inl.gov
LinearFVP1RadiationMarshakBC.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.addClassDescription("Marshak boundary condition for radiative heat flux.");
20  params.addRequiredParam<MooseFunctorName>("temperature_radiation", "The radiation temperature.");
21  params.addRequiredParam<MooseFunctorName>("coeff_diffusion",
22  "Radiative heat flux P1 diffusion coefficient.");
23  params.addParam<MooseFunctorName>("boundary_emissivity", 1.0, "Emissivity of the boundary.");
24  return params;
25 }
26 
29  _temperature_radiation(getFunctor<Real>("temperature_radiation")),
30  _coeff_diffusion(getFunctor<Real>("coeff_diffusion")),
31  _eps_boundary(getFunctor<Real>("boundary_emissivity"))
32 {
33 }
34 
35 Real
37 {
38  const auto alpha = -_coeff_diffusion(face, state);
39  return alpha;
40 }
41 
42 Real
44 {
45  const auto beta = -_eps_boundary(face, state) / (2 * (2 - _eps_boundary(face, state)));
46  return beta;
47 }
48 
49 Real
51 {
52  const auto gamma = -_eps_boundary(face, state) * 4 * HeatConduction::Constants::sigma *
53  Utility::pow<4>(_temperature_radiation(face, state)) /
54  ((2 * (2 - _eps_boundary(face, state))));
55 
56  return gamma;
57 }
virtual Real getBeta(Moose::FaceArg face, Moose::StateArg state) const override
const Moose::Functor< Real > & _coeff_diffusion
Functor giving the beta coefficient (multiplying value)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
virtual Real getGamma(Moose::FaceArg face, Moose::StateArg state) const override
void addRequiredParam(const std::string &name, const std::string &doc_string)
registerMooseObject("HeatTransferApp", LinearFVP1RadiationMarshakBC)
const Moose::Functor< Real > & _eps_boundary
Functor giving the gamma coefficient (on right hand side, treated explicitly)
virtual Real getAlpha(Moose::FaceArg face, Moose::StateArg state) const override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string alpha
Definition: NS.h:138
void addClassDescription(const std::string &doc_string)
LinearFVP1RadiationMarshakBC(const InputParameters &parameters)
Class constructor.
const Moose::Functor< Real > & _temperature_radiation
Functor giving the alpha coefficient (multiplying normal gradient)
Class implementing a Marshak boundary condition for P1 radiation model in linear finite volume variab...