Thermal tuning in varFDTD and how to properly set mode expansion monitor

I am simulating an adiabatic coupler’s response to thermal tuning with varFDTD in MODE. And I have some problems here. Please see the attached for the simulation files.

varFDTD with thermal index perturbation

  1. Simulate the coupler in varFDTD without index perturbation and it works fine.
  2. Simulate the 3D temperature profile in DEIVCE and then import it to MODE. Create an index perturbation material with the base material to be Silicon. Works fine for FDE but not varFDTD. Light stopped propagating at the boundary of the thermal region if it is smaller than the FDTD simulation region

or at the source if the thermal region is larger than the FDTD simulation region
Inline image 1​

​ It does not even work for the case where there is zero tuning.​

Mode expansion monitor
The second problem is with the mode expansion monitor.
When I only placed one mode expansion monitor at mon_in0 and add all four field monitors to its monitoring list, the mode expansion monitor seems only work for mon_in0, but did not give a reasonable number for other ports, which has the same cross section with in0. Consequently, I have to place a mode expansion monitor at every port with a field monitor.

Attached is the script (for MODE) TestScript.lsf (4.3 KB)and temperature profile is available through the link.
They are not the actual structure but two simple parallel waveguides, but enough to show the problem. Run the script and then hit the button to run the simulation.

1 Like

Dear @chm037

After some internal discussions, it looks like varFDTD is not optimized to work with heat attribute. This is probably because the collapsing effect from 3D into 2D in which software assumes that index along the z is constant.

Regarding your second question, are you running these simulations with perturbed material? If not, can you please use built in material and let me know if you still have problem.


1 Like

I had the problem even when I was using built-in materials.

Can you please upload your simulation file for a review? Make sure that you are saving data in the layout mode. This will reduce the size of the file as monitors data will be cleared.


For the problem with compatibility between varFDTD and heat attribute, theoretically it should still work since the solver calculates a local effective index everywhere in the simulation region. The existence of the heat attribute does not prevent the index from being constant along z.

Hi, Please check the script file in my initial post. Thanks.

Dear @chm037

I try to provide a general respond to this post for future references.

When you work with varFDTD and expansion monitors, there are a few things to consider regarding proper mode selection:

1) varFDTD effective index settings:

Make sure that you are selecting the proper mode from effective index tab. Either select TE ™ representing fundamental TE™ modes are choose the mode of interest by selecting user select->select mode option:

note that real(Ey) is the dominant component (with value reaching 1) while other components are almost zero.

2) make sure that you are injecting the proper mode from the source:

Please note that fundamental mode can be TE or TM mode and the number of these modes might change depending on the geometry. Therefore check and make sure that you are injecting proper mode.

3) make sure that you are expanding the proper mode and have checked the align to frequency monitor center box.

Note regarding align to frequency monitor center box:

When your expansion monitor does not have the same geometry as DFT monitor or they have different y-position, you need to make sure that you have checked this box. If this box is not checked, you will set that total transmission is equal to 1 but forward and backward powers are zero. Please see the screenshot below why this box is important:

Here is the result in the expansion monitor at in0 for output0 monitor (I used a coarse mesh here):

I hope this answered your question.