Define functions that return the characteristic path length between scatters and the time till diffusion to a distance distance_cm.
In [1]:
def avgPath_cm(density_percc, scattering_crossSection_sqc):
return 1/(density_percc*scattering_crossSection_sqc);
def diffTime_s(distance_cm, speed_cmpers, density_percc, scattering_crossSection_sqc):
L = avgPath_cm(density_percc, scattering_crossSection_sqc);
return (distance_cm/L)**2 / (density_percc * scattering_crossSection_sqc * speed_cmpers);
Define constants: density of the material, velocity of the neutron, etc.
In [2]:
# lead has a density of 11.4 g/cc
# and an atomic mass of 207
# and avagadro's number is 6.022 * 10^23
den_lead = 11.4;
amu_lead = 207;
n_a = 6.022 * 10**23;
n_percc = den_lead*amu_lead*n_a;
print n_percc
In [6]:
# the neutron's speed
# and its cross section with lead at that speed
speed_cmpers = 1.2 * 10**10;
sig_sqc = 4 * 10**(-24);
In [7]:
# how far away from the neutron's origin
# are we sitting?
dist_cm = 3;
Calculate the characteristic path length and the diffusion time
In [8]:
print 'The characteristic path length between collisions is ', avgPath_cm(n_percc, sig_sqc)*10, 'mm.'
print 'The time scale for diffusion to distance ', dist_cm, 'cm is ', diffTime_s(dist_cm, speed_cmpers, n_percc, sig_sqc), 's.'
In [ ]: