Chapter 3: Specific Heat of Solids and Lattice Vibrations

Example 3.1,Page number 79

In [79]:
import math

#Given Data
V0 = 9.1*10**-5;   # Atomic volume of Pb, metre cube per kg
K = 2.3*10**-11;   # Compressibility of Pb, metre square per newton
alpha = 86*10**-6; # Coefficient of thermal expansion, per K
Cv = 1.4*10**2;   # Specific heat at constant volume, J/kg
gama = alpha*V0/(K*Cv);    # Grunesien parameter for Pb
print"The Grunesien parameter for Pb = ",round(gama,3);
The Grunesien parameter for Pb =  2.43

Example 3.2,Page number 79

In [80]:
import math

#Given Data
V0 = 11*10**-5;   # Atomic volume of Cu, metre cube per kg
K = 0.75*10**-11;   # Compressibility of Cu, metre square per newton
alpha = 49*10**-6; # Coefficient of thermal expansion, per K
gama = 1.9;     # The Grunesien parameter for Cu = 2.4 
Cv = alpha*V0/(K*gama);   # Specific heat of Cu at constant volume, J/kg
print"The specific heat capacity of Cu = ",round(Cv,3),"J/kg";
The specific heat capacity of Cu =  378.246 J/kg

Example 3.3,Page number 88

In [81]:
import math

#Given Data

N = 6.02*10**26;  # Avogadro's number, per kmole
C_t = 6.32*10**3;     # Velocity of transverse wave, m/s
C_l = 3.1*10**3;     # Velocity of longitudinal wave, m/s
rho = 2.7*10**3;     # Density of Al, kg per metre cube
M = 26.97;  # Atomic weight of Al, gram per mol
V = M/rho;  # Atomic volume of Al, metre cube
f_c = (9*N/(4*math.pi*V*(1.0/C_t**3+2.0/C_l**3)))**(1.0/3);
print"The Debye cut-off frequency of Al = ","{0:.3e}".format(f_c),"per sec";
The Debye cut-off frequency of Al =  8.468e+12 per sec

Example 3.4,Page number 89

In [82]:
import math

#Given Data

N = 6.02*10**23;  # Avogadro's number, per mole
k = 1.38*10**-23;  # Boltzmann constant, J/K
R = N*k;    # Molar gas constant, J/mol/K
theta_D = 2230;        # Debye temperature for diamond, K
T = 300.0;        # Room temperature, K
C_v = 12.0/5*(math.pi**4*R)*(T/theta_D)**3; # Specific heat capacity per unit volume of diamond, J/mol-K
print"The heat capacity per unit volume of diamond = ",round(C_v,3),"J/mol-K";
The heat capacity per unit volume of diamond =  4.729 J/mol-K

Example 3.5,Page number 89

In [83]:
import math

#Given Data

k = 1.38*10**-23;  # Boltzmann constant, J/K
theta_D = 1440.0;        # Debye temperature for Be, K
h = 6.626*10**-34;     # Planck's constant, Js
f_D = k*theta_D/h;      # Debye cut off frequency of Be, Hz
print"The Debye cut off frequency of Be = ","{0:.3e}".format(f_D),"sec";
The Debye cut off frequency of Be =  2.999e+13 sec

Example 3.6,Page number 89

In [84]:
import math

#Given Data
N = 6.023*10**23; # Avogadro's number, per kmol
e = 1.6*10**-19;   # Energy equivalent of 1 eV, J/eV
k = 1.38*10**-23;  # Boltzmann constant, J/K
R = N*k;    # Molar gas constant, J/kmol/K
E_F = 7;    # Fermi energy of Cu, eV
theta_D = 348.0;  # Debye temperature of Cu, K
T = 300.0;    # Room temperature, K
T_F = E_F/k;    # Fermi temperature of Cu, K
C_e = math.pi**2/2*R*10**3*(T/(T_F*e));    # Electronic heat capacity of Cu, J/kmol/K
C_l = 12.0/5*(math.pi**4*R)*(T/theta_D)**3;     # Lattice heat capacity of Cu, J/kmol/K
print"The electronic heat capacity of Cu = ",round(C_e,3),"J/kmol/K";
print"The lattice heat capacity of Cu = ",round(C_l,3),"J/mol/K";
The electronic heat capacity of Cu =  151.616 J/kmol/K
The lattice heat capacity of Cu =  1244.884 J/mol/K

