In a previous post, I included electron screening in a network calculation. Because electrons surround nuclei, they "screen" the positive charge of the nuclei, thereby making it easier for interacting nuclei to overcome their mutual Coulomb repulsion. The Coulomb interaction of nuclei and electrons also alters the energy of the nuclei away from the simple ideal gas form usually used in network calculations. This changes the chemical potential of species and, therefore, their abundance in nuclear statistical equilibrium (NSE).
Coulomb corrections are just one example of what more generally may be thought of as NSE corrections, which are any modifications of nuclear statistical equilibrium away from the non-relativistic ideal gas expressions. Examples of other possible corrections are degenerate neutrons and finite volume of the nuclei effects. In this post, I will illustrate how to account for NSE corrections by using the default NucNet Tools NSE correction.
The chemical potential for a species i in the non-relativistic, ideal gas approximation is given by
where mi is the rest mass of species i, k is Boltzmann's constant, T is the temperature, Yi is the abundance per nucleon of species i, and YQi is the quantum abundance of species i. The quantum abundance of species i is given by
where Gi is the partition function for species i, ρ is the mass density, and NA is Avogadro's number. The chemical potential less the rest mass μi' for the ideal, non-relativistic gas case is then
libnucnet, the network library underlying NucNet Tools, computes the correction factor for species i to NSE as
If the chemical potential for the system at hand is
where Δ μi is the deviation from the ideal gas expression, then it is then evident that
To allow NucNet Tools to compute corrections to NSE, the user must supply a routine to compute the NSE correction factor fcorr,i.
The default NucNet Tools NSE correction is a Coulomb correction treatment discussed in Bravo and Garcia-Senz. The correction factor is fcorr,i = μi,C / kT, where μi,C is given in their Eq. (12). Further details on the default NucNet Tools treatment are in these notes.
To study how Coulomb corrections affect NSE abundances, I will use the NucNet Project many_equilibria. NucNet Projects are targeted code modules built on top of NucNet Tools. The project many_equilibria allows a user to compute various equilibria over a grid of temperature, density, and electron fraction and apply a user-supplied function.
To run the relevant calculation, I follow the instructions at the many_equilibria page. I create a projects directory and checkout the codes:
svn checkout svn://svn.code.sf.net/p/nucnet-projects/code/trunk/projects/many_equilibria
I next make the project by typing
cp default/many_eq_user_function.cpp .
This downloads NucNet Tools to the directory projects/nucnet-tools-code and then makes the code compute_many_equil with the default user-supplied function. I next obtain the necessary nuclear data by typing
To save myself typing, I now create a file data.rsp with the lines
--t9_min 8. --rho_min 2.e9 --ye_min 0.46 --ye_max 0.5 --ye_points 81 --t9_points 1 --rho_points 1 --species co55 --species co56 --species co57 --species co58 --species fe55 --species mn54 --species h1
This file contains options I can use with the compute_many_equil code. I can also type these options into the command line, but this response file is easier to change and correct.
With the options in data.rsp, I run equilibrium calculations at T9 = 8, ρ = 2 x 109 g/cc, and an electron fraction Ye range 0.46 to 0.5. I choose 81 points in the Ye range. The --species option indicates the species whose mass fraction I want to print out--I can choose as many as I'd like. I can now run the appropriate NSE calculations without an NSE correction by typing
./compute_many_equil ../nucnet-tools-code/data_pub/my_net.xml @data.rsp --nuc_xpath "[z <= 50]" > no_coulomb.txt
Notice that I use @data.rsp to signal the response file. I also choose to include an XPath expression to limit the network to nuclei with atomic number less than that of tin. The output in no_coulomb.txt has columns giving T9, ρ, and Ye and then the mass fractions of the species requested. I next run the calculation using the default NSE correction by typing
./compute_many_equil ../nucnet-tools-code/data_pub/my_net.xml @data.rsp --nuc_xpath "[z <= 50]" --use_nse_correction > coulomb.txt
The output in coulomb.txt is similar to that in no_coulomb.txt except the abundances include the default NucNet Tools NSE correction. With the data in no_coulomb.txt and coulomb.txt, I create the plot below
The solid curves are mass fractions computed with the default Coulomb corrections while the dashed curves are for those without Coulomb corrections. The mass fractions are plotted again the neutron excess η = 1 - 2 Ye. Note that higher η corresponds to more neutron-rich matter (i.e., lower Ye). This figure compares well with Figure 3 of Bravo and Garcia-Senz. Differences are presumably due to differences in the network used and the input nuclear data.
Coulomb corrections clearly alter the NSE abundances, especially at high density. In my next post, I will explore the role of NSE corrections in network calculations.