Simulation Instability for varFDTD


Hi all

Every time I run the following varFDTD simulation, the results change.

The attached script sets up the material properties, defines the geometry, sets up the varFDTD simulation, runs, and then plots the S parameters.

The figure below is the results of 4 consecutive runs of the script. As can be seen, the results are different each time, and are also non-sensical (|S|>1 for a passive structure).

I have tried changing the meshing options, and some of the varFDTD options.

Any help would be appreciated.

S_param_debug.lsf (6.6 KB)


Hi @buchbinder,

This is quite confusing!! I ran the script 4 times and actually got the same result each time!

And I don’t seem to get anything close to one of your plots… Can you let me know which version of MODE Solutions you are using? Although I’m not aware of such bug in previous version, it can be worth installing the latest version (v7.9.1157).


Hi @gbaethge

I am using MODE 7.8.903.
I will see if I can update to the latest version.

Any other suggestions?


Hi @gbaethge

I could not immediately update, but ran the simulation on MODE 2016b, 7.8.966, Mac OS X (the original post was run on 7.8.903 on Linux). Even on the 7.8.966 version, I get varying results.

I noticed that the following message appears in the terminal when I run the simulation:
“There was an error while trying to calculate the modes: Error during matrix solve.
Please contact Lumerical technical support for assistance.”

If I run on other designs whose behavior is more expected, this error does not appear.


Hi @gbaethge

Just wondering if you had any updates on this?



Hi @buchbinder,

Sorry for the delay, I was travelling these past few days! I checked the logs of my simulation (using the latest version) and, as I expected, I didn’t get the same error messages. I think the safest would be to upgrade to the latest version and retry.


Hi @gbaethge

I am in the process of upgrading, so I’ll update you then about rerunning with the new version.

In the meantime–
I notice that the mode profile for the mode expansion monitor shows the following:

This seems strange to me as the mode was selected using updatemodes(1).

If, after I run the simulation, I go back to the prompt and manually re-enter updatemodes(1) with the mode expansion selected, I get the following mode profile:

This seems much more reasonable as the fundamental mode.

Are you seeing the same issue, where the mode in the script does not seem to correspond to the mode profile from the expansion monitor?

Additionally, as the script runs at many wavelengths, I would expect the mode profile to always return a plot vs wavelength as well. The tool seems only sometimes return plots vs wavelength (as shown below), but often returns the mode at a particular wavelength (as in the plots above). Any ideas?


Hi @buchbinder,

Sorry for the delay, we had a long weekend!
Regarding the issue, for some reason, you have to save the file first, before using the updatemodes command, as explained in the note about the updatemodes command:

NOTE: Saving simulation files before using updatesourcemode

If you have a script file which updates the simulation mesh, then you should use the save script command before updating the source mode. This will ensure that the mesh has been updated before the new mode is calculated.

If you add a “save(“S_param_test.lms”);” right before updating the mode, you should get the right mode selected.

Regarding the last point, I’m not too sure as I always get the plot of the mode vs y vs wavelength.