19 params.addRequiredParam<Real>(
"P0",
"The total power of the beam.");
20 params.addRequiredParam<Real>(
21 "R",
"The radius at which the beam intensity falls to $1/e^2$ of its axis value.");
22 auto beam_coord_doc = [](
const std::string & coord)
24 return "The " + coord +
25 " coordinate of the center of the beam as a function of time. Note that we will pass "
26 "the origin as the spatial argument to the function; any spatial dependence in the "
27 "passed-in function will be ignored";
29 params.addParam<FunctionName>(
"x_beam_coord", 0, beam_coord_doc(
"x"));
30 params.addParam<FunctionName>(
"y_beam_coord", 0, beam_coord_doc(
"y"));
31 params.addParam<FunctionName>(
"z_beam_coord", 0, beam_coord_doc(
"z"));
46 _P0(getParam<Real>(
"P0")),
47 _R(getParam<Real>(
"R")),
48 _x_beam_coord(getFunction(
"x_beam_coord")),
49 _y_beam_coord(getFunction(
"y_beam_coord")),
50 _z_beam_coord(getFunction(
"z_beam_coord"))
DualNumber< Real, DNDerivativeType, true > ADReal
registerMooseObject("HeatTransferApp", GaussianEnergyFluxBC)
const MooseArray< ADPoint > & _ad_q_points
static InputParameters validParams()
const ADTemplateVariableTestValue< T > & _test
Describes an incoming heat flux beam with a Gaussian profile.
GaussianEnergyFluxBC(const InputParameters ¶ms)
static InputParameters validParams()
static InputParameters beamParams()
virtual ADReal computeQpResidual() override
static ADReal beamFlux(const T &flux_obj, const PointType &flux_obj_location)
Computes the beam flux given data from a flux object and the current integration point in the domain,...