Example 3.7,Page number 90

In [85]:
import math

#Given Data
N = 6.023*10**23; # Avogadro's number, per kmol
e = 1.602*10**-19;   # Energy equivalent of 1 eV, J/eV
k = 1.38*10**-23;  # Boltzmann constant, J/K
R = N*k;    # Molar gas constant, J/kmol/K
E_F = 7.0;    # Fermi energy of Cu, eV
theta_D = 348.0;  # Debye temperature of Cu, K
T = 0.01;    # Room temperature, K
T_F = E_F/k;    # Fermi temperature of Cu, K
C_e = math.pi**2/2*R*(T/(T_F*e));    # Electronic heat capacity of Cu, J/mol/K
C_l = 12.0/5*(math.pi**4*R)*(T/theta_D)**3;     # Lattice heat capacity of Cu, J/kmol/K
print"The electronic heat capacity of Cu = ","{0:.3e}".format(C_e),"J/mol/K";
print"The lattice heat capacity of Cu = ","{0:.3e}".format(C_l),"J/mol/K";
The electronic heat capacity of Cu =  5.048e-06 J/mol/K
The lattice heat capacity of Cu =  4.611e-11 J/mol/K

Example 3.8,Page number 90

In [86]:
import math

#Given Data
N = 6.023*10**23; # Avogadro's number, per kmol
e = 1.602*10**-19;   # Energy equivalent of 1 eV, J/eV
k = 1.38*10**-23;  # Boltzmann constant, J/K
R = N*k;    # Molar gas constant, J/kmol/K
E_F = 3.2;    # Fermi energy of Cu, eV
theta_D = 150.0;  # Debye temperature of Cu, K
T = 20.0;    # Given temperature, K
T_F = E_F/k;    # Fermi temperature of Cu, K
C_e = math.pi**2/2*R*(T/(T_F*e));    # Electronic heat capacity of Cu, J/mol/K
C_l = 12.0/5*(math.pi**4*R)*(T/theta_D)**3;     # Lattice heat capacity of Cu, J/kmol/K
print"The electronic heat capacity of Na = ","{0:.3e}".format(C_e),"J/mol/K";
print"The lattice heat capacity of Na = ",round(C_l,4),"J/mol/K";
The electronic heat capacity of Na =  2.208e-02 J/mol/K
The lattice heat capacity of Na =  4.6059 J/mol/K

Example 3.9,Page number 91

In [87]:
import math

#Given Data
N = 6.023*10**23; # Avogadro's number, per kmol
e = 1.602*10**-19;   # Energy equivalent of 1 eV, J/eV
k = 1.38*10**-23;  # Boltzmann constant, J/K
R = N*k;    # Molar gas constant, J/kmol/K
E_F = 3.2;    # Fermi energy of Hf, eV
theta_D = 242.0;  # Debye temperature of Hf, K
T_F = E_F/k;    # Fermi temperature of Hf, K
T = [300.0, 200.0, 100.0, 10.0, 5.0]; # Declare a vector of 5 temperature values, K
print"________________________";
print"T(K)      C_l (J/kmol/K)";
print"________________________";
for i in xrange(len(T)):
    C_l = 12.0/5*(math.pi**4*R)*(T[i]/theta_D)**3;     # Lattice heat capacity of Hf, J/kmol/K    
    print"",T[i],"    ",round(C_l,3);
print"________________________"
________________________
T(K)      C_l (J/kmol/K)
________________________
 300.0      3701.863
 200.0      1096.848
 100.0      137.106
 10.0      0.137
 5.0      0.017
________________________

Example 3.10,Page number 91

In [88]:
import math

