21 params.
addParam<Real>(
"efficiency", 1,
"process efficiency");
22 params.
addRequiredParam<Real>(
"rx",
"effective transverse ellipsoid radius");
23 params.
addRequiredParam<Real>(
"ry",
"effective longitudinal ellipsoid radius");
26 "factor", 1,
"scaling factor that is multiplied to the heat source to adjust the intensity");
28 "function_x",
"0",
"The x component of the center of the heating spot as a function of time");
30 "function_y",
"0",
"The y component of the center of the heating spot as a function of time");
32 "function_z",
"0",
"The z component of the center of the heating spot as a function of time");
40 _P(getParam<Real>(
"power")),
41 _eta(getParam<Real>(
"efficiency")),
42 _rx(getParam<Real>(
"rx")),
43 _ry(getParam<Real>(
"ry")),
44 _rz(getParam<Real>(
"rz")),
45 _f(getParam<Real>(
"factor")),
46 _function_x(getFunction(
"function_x")),
47 _function_y(getFunction(
"function_y")),
48 _function_z(getFunction(
"function_z")),
49 _volumetric_heat(declareADProperty<Real>(
"volumetric_heat"))
67 std::exp(-(3.0 * std::pow(
x - x_t, 2.0) / std::pow(
_rx, 2.0) +
68 3.0 * std::pow(
y - y_t, 2.0) / std::pow(
_ry, 2.0) +
69 3.0 * std::pow(z - z_t, 2.0) / std::pow(
_rz, 2.0)));
const std::vector< double > y
const std::vector< double > x
registerMooseObject("HeatTransferApp", FunctionPathEllipsoidHeatSource)
Double ellipsoid heat source distribution.
const Real _f
scaling factor
const Real _ry
depth ellipsoid axe
const Function & _function_x
path of the heat source, x, y, z components
ADMaterialProperty< Real > & _volumetric_heat
FunctionPathEllipsoidHeatSource(const InputParameters ¶meters)
const Real _rx
transverse ellipsoid axe
const Real _rz
longitudinal ellipsoid axe
const Function & _function_z
static InputParameters validParams()
virtual void computeQpProperties() override
const Function & _function_y
const Real _eta
process efficienty
virtual Real value(Real t, const Point &p) const
static InputParameters validParams()
const MooseArray< Point > & _q_point