Best approach for simulating large ring resonators



I want to simulate a large ring resonator (e.g., ~100 um radius). What would be the best approach using Lumerical?

Optimization - Large ring

Simulating the whole ring with a large radius using, eg, FDTD, can be computationally intensive. There are indeed couple of ways to approach this type of application.


Instead of using FDTD, one way to simulate the entire ring in one simulation, is to use the varFDTD solver in MODE Solutions, there is a white paper on this topic. This 2.5D solver is able to run a simulation with 3D planar structure but just require 2D computation cost. We have an example of ring resonator using the varFDTD solver. Before you run the simulation, you could take a look at the memory report and make sure you have enough computational resources to run the simulation. Another note is that you probably want to increase the “simulation time” setting in the simulation region since light will need more time to travel for this large ring, the simulation time is by default only 1000 fs. However, if your are going to simulation an even larger ring, this might not be the most efficient way.


When the ring resonator becomes very large, it is not efficient to run an FDTD nor varFDTD simulation. Indeed, we can split the ring into multiple component simulations and import the data to INTERCONNECT for a circuit simulation.

Coupling region (FDTD)
We can first start with just simulating a section of the ring, like this screenshot below, to obtain the s-parameters at the coupling region. Since we are only simulating the coupling region (a much smaller region than the whole ring), it is likely that FDTD can handle this. If the coupling region is large for FDTD, one may consider using the varFDTD for some initial parameter optimization, then use the FDTD method as a final confirmation.

Bent waveguides (FDE)
Then we can make use of the FDE solver to simulation the bent waveguides. It is able to return the waveguide characteristic such as, effective index, group index, loss, etc.

System simulation (INTERCONNECT)
Once we have the s-parameters at coupling region and the waveguide characteristic from component simulations, we can then import these data to INTERCONNECT for circuit simulation. This is not only accurate but it is going to be a lot faster than simulating the entire ring using a component level solver, see this passive ring example.

If the ring is tunable, DEVICE CT or HT may be used. We have a related active ring example in the CML discussion category if you want more info.

Issue with setting simulation time from script and running parameter sweep