23 "First order transient absorbing boundary condition for vector variables.");
24 params.
addParam<FunctionName>(
"admittance",
26 "Intrinsic admittance of the infinite medium (default is "
27 "$\\sqrt{\\frac{\\epsilon_0}{\\mu_0}} = \\frac{1}{\\mu_0 c}$, or "
28 "the admittance of free space).");
31 "component", component,
"Variable field component (real or imaginary).");
39 _admittance(getFunction(
"admittance")),
41 _component(getParam<
MooseEnum>(
"component")),
43 _coupled_val(coupledVectorValue(
"coupled_field")),
44 _coupled_var_num(coupled(
"coupled_field")),
47 _coupled_dot(coupledVectorDot(
"coupled_field")),
49 _coupled_dot_du(coupledVectorDotDu(
"coupled_field"))
57 std::complex<double> field_dot_0(0, 0);
58 std::complex<double> field_dot_1(0, 0);
59 std::complex<double> field_dot_2(0, 0);
84 VectorValue<std::complex<double>> field_dot(field_dot_0, field_dot_1, field_dot_2);
91 std::complex<double> res = -p_dot_test;
102 RealVectorValue prefix =
113 RealVectorValue prefix =
registerMooseObject("ElectromagneticsApp", VectorTransientAbsorbingBC)
virtual Real value(Real t, const Point &p) const
const MooseArray< Point > & _q_point
static InputParameters validParams()
const MooseArray< Point > & _normals
const VectorVariablePhiValue & _phi
const VectorVariableTestValue & _test
First order transient absorbing boundary condition for nonlinear vector variables.
const MooseEnum _component
Variable field component (real or imaginary)
static InputParameters validParams()
const VectorVariableValue & _coupled_dot
Coupled vector field variable time derivative.
VectorTransientAbsorbingBC(const InputParameters ¶meters)
virtual Real computeQpResidual() override
const VectorVariableValue & _u_dot
Vector field variable time derivative.
const VariableValue & _du_dot_du
Vector field variable dot du.
const VariableValue & _coupled_dot_du
Coupled vector field variable dot du.
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
const unsigned int _coupled_var_num
Coupled field vector variable id.
virtual Real computeQpJacobian() override
const Function & _admittance
Intrinsic impedance of the infinite medium (default is the admittance of free space)
static const Real mu_0
Magnetic permeability of free space in SI units (H/m)
static const Real c
Speed of light in vacuum in SI units (m/s)