Help required to calculate the effective index of sub-wavelength gratings



Hello there,

I am interested to calculate the effective mode index of the sub-wavelength gratings (SWG). Basically I calculated the effective index using the refractive index, i.e. the refractive index of the SWG on SOI platform on any particular wavelength is given as:

n = sqrt(n1^2*DC + (1-DC)*n2^2)

where, n1 - refractive index of silicon, n2 is the refractive index of cladding (mostly silica) and DC is the duty cycle of the SWG waveguide.

Now I am using the value of ‘n’ as the refractive index of new material and calculating the effective index. Now the effective index which I am getting by this way is basically I am assuming the true effective index of the SWG waveguide. But I am not sure about this method as this is a kind of approximation, any comments on it?

I will be very thankful if you please guide me the exact way to calculate the effective index of the SWG waveguide using Lumerical Mode/FDTD solution.

Many thanks,


Hi @umair.korai

I am not an expert in the filed and not familiar with the equation.

Can you please elaborate on your inquiry? Once you select the refractive index of SWG, how you set the new material and duty cycles?



Hello @bkhanaliloo, sorry for the delay as I was working on the modelling of the subwavelength gratings (SWG) and I thought to do some research and now I really need your help :slight_smile:. Basically, I am interested to calculate the effective index of the SWG waveguide at different temperatures (to calculate the dneff/dt). I have used the photonic crystal method which is available on this website:

I have calculated the refractive index of silicon and silica which is used by Lumerical solution for Palik silicon and silica material from wavelength 1100 to 1800 nm. I have used the thermo-optic coefficient for the silicon and silica (1.87e-4 and 1e-5 respectively), hence created 4 new material using sampledata, named as:

  1. Si_Temp_dep0K
  2. Si_Temp_dep1K
  3. SiO2_Temp_dep0K
  4. SiO2_Temp_dep1K

Where, 0K represents the refractive index at room temperature (default value) and 1K represent the refractive index at 1 degree kelvin. The SWG is comprises of silicon and silica as main waveguide, cladding and box both are silica as well.

Now, by changing the refractive index of the both materials, silicon and silica, by varying the temperature and running the sweep, I found no difference in the effective indices for 0 and 1 degree for most of the ‘k’ points. There should be some change when you vary the temperature (increment as you increase the temperature) but here the difference is almost 0 for most of the ‘k’ points.

I am attaching you a FDTD .lsp and .lsf file, I will be very thankful if you please have a look in to it and kindly help me that where I am actually making the mistake. If you need any further information, please do let me know.
DataAnalysis.lsf (2.5 KB)
SWGwgExample_modified.fsp (391.3 KB)

Best regards,


Hi @umair.korai

Thanks for elaborating on your inquiry and providing simulation files.

While you have defined two materials, it looks like they are both using same FDTD model:



It looks to me that the temperature change and shift in index are quite small and you will need to modify the material fitting to capture this. You could also use Index perturbed material to capture the shift. Please see the links below:
Temperture to index pertubation
Does the "simulation temperature" setting in MODE do anything?

I think it will be a good practice to run single frequency simulations with fixed kx value and then move into sweeping over kx value for broadband simulations.


Hello @bkhanaliloo, many thanks for the suggestions. I haven’t looked the links in detail which you shared: I will try it tomorrow. Just wanted to say that I opened the model and double checked the refractive index which FDTD is considering, i.e. change in the temperature. If you zoom up, there is a difference in the refractive index though it is very small because the thermo-optic coefficient is a change of 4 order lower.

This is the figure for silicon at room temperature and the refractive index at 1500 nm is 3.47995 used by FDTD model

And below is the figure for the refractive index of silicon with 1 degree more and the refractive index at 1500 nm is 3.48014:

And if you calculate the difference between both, i.e. 3.48014 - 3.47995 = 1.9e-4, and this is the thermo-optic coefficient of silicon. I will surely try the single frequency approach but I think the way I am introducing the new material is working too. I think there is something else which is missing in the simulation which is why the difference in the effective index at different temperature is zero.

Any other useful suggestion which you think I am missing in my simulations?



Hi @bkhanaliloo, just to update you that I ran the simulation with your method (introducing the index perturbed material) and the results are somehow encouraging but not completely, but it really help me and thanks for it. I ran the script for 20 points and below are the values I am getting for dn/dt

1.0e-04 *


I am not sure that why there are three zeros in the beginning and three values with ‘0.6’. We cannot say that the temperature is not affecting the waveguide on certain frequency and on certain frequencies, it is affecting quite lot, something is missing in my simulation. Can you suggest some settings which can possibly help me to get the exact results?

Many thanks,


Hi @umair.korai

You are right, and indeed there is a minor difference between them. I think the challenge would be to make sure that this difference can be captured in FDTD results.

I can think of a few modifications into your simulation file:

  1. Make sure that mesh grids match the edge of the waveguide.

  2. Plane wave source cannot be used with PML BCs. For bandstructure calculations, we use dipole source or maybe mode source (in specific cases where we are interested in a specific mode):

Regarding your second inquiry, can you please share your simulation file and material model for a review?



Hello @bkhanaliloo, many thanks for the details.
About my second inquiry, here is the file:

SWGwgExample_Perturbed_material.fsp (330.5 KB)

The substrate is Silica and the waveguide in Silicon material. I have introduced the perturbed materials named as Temp_Silicon for the waveguides and Temp_Silica for the substrate and both are for broadband range. Initially I ran the simulation with simulation temperature as 300 and then I changed it to 310. I have used 100 points for the k vector ranges from 0.2 to 0.3.

Here is the MATLAB figure for the dn/dt. Please note that the dn/dt is calculated by using below formula:

dn/dT = (neff_10-neff_0)./(10-0);

Here you can see that the dn/dT is fluctuating in between 3e-5 and 7e-5.



Hi @umair.korai

I think you need to run your files with the modifications mentioned above and perform your analysis with a proper simulation file. Also, can you please explain how you are extracting neff values for 0 and 10 degree perturbation?

Please let me know of your thoughts.


Hi @bkhanaliloo,

Thanks for the message.

Can you please explain this statement in more detail? Like how my mesh grid should match the edge of the waveguide?

Initially, I set the simulation temperature of the FDTD to 300 degree (since 300 K is the reference temperature which means that the material refractive index will not get modified) and ran the dataAnalysis.lsf file,

Once I get the results of effective index at zero degree (reference temperature), I am changing the simulation temperature of the FDTD tab from 300 to 310 and re-run the simulation. Once the simulation is complete, I am again running DataAnalysis.lsf file to calculate the neff at 10 degree.



Please visit the link below for a detailed explanation:

Thank you for elaborating on how you performed your simulations. The approach makes sense to me. Please make sure that simulation is set properly and repeat your analysis. If you had any further questions, please share your simulation and script files with me for a review.