# 3: Photoelectric Effect, Compton Effect and Bohr's Atomic Theory¶

## Example number 1, Page number 103¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;            #charge(coulomb)
h=6.62*10**-34;           #planks constant(Js)
c=3*10**8;                #velocity(m/sec)
lamda=5893*10**-10;       #wavelength(m)

#Calculations
E=h*c/lamda;              #energy of photon(J)
E_eV=E/e;                    #energy of photon(eV)

#Result
print "energy of photon in joules is",round(E*10**19,2),"*10**-19 J"
print "energy of photon in eV is",round(E_eV,1),"eV"

energy of photon in joules is 3.37 *10**-19 J
energy of photon in eV is 2.1 eV


## Example number 2, Page number 103¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;            #charge(coulomb)
W0=4.84*e;                #work function(J)
h=6.624*10**-34;          #planks constant(Js)
c=3*10**8;                #velocity(m/sec)

#Calculations
lamda0=h*c/W0;       #threshold wavelength(m)

#Result
print "threshold wavelength is",int(lamda0*10**10),"angstrom"

threshold wavelength is 2566 angstrom


## Example number 3, Page number 103¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
h=6.624*10**-34;          #planks constant(Js)
c=3*10**8;                #velocity(m/sec)
lamda0=5040*10**-10;      #threshold wavelength(m)

#Calculations
W0=h*c/lamda0;            #work function(J)

#Result
print "work function is",round(W0*10**19,3),"*10**-19 J"
print "answer given in the book is wrong"

work function is 3.943 *10**-19 J
answer given in the book is wrong


## Example number 4, Page number 104¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;            #charge(coulomb)
c=3*10**8;                #velocity(m/sec)
lamda0=5040*10**-10;      #threshold wavelength(m)
W0=2.46*e;                #work function(J)

#Calculations
h=W0*lamda0/c;          #planks constant(Js)

#Result
print "planks constant is",round(h*10**34,3),"*10**-34 Joule sec"

planks constant is 6.612 *10**-34 Joule sec


## Example number 5, Page number 104¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
h=6.63*10**-34;           #planks constant(Js)
e=1.6*10**-19;            #charge(coulomb)
c=3*10**8;                #velocity(m/sec)
W0=2.2;                   #work function(eV)
Kmax=0.8;                 #work function(eV)

#Calculations
lamda=h*c/((W0+Kmax)*e);      #wavelength of light(metre)

#Result
print "wavelength of light is",round(lamda*10**7,3),"*10**-7 metre"
print "answer varies due to rounding of errors"

wavelength of light is 4.144 *10**-7 metre
answer varies due to rounding of errors


## Example number 6, Page number 104¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
h=6.62*10**-34;           #planks constant(Js)
e=1.6*10**-19;            #charge(coulomb)
c=3*10**8;                #velocity(m/sec)
Kmax=3*10**-19;           #work function(J)
lamda=3310*10**-10;       #wavelength(m)

#Calculations
W0=(h*c/lamda)-Kmax;      #work function(J)
W0=W0/e;                  #work function(eV)

#Result
print "work function is",W0,"eV"

work function is 1.875 eV


## Example number 7, Page number 105¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
h=6.62*10**-34;           #planks constant(Js)
e=1.6*10**-19;            #charge(coulomb)
c=3*10**8;                #velocity(m/sec)
W0=2.2;                   #work function(eV)
lamda=3200*10**-10;       #wavelength(m)

#Calculations
Kmax=((h*c/lamda)-(W0*e))/e;           #energy emitted(eV)
new0=W0*e/h;                #threshold frequency(Hz)

#Result
print "energy emitted is",round(Kmax,3),"eV"
print "threshold frequency is",round(new0/10**14,3),"*10**14 Hz"
print "answers given in the book are wrong"

energy emitted is 1.679 eV
threshold frequency is 5.317 *10**14 Hz
answers given in the book are wrong


## Example number 8, Page number 105¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
h=6.62*10**-34;           #planks constant(Js)
e=1.6*10**-19;            #charge(coulomb)
c=3*10**8;                #velocity(m/sec)
W0=2.3;                   #work function(J)
lamda=2000*10**-10;        #wavelength of light(metre)

