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;
const VectorVariableValue & _u_dot
Vector field variable time derivative.
const MooseEnum _component
Variable field component (real or imaginary)
static const Real c
Speed of light in vacuum in SI units (m/s)
static InputParameters validParams()
const VariableValue & _coupled_dot_du
Coupled vector field variable dot du.
static const std::string component
registerMooseObject("ElectromagneticsApp", VectorTransientAbsorbingBC)
VectorTransientAbsorbingBC(const InputParameters ¶meters)
const unsigned int _coupled_var_num
Coupled field vector variable id.
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
First order transient absorbing boundary condition for nonlinear vector variables.
const MooseArray< Point > & _q_point
virtual Real computeQpResidual() override
virtual Real computeQpJacobian() override
const Function & _admittance
Intrinsic impedance of the infinite medium (default is the admittance of free space) ...
const MooseArray< Point > & _normals
const VectorVariableTestValue & _test
const VariableValue & _du_dot_du
Vector field variable dot du.
static const Real mu_0
Magnetic permeability of free space in SI units (H/m)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
virtual Real value(Real t, const Point &p) const
const VectorVariableValue & _coupled_dot
Coupled vector field variable time derivative.
const VectorVariablePhiValue & _phi