20 params.
addClassDescription(
"Material for use as coefficient $a k^2 \\mu_r \\epsilon_r$ (where a " 21 "is a scalar coefficient) " 22 "in standard-form Helmholtz wave equation applications with " 23 "derivatives calculated using automatic differentiation.");
25 "Relative permittivity, real component.");
27 "Relative permittivity, imaginary component.");
29 "Relative permeability, real component.");
31 "Relative permeability, imaginary component.");
32 params.
addRequiredParam<MaterialPropertyName>(
"k_real",
"Wave number, real component.");
33 params.
addParam<MaterialPropertyName>(
"k_imag", 0,
"Wave number, imaginary component.");
34 params.
addParam<
Real>(
"coef", 1.0,
"Real-valued function coefficient.");
35 params.
addParam<MaterialPropertyName>(
37 "wave_equation_coefficient_real",
38 "User-specified material property name for the real component.");
39 params.
addParam<MaterialPropertyName>(
40 "prop_name_imaginary",
41 "wave_equation_coefficient_imaginary",
42 "User-specified material property name for the imaginary component.");
48 _eps_r_real(getADMaterialProperty<
Real>(
"eps_rel_real")),
49 _eps_r_imag(getADMaterialProperty<
Real>(
"eps_rel_imag")),
50 _mu_r_real(getADMaterialProperty<
Real>(
"mu_rel_real")),
51 _mu_r_imag(getADMaterialProperty<
Real>(
"mu_rel_imag")),
52 _k_real(getADMaterialProperty<
Real>(
"k_real")),
53 _k_imag(getADMaterialProperty<
Real>(
"k_imag")),
54 _coef(getParam<
Real>(
"coef")),
55 _prop_name_real(getParam<MaterialPropertyName>(
"prop_name_real")),
56 _prop_name_imag(getParam<MaterialPropertyName>(
"prop_name_imaginary")),
57 _prop_real(declareADProperty<
Real>(_prop_name_real)),
58 _prop_imag(declareADProperty<
Real>(_prop_name_imag))
WaveEquationCoefficient(const InputParameters ¶meters)
const ADMaterialProperty< Real > & _eps_r_imag
Imaginary component of the relative electric permittivity.
virtual void computeQpProperties() override
DualNumber< Real, DNDerivativeType, true > ADReal
const ADMaterialProperty< Real > & _mu_r_imag
Real component of the relative magnetic permeability.
Material for use as coefficient $a k^2 mu_r epsilon_r$ (where a is a scalar coefficient) in standard-...
static InputParameters validParams()
const ADMaterialProperty< Real > & _eps_r_real
Real component of the relative electric permittivity.
const ADMaterialProperty< Real > & _k_real
Real component of the wave number.
Real _coef
Real-valued coefficient (defaults to 1)
ADMaterialProperty< Real > & _prop_real
Material property for the real component.
const ADMaterialProperty< Real > & _k_imag
Imaginary component of the wave number (also known as the attenuation constant)
const ADMaterialProperty< Real > & _mu_r_real
Real component of the relative magnetic permeability.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
registerMooseObject("ElectromagneticsApp", WaveEquationCoefficient)
ADMaterialProperty< Real > & _prop_imag
Material property for the imaginary component.
static InputParameters validParams()