https://mooseframework.inl.gov
HeatRateConvection.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 "HeatRateConvection.h"
11 
12 registerMooseObject("ThermalHydraulicsApp", HeatRateConvection);
13 
16 {
18 
19  params.addRequiredCoupledVar("T", "Temperature");
20  params.addRequiredParam<MooseFunctorName>("T_ambient", "Ambient temperature functor");
21  params.addRequiredParam<MooseFunctorName>("htc", "Ambient heat transfer coefficient functor");
22  params.addParam<MooseFunctorName>("scale", 1.0, "Functor by which to scale the heat flux");
23 
24  params.addClassDescription("Integrates a convective heat flux over a boundary.");
25 
26  return params;
27 }
28 
30  : SideIntegralPostprocessor(parameters),
31 
32  _T(coupledValue("T")),
33  _T_ambient(getFunctor<Real>("T_ambient")),
34  _htc_ambient(getFunctor<Real>("htc")),
35  _scale(getFunctor<Real>("scale"))
36 {
37 }
38 
39 Real
41 {
43  const auto scale = _scale(space_arg, Moose::currentState());
44  const auto htc = _htc_ambient(space_arg, Moose::currentState());
45  const auto T_ambient = _T_ambient(space_arg, Moose::currentState());
46 
47  return scale * htc * (T_ambient - _T[_qp]);
48 }
const unsigned int & _current_side
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
static InputParameters validParams()
void scale(MeshBase &mesh, const Real xs, const Real ys=0., const Real zs=0.)
const MooseArray< Point > & _q_point
const VariableValue & _T
Temperature.
void addRequiredParam(const std::string &name, const std::string &doc_string)
registerMooseObject("ThermalHydraulicsApp", HeatRateConvection)
static const std::string T_ambient
Integrates a convective heat flux over a boundary.
const Moose::Functor< Real > & _scale
Functor by which to scale the heat flux.
void addRequiredCoupledVar(const std::string &name, const std::string &doc_string)
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Moose::Functor< Real > & _T_ambient
Ambient temperature functor.
virtual Real computeQpIntegral() override
const QBase *const & _qrule
HeatRateConvection(const InputParameters &parameters)
void addClassDescription(const std::string &doc_string)
const Elem *const & _current_elem
StateArg currentState()
const Moose::Functor< Real > & _htc_ambient
Ambient heat transfer coefficient functor.