nucleardatapy 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. nucleardatapy/__init__.py +23 -0
  2. nucleardatapy/astro/__init__.py +9 -0
  3. nucleardatapy/astro/setup_gw.py +370 -0
  4. nucleardatapy/astro/setup_masses.py +366 -0
  5. nucleardatapy/astro/setup_mr.py +399 -0
  6. nucleardatapy/astro/setup_mtov.py +143 -0
  7. nucleardatapy/astro/setup_mup.py +302 -0
  8. nucleardatapy/corr/__init__.py +8 -0
  9. nucleardatapy/corr/setup_EsymDen.py +154 -0
  10. nucleardatapy/corr/setup_EsymLsym.py +468 -0
  11. nucleardatapy/corr/setup_KsatQsat.py +226 -0
  12. nucleardatapy/create_folder.py +7 -0
  13. nucleardatapy/crust/__init__.py +6 -0
  14. nucleardatapy/crust/setup_crust.py +475 -0
  15. nucleardatapy/cst.py +72 -0
  16. nucleardatapy/data/LandauParameters/micro/1994-BHF-SM.dat +33 -0
  17. nucleardatapy/data/LandauParameters/micro/2006-BHF-NM-AV18.dat +2701 -0
  18. nucleardatapy/data/LandauParameters/micro/2006-BHF-SM-AV18.dat +6001 -0
  19. nucleardatapy/data/LandauParameters/micro/2006-IBHF-NM-AV18.dat +2701 -0
  20. nucleardatapy/data/LandauParameters/micro/2006-IBHF-SM-AV18.dat +6001 -0
  21. nucleardatapy/data/LandauParameters/micro/2007-BHF-NM.dat +12 -0
  22. nucleardatapy/data/LandauParameters/pheno/2013-BSk22.dat +7 -0
  23. nucleardatapy/data/LandauParameters/pheno/2016-BSk31.dat +9 -0
  24. nucleardatapy/data/LandauParameters/pheno/2016-BSk32.dat +9 -0
  25. nucleardatapy/data/LandauParameters/pheno/2021-BSkG1.dat +9 -0
  26. nucleardatapy/data/LandauParameters/pheno/2022-BSkG2.dat +9 -0
  27. nucleardatapy/data/LandauParameters/pheno/2023-BSkG3.dat +9 -0
  28. nucleardatapy/data/NeutronSkin/ddrhNskin-208Pb.dat +6 -0
  29. nucleardatapy/data/NeutronSkin/ddrhNskin-48Ca.dat +6 -0
  30. nucleardatapy/data/NeutronSkin/nlrhNskin-208Pb.dat +6 -0
  31. nucleardatapy/data/NeutronSkin/nlrhNskin-48Ca.dat +6 -0
  32. nucleardatapy/data/NeutronSkin/skyrmeNskin-208Pb.dat +34 -0
  33. nucleardatapy/data/NeutronSkin/skyrmeNskin-48Ca.dat +34 -0
  34. nucleardatapy/data/astro/GW/GW170817.dat +6 -0
  35. nucleardatapy/data/astro/GW/GW190425.dat +3 -0
  36. nucleardatapy/data/astro/NICER/J0030+0451.dat +6 -0
  37. nucleardatapy/data/astro/NICER/J0437-4715.dat +3 -0
  38. nucleardatapy/data/astro/NICER/J0740+6620.dat +4 -0
  39. nucleardatapy/data/astro/masses/GW170817.dat +5 -0
  40. nucleardatapy/data/astro/masses/GW190814.dat +2 -0
  41. nucleardatapy/data/astro/masses/J0348+0432.dat +2 -0
  42. nucleardatapy/data/astro/masses/J0740+6620.dat +4 -0
  43. nucleardatapy/data/astro/masses/J1600+3053.dat +2 -0
  44. nucleardatapy/data/astro/masses/J1614/342/200/2232230.dat +6 -0
  45. nucleardatapy/data/astro/masses/J2215+5135.dat +2 -0
  46. nucleardatapy/data/corr/EsymDen/2014-IAS+NS.dat +8 -0
  47. nucleardatapy/data/corr/EsymDen/2014-IAS.dat +9 -0
  48. nucleardatapy/data/corr/EsymLsym/2010-RNP.dat +8 -0
  49. nucleardatapy/data/corr/EsymLsym/2012-FRDM.dat +6 -0
  50. nucleardatapy/data/corr/EsymLsym/2013-NS.dat +7 -0
  51. nucleardatapy/data/corr/EsymLsym/2014-IAS+RNP-err.dat +15 -0
  52. nucleardatapy/data/corr/EsymLsym/2014-IAS+RNP-plot.py +24 -0
  53. nucleardatapy/data/corr/EsymLsym/2014-IAS+RNP.dat +15 -0
  54. nucleardatapy/data/corr/EsymLsym/2014-IAS-err.dat +9 -0
  55. nucleardatapy/data/corr/EsymLsym/2014-IAS-plot.py +24 -0
  56. nucleardatapy/data/corr/EsymLsym/2014-IAS.dat +7 -0
  57. nucleardatapy/data/corr/EsymLsym/2021-PREXII-Reed.dat +3 -0
  58. nucleardatapy/data/corr/EsymLsym/2021-PREXII-Reinhard.dat +3 -0
  59. nucleardatapy/data/corr/EsymLsym/2023-PREXII-Zhang.dat +3 -0
  60. nucleardatapy/data/corr/EsymLsym/test.png +0 -0
  61. nucleardatapy/data/crust/1973-Negele-Vautherin.dat +18 -0
  62. nucleardatapy/data/crust/2020-MVCD-D1M.dat +16 -0
  63. nucleardatapy/data/crust/2020-MVCD-D1MS-full.dat +71 -0
  64. nucleardatapy/data/crust/2020-MVCD-D1MS.dat +17 -0
  65. nucleardatapy/data/crust/2020-MVCD-D1S.dat +17 -0
  66. nucleardatapy/data/crust/2022-crustGMRS-BSK14.dat +1455 -0
  67. nucleardatapy/data/crust/2022-crustGMRS-BSK16.dat +1538 -0
  68. nucleardatapy/data/crust/2022-crustGMRS-DHSL59.dat +1413 -0
  69. nucleardatapy/data/crust/2022-crustGMRS-DHSL69.dat +1424 -0
  70. nucleardatapy/data/crust/2022-crustGMRS-F0.dat +1525 -0
  71. nucleardatapy/data/crust/2022-crustGMRS-H1.dat +1651 -0
  72. nucleardatapy/data/crust/2022-crustGMRS-H2.dat +1621 -0
  73. nucleardatapy/data/crust/2022-crustGMRS-H3.dat +1537 -0
  74. nucleardatapy/data/crust/2022-crustGMRS-H4.dat +1598 -0
  75. nucleardatapy/data/crust/2022-crustGMRS-H5.dat +1562 -0
  76. nucleardatapy/data/crust/2022-crustGMRS-H7.dat +1523 -0
  77. nucleardatapy/data/crust/2022-crustGMRS-LNS5.dat +1396 -0
  78. nucleardatapy/data/crust/2022-crustGMRS-RATP.dat +1552 -0
  79. nucleardatapy/data/crust/2022-crustGMRS-SGII.dat +1345 -0
  80. nucleardatapy/data/crust/2022-crustGMRS-SLY5.dat +1455 -0
  81. nucleardatapy/data/hnuclei/2013-2L-Ahn.csv +5 -0
  82. nucleardatapy/data/hnuclei/2015-1Xi-Nakazawa.csv +5 -0
  83. nucleardatapy/data/hnuclei/2016-1L-GHM.csv +67 -0
  84. nucleardatapy/data/matter/hic/2002-DLL-NM-soft.dat +6 -0
  85. nucleardatapy/data/matter/hic/2002-DLL-NM-stiff.dat +5 -0
  86. nucleardatapy/data/matter/hic/2002-DLL-SM.dat +6 -0
  87. nucleardatapy/data/matter/hic/2002-KAON.dat +45 -0
  88. nucleardatapy/data/matter/hic/2009-ISO-DIFF.dat +3 -0
  89. nucleardatapy/data/matter/hic/2011-FOPI-LAND.dat +32 -0
  90. nucleardatapy/data/matter/hic/2016-ASY-EOS.dat +31 -0
  91. nucleardatapy/data/matter/hic/2016-FOPI-E2A.dat +19 -0
  92. nucleardatapy/data/matter/hic/2016-FOPI-SM.dat +31 -0
  93. nucleardatapy/data/matter/hic/2019-N2P-RATIO.dat +3 -0
  94. nucleardatapy/data/matter/hic/2021-SPIRIT.dat +3 -0
  95. nucleardatapy/data/matter/micro/1981-VAR-NM-FP.dat +26 -0
  96. nucleardatapy/data/matter/micro/1981-VAR-SM-FP.dat +26 -0
  97. nucleardatapy/data/matter/micro/1998-VAR-NM-APR.dat +16 -0
  98. nucleardatapy/data/matter/micro/1998-VAR-SM-APR.dat +15 -0
  99. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-E2A-AM.dat +17 -0
  100. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-E2A-NM.dat +21 -0
  101. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-E2A-SM.dat +30 -0
  102. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Esym2-SM.dat +19 -0
  103. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-GAP-NM-FreeSpectrum.dat +9 -0
  104. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-GAP-NM-SelfEnergy.dat +8 -0
  105. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-GAP-SM-FreeSpectrum.dat +8 -0
  106. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-GAP-SM-SelfEnergy.dat +6 -0
  107. nucleardatapy/data/matter/micro/2008-AFDMC-NM-bkup.dat +11 -0
  108. nucleardatapy/data/matter/micro/2008-AFDMC-NM.dat +11 -0
  109. nucleardatapy/data/matter/micro/2008-BCS-NM.dat +16 -0
  110. nucleardatapy/data/matter/micro/2008-QMC-NM-swave-bkup.dat +8 -0
  111. nucleardatapy/data/matter/micro/2008-QMC-NM-swave.dat +8 -0
  112. nucleardatapy/data/matter/micro/2009-AFDMC-NM.dat +7 -0
  113. nucleardatapy/data/matter/micro/2009-dQMC-NM.dat +7 -0
  114. nucleardatapy/data/matter/micro/2010-NM-Hebeler.dat +12 -0
  115. nucleardatapy/data/matter/micro/2010-QMC-NM-AV4-bkup.dat +9 -0
  116. nucleardatapy/data/matter/micro/2010-QMC-NM-AV4.dat +7 -0
  117. nucleardatapy/data/matter/micro/2012-AFDMC-NM-1.dat +29 -0
  118. nucleardatapy/data/matter/micro/2012-AFDMC-NM-2.dat +10 -0
  119. nucleardatapy/data/matter/micro/2012-AFDMC-NM-3.dat +11 -0
  120. nucleardatapy/data/matter/micro/2012-AFDMC-NM-4.dat +10 -0
  121. nucleardatapy/data/matter/micro/2012-AFDMC-NM-5.dat +11 -0
  122. nucleardatapy/data/matter/micro/2012-AFDMC-NM-6.dat +10 -0
  123. nucleardatapy/data/matter/micro/2012-AFDMC-NM-7.dat +37 -0
  124. nucleardatapy/data/matter/micro/2012-AFDMC-NM-fit.dat +10 -0
  125. nucleardatapy/data/matter/micro/2012-AFDMC-NM.txt +252 -0
  126. nucleardatapy/data/matter/micro/2013-QMC-NM.dat +12 -0
  127. nucleardatapy/data/matter/micro/2014-AFQMC-NM.dat +14 -0
  128. nucleardatapy/data/matter/micro/2016-MBPT-AM/EOS_spec_4_beta_0.0.txt +35 -0
  129. nucleardatapy/data/matter/micro/2016-MBPT-AM/EOS_spec_4_beta_0.1.txt +35 -0
  130. nucleardatapy/data/matter/micro/2016-MBPT-AM/EOS_spec_4_beta_0.2.txt +35 -0
  131. nucleardatapy/data/matter/micro/2016-MBPT-AM/EOS_spec_4_beta_0.3.txt +35 -0
  132. nucleardatapy/data/matter/micro/2016-MBPT-AM/EOS_spec_4_beta_0.4.txt +35 -0
  133. nucleardatapy/data/matter/micro/2016-MBPT-AM/EOS_spec_4_beta_0.5.txt +35 -0
  134. nucleardatapy/data/matter/micro/2016-MBPT-AM/EOS_spec_4_beta_0.6.txt +35 -0
  135. nucleardatapy/data/matter/micro/2016-MBPT-AM/EOS_spec_4_beta_0.7.txt +35 -0
  136. nucleardatapy/data/matter/micro/2016-MBPT-AM/EOS_spec_4_beta_0.8.txt +35 -0
  137. nucleardatapy/data/matter/micro/2016-MBPT-AM/EOS_spec_4_beta_0.9.txt +35 -0
  138. nucleardatapy/data/matter/micro/2016-MBPT-AM/EOS_spec_4_beta_1.0.txt +35 -0
  139. nucleardatapy/data/matter/micro/2016-QMC-NM.dat +10 -0
  140. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_500_effmass_1S0_HF_spectrum_N2LO_3N_forces.csv +45 -0
  141. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_500_effmass_1S0_HF_spectrum_N3LO_3N_forces.csv +45 -0
  142. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_500_effmass_3PF2_HF_spectrum_N2LO_3N_forces.csv +32 -0
  143. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_500_effmass_3PF2_HF_spectrum_N3LO_3N_forces.csv +32 -0
  144. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_500_gap_1S0_HF_spectrum_N2LO_3N_forces.csv +45 -0
  145. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_500_gap_1S0_HF_spectrum_N3LO_3N_forces.csv +45 -0
  146. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_500_gap_1S0_free_spectrum_N2LO_3N_forces.csv +45 -0
  147. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_500_gap_1S0_free_spectrum_N3LO_3N_forces.csv +45 -0
  148. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_500_gap_3PF2_HF_spectrum_N2LO_3N_forces.csv +32 -0
  149. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_500_gap_3PF2_HF_spectrum_N3LO_3N_forces.csv +32 -0
  150. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_500_gap_3PF2_free_spectrum_N2LO_3N_forces.csv +32 -0
  151. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_500_gap_3PF2_free_spectrum_N3LO_3N_forces.csv +32 -0
  152. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_700_effmass_1S0_HF_spectrum_N2LO_3N_forces.csv +45 -0
  153. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_700_effmass_1S0_HF_spectrum_N3LO_3N_forces.csv +45 -0
  154. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_700_effmass_3PF2_HF_spectrum_N2LO_3N_forces.csv +32 -0
  155. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_700_effmass_3PF2_HF_spectrum_N3LO_3N_forces.csv +32 -0
  156. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_700_gap_1S0_HF_spectrum_N2LO_3N_forces.csv +45 -0
  157. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_700_gap_1S0_HF_spectrum_N3LO_3N_forces.csv +45 -0
  158. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_700_gap_1S0_free_spectrum_N2LO_3N_forces.csv +45 -0
  159. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_700_gap_1S0_free_spectrum_N3LO_3N_forces.csv +45 -0
  160. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_700_gap_3PF2_HF_spectrum_N2LO_3N_forces.csv +32 -0
  161. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_700_gap_3PF2_HF_spectrum_N3LO_3N_forces.csv +32 -0
  162. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_700_gap_3PF2_free_spectrum_N2LO_3N_forces.csv +32 -0
  163. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EGM450_700_gap_3PF2_free_spectrum_N3LO_3N_forces.csv +32 -0
  164. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EM500_effmass_1S0_HF_spectrum_N2LO_3N_forces.csv +45 -0
  165. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EM500_effmass_1S0_HF_spectrum_N3LO_3N_forces.csv +45 -0
  166. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EM500_effmass_3PF2_HF_spectrum_N2LO_3N_forces.csv +32 -0
  167. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EM500_effmass_3PF2_HF_spectrum_N3LO_3N_forces.csv +32 -0
  168. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EM500_gap_1S0_HF_spectrum_N2LO_3N_forces.csv +45 -0
  169. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EM500_gap_1S0_HF_spectrum_N3LO_3N_forces.csv +45 -0
  170. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EM500_gap_1S0_free_spectrum_N2LO_3N_forces.csv +45 -0
  171. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EM500_gap_1S0_free_spectrum_N3LO_3N_forces.csv +45 -0
  172. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EM500_gap_3PF2_HF_spectrum_N2LO_3N_forces.csv +32 -0
  173. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EM500_gap_3PF2_HF_spectrum_N3LO_3N_forces.csv +32 -0
  174. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EM500_gap_3PF2_free_spectrum_N2LO_3N_forces.csv +32 -0
  175. nucleardatapy/data/matter/micro/2017-Drischler/N3LO_EM500_gap_3PF2_free_spectrum_N3LO_3N_forces.csv +32 -0
  176. nucleardatapy/data/matter/micro/2018-QMC-NM.dat +18 -0
  177. nucleardatapy/data/matter/micro/2020-MBPT-NM-DHSL59.dat +18 -0
  178. nucleardatapy/data/matter/micro/2020-MBPT-NM-DHSL69.dat +18 -0
  179. nucleardatapy/data/matter/micro/2020-MBPT-SM-DHSL59.dat +18 -0
  180. nucleardatapy/data/matter/micro/2020-MBPT-SM-DHSL69.dat +18 -0
  181. nucleardatapy/data/matter/micro/2022-AFDMC-NM-gap.csv +17 -0
  182. nucleardatapy/data/matter/micro/2022-AFDMC-NM.csv +11 -0
  183. nucleardatapy/data/matter/micro/2023-MBPT-NM.csv +60 -0
  184. nucleardatapy/data/matter/micro/2023-MBPT-SM.csv +60 -0
  185. nucleardatapy/data/matter/micro/2024-BHF-NM-23BF/spin_isosp_Av1823BF.dat +14 -0
  186. nucleardatapy/data/matter/micro/2024-BHF-NM-23BF/spin_isosp_Av1823BFmicro.dat +13 -0
  187. nucleardatapy/data/matter/micro/2024-BHF-NM-23BF/spin_isosp_Av8p23BF.dat +14 -0
  188. nucleardatapy/data/matter/micro/2024-BHF-NM-23BF/spin_isosp_BONN23BF.dat +14 -0
  189. nucleardatapy/data/matter/micro/2024-BHF-NM-23BF/spin_isosp_BONNB23BFmicro.dat +13 -0
  190. nucleardatapy/data/matter/micro/2024-BHF-NM-23BF/spin_isosp_CDBONN23BF.dat +14 -0
  191. nucleardatapy/data/matter/micro/2024-BHF-NM-23BF/spin_isosp_NSC9323BFmicro.dat +13 -0
  192. nucleardatapy/data/matter/micro/2024-BHF-NM-23BF/spin_isosp_NSC97a23BF.dat +14 -0
  193. nucleardatapy/data/matter/micro/2024-BHF-NM-23BF/spin_isosp_NSC97b23BF.dat +14 -0
  194. nucleardatapy/data/matter/micro/2024-BHF-NM-23BF/spin_isosp_NSC97c23BF.dat +14 -0
  195. nucleardatapy/data/matter/micro/2024-BHF-NM-23BF/spin_isosp_NSC97d23BF.dat +14 -0
  196. nucleardatapy/data/matter/micro/2024-BHF-NM-23BF/spin_isosp_NSC97e23BF.dat +14 -0
  197. nucleardatapy/data/matter/micro/2024-BHF-NM-23BF/spin_isosp_NSC97f23BF.dat +14 -0
  198. nucleardatapy/data/matter/micro/2024-BHF-NM-23BF/spin_isosp_SSCV1423BF.dat +14 -0
  199. nucleardatapy/data/matter/micro/2024-BHF-NM-2BF/spin_isosp_Av182BF.dat +14 -0
  200. nucleardatapy/data/matter/micro/2024-BHF-NM-2BF/spin_isosp_Av8p2BF.dat +14 -0
  201. nucleardatapy/data/matter/micro/2024-BHF-NM-2BF/spin_isosp_BONN2BF.dat +14 -0
  202. nucleardatapy/data/matter/micro/2024-BHF-NM-2BF/spin_isosp_CDBONN2BF.dat +14 -0
  203. nucleardatapy/data/matter/micro/2024-BHF-NM-2BF/spin_isosp_NSC97a2BF.dat +14 -0
  204. nucleardatapy/data/matter/micro/2024-BHF-NM-2BF/spin_isosp_NSC97b2BF.dat +14 -0
  205. nucleardatapy/data/matter/micro/2024-BHF-NM-2BF/spin_isosp_NSC97c2BF.dat +14 -0
  206. nucleardatapy/data/matter/micro/2024-BHF-NM-2BF/spin_isosp_NSC97d2BF.dat +14 -0
  207. nucleardatapy/data/matter/micro/2024-BHF-NM-2BF/spin_isosp_NSC97e2BF.dat +14 -0
  208. nucleardatapy/data/matter/micro/2024-BHF-NM-2BF/spin_isosp_NSC97f2BF.dat +14 -0
  209. nucleardatapy/data/matter/micro/2024-BHF-NM-2BF/spin_isosp_SSCV142BF.dat +14 -0
  210. nucleardatapy/data/matter/micro/2024-BHF-SM-23BF/spin_isosp_Av1823BF.dat +14 -0
  211. nucleardatapy/data/matter/micro/2024-BHF-SM-23BF/spin_isosp_Av1823BFmicro.dat +13 -0
  212. nucleardatapy/data/matter/micro/2024-BHF-SM-23BF/spin_isosp_Av8p23BF.dat +14 -0
  213. nucleardatapy/data/matter/micro/2024-BHF-SM-23BF/spin_isosp_BONN23BF.dat +14 -0
  214. nucleardatapy/data/matter/micro/2024-BHF-SM-23BF/spin_isosp_BONNB23BFmicro.dat +11 -0
  215. nucleardatapy/data/matter/micro/2024-BHF-SM-23BF/spin_isosp_CDBONN23BF.dat +14 -0
  216. nucleardatapy/data/matter/micro/2024-BHF-SM-23BF/spin_isosp_NSC9323BFmicro.dat +13 -0
  217. nucleardatapy/data/matter/micro/2024-BHF-SM-23BF/spin_isosp_NSC97a23BF.dat +14 -0
  218. nucleardatapy/data/matter/micro/2024-BHF-SM-23BF/spin_isosp_NSC97b23BF.dat +14 -0
  219. nucleardatapy/data/matter/micro/2024-BHF-SM-23BF/spin_isosp_NSC97c23BF.dat +14 -0
  220. nucleardatapy/data/matter/micro/2024-BHF-SM-23BF/spin_isosp_NSC97d23BF.dat +14 -0
  221. nucleardatapy/data/matter/micro/2024-BHF-SM-23BF/spin_isosp_NSC97e23BF.dat +14 -0
  222. nucleardatapy/data/matter/micro/2024-BHF-SM-23BF/spin_isosp_NSC97f23BF.dat +14 -0
  223. nucleardatapy/data/matter/micro/2024-BHF-SM-23BF/spin_isosp_SSCV1423BF.dat +14 -0
  224. nucleardatapy/data/matter/micro/2024-BHF-SM-2BF/spin_isosp_Av182BF.dat +14 -0
  225. nucleardatapy/data/matter/micro/2024-BHF-SM-2BF/spin_isosp_Av8p2BF.dat +14 -0
  226. nucleardatapy/data/matter/micro/2024-BHF-SM-2BF/spin_isosp_BONN2BF.dat +14 -0
  227. nucleardatapy/data/matter/micro/2024-BHF-SM-2BF/spin_isosp_CDBONN2BF.dat +14 -0
  228. nucleardatapy/data/matter/micro/2024-BHF-SM-2BF/spin_isosp_NSC97a2BF.dat +14 -0
  229. nucleardatapy/data/matter/micro/2024-BHF-SM-2BF/spin_isosp_NSC97b2BF.dat +14 -0
  230. nucleardatapy/data/matter/micro/2024-BHF-SM-2BF/spin_isosp_NSC97c2BF.dat +14 -0
  231. nucleardatapy/data/matter/micro/2024-BHF-SM-2BF/spin_isosp_NSC97d2BF.dat +14 -0
  232. nucleardatapy/data/matter/micro/2024-BHF-SM-2BF/spin_isosp_NSC97e2BF.dat +14 -0
  233. nucleardatapy/data/matter/micro/2024-BHF-SM-2BF/spin_isosp_NSC97f2BF.dat +14 -0
  234. nucleardatapy/data/matter/micro/2024-BHF-SM-2BF/spin_isosp_SSCV142BF.dat +14 -0
  235. nucleardatapy/data/matter/micro/2024-DMC-NM.dat +15 -0
  236. nucleardatapy/data/matter/micro/2024-NLEFT-NM-bkp.dat +38 -0
  237. nucleardatapy/data/matter/micro/2024-NLEFT-NM.dat +28 -0
  238. nucleardatapy/data/matter/micro/2024-NLEFT-SM-bkp.dat +33 -0
  239. nucleardatapy/data/matter/micro/2024-NLEFT-SM.dat +16 -0
  240. nucleardatapy/data/matter/micro/BSTmicro-NM.dat +12 -0
  241. nucleardatapy/data/matter/micro/BSTmicro-SM.dat +10 -0
  242. nucleardatapy/data/matter/micro/BSTph-NM.dat +13 -0
  243. nucleardatapy/data/matter/micro/BSTph-SM.dat +13 -0
  244. nucleardatapy/data/matter/micro/convert.sh +6 -0
  245. nucleardatapy/data/matter/nep/NEPESkyrme.dat +10 -0
  246. nucleardatapy/data/matter/nep/NEPFayans.dat +5 -0
  247. nucleardatapy/data/matter/nep/NEPGogny.dat +8 -0
  248. nucleardatapy/data/matter/nep/NEPMBPT2016.dat +8 -0
  249. nucleardatapy/data/matter/nep/NEPSkyrme.dat +45 -0
  250. nucleardatapy/data/matter/nep/NEPSkyrme2.dat +18 -0
  251. nucleardatapy/data/matter/nep/NEPddrh.dat +6 -0
  252. nucleardatapy/data/matter/nep/NEPddrhf.dat +5 -0
  253. nucleardatapy/data/matter/nep/NEPnlrh.dat +7 -0
  254. nucleardatapy/data/matter/pheno/ESkyrme/BSk22-NM.dat +1002 -0
  255. nucleardatapy/data/matter/pheno/ESkyrme/BSk22-SM.dat +1002 -0
  256. nucleardatapy/data/matter/pheno/ESkyrme/BSk24-NM.dat +1002 -0
  257. nucleardatapy/data/matter/pheno/ESkyrme/BSk24-SM.dat +1002 -0
  258. nucleardatapy/data/matter/pheno/ESkyrme/BSk25-NM.dat +1002 -0
  259. nucleardatapy/data/matter/pheno/ESkyrme/BSk25-SM.dat +1002 -0
  260. nucleardatapy/data/matter/pheno/ESkyrme/BSk26-NM.dat +1002 -0
  261. nucleardatapy/data/matter/pheno/ESkyrme/BSk26-SM.dat +1002 -0
  262. nucleardatapy/data/matter/pheno/ESkyrme/BSk31-NM.dat +1002 -0
  263. nucleardatapy/data/matter/pheno/ESkyrme/BSk31-SM.dat +1002 -0
  264. nucleardatapy/data/matter/pheno/ESkyrme/BSk32-NM-old.dat +1002 -0
  265. nucleardatapy/data/matter/pheno/ESkyrme/BSk32-NM.dat +1002 -0
  266. nucleardatapy/data/matter/pheno/ESkyrme/BSk32-SM-old.dat +1002 -0
  267. nucleardatapy/data/matter/pheno/ESkyrme/BSk32-SM.dat +1002 -0
  268. nucleardatapy/data/matter/pheno/ESkyrme/BSkG1-NM.dat +1002 -0
  269. nucleardatapy/data/matter/pheno/ESkyrme/BSkG1-SM.dat +1002 -0
  270. nucleardatapy/data/matter/pheno/ESkyrme/BSkG2-NM.dat +1002 -0
  271. nucleardatapy/data/matter/pheno/ESkyrme/BSkG2-SM.dat +1002 -0
  272. nucleardatapy/data/matter/pheno/ESkyrme/BSkG3-NM.dat +1002 -0
  273. nucleardatapy/data/matter/pheno/ESkyrme/BSkG3-SM.dat +1002 -0
  274. nucleardatapy/data/matter/pheno/Skyrme/BSK14-NM.dat +99 -0
  275. nucleardatapy/data/matter/pheno/Skyrme/BSK14-SM.dat +99 -0
  276. nucleardatapy/data/matter/pheno/Skyrme/BSK16-NM.dat +99 -0
  277. nucleardatapy/data/matter/pheno/Skyrme/BSK16-SM.dat +99 -0
  278. nucleardatapy/data/matter/pheno/Skyrme/BSK17-NM.dat +99 -0
  279. nucleardatapy/data/matter/pheno/Skyrme/BSK17-SM.dat +99 -0
  280. nucleardatapy/data/matter/pheno/Skyrme/BSK27-NM.dat +99 -0
  281. nucleardatapy/data/matter/pheno/Skyrme/BSK27-SM.dat +99 -0
  282. nucleardatapy/data/matter/pheno/Skyrme/F+-NM.dat +99 -0
  283. nucleardatapy/data/matter/pheno/Skyrme/F+-SM.dat +99 -0
  284. nucleardatapy/data/matter/pheno/Skyrme/F--NM.dat +99 -0
  285. nucleardatapy/data/matter/pheno/Skyrme/F--SM.dat +99 -0
  286. nucleardatapy/data/matter/pheno/Skyrme/F0-NM.dat +99 -0
  287. nucleardatapy/data/matter/pheno/Skyrme/F0-SM.dat +99 -0
  288. nucleardatapy/data/matter/pheno/Skyrme/FPL-NM.dat +99 -0
  289. nucleardatapy/data/matter/pheno/Skyrme/FPL-SM.dat +99 -0
  290. nucleardatapy/data/matter/pheno/Skyrme/LNS-NM.dat +99 -0
  291. nucleardatapy/data/matter/pheno/Skyrme/LNS-SM.dat +99 -0
  292. nucleardatapy/data/matter/pheno/Skyrme/LNS1-NM.dat +99 -0
  293. nucleardatapy/data/matter/pheno/Skyrme/LNS1-SM.dat +99 -0
  294. nucleardatapy/data/matter/pheno/Skyrme/LNS5-NM.dat +99 -0
  295. nucleardatapy/data/matter/pheno/Skyrme/LNS5-SM.dat +99 -0
  296. nucleardatapy/data/matter/pheno/Skyrme/NRAPR-NM.dat +99 -0
  297. nucleardatapy/data/matter/pheno/Skyrme/NRAPR-SM.dat +99 -0
  298. nucleardatapy/data/matter/pheno/Skyrme/RATP-NM.dat +99 -0
  299. nucleardatapy/data/matter/pheno/Skyrme/RATP-SM.dat +99 -0
  300. nucleardatapy/data/matter/pheno/Skyrme/SAMI-NM.dat +99 -0
  301. nucleardatapy/data/matter/pheno/Skyrme/SAMI-SM.dat +99 -0
  302. nucleardatapy/data/matter/pheno/Skyrme/SGII-NM.dat +99 -0
  303. nucleardatapy/data/matter/pheno/Skyrme/SGII-SM.dat +99 -0
  304. nucleardatapy/data/matter/pheno/Skyrme/SIII-NM.dat +99 -0
  305. nucleardatapy/data/matter/pheno/Skyrme/SIII-SM.dat +99 -0
  306. nucleardatapy/data/matter/pheno/Skyrme/SKGSIGMA-NM.dat +99 -0
  307. nucleardatapy/data/matter/pheno/Skyrme/SKGSIGMA-SM.dat +99 -0
  308. nucleardatapy/data/matter/pheno/Skyrme/SKI2-NM.dat +99 -0
  309. nucleardatapy/data/matter/pheno/Skyrme/SKI2-SM.dat +99 -0
  310. nucleardatapy/data/matter/pheno/Skyrme/SKI4-NM.dat +99 -0
  311. nucleardatapy/data/matter/pheno/Skyrme/SKI4-SM.dat +99 -0
  312. nucleardatapy/data/matter/pheno/Skyrme/SKMP-NM.dat +99 -0
  313. nucleardatapy/data/matter/pheno/Skyrme/SKMP-SM.dat +99 -0
  314. nucleardatapy/data/matter/pheno/Skyrme/SKMS-NM.dat +99 -0
  315. nucleardatapy/data/matter/pheno/Skyrme/SKMS-SM.dat +99 -0
  316. nucleardatapy/data/matter/pheno/Skyrme/SKO-NM.dat +99 -0
  317. nucleardatapy/data/matter/pheno/Skyrme/SKO-SM.dat +99 -0
  318. nucleardatapy/data/matter/pheno/Skyrme/SKOP-NM.dat +99 -0
  319. nucleardatapy/data/matter/pheno/Skyrme/SKOP-SM.dat +99 -0
  320. nucleardatapy/data/matter/pheno/Skyrme/SKP-NM.dat +99 -0
  321. nucleardatapy/data/matter/pheno/Skyrme/SKP-SM.dat +99 -0
  322. nucleardatapy/data/matter/pheno/Skyrme/SKRSIGMA-NM.dat +99 -0
  323. nucleardatapy/data/matter/pheno/Skyrme/SKRSIGMA-SM.dat +99 -0
  324. nucleardatapy/data/matter/pheno/Skyrme/SKX-NM.dat +99 -0
  325. nucleardatapy/data/matter/pheno/Skyrme/SKX-SM.dat +99 -0
  326. nucleardatapy/data/matter/pheno/Skyrme/SLY230A-NM.dat +99 -0
  327. nucleardatapy/data/matter/pheno/Skyrme/SLY230A-SM.dat +99 -0
  328. nucleardatapy/data/matter/pheno/Skyrme/SLY230B-NM.dat +99 -0
  329. nucleardatapy/data/matter/pheno/Skyrme/SLY230B-SM.dat +99 -0
  330. nucleardatapy/data/matter/pheno/Skyrme/SLY4-NM.dat +99 -0
  331. nucleardatapy/data/matter/pheno/Skyrme/SLY4-SM.dat +99 -0
  332. nucleardatapy/data/matter/pheno/Skyrme/SLY5-NM.dat +99 -0
  333. nucleardatapy/data/matter/pheno/Skyrme/SLY5-SM.dat +99 -0
  334. nucleardatapy/data/matter/pheno/Skyrme/SV-NM.dat +99 -0
  335. nucleardatapy/data/matter/pheno/Skyrme/SV-SM.dat +99 -0
  336. nucleardatapy/data/matter/pheno/Skyrme/Skz2-NM.dat +99 -0
  337. nucleardatapy/data/matter/pheno/Skyrme/Skz2-SM.dat +99 -0
  338. nucleardatapy/data/matter/pheno/Skyrme/T44-NM.dat +99 -0
  339. nucleardatapy/data/matter/pheno/Skyrme/T44-SM.dat +99 -0
  340. nucleardatapy/data/matter/pheno/Skyrme/T6-NM.dat +99 -0
  341. nucleardatapy/data/matter/pheno/Skyrme/T6-SM.dat +99 -0
  342. nucleardatapy/data/matter/pheno/Skyrme/UNEDF0-NM.dat +99 -0
  343. nucleardatapy/data/matter/pheno/Skyrme/UNEDF0-SM.dat +99 -0
  344. nucleardatapy/data/matter/pheno/Skyrme/UNEDF1-NM.dat +99 -0
  345. nucleardatapy/data/matter/pheno/Skyrme/UNEDF1-SM.dat +99 -0
  346. nucleardatapy/data/matter/pheno/ddrh/DDME1-NM.dat +200 -0
  347. nucleardatapy/data/matter/pheno/ddrh/DDME1-SM.dat +176 -0
  348. nucleardatapy/data/matter/pheno/ddrh/DDME2-NM.dat +200 -0
  349. nucleardatapy/data/matter/pheno/ddrh/DDME2-SM.dat +169 -0
  350. nucleardatapy/data/matter/pheno/ddrh/DDMEd-NM.dat +200 -0
  351. nucleardatapy/data/matter/pheno/ddrh/DDMEd-SM.dat +200 -0
  352. nucleardatapy/data/matter/pheno/ddrh/PKDD-NM.dat +200 -0
  353. nucleardatapy/data/matter/pheno/ddrh/PKDD-SM.dat +191 -0
  354. nucleardatapy/data/matter/pheno/ddrh/PKDD.pdf +0 -0
  355. nucleardatapy/data/matter/pheno/ddrh/TW99-NM.dat +200 -0
  356. nucleardatapy/data/matter/pheno/ddrh/TW99-SM.dat +200 -0
  357. nucleardatapy/data/matter/pheno/ddrhf/PKA1-NM.dat +200 -0
  358. nucleardatapy/data/matter/pheno/ddrhf/PKA1-SM.dat +200 -0
  359. nucleardatapy/data/matter/pheno/ddrhf/PKO1-NM.dat +200 -0
  360. nucleardatapy/data/matter/pheno/ddrhf/PKO1-SM.dat +200 -0
  361. nucleardatapy/data/matter/pheno/ddrhf/PKO2-NM.dat +200 -0
  362. nucleardatapy/data/matter/pheno/ddrhf/PKO2-SM.dat +200 -0
  363. nucleardatapy/data/matter/pheno/ddrhf/PKO3-NM.dat +200 -0
  364. nucleardatapy/data/matter/pheno/ddrhf/PKO3-SM.dat +200 -0
  365. nucleardatapy/data/matter/pheno/nlrh/NL-SH-NM.dat +101 -0
  366. nucleardatapy/data/matter/pheno/nlrh/NL-SH-SM.dat +101 -0
  367. nucleardatapy/data/matter/pheno/nlrh/NL3-NM.dat +101 -0
  368. nucleardatapy/data/matter/pheno/nlrh/NL3-SM.dat +101 -0
  369. nucleardatapy/data/matter/pheno/nlrh/NL3II-NM.dat +101 -0
  370. nucleardatapy/data/matter/pheno/nlrh/NL3II-SM.dat +101 -0
  371. nucleardatapy/data/matter/pheno/nlrh/PK1-NM.dat +101 -0
  372. nucleardatapy/data/matter/pheno/nlrh/PK1-SM.dat +101 -0
  373. nucleardatapy/data/matter/pheno/nlrh/PK1R-NM.dat +101 -0
  374. nucleardatapy/data/matter/pheno/nlrh/PK1R-SM.dat +101 -0
  375. nucleardatapy/data/matter/pheno/nlrh/TM1-NM.dat +157 -0
  376. nucleardatapy/data/matter/pheno/nlrh/TM1-SM.dat +140 -0
  377. nucleardatapy/data/nuclei/esym/Danielewicz-2014-S.dat +8 -0
  378. nucleardatapy/data/nuclei/isgmr/2010-ISGMR-Li.dat +16 -0
  379. nucleardatapy/data/nuclei/isgmr/2018-ISGMR-Garg.dat +17 -0
  380. nucleardatapy/data/nuclei/isgmr/2018-ISGMR-Garg.tex +76 -0
  381. nucleardatapy/data/nuclei/isgmr/2022-ISGMR-average.dat +17 -0
  382. nucleardatapy/data/nuclei/isgmr/isgmr.pdf +0 -0
  383. nucleardatapy/data/nuclei/masses/AME/2012_nubase.mas12.txt +5513 -0
  384. nucleardatapy/data/nuclei/masses/AME/2016_nubase2016.txt +5625 -0
  385. nucleardatapy/data/nuclei/masses/AME/2020_nubase_4.mas20.txt +5868 -0
  386. nucleardatapy/data/nuclei/masses/Theory/1988-GK.txt +1 -0
  387. nucleardatapy/data/nuclei/masses/Theory/1988-MJ.txt +1 -0
  388. nucleardatapy/data/nuclei/masses/Theory/1995-DZ.txt +1 -0
  389. nucleardatapy/data/nuclei/masses/Theory/1995-ETFSI.txt +8245 -0
  390. nucleardatapy/data/nuclei/masses/Theory/1995-FRDM.dat +8982 -0
  391. nucleardatapy/data/nuclei/masses/Theory/1995-FRDM.txt +8980 -0
  392. nucleardatapy/data/nuclei/masses/Theory/2005-KTUY.txt +9437 -0
  393. nucleardatapy/data/nuclei/masses/Theory/2007-HFB14.txt +8389 -0
  394. nucleardatapy/data/nuclei/masses/Theory/2010-HFB21.dat +8389 -0
  395. nucleardatapy/data/nuclei/masses/Theory/2010-WS3.txt +1 -0
  396. nucleardatapy/data/nuclei/masses/Theory/2011-WS3.txt +1 -0
  397. nucleardatapy/data/nuclei/masses/Theory/2013-HFB22.txt +8396 -0
  398. nucleardatapy/data/nuclei/masses/Theory/2013-HFB23.txt +8396 -0
  399. nucleardatapy/data/nuclei/masses/Theory/2013-HFB24.txt +8396 -0
  400. nucleardatapy/data/nuclei/masses/Theory/2013-HFB25.txt +9488 -0
  401. nucleardatapy/data/nuclei/masses/Theory/2013-HFB26-old.txt +9512 -0
  402. nucleardatapy/data/nuclei/masses/Theory/2013-HFB26.txt +9515 -0
  403. nucleardatapy/data/nuclei/masses/Theory/2021-BSkG1-old.txt +7017 -0
  404. nucleardatapy/data/nuclei/masses/Theory/2021-BSkG1.txt +6574 -0
  405. nucleardatapy/data/nuclei/masses/Theory/2022-BSkG2-old.txt +6722 -0
  406. nucleardatapy/data/nuclei/masses/Theory/2022-BSkG2.txt +6719 -0
  407. nucleardatapy/data/nuclei/masses/Theory/2023-BSkG3-old.txt +8489 -0
  408. nucleardatapy/data/nuclei/masses/Theory/2023-BSkG3.txt +8486 -0
  409. nucleardatapy/data/nuclei/masses/Theory/2024-BSkG4-old.txt +7848 -0
  410. nucleardatapy/data/nuclei/masses/Theory/2025-BSkG4.txt +7845 -0
  411. nucleardatapy/data/nuclei/masses/UNEDF/ExpDatabase_Fortran90_v04/DataSet04.dat +1497 -0
  412. nucleardatapy/data/nuclei/masses/UNEDF/ExpDatabase_Fortran90_v04/Makefile_ifc +16 -0
  413. nucleardatapy/data/nuclei/masses/UNEDF/ExpDatabase_Fortran90_v04/input04.f90 +515 -0
  414. nucleardatapy/data/nuclei/masses/UNEDF/ExpDatabase_Fortran90_v04/main04.f90 +14 -0
  415. nucleardatapy/data/nuclei/masses/UNEDF/ExpDatabase_Fortran90_v04.tar +0 -0
  416. nucleardatapy/data/nuclei/nskin/208Pb.dat +25 -0
  417. nucleardatapy/data/nuclei/nskin/48Ca.dat +21 -0
  418. nucleardatapy/data/nuclei/radch/2013-Angeli.csv +960 -0
  419. nucleardatapy/env.py +9 -0
  420. nucleardatapy/eos/__init__.py +7 -0
  421. nucleardatapy/eos/setup_am.py +198 -0
  422. nucleardatapy/eos/setup_am_Beq.py +240 -0
  423. nucleardatapy/eos/setup_am_Leq.py +229 -0
  424. nucleardatapy/fig/__init__.py +43 -0
  425. nucleardatapy/fig/astro_setupGW_fig.py +67 -0
  426. nucleardatapy/fig/astro_setupMR_fig.py +88 -0
  427. nucleardatapy/fig/astro_setupMasses_fig.py +64 -0
  428. nucleardatapy/fig/astro_setupMtov_fig.py +84 -0
  429. nucleardatapy/fig/astro_setupMup_fig.py +68 -0
  430. nucleardatapy/fig/corr_setupEsymDen_fig.py +47 -0
  431. nucleardatapy/fig/corr_setupEsymLsym_fig.py +56 -0
  432. nucleardatapy/fig/corr_setupKsatQsat_fig.py +64 -0
  433. nucleardatapy/fig/crust_setupCrust_fig.py +52 -0
  434. nucleardatapy/fig/eos_setupAMBeq_fig.py +204 -0
  435. nucleardatapy/fig/eos_setupAMLeq_fig.py +209 -0
  436. nucleardatapy/fig/eos_setupAM_fig.py +81 -0
  437. nucleardatapy/fig/hnuc_setupChart_fig.py +54 -0
  438. nucleardatapy/fig/hnuc_setupRE1LExp_fig.py +44 -0
  439. nucleardatapy/fig/matter_ENM_fig.py +119 -0
  440. nucleardatapy/fig/matter_ESM_fig.py +119 -0
  441. nucleardatapy/fig/matter_Esym_fig.py +122 -0
  442. nucleardatapy/fig/matter_setupFFGNuc_fig.py +172 -0
  443. nucleardatapy/fig/matter_setupHIC_fig.py +101 -0
  444. nucleardatapy/fig/matter_setupMicroEsym_fig.py +85 -0
  445. nucleardatapy/fig/matter_setupMicro_LP_fig.py +109 -0
  446. nucleardatapy/fig/matter_setupMicro_band_fig.py +85 -0
  447. nucleardatapy/fig/matter_setupMicro_effmass_fig.py +70 -0
  448. nucleardatapy/fig/matter_setupMicro_err_NM_fig.py +47 -0
  449. nucleardatapy/fig/matter_setupMicro_fig.py +165 -0
  450. nucleardatapy/fig/matter_setupMicro_gap_fig.py +161 -0
  451. nucleardatapy/fig/matter_setupNEPModelDist_fig.py +68 -0
  452. nucleardatapy/fig/matter_setupPhenoEsym_fig.py +100 -0
  453. nucleardatapy/fig/matter_setupPheno_fig.py +121 -0
  454. nucleardatapy/fig/nuc_setupBEExp_fig.py +122 -0
  455. nucleardatapy/hnuc/__init__.py +8 -0
  456. nucleardatapy/hnuc/setup_be1L_exp.py +233 -0
  457. nucleardatapy/hnuc/setup_be1Xi_exp.py +192 -0
  458. nucleardatapy/hnuc/setup_be2L_exp.py +202 -0
  459. nucleardatapy/matter/__init__.py +17 -0
  460. nucleardatapy/matter/setup_ffg.py +410 -0
  461. nucleardatapy/matter/setup_hic.py +314 -0
  462. nucleardatapy/matter/setup_micro.py +1635 -0
  463. nucleardatapy/matter/setup_micro_band.py +233 -0
  464. nucleardatapy/matter/setup_micro_effmass.py +215 -0
  465. nucleardatapy/matter/setup_micro_esym.py +352 -0
  466. nucleardatapy/matter/setup_micro_gap.py +381 -0
  467. nucleardatapy/matter/setup_micro_lp.py +347 -0
  468. nucleardatapy/matter/setup_nep.py +478 -0
  469. nucleardatapy/matter/setup_nep_dist.py +187 -0
  470. nucleardatapy/matter/setup_nep_model_dist.py +202 -0
  471. nucleardatapy/matter/setup_pheno.py +353 -0
  472. nucleardatapy/matter/setup_pheno_esym.py +271 -0
  473. nucleardatapy/nuc/__init__.py +12 -0
  474. nucleardatapy/nuc/setup_be_exp.py +1026 -0
  475. nucleardatapy/nuc/setup_be_theo.py +1086 -0
  476. nucleardatapy/nuc/setup_isgmr_exp.py +494 -0
  477. nucleardatapy/nuc/setup_nskin_exp.py +610 -0
  478. nucleardatapy/nuc/setup_nskin_theo.py +263 -0
  479. nucleardatapy/nuc/setup_rch_exp.py +159 -0
  480. nucleardatapy/nuc/setup_rch_theo.py +198 -0
  481. nucleardatapy/param.py +247 -0
  482. nucleardatapy-0.2.0.dist-info/LICENSE +402 -0
  483. nucleardatapy-0.2.0.dist-info/METADATA +115 -0
  484. nucleardatapy-0.2.0.dist-info/RECORD +491 -0
  485. nucleardatapy-0.2.0.dist-info/WHEEL +5 -0
  486. nucleardatapy-0.2.0.dist-info/top_level.txt +2 -0
  487. tests/__init__.py +16 -0
  488. tests/test_astro_setupMasses.py +18 -0
  489. tests/test_corr_setupKsatQsat.py +22 -0
  490. tests/test_matter_setupFFGNuc.py +21 -0
  491. tests/test_matter_setupMicro.py +20 -0
