Skip to content

Waveguide Input Port Boundary Condition

The waveguide input port boundary condition models the electromagnetic field entering the computational domain from an attached waveguide. The waveguide input boundary condition assumes that the injected radiation corresponds to a well-established waveguide mode, with the complex amplitude \(\tilde{\mathbf{E}}^\text{in}\) of the input electric field expressed as

\[ \tilde{\mathbf{E}}^\text{in} = \tilde{\mathbf{e}}(\mathbf{r})\, e^{-j\beta \mathbf{r} \cdot \hat{\mathbf{n}}}, \]

where \(\tilde{\mathbf{e}}(\mathbf{r})\) describes the mode profile, defined in the plane of the port, \(\beta\) is the mode propagation constant, \(\mathbf{r}=(x,y,z)\) is the radius-vector and \(\hat{\mathbf{n}}\) is the unit vector normal to the boundary. In turn, the mode profile \(\tilde{\mathbf{e}}\) and the mode propagation constant \(\beta\) are calculated from the following eigenvalue problem, defined in the plane of the port under the perfect electric conductor boundary conditions:

\[ \nabla \times \left( \frac{1}{\mu_r} \nabla \times \tilde{\mathbf{e}} \right) = \lambda\, \varepsilon_r \tilde{\mathbf{e}}, \]

where \(\mu_r\) is the relative magnetic permeability and \(\varepsilon_r\) is the relative electric permittivity.

The eigenvectors \(\tilde{\mathbf{e}}\) provide the mode profile, while the eigenvalues \(\lambda\) are used to calculate the cutoff wavenumber \(k_c=\sqrt{\lambda}\) which, in turn, determines the mode propagation constant as \(\beta=\sqrt{\mu\varepsilon\omega^2 - k_c^2}\), where \(\omega\) is the angular frequency of the field.

Under the above assumptions the waveguide input port boundary condition results in the following equation for the amplitude \(\tilde{\mathbf{E}}\) of the electric field at the port boundary:

\[ \hat{\mathbf{n}} \times \left(\frac{1}{\mu} \nabla \times \tilde{\mathbf{E}}\right) = j\frac{\beta}{\mu} \hat{\mathbf{n}} \times \left( \tilde{\mathbf{E}} \times \hat{\mathbf{n}} \right) -j\frac{2\beta}{\mu} \hat{\mathbf{n}} \times \left( \tilde{\mathbf{E}}^\text{in} \times \hat{\mathbf{n}} \right), \]

where \(\mu = \mu_0 \mu_r\) is the magnetic permeability with \(\mu_0\) being the vacuum permeability.

To create a WaveguideInputPortCondition, the user must specify a custom name for the condition, provide the boundary Marker, and indicate the index of the mode (0-based) that will be launched from the input port:

condition = WaveguideInputPortCondition(
    name = "My Waveguide Input Port Condition",
    marker = my_marker,
    mode_index = 0,
)

Usage Examples