Line data Source code
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 "ADConvectionHeatTransfer3DBC.h" 11 : #include "ADHeatTransferFromHeatStructure3D1PhaseUserObject.h" 12 : #include "THMIndicesVACE.h" 13 : 14 : registerMooseObject("ThermalHydraulicsApp", ADConvectionHeatTransfer3DBC); 15 : 16 : InputParameters 17 87 : ADConvectionHeatTransfer3DBC::validParams() 18 : { 19 87 : InputParameters params = ADIntegratedBC::validParams(); 20 174 : params.addRequiredParam<UserObjectName>( 21 : "ht_uo", "The name of the user object that computes the heat flux"); 22 87 : params.addClassDescription("Adds a convective heat flux boundary condition between the local " 23 : "component heat structure and a 3D heat structure"); 24 87 : return params; 25 0 : } 26 : 27 50 : ADConvectionHeatTransfer3DBC::ADConvectionHeatTransfer3DBC(const InputParameters & parameters) 28 : : ADIntegratedBC(parameters), 29 50 : _ht_uo(getUserObject<ADHeatTransferFromHeatStructure3D1PhaseUserObject>("ht_uo")) 30 : { 31 50 : } 32 : 33 : ADReal 34 7880832 : ADConvectionHeatTransfer3DBC::computeQpResidual() 35 : { 36 7880832 : const std::vector<ADReal> & T_fluid = _ht_uo.getTfluid(_current_elem->id()); 37 7880832 : const std::vector<ADReal> & htc = _ht_uo.getHeatTransferCoeff(_current_elem->id()); 38 15761664 : return htc[_qp] * (_u[_qp] - T_fluid[_qp]) * _test[_i][_qp]; 39 : }