https://mooseframework.inl.gov
GrayLambertNeumannBC.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 "GrayLambertNeumannBC.h"
11 #include "MathUtils.h"
12 
13 registerMooseObject("HeatTransferApp", GrayLambertNeumannBC);
14 
16 
19 {
21  params.addRequiredParam<UserObjectName>("surface_radiation_object_name",
22  "Name of the GrayLambertSurfaceRadiationBase UO");
23  params.addParam<bool>(
24  "reconstruct_emission",
25  true,
26  "Flag to apply constant heat flux on sideset or reconstruct emission by T^4 law.");
27  params.addClassDescription("This BC imposes a heat flux density that is computed from the "
28  "GrayLambertSurfaceRadiationBase userobject.");
29  return params;
30 }
31 
33  : IntegratedBC(parameters),
34  _glsr_uo(getUserObject<GrayLambertSurfaceRadiationBase>("surface_radiation_object_name")),
35  _reconstruct_emission(getParam<bool>("reconstruct_emission"))
36 {
37 }
38 
39 Real
41 {
44 
48 }
49 
50 Real
52 {
53  // this is not the exact Jacobian but it ensures correct scaling
54  return _test[_i][_qp] * _sigma_stefan_boltzmann *
56  _phi[_j][_qp];
57 }
const VariableTestValue & _test
unsigned int _j
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
GrayLambertNeumannBC(const InputParameters &parameters)
const Real eps
virtual Real computeQpJacobian() override
GrayLambertSurfaceRadiationBase computes the heat flux on a set of surfaces in radiative heat transfe...
virtual Real computeQpResidual() override
static Real _sigma_stefan_boltzmann
static InputParameters validParams()
unsigned int _i
const VariablePhiValue & _phi
const BoundaryID & _current_boundary_id
void addRequiredParam(const std::string &name, const std::string &doc_string)
unsigned int _qp
Real getSurfaceIrradiation(BoundaryID id) const
public interface of this UserObject
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const GrayLambertSurfaceRadiationBase & _glsr_uo
void addClassDescription(const std::string &doc_string)
registerMooseObject("HeatTransferApp", GrayLambertNeumannBC)
T pow(T x, int e)
const VariableValue & _u
Boundary condition for radiative heat that is computed by the GrayLambertSurfaceRadiationBase userobj...