#Calculations
lamda0=h*c*10**10/(W0*e);         #wavelength of light(angstrom)
Kmax=(h*c/(lamda*e))-W0;              #maximum kinetic energy(eV)

#Result
print "maximum kinetic energy is",round(Kmax,1),"eV"

maximum kinetic energy is 3.9 eV


## Example number 9, Page number 106¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
h=6.62*10**-34;           #planks constant(Js)
e=1.6*10**-19;            #charge(coulomb)
new=1.5*10**15;           #frequency(sec-1)
new0=1.1*10**15;          #frequency(sec-1)

#Calculations
Kmax=h*(new-new0)/e;              #maximum kinetic energy(eV)
sp=Kmax;                          #stopping potential(eV)

#Result
print "maximum kinetic energy is",Kmax,"eV"
print "stopping potential is",sp,"eV"

maximum kinetic energy is 1.655 eV
stopping potential is 1.655 eV


## Example number 10, Page number 106¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
h=6.62*10**-34;           #planks constant(Js)
e=1.6*10**-19;            #charge(coulomb)
c=3*10**8;                #velocity(m/sec)
W0=2.27*e;                #work function(J)
lamda=4000*10**-10;       #wavelength of light(metre)
m=9.1*10**-31;

#Calculations
E=(h*c/lamda)-W0;
v=math.sqrt(2*E/m);        #velocity of electrons(m/sec)

#Result
print "velocity of electrons is",round(v/10**5,2),"*10**5 m/sec"
print "answer given in the book is wrong"

velocity of electrons is 5.41 *10**5 m/sec
answer given in the book is wrong


## Example number 11, Page number 107¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;            #charge(coulomb)
c=3*10**8;                #velocity(m/sec)
lamda1=800*10**-10;       #wavelength of light(metre)
lamda2=700*10**-10;       #wavelength of light(metre)
E1=1.8;                   #energy(eV)
E2=4;                     #energy(eV)

#Calculations
lamda=(1/lamda2)-(1/lamda1);
h=(E2-E1)*e/(c*lamda);    #plancks constant(J s)

#Result
print "plancks constant is",round(h*10**34,2),"*10**-34 J-s"

plancks constant is 6.57 *10**-34 J-s


## Example number 12, Page number 107¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
h=6.6*10**-34;           #planks constant(Js)
e=1.6*10**-19;           #charge(coulomb)
c=3*10**8;               #velocity(m/sec)
lamda=1800*10**-10;      #wavelength of light(metre)
lamda0=2300*10**-10;     #wavelength of light(metre)

#Calculations
Emax=h*c*((1/lamda)-(1/lamda0))/e;    #maximum energy of photo electrons(eV)
W0=h*c/(e*lamda0);           #work function of tungsten(eV)

#Result
print "maximum energy of photo electrons is",round(Emax,3),"eV"
print "answer given in the book is wrong"
print "work function of tungsten is",round(W0,2),"eV"

maximum energy of photo electrons is 1.495 eV
answer given in the book is wrong
work function of tungsten is 5.38 eV


## Example number 13, Page number 108¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
h=6.6*10**-34;          #planks constant(Js)
c=3*10**8;              #velocity(m/sec)
lamda0=6800*10**-10;    #threshold wavelength(m)
e=1.6*10**-19;          #charge(coulomb)

#Calculations
new0=c/lamda0;          #threshold frequency(Hz)
W0=h*c/(e*lamda0);          #work function(eV)

#Result
print "threshold frequency is",round(new0/10**15,2),"*10**15 Hz"
print "work function is",round(W0,2),"eV"

threshold frequency is 0.44 *10**15 Hz
work function is 1.82 eV


## Example number 14, Page number 109¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
h=6.626*10**-34;          #planks constant(Js)
c=3*10**8;                #velocity(m/sec)
lamda=2*10**-7;           #wavelength(m)
e=1.602*10**-19;          #charge(coulomb)
W0=4.8*e;                 #work function(eV)

#Calculations
V0=(h*c/(lamda*e))-(W0/e);    #stopping potential(volt)

