https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
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
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}
registerMooseObject("ThermalHydraulicsApp", ADConvectionHeatTransferBC)
DualNumber< Real, DNDerivativeType, true > ADReal
Real scale
const Moose::Functor< ADReal > & _scale
Functor by which to scale the boundary condition.
ADConvectionHeatTransferBC(const InputParameters &parameters)
virtual ADReal computeQpResidual() override
const Moose::Functor< ADReal > & _htc_ambient
Ambient heat transfer coefficient functor.
const Moose::Functor< ADReal > & _T_ambient
Ambient temperature functor.
static InputParameters validParams()
const ADTemplateVariableValue< T > & _u
static InputParameters validParams()
const ADTemplateVariableTestValue< T > & _test
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
const unsigned int & _current_side
const QBase *const & _qrule
unsigned int _qp
const Elem *const & _current_elem
const MooseArray< Point > & _q_point
StateArg currentState()