As @mostafanaseri mentioned, sometimes switching from standard to stabilized in the PML profile can help. The problem is that the stabilized profile provides less absorption; the simulation is more stable but each PML layer absorbs less. The stabilized profile is usually the last resource when none of the other PML profiles work and the simulation keeps diverging.
I think that in the present case the simulation is not unstable but it takes a long time for the autoshutoff level to decrease to a negligible value. The standard profile with 16 layers for the PML at xmin and xmax works fine. However, there are some additional things to consider that can improve the results (see Plasmonic bandpass filter_modFG_vers2.fsp (556.9 KB)):
- Move the source away from the first gap and also leave some distance between the source and the PML at xmin. Since the gap introduces a discontinuity it is a good idea to make sure the fields are injected correctly in the input nanoribbon and they have some distance to travel before hitting the discontinuity.
- Even though the mode propagating through the ribbons is very well confined, the gaps create discontinuities where the fields can be scattered out of the structure. For this reason metal boundaries for the y and z direction are not appropriate; we should use PML boundaries instead. One way to check if fields are being scattered out is by placing power monitors above and below the ribbons (like monitor_above and monitor_below in the attached file). What seemed to happen before with the metal boundaries is that the light scattered out of the structure was bouncing back due to the metal boundaries, affecting the field recorded at the monitors.
After these changes the results for the transmission at the “out” monitor in the frequency range 8-10THz are shown below:
This plot shows a peak near 10THz, which is not too far from the results shown in the paper. Some other things to improve the simulation are:
- Increase the simulation time to make sure the autoshutoff decreases sufficiently. The results above were obtained from a simulation where the autoshutoff went down to ~1e-3. The simulation seems stable so by increasing the simulation time the autoshutoff level should go down even more.
- The mesh should be refined in the region of the ribbons, especially near the gaps (where the discontinuities in the propagation occur).