7: Thin film interference and diffraction

Example number 7.1, Page number 158

In [1]:
#importing modules
import math
from __future__ import division

#Variable declaration
alpha=0.01;    #angle(radian)
n=10;        #number of fringe
lamda=6000*10**-8;  #wavelength(cm)

#Calculation
#for dark fringe 2*u*t*cos(alpha)=n*lam
#t=xtan(alpha)
x=(n*lamda)/(2*alpha);    #distance of 10th fringe from edge of wedge(cm)

#Result
print "distance of 10th fringe from edge of wedge is",x,"cm"
distance of 10th fringe from edge of wedge is 0.03 cm

Example number 7.2, Page number 159

In [4]:
#importing modules
import math
from __future__ import division

#Variable declaration
t=5*10**-5;    #thickness of soap film(cm)
u=1.33; 

#Calculation
#for constructive interference of reflected light
#2*u*t*cos(r)=(2*n+1)(lam/2), where n=0,1,2,3
#for normal incidence r=0, cos(r)=1
#for n=0 lamda=lamda1
lamda1=4*u*t;    #wavelength for zero order(cm)
#for n=1 lamda=lamda2
lamda2=4*u*t*(1/3);    #wavelength for first order(cm)
#for n=2 lamda=lamda3
lamda3=4*u*t*(1/5);    #wavelength for second order(cm)
#for n=3 lamda=lamda4
lamda4=4*u*t*(1/7);    #wavelength for third order(cm)

#Result
print "wavelength that is strongly reflected in visible spectrum is",lamda3*10**8,"angstrom"
wavelength that is strongly reflected in visible spectrum is 5320.0 angstrom

Example number 7.3, Page number 159

In [6]:
#importing modules
import math
from __future__ import division

#Variable declaration
n=10;   #10th dark ring
D10=0.5;    #diameter of ring(cm)
lamda=5000*10**-8;    #wavelength of light(cm)   

#Calculation
R=(D10**2)/(4*n*lamda);    #radius of curvature of lens(cm)
D50=math.sqrt(4*50*R*lamda);   #diameter of 50th dark ring(cm)
r50=D50/2;        #radius of 50th dark ring(cm)

#Result
print "radius of 50th dark ring is",round(r50,2),"cm"
radius of 50th dark ring is 0.56 cm

Example number 7.4, Page number 160

In [32]:
#importing modules
import math
from __future__ import division

#Variable declaration
i=45;     #angle of incidence(degrees)
mew=1.33;   #refractive index
lamda=5000;    #wavelength(angstrom)

#Calculation
i=i*(math.pi/180);    #angle of incidence(radian)
sin_r=math.sin(i)/mew;    #value of sin(r)
r=math.asin(sin_r);    #angle of refraction(radian) 
r1=r*(180/math.pi);     #angle of refraction(degrees)
#for bright fringe 2*u*t*cos(r)=(2*n+1)(lamda/2)
#for minimum thickness n=0
t=lamda/(4*mew*math.cos(r));    #minimum thickness(angstrom)

#Result
print "minimum thickness of film is",int(t),"angstrom"
minimum thickness of film is 1109 angstrom

Example number 7.5, Page number 160

In [28]:
#importing modules
import math
from __future__ import division

#Variable declaration
lamda=5500*10**-8;     #wavelength(cm)
V=0.2;      #volume of oil drop(cc)
A=100*100;   #surface area(sq.cm)

#Calculation
#since both reflections occur at surface of denser medium
#condition for brightness for min thickness, n=1
#for normal incidence r=0, cos(r)=1
t=V/A;    #thickness of film(cm)
mew0=lamda/(2*t);   #refractive index of oil

#Result
print "refractive index of oil is",mew0
refractive index of oil is 1.375

Example number 7.6, Page number 161

In [29]:
#importing modules
import math
from __future__ import division

#Variable declaration
lamda=6300;    #wavelength of light(angstrom)
mew=1.5;       #refractive index
n=10;

#Calculation
#condition for dark 2*u*t=n*lam
#condition for bright 2*u*t=(2*n-1)(lam/2)
#when t=0 n=0 order dark band will come and at edge 10th bright band will come 
t=(((2*n)-1)*(lamda))/(4*mew);   #thickness of air film(angstrom)

#Result
print "thickness of air film is",t,"angstrom"
thickness of air film is 19950.0 angstrom

Example number 7.7, Page number 161

In [31]:
#importing modules
import math
from __future__ import division

#Variable declaration
mewg=1.5;    #refractive index of glass
mewo=1.3;    #refractive index of oil
lamda1=7000;   #wavelength(angstrom)
lamda2=5000;   #wavelength(angstrom)
r=0;     #for nth minimum

#Calculation
#here reflection occurs both time at surface of denser medium
#condition for distructive interference in reflected side
#2*u*t*cos(r)=(2*n-1)(lam1/2), for nth min.
#2*u*t=(2*n+1)(lam1/2), n=0,1,2,3
#for (n+1)th min.
#2*u*t=(2*(n+1)+1)(lam2/2), n=0,1,2,3
t=(2/(4*mewo))*((lamda1*lamda2)/(lamda1-lamda2));      #thickness of layer(angstrom)