#Given Data
N = 6.023*10**23; # Avogadro's number, per kmol
e = 1.602*10**-19;   # Energy equivalent of 1 eV, J/eV
k = 1.38*10**-23;  # Boltzmann constant, J/K
R = N*k;    # Molar gas constant, J/kmol/K
E_F = 7.0;    # Fermi energy of Hf, eV
theta_D = 343.0;  # Debye temperature of Hf, K
T_F = E_F/k;    # Fermi temperature of Hf, K
# As C_l = 12/5*(pi**4*R)*(T/theta_D)**3 and C_e = pi**2/2*R*(T/(T_F*e)) so that
# For C_l = C_e, we have
T = math.sqrt((math.pi**2/2*R*1/(T_F*e))/(12.0/5*math.pi**4*R)*theta_D**3); # Required temperature when C_l = C_e, K
print"The temperature at which lattice specific heat equals electronic specific heat for Cu =",round(T,3),"K";
The temperature at which lattice specific heat equals electronic specific heat for Cu = 3.238 K

Example 3.11,Page number 92

In [89]:
import math

#Given Data
C11 = 1.08*10**12; C12 = 0.62*10**12; C44 = 0.28*10**12;     # Elastic constants of Al, dynes/cm square
a = 4.05*10**-8;   # Lattice constant for Al cubic structure, cm
rho = 2.70;     # g/cm cube 
k = 1.38*10**-23;  # Boltzmann constant, J/K
h = 6.626*10**-34; # Planck's constant, Js
s = 4.0;  # Number of atoms in Al unit cell
Va = a**3;   # Volume of unit cell, cm cube
theta_D =(3.15/(8*math.pi)*(h/k)**3*s/(rho**(3.0/2)*Va)*(C11-C12)**(1.0/2)*(C11+C12+2*C44)**(1.0/2)*C44**(1.0/2))**(1.0/3);
print"The Debye temperature of Al =",round(theta_D,3),"K";
The Debye temperature of Al = 466.605 K

Example 3.12,Page number 93

In [90]:
import math

#Given Data
k = 1.38*10**-23;  # Boltzmann constant, J/K
h = 6.626*10**-34; # Planck's constant, Js
A =[[1,2,3,4,5,6,7,8],[9,10,11,12,13,14,15,16]];  # Declare a matrix of 2X8
A[0][0] = 'Cu';
A[0][1] = 1.684*10**12;
A[0][2] = 1.214*10**12;
A[0][3] = 0.754*10**12;
A[0][4] = 4;
A[0][5] = 3.61*10**-8;
A[0][6] = 8.96;
A[1][0] = 'Na';
A[1][1] = 0.055*10**12;
A[1][2] = 0.047*10**12;
A[1][3] = 0.049*10**12;
A[1][4] = 2;
A[1][5] = 4.225*10**-8;
A[1][6] = 0.971;

# For Cu
Va = A[0][5]**3;   # Volume of unit cell, cm cube
A[0][7]  = (3.15/(8*math.pi)*(h/k)**3*A[0][4]/(A[0][6]**(3.0/2)*Va)*(A[0][1]-A[0][2])**(1.0/2)*(A[0][1]+A[0][2]+2*A[0][3])**(1.0/2)*A[0][3]**(1.0/2))**(1.0/3);

# For Na
Va =A[1][5]**3;   # Volume of unit cell, cm cube
A[1][7] = (3.15/(8*math.pi)*(h/k)**3*A[1][4]/(A[1][6]**(3.0/2)*Va)*(A[1][1]-A[1][2])**(1.0/2)*(A[1][1]+A[1][2]+2*A[1][3])**(1.0/2)*A[1][3]**(1.0/2))**(1.0/3);

print"________________________________________";
print"Metal     C11     C12     C44     thetaD";
print"________________________________________";
for  i in range (0,2) :
    print"",A[i][0],"   ",A[i][1]/10**12,"  ",A[i][2]/10**12,"  ",A[i][3]/10**12,"  ",round(A[i][7],2);
print"________________________________________";
________________________________________
Metal     C11     C12     C44     thetaD
________________________________________
 Cu     1.684    1.214    0.754    380.2
 Na     0.055    0.047    0.049    150.44