#Result
print "stopping potential is",round(V0,3),"volt"

stopping potential is 1.404 volt


## Example number 15, Page number 109¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
h=6.63*10**-34;          #planks constant(Js)
c=3*10**8;                #velocity(m/sec)
lamda=20*10**-9;           #wavelength(m)
e=1.6*10**-19;          #charge(coulomb)
W0=5.01*e;                 #work function(eV)

#Calculations
V0=(h*c/(lamda*e))-(W0/e);    #stopping potential(volt)

#Result
print "stopping potential is",round(V0,3),"V"

stopping potential is 57.146 V


## Example number 16, Page number 109¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
h=6.625*10**-34;          #planks constant(Js)
c=3*10**8;                #velocity(m/sec)
lamda=5893*10**-10;       #wavelength(m)
e=1.6*10**-19;            #charge(coulomb)
Kmax=0.36;                #energy(eV)

#Calculations
W0=(h*c/(lamda*e))-Kmax;    #work function(eV)
new0=W0*e/h;                #threshold frequency(cycles/sec)

#Result
print "work function is",round(W0,2),"eV"
print "threshold frequency is",round(new0*10**-14,2),"*10**14 cycles/sec"
print "answers given in the book are wrong"

work function is 1.75 eV
threshold frequency is 4.22 *10**14 cycles/sec
answers given in the book are wrong


## Example number 17, Page number 110¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
h=6.62*10**-34;           #planks constant(Js)
e=1.6*10**-19;            #charge(coulomb)
c=3*10**8;                #velocity(m/sec)
W0=5*e;                   #work function(J)
lamda=161*10**-9;         #wavelength of light(metre)
m=9.1*10**-31;            #mass(kg)

#Calculations
E=(h*c/lamda)-W0;
vmax=math.sqrt(2*E/m);        #velocity of electrons(m/sec)

#Result
print "maximum velocity of electrons is",round(vmax/10**5,3),"*10**5 m/sec"
print "answer given in the book is wrong"

maximum velocity of electrons is 9.761 *10**5 m/sec
answer given in the book is wrong


## Example number 18, Page number 110¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
h=6.6*10**-34;           #planks constant(Js)
e=1.6*10**-19;           #charge(coulomb)
c=3*10**8;               #velocity(m/sec)
W0=1.24*e;               #work function(J)
lamda=4.36*10**-7;       #wavelength of light(metre)
m=9.1*10**-31;           #mass(kg)

#Calculations
E=(h*c/lamda)-W0;
v=math.sqrt(2*E/m);        #velocity of photo-electrons(m/sec)
V0=m*v**2/(2*e);           #retarding potential(V)

#Result
print "velocity of photo-electrons is",round(v/10**5,3),"*10**5 m/sec"
print "retarding potential is",round(V0,3),"V"
print "answers given in the book are wrong"

velocity of photo-electrons is 7.497 *10**5 m/sec
retarding potential is 1.598 V
answers given in the book are wrong


## Example number 19, Page number 111¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;           #charge(coulomb)
c=3*10**8;               #velocity(m/sec)
lamda=0.257*10**-10;     #wavelength of light(metre)
m=9.1*10**-31;           #mass(kg)
V=50*10**3;              #voltage(V)

#Calculations
h=e*V*lamda/c;           #plancks constant(J-s)

#Result
print "plancks constant is",round(h*10**34,2),"*10**-34 J-s"
print "answer given in the book is wrong"

plancks constant is 6.85 *10**-34 J-s
answer given in the book is wrong


## Example number 20, Page number 111¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
V01=6.6;                   #reverse potential(V)
V02=16.5;                  #reverse potential(V)
e=1.602*10**-19;           #charge(coulomb)
new1=2.2*10**15;           #frequency(sec-1)
new2=4.6*10**15;           #frequency(sec-1)

#Calculations
h=(V02-V01)*e/(new2-new1);   #plancks constant(J-s)

#Result
print "plancks constant is",round(h*10**34,2),"*10**-34 J-s"

plancks constant is 6.61 *10**-34 J-s


