Multimode source as an input



Is it possible to introduce multimode source with specific number of modes (20 or 50 instead of just one) as an input in FDTD / EME calculations?


Yes, this is possible in MODE Solutions/EME solver. You can do this by going to the EME port settings and executing the following steps:

  1. Choose “user select” in the “mode selection” menu instead of “fundamental mode”:

  2. This action will make available a button called “Select Mode(s)”. Click on it to bring up the mode selection window.

  3. Enter the number of modes you want to calculate and hit “Calculate Modes”:

  4. Select the desired modes from the list of found modes. Note that you can select only some modes from the list of found modes by holding Ctrl key.

As for FDTD, you can select and inject only one mode from the list of found modes. On the other hand, you can add multiple mode sources and select different mode in each of them. You can use script command updatesourcemode(mode_number); to select your desired mode.


Thank you, @mbenes! That helps a lot.

For anyone with similar issue in FDTD Solutions I have prepared a sample script [multimode_source.lsf (597 Bytes)] to insert a number of mode sources. I hope that will be useful.


One more thing.
In MODE Solutions I tried to use 50 modes (for both port_1 and port_2) and set-up two EME Profile monitors - one perpendicular to the propagation axis and one parallel. On both of them I get results (mode profiles) of only fundamental mode instead of all 50 modes. How can I obtain mode profiles of all the modes simultaneously?

How to export FDE mode data so it can be imported as FDTD source?

EME profile monitor can be used only for one mode at the time. The mode that is recorded by the EME profile monitor is selected in the EME Analysis Window before you click on the “eme propagate” button and it is called “source mode”:

The modes offered in the list are modes that you have previously selected in the port settings. In your case mode 1-50.

You can also use a script command that will select a specific source mode if you wish to make a script that will propagate and record data for various modes:
setemeanalysis("source mode",<mode number>);


Thank you for clarification.
So I guess there is no possibility to obtain results from e.g. all 50 modes at a time. I think this would be useful for multimode fibers.


Hi Michal,

Although it’s not possible to use multiple modes simultaneously during the propagation step, it’s possible to sum the field profile due to each mode to get the response as though all of the modes are being injected at the same time.

For example, the same idea is used in the following demonstration of how to simulate circular polarization in FDTD Solutions - one method is to inject two sources in the same simulation, and another method which gives the same results is to simulate the sources independently and sum the results:

I hope this helps!