#Result
print "thickness of layer is",int(t),"angstrom"
thickness of layer is 6730 angstrom

Example number 7.8, Page number 162

In [34]:
#importing modules
import math
from __future__ import division

#Variable declaration
Dn=1.40;    #diameter of 10th ring(cm)
D=1.27;     #changed diameter(cm)

#Calculation
#when mew=1
#(Dn^2)=4*n*lam*R=(1.40^2)
#when mew=mew1
#(D^2)=(4*n*lam*R)/u1=(1.27^2)
mewl=((Dn**2)/(D**2));      #refractive index of liquid 

#Result
print "refractive index of liquid is",round(mewl,4)
refractive index of liquid is 1.2152

Example number 7.9, Page number 162

In [40]:
#importing modules
import math
from __future__ import division

#Variable declaration
B=0.5;   #fringe width(cm)
mew=1.4;    #refractive index

#Calculation
alpha=((math.pi*10)/(60*60*180));   #converting into radian
lamda=2*B*alpha*mew;   #wavelength of light(cm)

#Result
print "wavelength of light used is",int(lamda*10**8),"angstrom"
print "answer given in the book varies due to rounding off errors"
wavelength of light used is 6787 angstrom
answer given in the book varies due to rounding off errors

Example number 7.10, Page number 163

In [41]:
#importing modules
import math
from __future__ import division

#Variable declaration
lamda=6000*10**-8;    #wavelengh of light(cm)
mew=1.5;    #refractive index

#Calculation
#condition for dark fringe is 2*t=n*lam
#but B=(lam/(2*alpha*u))
#delta_t=alpha*x
delta_t=(10*lamda)/(2*mew);     #difference t2-t1(cm)

#Result
print "difference t2-t1 is",delta_t,"cm"
difference t2-t1 is 0.0002 cm

Example number 7.11, Page number 163

In [43]:
#importing modules
import math
from __future__ import division

#Variable declaration
lamda=5890;   #wavelength of light(angstrom)
mew=1.5;    #refractive index
r=60;       #angle of refraction(degrees)

#Calculation
#condition for dark is 2*mew*t*cos(r)=n*lamda
r=60*(math.pi/180);    #angle of refraction(radian)
#for n=1
t=(lamda)/(2*mew*math.cos(r));    #smallest thickness of glass plate(angstrom)

#Result
print "smallest thickness of glass plate is",int(t),"angstrom"
smallest thickness of glass plate is 3926 angstrom

Example number 7.13, Page number 180

In [45]:
#importing modules
import math
from __future__ import division

#Variable declaration
aplusb=1/1250;    #transmission grating(lines/cm)
n=2;     #order of spectral line
theta=30;    #deviation angle(degrees)

#Calculation
theta=theta*(math.pi/180);   #deviation angle(radian)
#(a+b)sin(theta)=n*lamda
lamda=(aplusb*math.sin(theta))/n;   #wavelength of spectral line(cm)

#Result
print "wavelength of spectral line is",lamda,"cm"
wavelength of spectral line is 0.0002 cm

Example number 7.14, Page number 180

In [47]:
#importing modules
import math
from __future__ import division

#Variable declaration
lamda=5893*10**-8;    #wavelength(cm)
aplusb=2.54/2540;  #grating(lines/cm)

#Calculation
#n=nmax, if sin(theta)=1
nmax=(aplusb/lamda);      #maximum order

#Result
print "maximum order is",int(nmax)
maximum order is 16

Example number 7.15, Page number 180

In [3]:
#importing modules
import math
from __future__ import division

#Variable declaration
n=2;   #second order
aplusb=1/5000;   #transmission grating(lines/cm)
lamda=5893*10**-8;      #wavelength(cm)
f=30;    #focal length(cm)

#Calculation
dtheta=(2.5*3.14)/(180*60);    #change in angular displacement(radian)
#dlamda=((a+b)cos(theta)/n)dtheta
costheta=math.sqrt(1-(((n*lamda)/aplusb)**2));
dlamda=(dtheta*aplusb*costheta)/n;  #difference in wavelength(cm)
dl=f*dtheta;   #linear separation(cm)

#Result
print "difference in wavelength of two yellow lines",round(dlamda*10**8),"angstrom"
print "linear separation is",round(dl*10**2,2),"*10**-2 cm"
difference in wavelength of two yellow lines 6.0 angstrom
linear separation is 2.18 *10**-2 cm

Example number 7.16, Page number 181

In [51]:
#importing modules
import math
from __future__ import division

#Variable declaration
lamda1=5400*10**-8;    #wavelength1(cm)
lamda2=4050*10**-8;    #wavelength(cm)
theta=30;      #angle of diffraction(degrees)

#Calculation
#nth order of lamda1 is superimposed on (n+1)th order of lamda2 for theta=30
#(a+b)sin(30)=n*5400*10^-8=(n+1)*4050*10^-8
n=(lamda2/(lamda1-lamda2));    #nth order
theta=30*(math.pi/180);     #angle of diffraction(radian)
N=math.sin(theta)/(n*lamda1);      #lines/cm in grating

#Result
print "lines/cm in grating is",int(N),"lines/cm"
lines/cm in grating is 3086 lines/cm