I want to get the coupling coefficient of the racetrack micro-resonator by simulating the half ring with FDTD, as shown in Fig. 1. However, the time monitor shows wired results. It seems that there always exists “oscillating light” at the through port. The results of field power monitors are wrong as well. I’m wonder why this happens and what I should do to get the reasonable results.
My simulation file is attached.layout.fsp (7.5 MB)
Thanks a lot for your suggestions! It works well now. But I still have some questions about it.
Why will these meshes lower the simulation speed a lot? I thought the larger mesh step, such as mesh_4 and mesh_5, would reduce the simulation time, but, in fact, they did not. Is it because FDTD solver will automatically optimize the mesh and my setting prevents such optimization? Will adding additional mesh lower the speed of other solvers, such as varFDTD?
Why is the result wrong if I override the original mesh setting? Is it because the inaccurate calculation in some regions?
Is it reasonable that such structure requires a long simulation time, since there is no resonant phenomenon and it is similar to two waveguides in my opinion. I simulate 7000fs and then get the auto-shutoff value of around 5.55e-5. Even so, there still exists ripples in the spectrum of the through port, as shown below.
Will the mesh size setting influence the simulation result a lot? I use mesh accuracy 2 in FDTD, but it seems to produce much lower coupling coefficient value, around 0.033 at 1.55um at the drop port, while the result is around 0.09 based on the varFDTD solver in MODE. By the way, I also use those customized meshes in varFDTD simulation.
I am new to these tools and there may be a lot of wrong thoughts. Could you please give some explanations or recommend some references? Thanks a lot for your help!
Generally we set the mesh from FDTD and use mesh override once its necessary to create finer meshes. Please note that software uses more precise algorithms internally to mesh your structure when you set it from FDTD and mesh override needs to be used with care. In your case, you could use a mesh override on the gap, say around 10 mesh cells, to create smaller meshes.
Since your simulation region was large, it was taking a lot of time for troubleshooting. I guess it will be a good idea to start from this KB example and adjust your FDTD simulation region in ring-resonator.fsp file to include only half of the structure (software will automatically ignore objects that are outside the FDTD region). You can add mesh overrides in the gap region and also change the PML settings and study their effects on your results.
You are right! I was expecting to see auto shutoff level is satisfied before we wait that long. It looks like we still have some electric filed that live in simulation region either because of poor absorbing PML layers, or because evanescent field is interfering with PML. You can try to increase your simulation region to be half wavelength away from the object and also use thicker (higher number) PML layer.
It will be a good idea to read this link for proper setting of FDTD region.
Please start with the linked simulation file, and let me know if you had difficulties setting your simulation file properly.
I also come with questions on override mesh when simulating ring resonator in 3D DTD.
I always wish to resolve the light guiding structure nicely for a decent mode profile and usually I use mesh override region horizontally (over vertically) covering the waveguide. However if the wavgeuide is tilted or bent then there is no efficient way to deploy fine mesh around waveguide object only.
I have uploaded one picture to resemble my common setup:
Alternatively I also try to use very high accuracy global mesh with a very coarse mesh override region in the bulky middle oxide region. Even though this helps reducing unnecessary mesh in the middle, the waveguide structure is not quite well resolved (mode profile from mode sources is blurred).
I would like know if there is better way of mesh deployment. In future release is it possible to generate mesh override region arbitrary shape (controlled by scripts maybe)?
Indeed, for cases which include a bent waveguide or any curved surfaces, employing a good mesh is challenging. FDTD solves Maxwell’s equations over Yee cells that are cubical. This hinders FDTD from efficiently meshing curved structures as opposed to FEM techniques.
I think using a slightly coarse mesh for FDTD mesh accuracy, and then using a finer mesh override region should give precise results.
I hope this answered your question.