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 "FVGaussianEnergyFluxBC.h" 11 : #include "GaussianEnergyFluxBC.h" 12 : #include "Function.h" 13 : 14 : registerMooseObject("HeatTransferApp", FVGaussianEnergyFluxBC); 15 : 16 : InputParameters 17 0 : FVGaussianEnergyFluxBC::validParams() 18 : { 19 0 : InputParameters params = FVFluxBC::validParams(); 20 0 : params += GaussianEnergyFluxBC::beamParams(); 21 0 : params.addClassDescription("Describes an incoming heat flux beam with a Gaussian profile"); 22 0 : return params; 23 0 : } 24 : 25 0 : FVGaussianEnergyFluxBC::FVGaussianEnergyFluxBC(const InputParameters & params) 26 : : FVFluxBC(params), 27 0 : _P0(getParam<Real>("P0")), 28 0 : _R(getParam<Real>("R")), 29 0 : _x_beam_coord(getFunction("x_beam_coord")), 30 0 : _y_beam_coord(getFunction("y_beam_coord")), 31 0 : _z_beam_coord(getFunction("z_beam_coord")) 32 : { 33 0 : } 34 : 35 : ADReal 36 0 : FVGaussianEnergyFluxBC::computeQpResidual() 37 : { 38 0 : return GaussianEnergyFluxBC::beamFlux(*this, _face_info->faceCentroid()); 39 : }