https://mooseframework.inl.gov
VectorEMRobinBC.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "VectorIntegratedBC.h"
13 #include <complex>
14 
20 {
21 public:
23 
25 
26 protected:
27  virtual Real computeQpResidual() override;
28  virtual Real computeQpJacobian() override;
29  virtual Real computeQpOffDiagJacobian(unsigned int jvar) override;
30 
32  const Function & _beta;
33 
36 
39 
41  unsigned int _coupled_var_num;
42 
45 
48 
51 
54 
57 };
VectorEMRobinBC(const InputParameters &parameters)
const Function & _beta
Scalar waveguide propagation constant.
const VectorVariableValue & _coupled_val
Coupled field vector variable.
virtual Real computeQpResidual() override
OutputTools< RealVectorValue >::VariableValue VectorVariableValue
static InputParameters validParams()
const bool _real_incoming_was_set
Boolean marking whether real component of the incoming wave was set by the user.
const Function & _inc_real
Real incoming field vector.
virtual Real computeQpJacobian() override
const Function & _inc_imag
Imaginary incoming field vector.
const bool _imag_incoming_was_set
Boolean marking whether imaginary component of the incoming wave was set by the user.
const MooseEnum _component
Variable field component (real or imaginary)
const MooseEnum _mode
Mode of operation (absorbing or port)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real computeQpOffDiagJacobian(unsigned int jvar) override
const InputParameters & parameters() const
unsigned int _coupled_var_num
Coupled field vector variable id.
First order Robin-style Absorbing/Port boundary condition for vector nonlinear variables.