https://mooseframework.inl.gov
ADHeatFlux3EqnBC.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 "ADHeatFlux3EqnBC.h"
12 #include "THMIndicesVACE.h"
13 #include "Assembly.h"
14 
15 registerMooseObject("ThermalHydraulicsApp", ADHeatFlux3EqnBC);
16 
19 {
21  params.addClassDescription("Wall heat flux boundary condition for the energy equation");
22  return params;
23 }
24 
26  : ADHeatFluxBaseBC(parameters)
27 {
28 }
29 
30 ADReal
32 {
33  const std::vector<ADReal> & q_wall = _q_uo.getHeatFlux(_current_elem->id());
34  const std::vector<ADReal> & P_hf = _q_uo.getHeatedPerimeter(_current_elem->id());
35  return -_hs_scale * q_wall[_qp] * P_hf[_qp] * _test[_i][_qp];
36 }
registerMooseObject("ThermalHydraulicsApp", ADHeatFlux3EqnBC)
const Elem *const & _current_elem
Base class for handling heat flux between flow channels and heat structures.
const std::vector< ADReal > & getHeatFlux(dof_id_type element_id) const
const Real _hs_scale
Factor by which to scale term on the flow channel side for the heat structure side.
static InputParameters validParams()
DualNumber< Real, DNDerivativeType, true > ADReal
unsigned int _qp
const std::vector< ADReal > & getHeatedPerimeter(dof_id_type element_id) const
const ADHeatFluxFromHeatStructureBaseUserObject & _q_uo
User object that computes the heat flux.
static InputParameters validParams()
ADHeatFlux3EqnBC(const InputParameters &parameters)
virtual ADReal computeQpResidual() override
const ADTemplateVariableTestValue< T > & _test
void addClassDescription(const std::string &doc_string)