________________________________________

Example 3.13,Page number 93

In [91]:
import math

#Given Data
k = 1.38*10**-23;  # Boltzmann constant, J/K
h = 6.626*10**-34; # Planck's constant, Js
A =[[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20]];  # Declare a matrix of 4X5
A[0][0] = 300;
A[0][1] = 0.878*10**10;
A[0][2] = 0.483*10**10;
A[0][3] = 0.448*10**10;
A[1][0] = 200;
A[1][1] = 0.968*10**10;
A[1][2] = 0.508*10**10;
A[1][3] = 0.512*10**10;
A[2][0] = 100;
A[2][1] = 1.050*10**10;
A[2][2] = 0.540*10**10;
A[2][3] = 0.579*10**10;
A[3][0] = 20;
A[3][1] = 1.101*10**10;
A[3][2] = 0.551*10**10;
A[3][3] = 0.624*10**10;
s = 2;      # Number of atoms in a unit cell
a = 4.225*10**-10;  # Lattice parameter of Na, m
rho = 0.971*10**3;    # Density of Na, kg/metre-cube
Va = a**3;   # Volume of unit cell, metre cube
print"________________________________________";
print"T       C11     C12     C44     thetaD"
print"________________________________________";
for i in range (0,4) :
    A[i][4] = (3.15/(8*math.pi)*(h/k)**3*s/(rho**(3.0/2)*Va)*(A[i][1]-A[i][2])**(1.0/2)*(A[i][1]+A[i][2]+2*A[i][3])**(1.0/2)*A[i][3]**(1.0/2))**(1.0/3);
    print"",A[i][0]," ",A[i][1]/10**10," ",A[i][2]/10**10," ",A[i][3]/10**10," ",round(A[i][4],2);

print"________________________________________";
________________________________________
T       C11     C12     C44     thetaD
________________________________________
 300   0.878   0.483   0.448   197.33
 200   0.968   0.508   0.512   210.52
 100   1.05   0.54   0.579   222.08
 20   1.101   0.551   0.624   229.77
________________________________________

Example 3.14,Page number 93

In [92]:
import math

from scipy.integrate import quad

#Given Data
Lu =[[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20],[21,22,23,24,25],[26,27,28,29,30]];  # Declare a matrix of 6X5
Lu[0][0] = 0;
Lu[0][1] = 5.58;
Lu[0][2] = 3.517;
Lu[0][4] = 0.750;
Lu[1][0] = 36;
Lu[1][1] = 5.409;
Lu[1][2] = 3.440;
Lu[1][4] = 0.560;
Lu[2][0] = 103;
Lu[2][1] = 5.213;
Lu[2][2] = 3.341;
Lu[2][4] = 0.492;
Lu[3][0] = 157;
Lu[3][1] = 5.067;
Lu[3][2] = 3.259;
Lu[3][4] = 0.388;
Lu[4][0] = 191;
Lu[4][1] = 4.987;
Lu[4][2] = 3.217;
Lu[4][4] = 0.357;
Lu[5][0] = 236;
Lu[5][1] = 4.921;
Lu[5][2] = 3.179;
Lu[5][4] = 0.331;
V0 = 3*math.sqrt(3)/2*Lu[0][2]**2*Lu[0][1];
V = [0,0,0,0,0,0];   # Declare volume array
print"______________________________________________________________";
print"P(kbar)    c(angstrom)     a(angstrom)     gamma_G        nu_G   ";
print"______________________________________________________________";
for i in range (0,6) :
    V[i] = 3*math.sqrt(3)/2*Lu[i][2]**2*Lu[i][1];
    Lu[i][3] = Lu[i][4]*V[i]/V0+2.0/3*(1-V[i]/V0)**(1.0/2);
    print"",Lu[i][0],"        ",Lu[i][1],"         ",Lu[i][2],"         ",round(Lu[i][3],3),"       ",Lu[i][4];

print"______________________________________________________________";

