# 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
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
sin_r=math.sin(i)/mew;    #value of sin(r)
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
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
#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
#(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
#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

lines/cm in grating is 3086 lines/cm