#importing modules
import math
from __future__ import division
#Variable declaration
T1=773; #temperature(K)
T2=1273; #temperature(K)
n=1*10**-10; #fraction of vacancy sites
#Calculations
X=round(T1*math.log(n)/T2,3);
x=math.exp(X); #fraction of vacancy sites at 1000 C
#Result
print "fraction of vacancy sites at 1000 C is",round(x*10**7,4),"*10**-7"
print "answer varies due to rounding off errors"
#importing modules
import math
from __future__ import division
#Variable declaration
T=273+25; #temperature(K)
m=4;
n=5*10**11; #density(per m**3)
V=(2*2.82*10**-10)**3; #volume(m**3)
kB=8.625*10**-5;
#Calculations
N=m/V;
Ep=2*kB*T*math.log(N/n);
#Result
print "energy required is",round(Ep,3),"eV"
#importing modules
import math
from __future__ import division
#Variable declaration
T1=273+20; #temperature(K)
T2=273+300; #temperature(K)
Ei=1.4; #energy(eV)
kB=8.625*10**-5;
#Calculations
x=(1/(2*T1))-(1/(2*T2));
n=1/math.exp((Ei/(2.303*kB))*x); #ratio of frenkel defects
#Result
print "ratio of frenkel defects is",round(n*10**3,3),"*10**-3"
print "answer in the book is wrong"