## Example number 21, Page number 112¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;                 #velocity of light(m/sec)
lamda=3310*10**-10;        #wavelength(m)
lamda1=5000*10**-10;       #wavelength(m)
e=1.6*10**-19;             #charge(coulomb)
Emax=3*10**-19;            #energy(J)
E1=0.972*10**-19;          #energy(J)

#Calculations
h=lamda*lamda1*(Emax-E1)/(c*(lamda1-lamda));    #plancks constant(J-s)
new0=(c/lamda)-((Emax/h));                      #threshold frequency(sec-1)
lamda0=c*10**10/new0;                           #threshold wavelength(angstrom)
W=h*new0/e;                                     #work function(eV)

#Result
print "plancks constant is",round(h*10**34,2),"*10**-34 J-s"
print "threshold frequency is",round(new0*10**-14,3),"*10**14 sec-1"
print "threshold wavelength is",lamda0,"angstrom"
print "answer for threshold wavelength given in the book varies due to rounding off errors"
print "work function is",W,"eV"

plancks constant is 6.62 *10**-34 J-s
threshold frequency is 4.532 *10**14 sec-1
threshold wavelength is 6620.0 angstrom
answer for threshold wavelength given in the book varies due to rounding off errors
work function is 1.875 eV


## Example number 22, Page number 113¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;               #velocity of light(m/sec)
m=9.1*10**-31;           #mass(kg)
h=6.6*10**-34;           #planks constant(Js)
v1=1.0*10**6;            #velocity(m/sec)
lamda1=2.5*10**-7;       #wavelength(m)
lamda2=5.0*10**-7;       #wavelength(m)
e=1.6*10**-19;           #charge(coulomb)

#Calculations
x=2*h*c*(lamda1-lamda2)/(m*lamda1*lamda2);
v2=math.sqrt(x+(v1**2));     #velocity of electrons(m/sec)
W=((h*c/lamda1)-(m*v1**2/2))/e;  #work function(eV)

#Result
print "velocity of electrons is",round(v2*10**-5,1),"*10**5 m/sec"
print "work function is",round(W,3),"eV"
print "answer for work function given in the book is wrong"

velocity of electrons is 3.6 *10**5 m/sec
work function is 2.106 eV
answer for work function given in the book is wrong


## Example number 23, Page number 114¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;               #velocity of light(m/sec)
m0=9.1*10**-31;          #mass(kg)
h=6.6*10**-34;           #planks constant(Js)
lamda=3*10**-10;         #wavelength(m)

#Calculations
lamda_dash=lamda+(2*h*(math.sin(theta/2)**2)/(m0*c));    #wavelength(m)

#Result
print "wavelength is",round(lamda_dash*10**10,3),"angstrom"
print "answer given in the book is wrong"

wavelength is 3.003 angstrom
answer given in the book is wrong


## Example number 24, Page number 115¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;               #velocity of light(m/sec)
m0=9.1*10**-31;          #mass(kg)
h=6.6*10**-34;           #planks constant(Js)
lamda_dash=0.022*10**-10;   #wavelength(m)

#Calculations
lamda=lamda_dash-(h*(1-math.cos(theta)/(m0*c)));    #wavelength(m)

#Result
print "wavelength is",round(lamda*10**10,3),"angstrom"
print "answer given in the book is wrong"

wavelength is 0.039 angstrom
answer given in the book is wrong


## Example number 25, Page number 115¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;               #velocity of light(m/sec)
m0=9.1*10**-31;          #mass(kg)
h=6.62*10**-34;          #planks constant(Js)
E=1.02;                  #energy(MeV)

#Calculations
delta_lamda=2*h*(math.sin(theta/2)**2)/(m0*c);    #wavelength(m)
delta_new=c/delta_lamda;                          #change in frequency(Hz)
deltaE=h*delta_new*10**-6/e;                               #change in energy of photon(MeV)
Ep=E-deltaE;                                      #energy of photon after interaction(MeV)

#Result
print "energy of electron after interaction is",round(deltaE,2),"MeV"
print "energy of photon after interaction is",round(Ep,2),"MeV"

