22 "Function describing a wave incident on a surface at a given angle, wavenumber, and domain "
23 "length, for use in the slab reflection benchmark.");
27 params.
addParam<Real>(
"coef", 1.0,
"Real-valued function coefficient.");
29 params.
addParam<
MooseEnum>(
"component", component,
"Real or Imaginary wave component");
35 _k(getParam<Real>(
"k")),
36 _theta(getParam<Real>(
"theta")),
37 _length(getParam<Real>(
"length")),
38 _coef(getParam<Real>(
"coef")),
39 _component(getParam<
MooseEnum>(
"component"))
46 std::complex<double> eps_r = 4.0 + (2.0 -
EM::j * 0.1) * std::pow((1 -
p(0) /
_length), 2);
47 std::complex<double> mu_r(2, -0.1);
49 std::complex<double> val =
_coef * mu_r * std::pow(
_k, 2) *
registerMooseObject("ElectromagneticsTestApp", JinSlabCoeffFunc)
static InputParameters validParams()
Function for field coefficient in slab reflection benchmark case.
virtual Real value(Real t, const Point &p) const override
const Real _length
Length of slab domain (m)
JinSlabCoeffFunc(const InputParameters ¶meters)
const Real _theta
Wave incidence angle, in degrees.
static InputParameters validParams()
const Real _k
Wavenumber of incoming wave (1/m)
const Real _coef
Real-valued function coefficient.
const MooseEnum _component
Enum signifying the component of the function being calculated.
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")