ellipsometric parameter calculation for bulk Si
clanx
Sun, 12/15/2013 - 03:35 am
I'm trying to calculate the dielectric function for bulk Si. I have the data of psi2 and delta2 in radians but i seem to be doing something wrong.
Theoretically epi2=2nk, which i computed as epi3 but i'm not getting the same curve back as the one I plotted as epi2=imag(epi).
Something must be wrong here, if you could kindly enlighten.
make /o/c rho epi
rho = tan(psi2)*(cmplx(cos(delta2),-sin(delta2))) //ellipsometric parameter
epi = 0.883*(1+7.54863*((1-rho)^2/(1+rho)^2)) //epi= complex dielectric function
make /o/n=128 epi1 epi2
epi1 = real(epi) //real part of dielectric
epi2= imag(epi) //imag part of dielectric
make /n=128 refra extin epi3
refra=(1/2*(epi1+(epi1^2+epi2^2)^1/2))^1/2
extin=(1/2*(-epi1+(epi1^2+epi2^2)^1/2))^1/2
epi3=2*refra*extin
rho = tan(psi2)*(cmplx(cos(delta2),-sin(delta2))) //ellipsometric parameter
epi = 0.883*(1+7.54863*((1-rho)^2/(1+rho)^2)) //epi= complex dielectric function
make /o/n=128 epi1 epi2
epi1 = real(epi) //real part of dielectric
epi2= imag(epi) //imag part of dielectric
make /n=128 refra extin epi3
refra=(1/2*(epi1+(epi1^2+epi2^2)^1/2))^1/2
extin=(1/2*(-epi1+(epi1^2+epi2^2)^1/2))^1/2
epi3=2*refra*extin
On a side note, is it possible to make a complex wave greater than 128 points?
i know for a real wave i can use
make /n=512
but what about for a complex wave as
make /c=512
returns an error.
This part is easy:
By the way, wrap your code with <igor> and </igor> (instead of <ccode>) to format the code correctly for Igor code. I've done that for your post.
The other problem with the calculations looks to require an understanding of the particular science or math which I apparently do not have :-)
--Jim Prouty
Software Engineer, WaveMetrics, Inc.
December 15, 2013 at 02:01 pm - Permalink
Apparently I found out the source of the problem is that I needed to bracket the factor half in my equation.
Regards
December 15, 2013 at 06:10 pm - Permalink
December 15, 2013 at 07:10 pm - Permalink
You could use the Integrate1D function to compute the integral numerically. To do that, you will need a definition of R(w).
John Weeks
WaveMetrics, Inc.
support@wavemetrics.com
December 16, 2013 at 09:01 am - Permalink
If you have reason to believe that the Hilbert Transform returns inaccurate results please post an example.
As for the expressions you posted: they are typically NOT ideal for evaluation with Integrate1d unless you are interested in a range of w that is sufficiently far from zero.
A.G.
WaveMetrics, Inc.
December 16, 2013 at 10:16 am - Permalink