energy of electron after interaction is 0.51 MeV
energy of photon after interaction is 0.51 MeV


## Example number 26, Page number 116¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;               #velocity of light(m/sec)
m=9.1*10**-31;          #mass(kg)
h=6.624*10**-34;           #planks constant(Js)

#Calculations
delta_lamda=2*h*math.sin(theta/2)**2/(m0*c);    #change in wavelength(m)

#Result
print "wavelength is",round(delta_lamda*10**10,4),"angstrom"

wavelength is 0.0485 angstrom


## Example number 27, Page number 116¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;               #velocity of light(m/sec)
m0=9.1*10**-31;          #mass(kg)
h=6.624*10**-34;         #planks constant(Js)
new=3*10**19;            #frequency(Hz)

#Calculations
delta_lamda=h/(m0*c);    #change in wavelength(m)
newdash=(1/new)+(delta_lamda/c);
new_dash=1/newdash;      #frequency after collision(Hz)

#Result
print "frequency after collision is",round(new_dash*10**-19,3),"*10**19 Hz"
print "answer in the book varies due to rounding off errors"

frequency after collision is 2.414 *10**19 Hz
answer in the book varies due to rounding off errors


## Example number 28, Page number 116¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;               #velocity of light(m/sec)
m0=9.1*10**-31;          #mass(kg)
h=6.624*10**-34;         #planks constant(Js)
lamda=1;                 #wavelength(angstrom)

#Calculations
delta_lamda=2*h*10**10/(m0*c);    #change in wavelength(angstrom)
lamda=lamda+delta_lamda;   #wavelength of scattered ray(angstrom)

#Result
print "wavelength of scattered ray is",round(lamda,4),"angstrom"

wavelength of scattered ray is 1.0485 angstrom


## Example number 29, Page number 117¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;               #velocity of light(m/sec)
m0=9.1*10**-31;          #mass(kg)
h=6.624*10**-34;         #planks constant(Js)

#Calculations
delta_lamda=h*10**10/(m0*c);    #wavelength(angstrom)
E=m0*c**2;                      #energy of photon(joule)

#Result
print "wavelength is",round(delta_lamda,3),"angstrom"
print "energy of photon is",int(E*10**15),"*10**-15 joule"

wavelength is 0.024 angstrom
energy of photon is 81 *10**-15 joule


## Example number 30, Page number 117¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;               #velocity of light(m/sec)
m0=9.1*10**-31;          #mass(kg)
h=6.62*10**-34;         #planks constant(Js)
lamda=1.827*10**-10;                 #wavelength(angstrom)

#Calculations
lamda_sr=h/(m0*c);
E=h*c*(lamda_dash-lamda)/(lamda*lamda_dash);       #energy(joule)
x=1+(E/(m0*c**2));
v=c*math.sqrt(1-((1/x)**2));                       #velocity of recoil electron(m/sec)

#Result
print "wavelength of scattered radiation is",lamda_dash*10**10,"angstrom"
print "velocity of recoil electron is",round(v/10**6,2),"*10**6 m/sec"
print "answer for velocity given in the book is wrong"

wavelength of scattered radiation is 1.83 angstrom
velocity of recoil electron is 1.98 *10**6 m/sec
answer for velocity given in the book is wrong


## Example number 31, Page number 118¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;               #velocity of light(m/sec)
e=1.6*10**-19;           #charge(coulomb)
m0=9.1*10**-31;          #mass(kg)
h=6.6*10**-34;           #planks constant(Js)
E=510*10**3;             #energy(eV)

#Calculations
lamda=h*c/(E*e);
E=h*c*(lamda_dash-lamda)/(lamda*lamda_dash);       #energy(joule)
x=h/(lamda*m0*c);
tanphi=1/(math.tan(theta/2)*(1+x));
phi=phi*180/math.pi;                               #direction of recoil electron(degrees)
phim=60*(phi-int(phi));                            #angle(minutes)

#Result
print "wavelength of radiation is",round(lamda_dash*10**12,3),"*10**-12 m"
print "answer varies due to rounding of errors"
print "energy is",round(E*10**14,4),"*10**-14 joule"
print "direction of recoil electron is",int(phi),"degrees",int(phim),"minutes"

wavelength of radiation is 4.844 *10**-12 m
answer varies due to rounding of errors
energy is 4.0725 *10**-14 joule
direction of recoil electron is 26 degrees 36 minutes


## Example number 32, Page number 119¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;               #velocity of light(m/sec)
e=1.6*10**-19;           #charge(coulomb)
m0=9.1*10**-31;          #mass(kg)
h=6.6*10**-34;           #planks constant(Js)
lamda=2*10**-10;                 #wavelength(m)

#Calculations
lamda_dash=lamda+(h*(1-math.cos(theta))/(m0*c));    #wavelength of photon(m)
K=h*c*(lamda_dash-lamda)/(lamda*lamda_dash);       #energy of recoil electron(joule)
tanphi=lamda*math.sin(theta)/(lamda_dash-(lamda*math.cos(theta)));
phi=math.atan(tanphi)*180/math.pi;                             #angle(degrees)
phim=60*(phi-int(phi));                            #angle(minutes)

#Result
print "wavelength of photon is",round(lamda_dash*10**10,3),"angstrom"
print "energy of recoil electron is",round(K*10**17,3),"*10**-17 joule"
print "answer varies due to rounding of errors"
print "angle is",int(phi),"degrees",int(phim),"minutes"
print "answer for angle given in the book is wrong"

wavelength of photon is 2.024 angstrom
energy of recoil electron is 1.182 *10**-17 joule
answer varies due to rounding of errors
angle is 44 degrees 39 minutes
answer for angle given in the book is wrong


## Example number 33, Page number 120¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;               #velocity of light(m/sec)
e=1.6*10**-19;           #charge(coulomb)
m0=9.1*10**-31;          #mass(kg)
h=6.63*10**-34;          #planks constant(Js)
E=0.01*10**6;            #energy(eV)

#Calculations
lamda=h*c/(E*e);         #wavelength of photon(m)
lamda_dash=lamda+(h*(1-math.cos(theta))/(m0*c));    #compton shift(m)
tanphi=lamda/lamda_dash;
phi=math.atan(tanphi)*180/math.pi;   #angle of recoil of electron(degrees)

#Result
print "compton shift is",round(lamda_dash*10**10,3),"angstrom"
print "angle of recoil of electron is",int(phi),"degrees"

compton shift is 1.255 angstrom
energy of radiation is 0.0099 MeV
angle of recoil of electron is 44 degrees


## Example number 34, Page number 121¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;               #velocity of light(m/sec)
e=1.6*10**-19;           #charge(coulomb)
m0=9.1*10**-31;          #mass(kg)
h=6.624*10**-34;         #planks constant(Js)
lamda=1*10**-10;         #wavelength of photon(m)

#Calculations
lamda_dash=lamda+(h*(1-math.cos(theta))/(m0*c));    #wavelength of scattered beam(m)
lamda_dash=round(lamda_dash*10**10,3)*10**-10;
K=h*c*(lamda_dash-lamda)/(e*lamda*lamda_dash);      #kinetic energy of recoiling electron(eV)

#Result
print "wavelength of scattered beam is",lamda_dash*10**10,"angstrom"
print "kinetic energy of recoiling electron is",round(K,1),"eV"
print "answer for energy given in the book varies due to rounding off errors"

wavelength of scattered beam is 1.024 angstrom
kinetic energy of recoiling electron is 291.1 eV
answer for energy given in the book varies due to rounding off errors


## Example number 35, Page number 122¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;               #velocity of light(m/sec)
e=1.6*10**-19;           #charge(coulomb)
m=9.1*10**-31;           #mass(kg)
h=6.6*10**-34;           #planks constant(Js)
epsilon0=8.86*10**-12;   #permittivity of free space(coulomb**2/nt-m**2)

#Calculations
v=e**2/(2*h*epsilon0);   #velocity of electron(m/sec)
T=2*math.pi*r1/v;                      #time taken by electron(sec)
R=m*e**4/(8*epsilon0**2*c*h**3);       #rydberg constant(m-1)

#Result
print "velocity of electron is",round(v/10**6,2),"*10**6 m/sec"
print "radius of bohr's orbit is",round(r1*10**10,4),"angstrom"
print "time taken by electron is",round(T*10**16,2),"*10**-16 sec"
print "rydberg constant is",round(R/10**7,3),"*10**7 m-1"

velocity of electron is 2.19 *10**6 m/sec
radius of bohr's orbit is 0.5273 angstrom
time taken by electron is 1.51 *10**-16 sec
rydberg constant is 1.101 *10**7 m-1


## Example number 36, Page number 122¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
n=2;
e=1.6*10**-19;           #charge(coulomb)
m=9.1*10**-31;           #mass(kg)
h=6.6*10**-34;           #planks constant(Js)
epsilon0=8.86*10**-12;   #permittivity of free space(coulomb**2/nt-m**2)

#Calculations
rn=n**2*h**2*epsilon0/(math.pi*m*e**2);      #radius of second bohr orbit(m)
En=-m*e**4/(e*8*n**2*h**2*epsilon0**2);      #energy of electron(eV)

#Result
print "radius of second bohr orbit is",round(rn*10**10,4),"angstrom"
print "energy of electron is",round(En,3),"eV"
print "answer given in the book varies due to rounding off errors"

radius of second bohr orbit is 2.1094 angstrom
energy of electron is -3.406 eV
answer given in the book varies due to rounding off errors


## Example number 37, Page number 123¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;               #velocity of light(m/sec)
e=1.6*10**-19;           #charge(coulomb)
h=6.6*10**-34;           #planks constant(Js)
epsilon0=8.85*10**-12;   #permittivity of free space(coulomb**2/nt-m**2)

#Calculations
v=e**2/(2*h*epsilon0*c);    #velocity in hydrogen atom

#Result
print "velocity in hydrogen atom is 1/",int(round(1/v)),"c"

velocity in hydrogen atom is 1/ 137 c


## Example number 38, Page number 123¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
c=3*10**8;               #velocity of light(m/sec)
e=1.6*10**-19;           #charge(coulomb)
h=6.6*10**-34;           #planks constant(Js)
lamda=590*10**-9;        #wavelength(m)

#Calculations
E=h*c/(e*lamda);         #difference in energy levels(eV)

#Result
print "difference in energy levels is",round(E,1),"eV"

difference in energy levels is 2.1 eV


## Example number 39, Page number 124¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
n1=1;
n2=2;
e=1.6*10**-19;           #charge(coulomb)
m=9.1*10**-31;           #mass(kg)
h=6.6*10**-34;           #planks constant(Js)
epsilon0=8.85*10**-12;   #permittivity of free space(coulomb**2/nt-m**2)

#Calculations
E=3*m*e**4/(e*32*h**2*epsilon0**2);      #energy of electron(eV)

#Result
print "energy of electron is",round(E,2),"eV"
print "answer given in the book is wrong"

energy of electron is 10.24 eV
answer given in the book is wrong


## Example number 40, Page number 124¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;           #charge(coulomb)
m=9.1*10**-31;           #mass(kg)
h=6.6*10**-34;           #planks constant(Js)
epsilon0=8.86*10**-12;   #permittivity of free space(coulomb**2/nt-m**2)

#Calculations
n2=rn*math.pi*m*e**2/(h**2*epsilon0);
n=math.sqrt(n2);
E1=-m*e**4/(e*8*h**2*epsilon0**2);      #energy of electron(eV)

#Result
print "energy of electron is",round(E1,3),"eV"
print "answer given in the book is wrong"

energy of electron is -13.626 eV
answer given in the book is wrong


## Example number 41, Page number 125¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;           #charge(coulomb)
m=9.1*10**-31;           #mass(kg)
epsilon0=8.86*10**-12;   #permittivity of free space(coulomb**2/nt-m**2)

#Calculations
v=math.sqrt(1/(4*math.pi*epsilon0))*e/math.sqrt(m*r);     #speed of electron(m/s)

#Result
print "speed of electron is",round(v/10**6,2),"*10**6 m/s"

