https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
15registerMooseObject("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
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)
DualNumber< Real, DNDerivativeType, true > ADReal
static InputParameters validParams()
ADHeatFlux3EqnBC(const InputParameters &parameters)
virtual ADReal computeQpResidual() override
Base class for handling heat flux between flow channels and heat structures.
const Real _hs_scale
Factor by which to scale term on the flow channel side for the heat structure side.
static InputParameters validParams()
const ADHeatFluxFromHeatStructureBaseUserObject & _q_uo
User object that computes the heat flux.
const std::vector< ADReal > & getHeatFlux(dof_id_type element_id) const
const std::vector< ADReal > & getHeatedPerimeter(dof_id_type element_id) const
const ADTemplateVariableTestValue< T > & _test
void addClassDescription(const std::string &doc_string)
unsigned int _qp
const Elem *const & _current_elem