Sweep analysis for dispersion calculations

This topic describes how to use a parameter sweep in MODE to do dispersion calculations much like those available in the frequency analysis tab of the Eigensolver. While the GUI allows for easy and quick set-up of a frequency sweep, the parameter sweep will achieve the same results with more versatility. Here, we sweep over frequency to generate the same plots of dispersion, neff, group velocity, etc. This technique can be generalized to sweep over any other parameter and generate plots of other figures of merit in other Lumerical’s products.

Another advantage of using this technique is that the multiple simulations in a sweep can be distributed to yield faster results for larger simulation files.


Associate files

sweep_frequency_dispersion.lms (232.2 KB)
sweep_frequency_dispersion.lsf (7.3 KB)

See also

Run a parameter sweep
FDE - Frequency Analysis

Simulation set-up and results

Open the usr_frequency.lms file and in the Optimization and Sweeps window, right click on the object named “sweep” and click “Edit”. You will see that the sweep object has been set up to sweep the same simulation over a frequency range of 100-200 THz.

Open the usr_frequency.lsf script within the project file. Notice that script takes the same inputs as the frequency sweep in the graphical interface. Notice that the user is supposed to make sure that the start and stop frequencies as well as the number of frequency values in that range should match between the set up sweep, and the inputs of the script.

If the track_selected_mode variable is set to 1, the sweep will run the simulation for the first frequency and set the desired mode as a reference dcard. Then as the frequency is swept the overlap between the selected dcard and the corresponding mode at the new frequency is used to track that mode. The difference here with the frequency analysis of the user interface is that the sweep is completed initially and the figures of merit are calculated afterwards.

The following plots will be generated:

If the track_selected_mode variable is set to 0, the sweep will track all the modes and plot the results on the same graph. These modes are solved for according to the input variables like number of test modes, and effective index to solve around, set at the top of the script.

The following plots will be generated:

Since the sweep automatically creates a folder with the name {filename}_sweep, when using your file, make sure the name of the folder is set right the script where the path is respecified. Note that the working directory is changed to access the sweep files in both cases and so you would need to switch the directory back to the original one before you run another sweep.