Mode Properties from FDTD Eigenmode solver



I am wondering if it is possible to get information from the eigenmode solver when doing 3D FDTD calculations? To elaborate, I have a number of mode expansion monitors being used to determine the transmission in different modes as I vary device parameters. I am setting the different modes from the mode list using the following code in a script

set(‘name’, ‘Mode_2’);
set(‘monitor type’, ‘2D X-normal’);
set(“mode selection”,‘user select’);
seteigensolver(‘use max index’,1);

As such I was hoping to extract some paramaters from the eigensolver based on the mode properties, such as the effective index and mode TE% etc.

When manually selecting the modes it is clear this information is generated,

Within the mode list we can see the effective index, loss, TE% etc available, what is the appropriate syntax to get this information?

From the final results I can see its possible to extract the neff of the solver using get result, ie (where Mode_4 is a mode expansion monitor)

but there is no equivalent for the other properties which can be seen in the mode list?



The loss in dB/m and TE polarization fraction are unfortunately not returned directly, but it is possible to calculate those values from the information which is provided.

For the loss, you were already able to collect the effective index (mode_4_neff), and the imaginary part of mode_4_neff can be related to the loss in dB/m by:
Loss = -20*log10(exp(-imag(mode_4_neff)*2*pi/lambda);

The lambda wavelength can be obtained from the mode_4 dataset. This relationship is from the “Loss conversion” section here:

The TE polarization fraction can be calculated given the E field profile over y and z. This data can be collected from the “mode profiles” result from the mode expansion monitor, and the equation for calculating the TE polarization fraction is given under the “Mode list” section on this page:

Try it out and let me know if you have any trouble with it!