cnt = 0;
print"________________________";
print"P(kbar)       Theta_D(K)";
print"________________________";
for i in range (0,6) :
    def integrand(x, a, b):
        return (-1*Lu[i][4]*(math.exp(x)/V0)-(2.0/3)*(1-math.exp(x)/V0)**(1.0/2))
    a=1;
    b=1;
    I = quad(integrand,-0.8+cnt,math.log(V[i]/1000000), args=(a,b));
    theta_D = math.exp(I[0]);
    cnt = cnt + 0.01;
    print"",Lu[i][0],"              ",round(theta_D,0);

print"________________________";
______________________________________________________________
P(kbar)    c(angstrom)     a(angstrom)     gamma_G        nu_G   
______________________________________________________________
 0          5.58           3.517           0.75         0.75
 36          5.409           3.44           0.699         0.56
 103          5.213           3.341           0.679         0.492
 157          5.067           3.259           0.615         0.388
 191          4.987           3.217           0.602         0.357
 236          4.921           3.179           0.591         0.331
______________________________________________________________
________________________
P(kbar)       Theta_D(K)
________________________
 0                185.0
 36                195.0
 103                210.0
 157                222.0
 191                230.0
 236                237.0
________________________

Example 3.15,Page number 94

In [93]:
import math

#GIven Data
T_M = 1356.0;     # Melting temperature of Cu, K
V = 7.114;      # Atomic volume of Cu, cm cube per g-atom
M = 63.5;       # atomic weight of Cu, g/mole
K = 138.5;      # Lindemann constant
theta_M = K*(T_M/M)**(1.0/2)*(1/V)**(1.0/3); # Debye temperature by Lindemann method, K

print"The Debye temperature by Lindemann method =",round(theta_M,3),"K";
print"The values obtained from other methods are:";
print"theta_s = 342 K;      theta_R = 336 K;        theta_E = 345 K";
The Debye temperature by Lindemann method = 332.778 K
The values obtained from other methods are:
theta_s = 342 K;      theta_R = 336 K;        theta_E = 345 K

Example 3.16,Page number 100

In [94]:
import math

#Given Data
N_A = 6.023*10**23;       # Avogadro's number
c = 3.0*10**8;    # Speed of light, m/s
epsilon_0 = 15.0; # Dielectric constant of the medium
m = 2.0*10**-22;       # Mass of ion, g
e = 4.8*10**-10;   # Charge on the ion, C
rho = 7.0;    # Average density of solid, g/cc
A = 120.0;    # Average atomic weight of solid, g
N = rho/A*N_A;  # Number of ions per cc, per cm cube
f_P = 1/(2*math.pi)*math.sqrt(4*math.pi*N*e**2/(m*epsilon_0));      # Plasma frequency of vibrating ions in the crystal, Hz
lamda_P = c/f_P;   # Plasma wavelength of vibrating ions in the crystal, cm
print"The plasma frequency of vibrating ions in InSb crystal = ","{0:.3e}".format(f_P),"Hz";
print"The plasma wavelength of vibrating ions in InSb crystal =",round(lamda_P/10**-6,3),"micron";
print"The calculated frequency lies in the infrared region.";
The plasma frequency of vibrating ions in InSb crystal =  9.268e+11 Hz
The plasma wavelength of vibrating ions in InSb crystal = 323.706 micron
The calculated frequency lies in the infrared region.

Example 3.17,Page number 103

In [96]:
import math

#Given Data

h = 6.624*10**-34;     # Planck's constant, Js
k = 1.38*10**-23;  # Boltzmann constant, J/mol/K
q = 1.486*10**11;     # Young's modulus of diamond, N/metre-square
rho = 3500;     # Density of diamond, kg/metre-cube
c = math.sqrt(q/rho);    # Speed of transverse wave through diamond, m/s
m = 12*1.66*10**-27;      # Atomic weight of carbon, kg
theta_D = (h/k)*c*(3*rho/(4*math.pi*m))**(1.0/3);    # Debye temperature for diamond, K
print"The Debye temperature for diamond =",round(theta_D,3),"K";
The Debye temperature for diamond = 1086.709 K
In [ ]: