from __future__ import division
import math
# Python Code Ex7.1 Cut-off frequency of
#the linear lattice of a solid: Page-238 (2010)
#Variable declaration
v = 3e+03; # Velocity of sound in the solid, m/s
a = 3e-010; # Interatomic distance, m
# Calculation
# As cut-off frequency occurs at k = %math.pi/a and
# k = 2*%math.pi/lambda, this gives
lamb = 2*a; # Cut-off wavelength for the solid, m
f = v/lamb; # Cut-off frequency (v = f*lambda) for the linear lattice, hertz
#Result
print"\nThe cut-off frequency for the linear lattice of a solid =",f,"Hz"
from __future__ import division
import math
# Python Code Ex7.2 Comparison of frequency of waves in
#a monoatomic and diatomic linear systems: Page-238 (2010)
#Variable declaration
a = 2.5e-010; # Interatomic spacing between two identical atoms, m
v_0 = 1e+03; # Velocity of sound in the solid, m/s
lamb = 10e-010; # Wavelength of the sound wave, m
omega_min = 0; # Angular frequency of acoustic waves at k = 0, rad per sec
#Calculation and Results
# Angular frequency of sound wave in a monoatomic lattice, rad per sec
omega = v_0*2*math.pi/lamb;
print"\nThe frequency of sound waves in a monoatomic lattice ="
print round((omega*10**-12),2)*10**12,"rad/sec"
# For acoustic waves in a diatomic lattice (M = m),
#the angular frequency, omega = 0 at k = 0 and
# omega = (2*K/m)**(1/2) --- (i) at k = %math.pi/(2*a)
# As v0 = a*(2*K/m)**(1/2) --- (ii)
# From (i) and (ii), we have
# Angular frequency of acoustic waves at k = %math.pi/(2*a), rad per sec
omega_max = v_0/a;
print"\n\nThe frequency of acoustic waves wave in a diatomic lattice :\n "
print omega_min," rad/sec for k = 0 \n "
print omega_max," rad/sec k = ", round(math.pi/(2*a))
# For optical waves in a diatomic lattice (M = m), the angular frequency
# omega = sqrt(2)*(2*K/m)**(1/2) --- (iii) at k = 0
# As v0 = a*(2*K/m)**(1/2) --- (iv)
# From (iii) and (iv), we have
# Angular frequency of optical waves at k = 0, rad per sec
omega_max = (2)**0.5*v_0/a;
# For optical waves in a diatomic lattice (M = m), the angular frequency
# omega = (2*K/m)**(1/2) --- (iii) at k = %math.pi/(2*a)
# As v0 = a*(2*K/m)**(1/2) --- (iv)
# From (iii) and (iv), we have
# Angular frequency of optical waves at k = %math.pi/(2*a), rad per sec
omega_min = v_0/a;
print"\n\nThe frequency of optical swaves wave in a diatomic lattice :\n "
print round((omega_max*10**-12),2)*10**12," rad/sec for k = 0 \n "
print omega_min," rad/sec for k =",round( math.pi/(2*a) )
from __future__ import division
import math
# Python Code Ex7.3 Reflection of electromagentic radiation
# from a crystal: Page-239(2010)
#Variable declaration
c = 3.0e+08; # Speed of electromagnetic wave in vacuum, m/s
a = 5.6e-010; # Lattice parameter of NaCl crystal, m
# Modulus of elasticity along [100] direction of NaCl, newton per metre square
Y = 5e+010;
m = 23; # Atomic weight of sodium, amu
M = 37; # Atomic weight of chlorine, amu
amu = 1.67e-027; # Kg equivalent of 1 amu
#Calculation
# Force constant of springs when the extension along
# [100] direction is neglected, N/m
K = a*Y;
# The max. angular frequency of the reflected e.m. radiation, rad per sec
omega_plus_max = (2*K*(1/(M*amu)+1/(m*amu)))**(1/2);
# The wavelength at which the e.m. radiation is strongly reflected, m
lamb = 2*math.pi*c/omega_plus_max;
#Result
print"\nThe wavelength at which the electromagnetic radiation is"
print" strongly reflected by the crystal =",round((lamb*10**5),2)*10**-5,"m"