In my last post, I included NSE (Coulomb) corrections to the chemical potentials of the nuclear species in a constant entropy calculation. These NSE corrections affect the relationship between the forward and reverse nuclear reaction rates in detailed balance and, consequently, the final NSE abundances to which the system evolved. The calculation did not, however, include corrections to the entropy. This is a slight inconsistency that I will address in this post.

I begin by comparing the constant entropy in the network calculation with that computed with *compute_thermo_quantity*. I begin by ensuring I have the necessary codes. I type

**cd nucnet-tools-code**

**svn up**

**cd examples/analysis**

**make print_properties**

**cd ../thermo**

**make compute_thermo_quantity**

I now compare the entropies. I type

**cd ../network**

**../analysis/print_properties my_output_3e9_nse_correction.xml "entropy per nucleon"**

where *my_output_3e9_nse_correction.xml* is the output from the constant entropy calculation with screening and NSE corrections on. The command prints out the total entropy per nucleon ("entropy per nucleon" is a property saved during the network calculation and, for the setup I used, is the total entropy). The quantity is indeed constant in the calculation. I can also look at the last five lines by typing

**../analysis/print_properties my_output_3e9_nse_correction.xml "entropy per nucleon" | tail -5**

I now compare this entropy with that computed from the temperature, density, and abundances in the output zones in the calculation. I type

**../thermo/compute_thermo_quantity my_output_3e9_nse_correction.xml "total entropy per nucleon"**

The numbers here are also constant through the calculation and agree (up to the same number of digits) with those from the *print_properties* command.

As I pointed out above, the entropy in this calculation does not include Coulomb corrections. I would now like to see what effect such corrections have. I do this by downloading the file 2016-08-04.tar.gz and placing it in my *nucnet-tools-code* directory. In that directory, I then type

**gunzip 2016-08-04.tar.gz**

**tar xvf 2016-08-04.tar**

or, more simply,

**tar zxvf 2016-08-04.tar**

This creates and places codes in the directories *my_examples* and *my_users*. These codes include Coulomb corrections to the entropy.

To begin, I change into the directory *my_examples/thermo*

**cd my_examples/thermo**

and consider the code *compute_thermo_quantity*. I compare this code to that in the *examples/thermo* directory by typing

**diff -Naur ../../examples/thermo/compute_thermo_quantity.cpp compute_thermo_quantity.cpp**

Lines beginning with a + show lines that *compute_thermo_quantity.cpp* has but *../../examples/thermo/compute_thermo_quantity.cpp* does not. The added lines show how I override the default calculations of the baryon and total entropy. Those new calculations are in *my_user/my_thermo.cpp*. In that file, the baryon entropy is computed from the default calculation but then the Coulomb correction is added (in the "additive approximation" to the multi-component plasma). The total entropy includes that from the baryons, photons, and electrons. The electron and photon entropy components are computed with the default routines.

I now compile this new code and run

**./examples_make**

**./compute_thermo_quantity ../../examples/network/my_output_3e9_nse_correction.xml "total entropy per nucleon"**

This entropy is not constant through the calculation and does not agree with the entropy I previously computed. This is because the constant entropy calculation was computing the entropy without Coulomb corrections.

I need to run the constant entropy network calculation with a code that includes the Coulomb corrections. The downloaded codes include that. I change into *my_examples/network* and comute the *run_entropy.cpp* there with that in *examples/run_entropy* by typing

**cd ../network**

**diff -Naur ../../examples/network/run_entropy.cpp run_entropy.cpp**

This shows how I include the Coulomb corrections in the new code. I now compile and run this new code:

**./examples_make**

**./run_entropy ../../data_pub/my_net.xml ../../data_pub/zone.xml my_output_3e9_nse_correction.xml --nuc_xpath "[z <= 60]" --reac_xpath "[not(product[contains(.,'neutrino')])]" --sdot_reac_xpath none**

I make sure that the *../../data_pub/zone.xml* has *use screening* and *use nse correction* both set to *yes*. Once this calculation is done, I compare the entropies. I type

**../../examples/analysis/print_properties my_output_3e9_nse_correction.xml "entropy per nucleon"**

and

**../thermo/compute_thermo_quantity my_output_3e9_nse_correction.xml "total entropy per nucleon"**

Here I see that the entropy is constant throughout the calculation and agrees with that output from *print_properties* (up to the same number of digits). In this way I have successfully included the default NSE corrections to the entropy in my network calculation.

Interestingly, the final temperature is slightly lower in the calculation that includes Coulomb corrections to the entropy. If I type

**../../examples/thermo/compute_thermo_quantity ../../examples/network/my_output_3e9_nse_correction.xml "baryon entropy per nucleon"**

I see that in the calculation without Coulomb corrections to the entropy that the baryon entropy released is 2.04929 *k _{B}* - 1.48482

Anonymous