speed of electron is 2.18 *10**6 m/s


## Example number 42, Page number 125¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
n1=2;
n2=3;
n3=4;
R=1;                     #assume
lamda1=6563*10**-10;     #wavelength(m)

#Calculations
new1=R*((1/n1**2)-(1/n2**2));
new2=R*((1/n1**2)-(1/n3**2));
lamda2=new1*lamda1/new2;        #wavelength(m)

#Result
print "wavelength is",int(lamda2*10**10),"*10**-10 m"

wavelength is 4861 *10**-10 m


## Example number 43, Page number 125¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
n1=1;
n2=2;
n3=3;
R=1;                     #assume
lamda1=6563;             #wavelength(angstrom)

#Calculations
new1=R*((1/n2**2)-(1/n3**2));
new2=R*((1/n1**2)-(1/n2**2));
lamda2=new1*lamda1/new2;        #wavelength of 1st member(angstrom)
new3=R*((1/n1**2)-(1/n3**2));
lamda3=new1*lamda1/new3;        #wavelength of 2nd member(angstrom)

#Result
print "wavelength of 1st member is",round(lamda2,2),"angstrom"
print "answer given in the book varies due to rounding off errors"
print "wavelength of 2nd member is",round(lamda3,1),"angstrom"

wavelength of 1st member is 1215.37 angstrom
answer given in the book varies due to rounding off errors
wavelength of 2nd member is 1025.5 angstrom


## Example number 44, Page number 126¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
n1=2;
n2=3;
lamda=6560*10**-10;             #wavelength(m)

#Calculations
x=(1/n1**2)-(1/n2**2);
R=(1/(x*lamda));                #rydberg constant(per m)

#Result
print "rydberg constant is",round(R/10**5,2),"*10**5 per m"
print "answer given in the book varies due to rounding off errors"

rydberg constant is 109.76 *10**5 per m
answer given in the book varies due to rounding off errors


## Example number 45, Page number 126¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
n1=2;
n2=4;
lamda=4861*10**-10;             #wavelength(m)

#Calculations
x=(1/n1**2)-(1/n2**2);
R=(1/(x*lamda));                #rydberg constant(per m)

#Result
print "rydberg constant is",round(R/10**5,1),"*10**5 metre -1"

rydberg constant is 109.7 *10**5 metre -1


## Example number 46, Page number 127¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
n=2;
R=1.097*10**7;                #rydberg constant(per m)

#Calculations
lamda=n**2*10**10/R;                 #wavelength(angstrom)

#Result
print "wavelength is",int(lamda),"angstrom"

wavelength is 3646 angstrom


## Example number 47, Page number 127¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
e=1.6*10**-19;           #charge(coulomb)
m=9.1*10**-31;           #mass(kg)
h=6.625*10**-34;         #planks constant(Js)
epsilon0=8.854*10**-12;  #permittivity of free space(coulomb**2/nt-m**2)
n=1;

#Calculations
new=m*e**4/(4*epsilon0**2*n**3*h**3);      #frequency of electron(Hz)

#Result
print "frequency of electron is",int(new/10**12),"*10**12 Hz"
print "answer given in the book is wrong"

frequency of electron is 6540 *10**12 Hz
answer given in the book is wrong


## Example number 48, Page number 127¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
n=2;
lamda=3646*10**-10;                 #wavelength(m)

#Calculations
R=n**2/lamda;                       #rydberg constant(metre -1)

#Result
print "rydberg constant is",round(R/10**7,3),"*10**7 metre -1"

rydberg constant is 1.097 *10**7 metre -1


## Example number 49, Page number 128¶

In :
#importing modules
import math
from __future__ import division

#Variable declaration
n1=3;
n2=4;
lamda=1.875*10**-6;                 #wavelength(m)

#Calculations
x=(1/n1**2)-(1/n2**2);
R=(1/(x*lamda));                #rydberg constant(per m)

#Result
print "rydberg constant is",round(R/10**7,4),"*10**7 metre -1"
print "answer given in the book is wrong"

rydberg constant is 1.0971 *10**7 metre -1
answer given in the book is wrong