https://mooseframework.inl.gov
ADConvectionHeatTransferBC.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 
12 registerMooseObject("ThermalHydraulicsApp", ADConvectionHeatTransferBC);
13 
16 {
18  params.addRequiredParam<MooseFunctorName>("T_ambient", "Ambient temperature functor");
19  params.addRequiredParam<MooseFunctorName>("htc_ambient",
20  "Ambient heat transfer coefficient functor");
21  params.addParam<MooseFunctorName>(
22  "scale", 1.0, "Functor by which to scale the boundary condition");
23  params.addClassDescription("Adds a convective heat flux boundary condition with user-specified "
24  "ambient temperature and heat transfer coefficient functions");
25  return params;
26 }
27 
29  : ADIntegratedBC(parameters),
30  _T_ambient(getFunctor<ADReal>("T_ambient")),
31  _htc_ambient(getFunctor<ADReal>("htc_ambient")),
32  _scale(getFunctor<ADReal>("scale"))
33 {
34 }
35 
36 ADReal
38 {
40  const auto scale = _scale(space_arg, Moose::currentState());
41  const auto htc = _htc_ambient(space_arg, Moose::currentState());
42  const auto T_ambient = _T_ambient(space_arg, Moose::currentState());
43 
44  return scale * htc * (_u[_qp] - T_ambient) * _test[_i][_qp];
45 }
const ADTemplateVariableValue< T > & _u
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void scale(MeshBase &mesh, const Real xs, const Real ys=0., const Real zs=0.)
const Elem *const & _current_elem
registerMooseObject("ThermalHydraulicsApp", ADConvectionHeatTransferBC)
DualNumber< Real, DNDerivativeType, true > ADReal
static InputParameters validParams()
void addRequiredParam(const std::string &name, const std::string &doc_string)
unsigned int _qp
const Moose::Functor< ADReal > & _scale
Functor by which to scale the boundary condition.
ADConvectionHeatTransferBC(const InputParameters &parameters)
const MooseArray< Point > & _q_point
static const std::string T_ambient
const Moose::Functor< ADReal > & _htc_ambient
Ambient heat transfer coefficient functor.
virtual ADReal computeQpResidual() override
static InputParameters validParams()
const QBase *const & _qrule
const unsigned int & _current_side
const ADTemplateVariableTestValue< T > & _test
void addClassDescription(const std::string &doc_string)
const Moose::Functor< ADReal > & _T_ambient
Ambient temperature functor.
StateArg currentState()