In my last post, I ran a calculation at fixed density with no charge-changing reactions but with entropy generation. The calculation began with pure 4He at a mass density of 3 x 109 g/cc and a temperature of 2 billion Kelvins. The system evolved into nuclear statistical equilibrium (NSE) in about a nanosecond with a temperature of 10.318 billion Kelvins.
In this post, I will repeat that calculation, but this time I will not include entropy generation. In this case, the total entropy per nucleon will remain constant. The temperature will still rise because the nucleons will rearrange themselves into more bound nuclei, which will release nuclear binding energy and heat up the material; however, since the transmutations will all be considered reversible, there is no entropy generation and, consequently, the temperature rise will not be a great as when we consider the realistic case that includes entropy generation.
To make the calculation, I could use the NucNet Tools code run_constant_entropy.cpp I used previously. I will instead use the run_entropy.cpp code I used in the last post and will use an optional input parameter to restrict the entropy generation. I first change into the appropriate directory and compile the codes by typing
I then ensure that I have edited the nucnet-tools-code/examples/data_pub file zone.xml to be the same as in the previous calculation. Again, I will run without screening and without or the reverse ratio correction. I now run the calculation by typing
./run_entropy ../../data_pub/my_net.xml ../../data_pub/zone.xml my_output_3e9_no_entropy_generation.xml --nuc_xpath "[z <= 60]" --reac_xpath "[not(product[contains(.,'neutrino')])]" --sdot_reac_xpath none
There are several options in this execution of the entropy code. First, the nuc_xpath option limits the network to include only nuclei up to Z = 60. The reac_xpath excludes weak decay reactions, which thus means that the calculation will leave the total neutron to proton ratio in the material fixed. Finally, and the key difference for this calculation, the option sdot_reac_xpath selects the reactions that are included in the entropy generation calculation. Since I choose "none", which matches no reaction, there is no entropy generation in the calculation.
Once the calculation is done, I first get the time and temperature during the calculation by typing
../analysis/print_properties my_output_3e9_no_entropy_generation.xml time t9 > props_no_entropy_generation.txt
I then get the entropy per nucleon by typing
../thermo/compute_thermo_quantity my_output_3e9_1.xml "baryon entropy per nucleon" "electron entropy per nucleon" "photon entropy per nucleon" "total entropy per nucleon" > s_no_entropy_generation.txt
If I plot the fifth column of s_no_entropy_generation.txt versus the second column of props_no_entropy_generation.txt and include the similar curve from my previous calculation, I get this figure
Here I see that my calculation without entropy generation indeed leaves the total entropy per nucleon fixed. The previous calculation showed an entropy generation of 0.636 kB units of entropy, where kB is Boltzmann's constant.
Although the entropy remained constant in my calculation without entropy generation, the entropy did shift from nucleons and nuclei (i.e., baryons) into photons and electrons due to the release of nuclear binding energy. If I graph columns 2, 3, and 4 of s_no_entropy_generation.txt versus column 2 of props_no_entropy_generation.txt, I get this figure
From this I see that the entropy shift from baryons into photons causes the photon entropy per nucleon to rise from 0..00032353 kB to 0.0333862 kB. This is an increase of a factor of 103.191. Since the photon entropy per nucleon is proportional to the temperature cubed, the temperature increases by a factor of 103.1911/3 = 4.69; that is, the temperature should rise from T9 = T / 109 K = 2 to T9 = 2 x 4.69 = 9.38. I confirm this by plotting column 3 of props_no_entropy_generation.txt versus column 2 to get this figure (to which I add the temperature from the previous calculation that includes entropy generation)
I see that the temperature indeed rises to a final value of T9 = 9.38, as expected.
Finally, I run the equilibrium comparison code to be able to make an elemental abundances movie. I type
../analysis/compare_equil my_output_3e9_no_entropy_generation.xml "" > equil.txt
I use equil.txt to create this movie. As in the previous calculation, the abundances evolve into an NSE dominated by 4He and iron-group isotopes.
I chose to keep the entropy constant in this calculation by using no nuclear reactions to compute the entropy generation rate. I could instead choose some of the reactions with an appropriate XPath expression--the default is all reactions used in the network evolution. I could also limit the entropy generation with the option sdot_nuc_xpath, which limits the nuclei involved in the entropy generation. I can always get the possible options for a calculation by typing