This particular FEM question concerns waveguides and FEM 3D simulation. To excite a waveguide with waveport (TE10 and so on), we typically have to solve for eigenvalues ($k$) of helmholtz equation using FEM 2D.$$ \bigtriangledown^{2}\phi_{2D}+k^{2}\phi_{2D}=0 ,\quad\phi_{2D}=E_{z}(TM)\quad or \quad H_{z}(TE)$$ Upon solving, $k$ gives the permissible modes for the particular waveport dimensions and $\phi_{2D}$ gives the field patterns. I have got everything working and understood till this point but I am not sure of how to include these results into FEM 3D simulation. This document from researchgate (pdf downloads on clicking) says that the mode patterns $\phi_{2D}$ found using FEM 2D are used as the excitation for FEM 3D. However, I dont quite understand how to include this source into FEM 3D. What I think I must do is incorporate $\phi_{2D}$ (FEM2D) into the in-homogeneous helmholtz equation for FEM 3D as the source $g$ as given below.$$\bigtriangledown^{2}\phi+k^{2}\phi=g$$ But, I am not quite sure if this is correct. I haven't found good sources for waveports either.

  • $\begingroup$ The 2D solution can be used as a Dirichlet boundary condition on the input waveport $\endgroup$ Commented Jan 1, 2018 at 18:43
  • $\begingroup$ @Steve so you mean like assigning nodal values of 3D problem based on eigenvector of 2D problem? But then I would need to just solve the homogeneous case even for 3D right (g=0) since I would already have the nodal values for $\phi$ on the waveport to start with ? I think i'll give it a try. Out of curiosity, if I don't need "g" for waveports, when is it used? $\endgroup$
    – Aakusti
    Commented Jan 1, 2018 at 18:59
  • $\begingroup$ The way I've seen this done is to introduce a sheet current $\mathbf{J}= \mathbf{\hat{z}} \times \mathbf{H}$, (where $\mathbf{H}$ is your calculated mode) inside the waveguide and terminate the waveguide with a PML. It's important that energy reflected from your geometry back to the waveport is absorbed, not re-reflected back inside, which is why the PML (or some other absorbing termination) is necessary. For that reason, I don't think a Dirichlet BC is what you want, but I'm happy to be corrected on this point. $\endgroup$
    – LedHead
    Commented Jan 1, 2018 at 22:40

1 Answer 1


You're looking for waveguide port boundary conditions. I think the most accessible treatment is within Jin & Riley's Finite Element Analysis of Antennas and Arrays, Chapter 5. It's available on Amazon, see https://www.amazon.com/dp/0470401281/. A lot of these formulations were first introduced by Jin-Fa Lee, you can find his works in IEEE Microwave theory and techniques, see http://ieeexplore.ieee.org/abstract/document/85399/ for example. This is a surprisingly complicated feature, you need to choose your discretization approach in the 2D solver rather carefully (mixed elements) if you need to deal with inhomogeneous cross sections that support hybrid modes.

I tend to think about this formulation almost like a domain decomposition approach, where in the main computational domain you expand ${\vec E}$ in subsectional FEM basis (Nedelec) and in the adjacent "port" or "infinite waveguide" domain, you expand ${\vec E}$ in a basis of waveguide modes. The modal solution ${\vec E_{2D}}$ plays two roles, it gives you the "shape" of the excitation currents ${\vec J}$/${\vec M}$, but it also provides the change-of-basis coefficients to establish tangential field continuity between the two domains. You don't need to use PML to match, the "absorption" behavior is built into the modal expansion (in fact, I would advise against using PML here, it's less accurate for modes near cutoff and doesn't absorb evanescent waves, but terminating with a modal expansion can handle both of these).

You are free to either compute these modes numerically by solving the 2D eigenproblem, or represent them analytically (with tensor products of sines and cosines for rectangular waveguides, or Bessel functions for cylindrical waveguides, and so on). While the numerical solution is the most general, there can be advantages to the analytic expansions as well, mainly when it comes to robustly separating/orienting degenerate modes (modes that differ in polarization state or TE vs TM structure, but still propagate with the same k, so the numerical solver can't help but mix them all together). This is particularly acute for circular waveguides.

There's a surprisingly long tail of code to implement this correctly/robustly for the general case: Code to detect canonical shapes and match them with analytic expansions, code to detect the presence of multiple conductors and invoke a 2D poisson solver to find TEM modes (which are also possibly degenerate, think common mode versus differential mode), and finally the general 2D eigensolver for extracting TE/TM modes on non-canonical shapes.

All that said, even though the 2D eigensolve is portrayed as the "last line of defense", you can get pretty far using it alone, at least on simple structures (TE10 waveguides, coaxial cable). So I do think it's a good place to start.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.