About the analytic calcuation for a multistack layer

transfermatrixmethod
fdtdsolutions
multilayer
stackrt

#1

In multilayer stacking system, the embedded script command, stackrt can calculate the analytic solution of R, T for this structure based on transfer matrix method.
I’m quite interested in the full equations used in the stackrt calculation. I figured that this method normally ignores the extinction coefficient k of the material in the multilayer. Could you recommend textbook or some useful resource for this transfer matrix method considering the extinction coefficient of the material within the multistack layer?


Dielectric permittivities and conductivity
Glass 기판의 박막 적층에 따른 광특성 시뮬레이션 문의드립니다.
#2

@isawjsy

The stackrt script command uses Fresnel equations to calculate the reflection and transmission coefficients for each layer of a multilayer stack. It then uses the transfer matrix method to get the result for the full stack, and this does consider complex refractive index values (n+ik).

Some more information about both the Fresnel calculations and transfer matrix method can be found on the following Wikipedia pages:



#3

@nlui

Thank you for your response and useful information.
In RT of a 4 layer stack example as I mentioned, is it possible to get an analytic solution of R and T using the stackrt command for a broadband (300-1100nm) lgiht source with complex refractive index materials - for example, Ag / SiO2 / Ag (MIM) optical system? In this case, it seems that an index monitor might be need to obtain the result.


#4

@isawjsy
It is possible to get the analytic solution for complex refractive index materials or materials from the material database. For some example, the following code defines a vector of refractive index values for a 5 layer stack with air on the top and bottom, and layers of glass and silicon between:

n2         = matrix(nd,nf);
n2(1,1:nf) = 1;  # air
n2(2,1:nf) = getfdtdindex("SiO2 (Glass) - Palik",f,min(f),max(f));
n2(3,1:nf) = getfdtdindex("Si (Silicon) - Palik",f,min(f),max(f));
n2(4,1:nf) = getfdtdindex("SiO2 (Glass) - Palik",f,min(f),max(f));
n2(5,1:nf) = 1;  # air

This code is a portion of the example code which can be found on the stackrt script command page here:
https://kb.lumerical.com/en/index.html?ref_scripts_stackrt.html

The code uses the getfdtdindex script command to get the refractive index of the material over the frequency range of interest, so an index monitor is not required. More information about the getfdtdindex command can be found here:
https://kb.lumerical.com/en/index.html?ref_scripts_getfdtdindex.html