@@ -0,0 +1,119 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def matter_ENM_fig( pname, micro_mbs, pheno_models, band ):
7
+ """
8
+ Plot nucleonic energy per particle E/A in NM.\
9
+ The plot is 1x2 with:\
10
+ [0,0]: E/A versus den (micro). [0,1]: E/A versus den (pheno).\
11
+
12
+ :param pname: name of the figure (*.png)
13
+ :type pname: str.
14
+ :param micro_mbs: many-body (mb) approach considered.
15
+ :type micro_mbs: str.
16
+ :param pheno_models: models to run on.
17
+ :type pheno_models: array of str.
18
+ :param band: object instantiated on the reference band.
19
+ :type band: object.
20
+
21
+ """
22
+ #
23
+ print(f'Plot name: {pname}')
24
+ #
25
+ fig, axs = plt.subplots(1,2)
26
+ #fig.tight_layout() # Or equivalently, "plt.tight_layout()"
27
+ fig.subplots_adjust(left=0.10, bottom=0.12, right=None, top=0.9, wspace=0.05, hspace=0.3 )
28
+ #
29
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
30
+ axs[0].set_ylabel(r'$e_\text{NM}(n)$')
31
+ axs[0].set_xlim([0, 0.33])
32
+ axs[0].set_ylim([0, 30])
33
+ #
34
+ axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
35
+ #axs[1].set_ylabel(r'$e_{sym}(n)$')
36
+ axs[1].set_xlim([0, 0.33])
37
+ axs[1].set_ylim([0, 30])
38
+ axs[1].tick_params('y', labelleft=False)
39
+ #
40
+ mb_check = []
41
+ k = 0
42
+ #
43
+ for mb in micro_mbs:
44
+ #
45
+ models, models_lower = nuda.matter.micro_models_mb( mb )
46
+ #
47
+ for model in models:
48
+ #
49
+ enm = nuda.matter.setupMicro( model = model )
50
+ #
51
+ if enm.nm_e2a is not None:
52
+ print('mb:',mb,'model:',model)
53
+ if mb in mb_check:
54
+ if enm.marker:
55
+ if enm.err:
56
+ axs[0].errorbar( enm.nm_den, enm.nm_e2a, yerr=enm.nm_e2a_err, marker=enm.marker, linestyle=None, errorevery=enm.every, color=nuda.param.col[k] )
57
+ else:
58
+ axs[0].plot( enm.nm_den, enm.nm_e2a, marker=enm.marker, linestyle=None, markevery=enm.every, color=nuda.param.col[k] )
59
+ else:
60
+ if enm.err:
61
+ axs[0].errorbar( enm.nm_den, enm.nm_e2a, yerr=enm.nm_e2a_err, marker=enm.marker, linestyle=enm.linestyle, errorevery=enm.every, color=nuda.param.col[k] )
62
+ else:
63
+ axs[0].plot( enm.nm_den, enm.nm_e2a, marker=enm.marker, linestyle=enm.linestyle, markevery=enm.every, color=nuda.param.col[k] )
64
+ else:
65
+ mb_check.append(mb)
66
+ k += 1
67
+ if enm.marker:
68
+ if enm.err:
69
+ axs[0].errorbar( enm.nm_den, enm.nm_e2a, yerr=enm.nm_e2a_err, marker=enm.marker, linestyle=None, label=mb, errorevery=enm.every, color=nuda.param.col[k] )
70
+ else:
71
+ axs[0].plot( enm.nm_den, enm.nm_e2a, marker=enm.marker, linestyle=None, label=mb, markevery=enm.every, color=nuda.param.col[k] )
72
+ else:
73
+ if enm.err:
74
+ axs[0].errorbar( enm.nm_den, enm.nm_e2a, yerr=enm.nm_e2a_err, marker=enm.marker, linestyle=enm.linestyle, label=mb, errorevery=enm.every, color=nuda.param.col[k] )
75
+ else:
76
+ axs[0].plot( enm.nm_den, enm.nm_e2a, marker=enm.marker, linestyle=enm.linestyle, label=mb, markevery=enm.every, color=nuda.param.col[k] )
77
+ #axs[0].plot( esym.den, esym.esym, color=nuda.param.col[k], label=mb )
78
+ if nuda.env.verb: esm.print_outputs( )
79
+ axs[0].fill_between( band.den, y1=(band.e2a-band.e2a_std), y2=(band.e2a+band.e2a_std), color=band.color, alpha=band.alpha, visible=True )
80
+ axs[0].plot( band.den, (band.e2a-band.e2a_std), color='k', linestyle='dashed' )
81
+ axs[0].plot( band.den, (band.e2a+band.e2a_std), color='k', linestyle='dashed' )
82
+ axs[0].text(0.03,2,'microscopic models',fontsize='10')
83
+ #axs[0].legend(loc='upper left',fontsize='8', ncol=3)
84
+ #
85
+ model_check = []
86
+ k = 0
87
+ #
88
+ for model in pheno_models:
89
+ #
90
+ params, params_lower = nuda.matter.pheno_params( model = model )
91
+ #
92
+ for param in params:
93
+ #
94
+ enm = nuda.matter.setupPheno( model = model, param = param )
95
+ #
96
+ if enm.nm_e2a is not None:
97
+ print('model:',model,' param:',param)
98
+ if model in model_check:
99
+ axs[1].plot( enm.nm_den, enm.nm_e2a, color=nuda.param.col[k] )
100
+ else:
101
+ model_check.append(model)
102
+ k += 1
103
+ axs[1].plot( enm.nm_den, enm.nm_e2a, color=nuda.param.col[k], label=model )
104
+ #pheno.label=None
105
+ #axs[1].plot( esym.den, esym.esym, label=esym.label )
106
+ if nuda.env.verb: esym.print_outputs( )
107
+ axs[1].fill_between( band.den, y1=(band.e2a-band.e2a_std), y2=(band.e2a+band.e2a_std), color=band.color, alpha=band.alpha, visible=True )
108
+ axs[1].plot( band.den, (band.e2a-band.e2a_std), color='k', linestyle='dashed' )
109
+ axs[1].plot( band.den, (band.e2a+band.e2a_std), color='k', linestyle='dashed' )
110
+ axs[1].text(0.03,2,'phenomenological models',fontsize='10')
111
+ #axs[1].legend(loc='upper left',fontsize='8', ncol=2)
112
+ #axs[0,1].legend(loc='upper left',fontsize='xx-small', ncol=2)
113
+ fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
114
+ #
115
+ #plt.tight_layout()
116
+ if pname is not None:
117
+ plt.savefig(pname, dpi=200)
118
+ plt.close()
119
+ #
@@ -0,0 +1,119 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def matter_ESM_fig( pname, micro_mbs, pheno_models, band ):
7
+ """
8
+ Plot nucleonic energy per particle E/A in matter.\
9
+ The plot is 1x2 with:\
10
+ [0,0]: E/A versus den (micro). [0,1]: E/A versus den (pheno).\
11
+
12
+ :param pname: name of the figure (*.png)
13
+ :type pname: str.
14
+ :param micro_mbs: many-body (mb) approach considered.
15
+ :type micro_mbs: str.
16
+ :param pheno_models: models to run on.
17
+ :type pheno_models: array of str.
18
+ :param band: object instantiated on the reference band.
19
+ :type band: object.
20
+
21
+ """
22
+ #
23
+ print(f'Plot name: {pname}')
24
+ #
25
+ fig, axs = plt.subplots(1,2)
26
+ #fig.tight_layout() # Or equivalently, "plt.tight_layout()"
27
+ fig.subplots_adjust(left=0.10, bottom=0.12, right=None, top=0.9, wspace=0.05, hspace=0.3 )
28
+ #
29
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
30
+ axs[0].set_ylabel(r'$e_\text{SM}(n)$')
31
+ axs[0].set_xlim([0, 0.33])
32
+ axs[0].set_ylim([-25, 5])
33
+ #
34
+ axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
35
+ #axs[1].set_ylabel(r'$e_{sym}(n)$')
36
+ axs[1].set_xlim([0, 0.33])
37
+ axs[1].set_ylim([-25, 5])
38
+ axs[1].tick_params('y', labelleft=False)
39
+ #
40
+ mb_check = []
41
+ k = 0
42
+ #
43
+ for mb in micro_mbs:
44
+ #
45
+ models, models_lower = nuda.matter.micro_models_mb( mb )
46
+ #
47
+ for model in models:
48
+ #
49
+ esm = nuda.matter.setupMicro( model = model )
50
+ #
51
+ if esm.sm_e2a is not None:
52
+ print('mb:',mb,'model:',model)
53
+ if mb in mb_check:
54
+ if esm.marker:
55
+ if esm.err:
56
+ axs[0].errorbar( esm.sm_den, esm.sm_e2a, yerr=esm.sm_e2a_err, marker=esm.marker, linestyle=None, errorevery=esm.every, color=nuda.param.col[k] )
57
+ else:
58
+ axs[0].plot( esm.sm_den, esm.sm_e2a, marker=esm.marker, linestyle=None, markevery=esm.every, color=nuda.param.col[k] )
59
+ else:
60
+ if esm.err:
61
+ axs[0].errorbar( esm.sm_den, esm.sm_e2a, yerr=esm.sm_e2a_err, marker=esm.marker, linestyle=esm.linestyle, errorevery=esm.every, color=nuda.param.col[k] )
62
+ else:
63
+ axs[0].plot( esm.sm_den, esm.sm_e2a, marker=esm.marker, linestyle=esm.linestyle, markevery=esm.every, color=nuda.param.col[k] )
64
+ else:
65
+ mb_check.append(mb)
66
+ k += 1
67
+ if esm.marker:
68
+ if esm.err:
69
+ axs[0].errorbar( esm.sm_den, esm.sm_e2a, yerr=esm.sm_e2a_err, marker=esm.marker, linestyle=None, label=mb, errorevery=esm.every, color=nuda.param.col[k] )
70
+ else:
71
+ axs[0].plot( esm.sm_den, esm.sm_e2a, marker=esm.marker, linestyle=None, label=mb, markevery=esm.every, color=nuda.param.col[k] )
72
+ else:
73
+ if esm.err:
74
+ axs[0].errorbar( esm.sm_den, esm.sm_e2a, yerr=esm.sm_e2a_err, marker=esm.marker, linestyle=esm.linestyle, label=mb, errorevery=esm.every, color=nuda.param.col[k] )
75
+ else:
76
+ axs[0].plot( esm.sm_den, esm.sm_e2a, marker=esm.marker, linestyle=esm.linestyle, label=mb, markevery=esm.every, color=nuda.param.col[k] )
77
+ #axs[0].plot( esym.den, esym.esym, color=nuda.param.col[k], label=mb )
78
+ if nuda.env.verb: esm.print_outputs( )
79
+ axs[0].fill_between( band.den, y1=(band.e2a-band.e2a_std), y2=(band.e2a+band.e2a_std), color=band.color, alpha=band.alpha, visible=True )
80
+ axs[0].plot( band.den, (band.e2a-band.e2a_std), color='k', linestyle='dashed' )
81
+ axs[0].plot( band.den, (band.e2a+band.e2a_std), color='k', linestyle='dashed' )
82
+ axs[0].text(0.03,2,'microscopic models',fontsize='10')
83
+ #axs[0].legend(loc='upper left',fontsize='8', ncol=3)
84
+ #
85
+ model_check = []
86
+ k = 0
87
+ #
88
+ for model in pheno_models:
89
+ #
90
+ params, params_lower = nuda.matter.pheno_params( model = model )
91
+ #
92
+ for param in params:
93
+ #
94
+ esm = nuda.matter.setupPheno( model = model, param = param )
95
+ #
96
+ if esm.sm_e2a is not None:
97
+ print('model:',model,' param:',param)
98
+ if model in model_check:
99
+ axs[1].plot( esm.sm_den, esm.sm_e2a, color=nuda.param.col[k] )
100
+ else:
101
+ model_check.append(model)
102
+ k += 1
103
+ axs[1].plot( esm.sm_den, esm.sm_e2a, color=nuda.param.col[k], label=model )
104
+ #pheno.label=None
105
+ #axs[1].plot( esym.den, esym.esym, label=esym.label )
106
+ if nuda.env.verb: esym.print_outputs( )
107
+ axs[1].fill_between( band.den, y1=(band.e2a-band.e2a_std), y2=(band.e2a+band.e2a_std), color=band.color, alpha=band.alpha, visible=True )
108
+ axs[1].plot( band.den, (band.e2a-band.e2a_std), color='k', linestyle='dashed' )
109
+ axs[1].plot( band.den, (band.e2a+band.e2a_std), color='k', linestyle='dashed' )
110
+ axs[1].text(0.03,2,'phenomenological models',fontsize='10')
111
+ #axs[1].legend(loc='upper left',fontsize='8', ncol=2)
112
+ #axs[0,1].legend(loc='upper left',fontsize='xx-small', ncol=2)
113
+ fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=4,frameon=False)
114
+ #
115
+ #plt.tight_layout()
116
+ if pname is not None:
117
+ plt.savefig(pname, dpi=200)
118
+ plt.close()
119
+ #
@@ -0,0 +1,122 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def matter_Esym_fig( pname, micro_mbs, pheno_models, band ):
7
+ """
8
+ Plot nucleonic energy per particle E/A in matter.\
9
+ The plot is 2x2 with:\
10
+ [0,0]: E/A versus den. [0,1]: E/A versus kfn.\
11
+ [1,0]: E/E_NRFFG versus den. [1,1]: E/E_NRFFG versus kfn.\
12
+
13
+ :param pname: name of the figure (*.png)
14
+ :type pname: str.
15
+ :param mb: many-body (mb) approach considered.
16
+ :type mb: str.
17
+ :param models: models to run on.
18
+ :type models: array of str.
19
+ :param band: object instantiated on the reference band.
20
+ :type band: object.
21
+ :param matter: can be 'SM' or 'NM'.
22
+ :type matter: str.
23
+
24
+ """
25
+ #
26
+ print(f'Plot name: {pname}')
27
+ #
28
+ fig, axs = plt.subplots(1,2)
29
+ #fig.tight_layout() # Or equivalently, "plt.tight_layout()"
30
+ fig.subplots_adjust(left=0.10, bottom=0.12, right=None, top=0.9, wspace=0.05, hspace=0.3 )
31
+ #
32
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
33
+ axs[0].set_ylabel(r'$e_\text{sym}(n)$')
34
+ axs[0].set_xlim([0, 0.33])
35
+ axs[0].set_ylim([0, 60])
36
+ #
37
+ axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
38
+ #axs[1].set_ylabel(r'$e_{sym}(n)$')
39
+ axs[1].set_xlim([0, 0.33])
40
+ axs[1].set_ylim([0, 60])
41
+ axs[1].tick_params('y', labelleft=False)
42
+ #
43
+ mb_check = []
44
+ k = 0
45
+ #
46
+ for mb in micro_mbs:
47
+ #
48
+ models, models_lower = nuda.matter.micro_esym_models_mb( mb )
49
+ #
50
+ for model in models:
51
+ #
52
+ esym = nuda.matter.setupMicroEsym( model = model )
53
+ #
54
+ if esym.esym is not None:
55
+ print('mb:',mb,'model:',model)
56
+ if mb in mb_check:
57
+ if esym.marker:
58
+ if esym.err:
59
+ axs[0].errorbar( esym.den, esym.esym, yerr=esym.esym_err, marker=esym.marker, linestyle=None, errorevery=esym.every, color=nuda.param.col[k] )
60
+ else:
61
+ axs[0].plot( esym.den, esym.esym, marker=esym.marker, linestyle=None, markevery=esym.every, color=nuda.param.col[k] )
62
+ else:
63
+ if esym.err:
64
+ axs[0].errorbar( esym.den, esym.esym, yerr=esym.esym_err, marker=esym.marker, linestyle=esym.linestyle, errorevery=esym.every, color=nuda.param.col[k] )
65
+ else:
66
+ axs[0].plot( esym.den, esym.esym, marker=esym.marker, linestyle=esym.linestyle, markevery=esym.every, color=nuda.param.col[k] )
67
+ else:
68
+ mb_check.append(mb)
69
+ k += 1
70
+ if esym.marker:
71
+ if esym.err:
72
+ axs[0].errorbar( esym.den, esym.esym, yerr=esym.esym_err, marker=esym.marker, linestyle=None, label=mb, errorevery=esym.every, color=nuda.param.col[k] )
73
+ else:
74
+ axs[0].plot( esym.den, esym.esym, marker=esym.marker, linestyle=None, label=mb, markevery=esym.every, color=nuda.param.col[k] )
75
+ else:
76
+ if esym.err:
77
+ axs[0].errorbar( esym.den, esym.esym, yerr=esym.esym_err, marker=esym.marker, linestyle=esym.linestyle, label=mb, errorevery=esym.every, color=nuda.param.col[k] )
78
+ else:
79
+ axs[0].plot( esym.den, esym.esym, marker=esym.marker, linestyle=esym.linestyle, label=mb, markevery=esym.every, color=nuda.param.col[k] )
80
+ #axs[0].plot( esym.den, esym.esym, color=nuda.param.col[k], label=mb )
81
+ if nuda.env.verb: esym.print_outputs( )
82
+ axs[0].fill_between( band.den, y1=(band.e2a-band.e2a_std), y2=(band.e2a+band.e2a_std), color=band.color, alpha=band.alpha, visible=True )
83
+ axs[0].plot( band.den, (band.e2a-band.e2a_std), color='k', linestyle='dashed' )
84
+ axs[0].plot( band.den, (band.e2a+band.e2a_std), color='k', linestyle='dashed' )
85
+ axs[0].text(0.05,5,'microscopic models',fontsize='10')
86
+ #axs[0].legend(loc='upper left',fontsize='8', ncol=3)
87
+ #
88
+ model_check = []
89
+ k = 0
90
+ #
91
+ for model in pheno_models:
92
+ #
93
+ params, params_lower = nuda.matter.pheno_params( model = model )
94
+ #
95
+ for param in params:
96
+ #
97
+ esym = nuda.matter.setupPhenoEsym( model = model, param = param )
98
+ #
99
+ if esym.esym is not None:
100
+ print('model:',model,' param:',param)
101
+ if model in model_check:
102
+ axs[1].plot( esym.den, esym.esym, color=nuda.param.col[k] )
103
+ else:
104
+ model_check.append(model)
105
+ k += 1
106
+ axs[1].plot( esym.den, esym.esym, color=nuda.param.col[k], label=model )
107
+ #pheno.label=None
108
+ #axs[1].plot( esym.den, esym.esym, label=esym.label )
109
+ if nuda.env.verb: esym.print_outputs( )
110
+ axs[1].fill_between( band.den, y1=(band.e2a-band.e2a_std), y2=(band.e2a+band.e2a_std), color=band.color, alpha=band.alpha, visible=True )
111
+ axs[1].plot( band.den, (band.e2a-band.e2a_std), color='k', linestyle='dashed' )
112
+ axs[1].plot( band.den, (band.e2a+band.e2a_std), color='k', linestyle='dashed' )
113
+ axs[1].text(0.05,5,'phenomenological models',fontsize='10')
114
+ #axs[1].legend(loc='upper left',fontsize='8', ncol=2)
115
+ #axs[0,1].legend(loc='upper left',fontsize='xx-small', ncol=2)
116
+ fig.legend(loc='upper left',bbox_to_anchor=(0.2,1.0),columnspacing=2,fontsize='8',ncol=4,frameon=False)
117
+ #
118
+ #plt.tight_layout()
119
+ if pname is not None:
120
+ plt.savefig(pname, dpi=200)
121
+ plt.close()
122
+ #
@@ -0,0 +1,172 @@
1
+
2
+ import numpy as np
3
+ import matplotlib.pyplot as plt
4
+
5
+ import nucleardatapy as nuda
6
+
7
+ def matter_setupFFGNuc_EP_fig( pname, mss = [ 1.0 ], den = np.linspace(0.01,0.35,10), kfn = np.linspace(0.5,2.0,10) ):
8
+ """
9
+ Plot nucleonic FFG energy per particle E/A and pressure in NM and SM.\
10
+ The plot is 2x2 with:\
11
+ [0,0]: E/A versus den. [0,1]: E/A versus kfn.\
12
+ [1,0]: pre versus den. [1,1]: pre versus kfn.\
13
+
14
+ :param pname: name of the figure (*.png)
15
+ :type pname: str.
16
+ :param den: density.
17
+ :type den: float or numpy vector of real numbers.
18
+ :param kfn: neutron Fermi momentum.
19
+ :type kfn: float or numpy vector of real numbers.
20
+
21
+ """
22
+ #
23
+ print(f'Plot name: {pname}')
24
+ #
25
+ denkfn = nuda.matter.den( kfn )
26
+ delta0 = np.zeros(den.size)
27
+ delta1 = np.ones(den.size)
28
+ #
29
+ fig, axs = plt.subplots(2,2)
30
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
31
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.9, wspace=0.05, hspace=0.05 )
32
+ #
33
+ axs[0,0].set_ylabel(r'$e_\text{FFG,int}$')
34
+ axs[0,0].set_xlim([0, 0.33])
35
+ axs[0,0].set_ylim([0, 100])
36
+ axs[0,0].tick_params('x', labelbottom=False)
37
+ #
38
+ axs[1,0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
39
+ axs[1,0].set_ylabel(r'$p_\text{FFG}$ (MeV fm$^{-3}$)')
40
+ axs[1,0].set_xlim([0, 0.33])
41
+ axs[1,0].set_ylim([0, 23])
42
+ #
43
+ #axs[0,1].set_ylabel(r'$\Delta/E_F$')
44
+ axs[0,1].set_xlim([0.5, 2.0])
45
+ axs[0,1].set_ylim([0, 100])
46
+ axs[0,1].tick_params('y', labelleft=False)
47
+ axs[0,1].tick_params('x', labelbottom=False)
48
+ #
49
+ axs[1,1].set_xlabel(r'$k_{F_n}$ (fm$^{-1}$)')
50
+ #axs[1,1].set_ylabel(r'$\Delta$ (MeV)')
51
+ axs[1,1].set_xlim([0.5, 2.0])
52
+ axs[1,1].set_ylim([0, 23])
53
+ axs[1,1].tick_params('y', labelleft=False)
54
+ #
55
+ for ims,ms in enumerate(mss):
56
+ ffg0 = nuda.matter.setupFFGNuc( den, delta0, ms )
57
+ ffg0kf = nuda.matter.setupFFGNuc( denkfn, delta0, ms )
58
+ ffg1 = nuda.matter.setupFFGNuc( den, delta1, ms )
59
+ ffg1kf = nuda.matter.setupFFGNuc( denkfn, delta1, ms )
60
+ #
61
+ if any(ffg0.e2a_int_nr):
62
+ print(r'plot $\delta=0$ (SM)')
63
+ if ims == 0:
64
+ axs[0,0].plot( ffg0.den, ffg0.e2a_int, linestyle='solid', color=nuda.param.col[0], label=ffg0.label )
65
+ axs[0,0].plot( ffg0.den, ffg0.e2a_int_nr, linestyle='None', marker='o', color=nuda.param.col[0], label='NR'+ffg0.label )
66
+ else:
67
+ axs[0,0].plot( ffg0.den, ffg0.e2a_int, linestyle='solid', color=nuda.param.col[0] )
68
+ axs[0,0].plot( ffg0.den, ffg0.e2a_int_nr, linestyle='None', marker='o', color=nuda.param.col[0] )
69
+ axs[1,0].plot( ffg0.den, ffg0.pre, linestyle='solid', color=nuda.param.col[0] )
70
+ axs[1,0].plot( ffg0.den, ffg0.pre_nr, linestyle='None', marker='o', color=nuda.param.col[0] )
71
+ axs[0,1].plot( ffg0kf.kf_n, ffg0kf.e2a_int, linestyle='solid', color=nuda.param.col[0] )
72
+ axs[0,1].plot( ffg0kf.kf_n, ffg0kf.e2a_int_nr, linestyle='None', marker='o', color=nuda.param.col[0] )
73
+ axs[1,1].plot( ffg0kf.kf_n, ffg0kf.pre, linestyle='solid', color=nuda.param.col[0] )
74
+ axs[1,1].plot( ffg0kf.kf_n, ffg0kf.pre_nr, linestyle='None', marker='o', color=nuda.param.col[0] )
75
+ if nuda.env.verb_output: ffg0.print_outputs( )
76
+ if any(ffg1.e2a_int_nr):
77
+ print(r'plot $\delta=1$ (NM)')
78
+ if ims == 0:
79
+ axs[0,0].plot( ffg1.den, ffg1.e2a_int, linestyle='dashed', color=nuda.param.col[1], label=ffg1.label )
80
+ axs[0,0].plot( ffg1.den, ffg1.e2a_int_nr, linestyle='None', marker='o', color=nuda.param.col[1], label='NR'+ffg1.label )
81
+ else:
82
+ axs[0,0].plot( ffg1.den, ffg1.e2a_int, linestyle='dashed', color=nuda.param.col[1] )
83
+ axs[0,0].plot( ffg1.den, ffg1.e2a_int_nr, linestyle='None', marker='o', color=nuda.param.col[1] )
84
+ axs[1,0].plot( ffg1.den, ffg1.pre, linestyle='dashed', color=nuda.param.col[1] )
85
+ axs[1,0].plot( ffg1.den, ffg1.pre_nr, linestyle='None', marker='o', color=nuda.param.col[1] )
86
+ axs[0,1].plot( ffg1kf.kf_n, ffg1kf.e2a_int, linestyle='dashed', color=nuda.param.col[1] )
87
+ axs[0,1].plot( ffg1kf.kf_n, ffg1kf.e2a_int_nr, linestyle='None', marker='o', color=nuda.param.col[1] )
88
+ axs[1,1].plot( ffg1kf.kf_n, ffg1kf.pre, linestyle='dashed', color=nuda.param.col[1] )
89
+ axs[1,1].plot( ffg1kf.kf_n, ffg1kf.pre_nr, linestyle='None', marker='o', color=nuda.param.col[1] )
90
+ if nuda.env.verb_output: ffg1.print_outputs( )
91
+ #
92
+ axs[0,0].text(0.2,16,r'$m^*/m=$'+str(mss[0]),rotation=8)
93
+ axs[0,0].text(0.2,32,r'$m^*/m=$'+str(mss[1]),rotation=13)
94
+ axs[0,0].text(0.2,50,r'$m^*/m=$'+str(mss[2]),rotation=20)
95
+ #axs[1,0].legend(loc='upper right',fontsize='xx-small')
96
+ fig.legend(loc='upper left',bbox_to_anchor=(0.2,0.97),fontsize='6',ncol=4,frameon=False)
97
+ #
98
+ if pname is not None:
99
+ plt.savefig(pname, dpi=300)
100
+ plt.close()
101
+ #
102
+
103
+ def matter_setupFFGNuc_EOS_fig( pname, mss = [ 1.0 ], den = np.linspace(0.01,0.35,10) ):
104
+ """
105
+ Plot nucleonic FFG EOS in NM and SM.\
106
+ The plot is 1x2 with:\
107
+ [0]: EOS (pre) versus energy density rho.\
108
+ [1]: Sound speed c_s^2 versus energy density rho.\
109
+
110
+ :param pname: name of the figure (*.png)
111
+ :type pname: str.
112
+ :param den: density.
113
+ :type den: float or numpy vector of real numbers.
114
+
115
+ """
116
+ #
117
+ print(f'Plot name: {pname}')
118
+ #
119
+ delta0 = np.zeros(den.size)
120
+ delta1 = np.ones(den.size)
121
+ #
122
+ fig, axs = plt.subplots(2,1)
123
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
124
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.9, wspace=0.05, hspace=0.05 )
125
+ #
126
+ axs[0].set_ylabel(r'$p_\text{FFG}$')
127
+ axs[0].set_xlim([0, 360])
128
+ axs[0].set_ylim([0, 20])
129
+ axs[0].tick_params('x', labelbottom=False)
130
+ #
131
+ axs[1].set_xlabel(r'$\rho$ (MeV fm$^{-3}$)')
132
+ axs[1].set_ylabel(r'$c_\text{s,FFG}^2$')
133
+ axs[1].set_xlim([0, 360])
134
+ axs[1].set_ylim([0, 0.28])
135
+ #
136
+ for ims,ms in enumerate(mss):
137
+ ffg0 = nuda.matter.setupFFGNuc( den, delta0, ms )
138
+ ffg1 = nuda.matter.setupFFGNuc( den, delta1, ms )
139
+ #
140
+ if any(ffg0.e2a_int_nr):
141
+ print(r'plot $\delta=0$ (SM)')
142
+ if ims == 0:
143
+ axs[0].plot( ffg0.e2v, ffg0.pre, linestyle='solid', color=nuda.param.col[0], label=ffg0.label )
144
+ axs[0].plot( ffg0.e2v, ffg0.pre_nr, linestyle='None', marker='o', color=nuda.param.col[0], label='NR'+ffg0.label )
145
+ else:
146
+ axs[0].plot( ffg0.e2v, ffg0.pre, linestyle='solid', color=nuda.param.col[0] )
147
+ axs[0].plot( ffg0.e2v, ffg0.pre_nr, linestyle='None', marker='o', color=nuda.param.col[0] )
148
+ axs[1].plot( ffg0.e2v, ffg0.cs2, linestyle='solid', color=nuda.param.col[0] )
149
+ axs[1].plot( ffg0.e2v, ffg0.cs2_nr, linestyle='None', marker='o', color=nuda.param.col[0] )
150
+ if nuda.env.verb_output: ffg0.print_outputs( )
151
+ if any(ffg1.e2a_int_nr):
152
+ print(r'plot $\delta=1$ (NM)')
153
+ if ims == 0:
154
+ axs[0].plot( ffg1.e2v, ffg1.pre, linestyle='dashed', color=nuda.param.col[1], label=ffg1.label )
155
+ axs[0].plot( ffg1.e2v, ffg1.pre_nr, linestyle='None', marker='o', color=nuda.param.col[1], label='NR'+ffg1.label )
156
+ else:
157
+ axs[0].plot( ffg1.e2v, ffg1.pre, linestyle='dashed', color=nuda.param.col[1] )
158
+ axs[0].plot( ffg1.e2v, ffg1.pre_nr, linestyle='None', marker='o', color=nuda.param.col[1] )
159
+ axs[1].plot( ffg1.e2v, ffg1.cs2, linestyle='dashed', color=nuda.param.col[1] )
160
+ axs[1].plot( ffg1.e2v, ffg1.cs2_nr, linestyle='None', marker='o', color=nuda.param.col[1] )
161
+ if nuda.env.verb_output: ffg1.print_outputs( )
162
+ #
163
+ axs[1].text(300,0.07,r'$m^*/m=$'+str(mss[0]),rotation=3)
164
+ axs[1].text(240,0.12,r'$m^*/m=$'+str(mss[1]),rotation=4)
165
+ axs[1].text(180,0.2,r'$m^*/m=$'+str(mss[2]),rotation=5)
166
+ #axs[1,0].legend(loc='upper right',fontsize='xx-small')
167
+ fig.legend(loc='upper left',bbox_to_anchor=(0.15,0.97),fontsize='8',ncol=4,frameon=False)
168
+ #
169
+ if pname is not None:
170
+ plt.savefig(pname, dpi=300)
171
+ plt.close()
172
+ #
@@ -0,0 +1,101 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+ #plt.rcParams.update({'font.size': 16})
4
+ # Set clean font settings
5
+ # Set 'DejaVu Sans' as the font
6
+ plt.rcParams["font.family"] = "Times New Roman"
7
+ plt.rcParams['font.family'] = 'serif'
8
+ plt.rcParams['mathtext.fontset'] = 'stixsans'
9
+ plt.rcParams['font.serif'] = ['Times New Roman'] + plt.rcParams['font.serif']
10
+
11
+ import nucleardatapy as nuda
12
+
13
+ def matter_setupHIC_fig( pname, constraints ):
14
+ """
15
+ Plot nuclear chart (N versus Z).\
16
+ The plot is 1x2 with:\
17
+ [0]: nuclear chart.
18
+
19
+ :param pname: name of the figure (*.png)
20
+ :type pname: str.
21
+ :param table: table.
22
+ :type table: str.
23
+ :param version: version of table to run on.
24
+ :type version: str.
25
+ :param theo_tables: object instantiated on the reference band.
26
+ :type theo_tables: object.
27
+
28
+ """
29
+ #
30
+ print(f'Plot name: {pname}')
31
+ #
32
+ fig, axs = plt.subplots(2,2)
33
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
34
+ fig.subplots_adjust(left=0.10, bottom=0.12, right=None, top=0.98, wspace=0.25, hspace=0.05)
35
+ #
36
+ #axs[0,0].set_xlabel(r'$n$ (fm$^{-3}$)',fontsize='12')
37
+ #axs[0,1].set_xlabel(r'$n$ (fm$^{-3}$)',fontsize='12')
38
+ axs[1,0].set_xlabel(r'$n$ (fm$^{-3}$)',fontsize='12')
39
+ axs[1,1].set_xlabel(r'$n$ (fm$^{-3}$)',fontsize='12')
40
+ #
41
+ axs[0,0].set_ylabel(r'$p_\mathrm{SM}$ (MeV fm$^{-3}$)',fontsize='12')
42
+ axs[0,1].set_ylabel(r'$e_\mathrm{SM}$ (MeV)',fontsize='12')
43
+ axs[1,0].set_ylabel(r'$p_\mathrm{NM}$ (MeV fm$^{-3}$)',fontsize='12')
44
+ axs[1,1].set_ylabel(r'Symmetry energy (MeV)',fontsize='12')
45
+ #
46
+ axs[0,0].set_xlim([0.16, 0.8])
47
+ axs[0,0].set_ylim([0.5, 400])
48
+ axs[0,1].set_xlim([0.0, 0.44])
49
+ axs[0,1].set_ylim([-18, 20])
50
+ axs[1,0].set_xlim([0.16, 0.8])
51
+ axs[1,0].set_ylim([0.5, 400])
52
+ axs[1,1].set_xlim([0.0, 0.44])
53
+ axs[1,1].set_ylim([0.0, 80])
54
+ #
55
+ axs[0,0].set_yscale('log')
56
+ axs[1,0].set_yscale('log')
57
+ #
58
+ axs[0,0].tick_params('x', labelbottom=False)
59
+ axs[0,1].tick_params('x', labelbottom=False)
60
+ #
61
+ for constraint in constraints:
62
+ #
63
+ print('constraint:',constraint)
64
+ hic = nuda.matter.setupHIC( constraint = constraint )
65
+ #
66
+ if hic.sm_pre is not None:
67
+ axs[0,0].fill_between( hic.den, y1=hic.sm_pre_lo, y2=hic.sm_pre_up, label=hic.label, alpha=hic.alpha*0.8, color = hic.color )
68
+ #
69
+ if hic.sm_e2a is not None:
70
+ axs[0,1].fill_between( hic.den_e2a, y1=hic.sm_e2a_lo, y2=hic.sm_e2a_up, label=hic.label, alpha=hic.alpha, color ='magenta' )
71
+ #
72
+ if hic.nm_pre is not None:
73
+ axs[1,0].fill_between( hic.den, y1=hic.nm_pre_lo, y2=hic.nm_pre_up, label=hic.label_so, alpha=0.2, color ='b' )
74
+ axs[1,0].fill_between( hic.den, y1=hic.nm_pre_st_lo, y2=hic.nm_pre_st_up, label=hic.label_st, alpha=0.2, color ='g' )
75
+ #
76
+ if hic.sym_enr_isodiff is not None:
77
+ axs[1,1].errorbar( hic.den_isodiff, hic.sym_enr_isodiff, xerr = hic.den_isodiff_err, yerr=hic.sym_enr_isodiff_err, fmt='o',
78
+ label=hic.label, color = hic.color, capsize=2, capthick=1, elinewidth=1 , markersize =3)
79
+ #
80
+ if hic.sym_enr is not None:
81
+ axs[1,1].fill_between( hic.den, y1=hic.sym_enr_lo, y2=hic.sym_enr_up, label=hic.label, alpha=hic.alpha*0.7, color = hic.color )
82
+ #
83
+ if hic.sym_enr_np is not None:
84
+ axs[1,1].errorbar( hic.den_np, hic.sym_enr_np, xerr = hic.den_np_err, yerr=hic.sym_enr_np_err, fmt='o',
85
+ label=hic.label, color = hic.color, capsize=2, capthick=1, elinewidth=1, markersize =3 )
86
+ #
87
+ if hic.sym_enr_spirit is not None:
88
+ axs[1,1].errorbar( hic.den_spirit, hic.sym_enr_spirit, xerr = hic.den_spirit_err, yerr=hic.sym_enr_spirit_err, fmt='o',
89
+ label=hic.label, color = hic.color, capsize=2, capthick=1, elinewidth=1 , markersize =3)
90
+ #
91
+ #
92
+ #axs.text(0.15,12,r'$K_{sym}$='+str(int(Ksym))+' MeV',fontsize='12')
93
+ axs[0,0].legend(loc='lower right',fontsize='8')
94
+ axs[0,1].legend(loc='upper left',fontsize='8')
95
+ axs[1,0].legend(loc='lower right',fontsize='8')
96
+ axs[1,1].legend(loc='lower right',fontsize='8')
97
+ #
98
+ if pname is not None:
99
+ plt.savefig(pname, dpi=300)
100
+ plt.close()
101
+ #