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 "ADOneD3EqnEnergyHeatSource.h" 11 : 12 : registerMooseObject("ThermalHydraulicsApp", ADOneD3EqnEnergyHeatSource); 13 : 14 : InputParameters 15 19 : ADOneD3EqnEnergyHeatSource::validParams() 16 : { 17 19 : InputParameters params = ADKernel::validParams(); 18 38 : params.addRequiredParam<MooseFunctorName>("q", "Volumetric heat source"); 19 38 : params.addRequiredCoupledVar("A", "Cross sectional area"); 20 19 : params.addClassDescription("Computes a volumetric heat source for 1-phase flow channel"); 21 19 : return params; 22 0 : } 23 : 24 11 : ADOneD3EqnEnergyHeatSource::ADOneD3EqnEnergyHeatSource(const InputParameters & parameters) 25 22 : : ADKernel(parameters), _q(getFunctor<ADReal>("q")), _A(coupledValue("A")) 26 : { 27 11 : } 28 : 29 : ADReal 30 1500 : ADOneD3EqnEnergyHeatSource::computeQpResidual() 31 : { 32 1500 : const Moose::ElemQpArg qp_arg = {_current_elem, _qp, _qrule, _q_point[_qp]}; 33 1500 : return -_q(qp_arg, Moose::currentState()) * _A[_qp] * _test[_i][_qp]; 34 : }