General waveuguide port support in openEMS #188
Replies: 3 comments 3 replies
-
|
Hello gadiLhv, A few questions on the implementation:
Currently, I do not know how accurate the openEMS microstrip port is if the geometry differs from the standard mode. Let's say a shielding GND on the top layer is near the RF line. In this case a portion of the return current will flow on the top layer forming a GCWG. The distances to GND on the top layer may even be asymetrical. The port mode solver should treat this accurately. Does the current implementation of the mircostrip port in openEMS, too? I think the recorded reflection coefficient may be correct (independent on line impedance), but I don´t know if the line impedance is. Again, tanks for your efforts! Regards, |
Beta Was this translation helpful? Give feedback.
-
|
Hello, There is a very simple method to get the modes in FDTD. You can run a small FDTD simulation only in the box used for the port by using MUR (or may be PMC is better in this case ) conditions and by initializing by a random Electric or magnetic field. At the end of the simulation, using an FFT on a saved field will give the modes of the structure by detecting the pics. The first pic corresponds to the first mode. This field can be used for the excitation. There are many papers about mode calculation using FDTD. This method is usually used to calculate dispersion diagram for periodic structures. Actually, it can be used to calculate the modes of any structure. Here is a paper describing this method for periodic structures : "FDTD Modeling of Periodic Structures: A Review" ; link : https://arxiv.org/pdf/2007.05091 . Hope this can help. ++ |
Beta Was this translation helpful? Give feedback.
-
|
Yes, the method will give the mode its self (electric field and magnetic field values at each point of the mesh), not the excitation. And I think, the best configuration is to use PMC conditions. The filed will configure itself depending on the structure and the materials inside the port box. For the excitation, I don't know how we can tell openems to use this field. But I suppose it can be a waveguide like port and we have to find a way to impose the field calculated by the small FDTD simulation that we have run only inside the port box ( for example, by considering the predefined mesh grid for the big simulation and by running the simulation only inside the port box using a ~10% of the number of iterations defined by the user). |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
So here is a project that has been going on for quite a while.
We wanted to enable support for any sort of waveguide port in openEMS. The strategy was pretty straight forward:
This strategy allowed minimal changes to the existing openEMS functionality (and source core, for that matter).
However, in order to be able to place the ports anywhere within the solved domain, it was necessary to implement some sort of absorber within the domain, rather than near the edges of the air box.
We have a working implementation for 1st order Mur and 1st order Mur with super-absorption, which I discussed previously here. I know that surface impedance BC (SIBC) are rather popular also, but I'll discuss that a bit later.
Microstrip Line
Since it won't really be interesting to share the rectangular waveguide ports, here is the microstrip line mode calculated using the FEM library,
Then sampled at the FDTD grid:
Placed two ports, one exciting and one receiving, along with absorbers behind each one. The phase velocity of the Mur B.C. was set according to the calculated propagation coefficient. The absorber is set at least one mesh cell behind the excitation, in the current implementation. It can be seen that the structure is within a larger airbox. In this simulation Mur BCs were used around the airbox.
WhatsApp.Video.2024-02-15.at.10.50.09.mp4
MSL_W_Extra_Cut.mp4
The S-Parameters are currently calculated using the wave impedance. Line impedance is a bit more tricky using the current FEM library.
Future work
Although adding "custom" modes to openEMS required relatively little changes, the "local" absorbers required quite a bit. Additional modules and definitions for CSXCAD, another engine extension and a bit of hacking to support multithreading, which is why I started this issue back in the day.
Intuitively, I have a feeling that a more healthy approach would be to somehow absorb specifically the excited mode, although I didn't figure that out yet. I found a few articles in the field, referenced below, but couldn't figure it out yet.
@thliebig, do you have any notion if it's possible to excite and absorb reflected modes on the same reference plane? I couldn't exactly figure out the articles I found (referenced below), but it seems the fields are sampled close to the excitation.
I am asking this, as in commercial software, it is commonly done with metallic shielding behing the port. This could, of course, be a visually pleasing approach for a friendly user interface (and maintain consistency with FEM waveguide ports), but I have only guesses at the moment.
For example:

I feel like it will be somewhat more efficient if I could add this functionality to the excitation extension, rather than define a separate module of a "generic" absorber. Maybe it's just enough to add SIBC functionality, but it would be excellent to hear an expert opinion before delving back in to trial and error.
Would love to hear your input on this.
References:
[1] ALIMENTI, Federico, et al. A revised formulation of modal absorbing and matched modal source boundary conditions for the efficient FDTD analysis of waveguide structures. IEEE Transactions on Microwave Theory and Techniques, 2000, 48.1: 50-59.
[2] ALIMENTI, F., et al. Modal absorption in the FDTD method: A critical review. International Journal of Numerical Modelling: Electronic Networks, Devices and Fields, 1997, 10.4: 245-264.
Beta Was this translation helpful? Give feedback.
All reactions