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"))
registerMooseObject("HeatTransferApp", GaussianEnergyFluxBC)
DualNumber< Real, DNDerivativeType, true > ADReal
static InputParameters validParams()
const MooseArray< ADPoint > & _ad_q_points
static InputParameters validParams()
static InputParameters beamParams()
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...
Describes an incoming heat flux beam with a Gaussian profile.
GaussianEnergyFluxBC(const InputParameters ¶ms)
virtual ADReal computeQpResidual() override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const ADTemplateVariableTestValue< T > & _test