In [1]:
%matplotlib notebook
In [2]:
%pylab
In [13]:
"""
Plot the Reaction rates in m^3 s^-1 as a function of
E, the energy in keV of the incident particle
[the first ion of the reaction label]
Data taken from NRL Formulary 2013.
"""
E, DD, DT, DH = loadtxt('reaction_rates_vs_energy_incident_particle.txt',
skiprows=1, unpack=True)
In [34]:
cm3_2_m3 = 1e-6
fig, ax = plt.subplots(num=1)
ax.loglog(E, cm3_2_m3*DD, E, cm3_2_m3*DT, E, cm3_2_m3*DH, lw=3)
ax.grid(True)
ax.grid(True, which='minor')
ax.set_xlabel('Temperature [keV]', fontsize=16)
ax.set_ylabel(r'Reaction Rates $\left<\sigma v\right>$ [$m^3.s^{-1}$]', fontsize=16)
ax.tick_params(labelsize=14)
ax.set_xlim(min(E), max(E))
ax.legend(('D-D', 'D-T', 'D-He$^3$'), loc='best', fontsize=18)
def kev2deg(kev):
# 1 eV is 11606 K
return kev * 1e3 * 11606
def deg2kev(deg):
return deg / (1e3 * 11606)
secax = ax.secondary_xaxis('top', functions=(kev2deg, deg2kev))
secax.set_xlabel('Temperature [K]', fontsize=16)
secax.tick_params(labelsize=14)
tight_layout()
savefig('Fusion_Reactivity.png', dpi=150)
Plot the total cross section in m^2 for various species vs incident energy in keV
In [35]:
def cross_section(E, A):
"""
The total cross section in barns (1 barns=1e-24 cm^2) as a function of E,
the energy in keV of the incident particle.
Formula from NRL Formulary 2013.
"""
sigma_T = (A[4]+((A[3]-A[2]*E)**2+1)**(-1) * A[1])/(E*(exp(A[0]/sqrt(E))-1))
return(sigma_T)
In [36]:
A_DD_a = [46.097, 372, 4.36e-4, 1.220, 0]
A_DD_b = [47.88, 482, 3.08e-4, 1.177, 0]
A_DT = [45.95, 50200, 1.368e-2, 1.076, 409]
A_DHe3 = [89.27, 25900, 3.98e-3, 1.297, 647]
A_TT = [38.39, 448, 1.02e-3, 2.09, 0]
A_THe3 = [123.1, 11250, 0, 0, 0]
In [37]:
E = logspace(0, 3, 501)
barns2SI = 1e-24 * 1e-4 # in m^2
In [38]:
sigma_DD = barns2SI*(cross_section(E, A_DD_a) + cross_section(E, A_DD_b))
sigma_DT = barns2SI*cross_section(E, A_DT)
sigma_DHe3 = barns2SI*cross_section(E, A_DHe3)
In [40]:
figure(num=2)
loglog(E, sigma_DD, E, sigma_DT, E, sigma_DHe3, lw=3)
grid()
xlabel('Deuteron Energy [keV]', fontsize=16)
ylabel('Cross-section $\sigma$ [$m^2$]', fontsize=16)
legend(('D-D', 'D-T', 'D-He$^3$'), loc='best', fontsize=18)
ylim([1e-32, 2e-27])
xlim(min(E), max(E))
xticks(fontsize=14)
yticks(fontsize=14)
tight_layout()
savefig('Fusion_cross-section.png', dpi=150)
In [ ]: