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. The complex amplitude \(\tilde{\mathbf{E}}^\text{in}\) of the input electric field is

\[ \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. mufem computes the mode profile \(\tilde{\mathbf{e}}\) and the propagation constant \(\beta\) from the eigenvalue problem below. It is defined in the plane of the port under PEC 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}}\) give the mode profile. mufem uses the eigenvalues \(\lambda\) to compute the cutoff wavenumber \(k_c=\sqrt{\lambda}\). The cutoff wavenumber then 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, give a name, the boundary Marker, and the mode index (0-based) to launch from the input port:

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

Usage Examples