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,161 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def matter_setupMicro_gap_1s0_fig( pname, models, matter = 'NM' ):
7
+ """
8
+ Plot the correlation between Esym and Lsym.\
9
+ The plot is 1x1 with:\
10
+ [0]: Esym - Lsym correlation plot
11
+
12
+ :param pname: name of the figure (*.png)
13
+ :type pname: str.
14
+ :param constraints: list of constraints to run on.
15
+ :type constraints: array of str.
16
+
17
+ """
18
+ #
19
+ print(f'Plot name: {pname}')
20
+ #
21
+ print('models:',models)
22
+ #
23
+ fig, axs = plt.subplots(2,2)
24
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
25
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.8, wspace=0.05, hspace=0.05 )
26
+ #
27
+ axs[0,0].set_ylabel(r'$\Delta_{1S0}$ (MeV)')
28
+ axs[0,0].set_xlim([0, 0.048])
29
+ axs[0,0].set_ylim([0, 3.0])
30
+ axs[0,0].tick_params('x', labelbottom=False)
31
+ #
32
+ axs[0,1].set_xlim([0, 1.6])
33
+ axs[0,1].set_ylim([0, 3.0])
34
+ axs[0,1].tick_params('x', labelbottom=False)
35
+ axs[0,1].tick_params('y', labelleft=False)
36
+ #
37
+ axs[1,0].set_ylabel(r'$\Delta_{1S0}/E_F$')
38
+ axs[1,0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
39
+ axs[1,0].set_xlim([0, 0.048])
40
+ axs[1,0].set_ylim([0, 0.78])
41
+ #
42
+ axs[1,1].set_xlabel(r'$k_{F_n}$ (fm$^{-1}$)')
43
+ axs[1,1].set_xlim([0, 1.6])
44
+ axs[1,1].set_ylim([0, 0.78])
45
+ axs[1,1].tick_params('y', labelleft=False)
46
+ #
47
+ for model in models:
48
+ #
49
+ gap = nuda.matter.setupMicroGap( model = model, matter = matter )
50
+ #
51
+ if matter.lower() == 'nm':
52
+ if gap.nm_gap_1s0 is not None:
53
+ if gap.nm_gap_1s0_err is not None:
54
+ axs[0,0].errorbar( gap.nm_den_1s0, gap.nm_gap_1s0, yerr=gap.nm_gap_1s0_err, marker=gap.marker, markevery=gap.every, linestyle='none', label=gap.label )
55
+ axs[0,1].errorbar( gap.nm_kfn_1s0, gap.nm_gap_1s0, yerr=gap.nm_gap_1s0_err, marker=gap.marker, markevery=gap.every, linestyle='none' )
56
+ axs[1,0].errorbar( gap.nm_den_1s0, gap.nm_gap_1s0/nuda.eF_n(gap.nm_kfn_1s0), yerr=gap.nm_gap_1s0_err/nuda.eF_n(gap.nm_kfn_1s0), marker=gap.marker, markevery=gap.every, linestyle='none' )
57
+ axs[1,1].errorbar( gap.nm_kfn_1s0, gap.nm_gap_1s0/nuda.eF_n(gap.nm_kfn_1s0), yerr=gap.nm_gap_1s0_err/nuda.eF_n(gap.nm_kfn_1s0), marker=gap.marker, markevery=gap.every, linestyle='none' )
58
+ else:
59
+ axs[0,0].plot( gap.nm_den_1s0, gap.nm_gap_1s0, marker=gap.marker, markevery=gap.every, linestyle='none', label=gap.label )
60
+ axs[0,1].plot( gap.nm_kfn_1s0, gap.nm_gap_1s0, marker=gap.marker, markevery=gap.every, linestyle='none' )
61
+ axs[1,0].plot( gap.nm_den_1s0, gap.nm_gap_1s0/nuda.eF_n(gap.nm_kfn_1s0), marker=gap.marker, markevery=gap.every, linestyle='none' )
62
+ axs[1,1].plot( gap.nm_kfn_1s0, gap.nm_gap_1s0/nuda.eF_n(gap.nm_kfn_1s0), marker=gap.marker, markevery=gap.every, linestyle='none' )
63
+ elif matter.lower() == 'sm':
64
+ if gap.sm_gap_1s0 is not None:
65
+ if gap.sm_gap_1s0_err is not None:
66
+ axs[0,0].errorbar( gap.sm_den_1s0, gap.sm_gap_1s0, yerr=gap.sm_gap_1s0_err, marker=gap.marker, markevery=gap.every, linestyle='none', label=gap.label )
67
+ axs[0,1].errorbar( gap.sm_kfn_1s0, gap.sm_gap_1s0, yerr=gap.sm_gap_1s0_err, marker=gap.marker, markevery=gap.every, linestyle='none' )
68
+ axs[1,0].errorbar( gap.sm_den_1s0, gap.sm_gap_1s0/nuda.eF_n(gap.sm_kfn_1s0), yerr=gap.sm_gap_1s0_err/nuda.eF_n(gap.sm_kfn_1s0), marker=gap.marker, markevery=gap.every, linestyle='none' )
69
+ axs[1,1].errorbar( gap.sm_kfn_1s0, gap.sm_gap_1s0/nuda.eF_n(gap.sm_kfn_1s0), yerr=gap.sm_gap_1s0_err/nuda.eF_n(gap.sm_kfn_1s0), marker=gap.marker, markevery=gap.every, linestyle='none' )
70
+ else:
71
+ axs[0,0].plot( gap.sm_den_1s0, gap.sm_gap_1s0, marker=gap.marker, markevery=gap.every, linestyle='none', label=gap.label )
72
+ axs[0,1].plot( gap.sm_kfn_1s0, gap.sm_gap_1s0, marker=gap.marker, markevery=gap.every, linestyle='none' )
73
+ axs[1,0].plot( gap.sm_den_1s0, gap.sm_gap_1s0/nuda.eF_n(gap.sm_kfn_1s0), marker=gap.marker, markevery=gap.every, linestyle='none' )
74
+ axs[1,1].plot( gap.sm_kfn_1s0, gap.sm_gap_1s0/nuda.eF_n(gap.sm_kfn_1s0), marker=gap.marker, markevery=gap.every, linestyle='none' )
75
+ if nuda.env.verb_output: gap.print_outputs( )
76
+ #
77
+ #axs[1,0].legend(loc='upper right',fontsize='8')
78
+ fig.legend(loc='upper left',bbox_to_anchor=(0.08,1.0),columnspacing=2,fontsize='8',ncol=3,frameon=False)
79
+ #
80
+ if pname is not None:
81
+ plt.savefig(pname, dpi=300)
82
+ plt.close()
83
+
84
+ def matter_setupMicro_gap_3pf2_fig( pname, models, matter = 'NM' ):
85
+ """
86
+ Plot the correlation between Esym and Lsym.\
87
+ The plot is 1x1 with:\
88
+ [0]: Esym - Lsym correlation plot
89
+
90
+ :param pname: name of the figure (*.png)
91
+ :type pname: str.
92
+ :param constraints: list of constraints to run on.
93
+ :type constraints: array of str.
94
+
95
+ """
96
+ #
97
+ print(f'Plot name: {pname}')
98
+ #
99
+ # plot 3PF2 pairing gap in NM
100
+ print('models:',models)
101
+ #
102
+ fig, axs = plt.subplots(2,2)
103
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
104
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.8, wspace=0.05, hspace=0.05 )
105
+ #
106
+ axs[0,0].set_ylabel(r'$\Delta_{3PF2}$ (MeV)')
107
+ axs[0,0].set_xlim([0, 0.38])
108
+ axs[0,0].set_ylim([0, 0.6])
109
+ axs[0,0].tick_params('x', labelbottom=False)
110
+ #
111
+ axs[0,1].set_xlim([0.6, 2.3])
112
+ axs[0,1].set_ylim([0, 0.6])
113
+ axs[0,1].tick_params('x', labelbottom=False)
114
+ axs[0,1].tick_params('y', labelleft=False)
115
+ #
116
+ axs[1,0].set_ylabel(r'$100\times \Delta_{3PF2}/E_F$')
117
+ axs[1,0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
118
+ axs[1,0].set_xlim([0, 0.38])
119
+ axs[1,0].set_ylim([0, 0.78])
120
+ #
121
+ axs[1,1].set_xlabel(r'$k_{F_n}$ (fm$^{-1}$)')
122
+ axs[1,1].set_xlim([0.6, 2.3])
123
+ axs[1,1].set_ylim([0, 0.78])
124
+ axs[1,1].tick_params('y', labelleft=False)
125
+ #
126
+ for model in models:
127
+ #
128
+ gap = nuda.matter.setupMicroGap( model = model, matter = matter )
129
+ #
130
+ if matter.lower() == 'nm':
131
+ if gap.nm_gap_3pf2 is not None:
132
+ if gap.nm_gap_3pf2_err is not None:
133
+ axs[0,0].errorbar( gap.nm_den_3pf2, gap.nm_gap_3pf2, yerr=gap.nm_gap_3pf2_err, marker=gap.marker, markevery=gap.every, linestyle='none', label=gap.label )
134
+ axs[0,1].errorbar( gap.nm_kfn_3pf2, gap.nm_gap_3pf2, yerr=gap.nm_gap_3pf2_err, marker=gap.marker, markevery=gap.every, linestyle='none' )
135
+ axs[1,0].errorbar( gap.nm_den_3pf2, 100*gap.nm_gap_3pf2/nuda.eF_n(gap.nm_kfn_3pf2), yerr=gap.nm_gap_3pf2_err/nuda.eF_n(gap.nm_kfn_3pf2), marker=gap.marker, markevery=gap.every, linestyle='none' )
136
+ axs[1,1].errorbar( gap.nm_kfn_3pf2, 100*gap.nm_gap_3pf2/nuda.eF_n(gap.nm_kfn_3pf2), yerr=gap.nm_gap_3pf2_err/nuda.eF_n(gap.nm_kfn_3pf2), marker=gap.marker, markevery=gap.every, linestyle='none' )
137
+ else:
138
+ axs[0,0].plot( gap.nm_den_3pf2, gap.nm_gap_3pf2, marker=gap.marker, markevery=gap.every, linestyle='none', label=gap.label )
139
+ axs[0,1].plot( gap.nm_kfn_3pf2, gap.nm_gap_3pf2, marker=gap.marker, markevery=gap.every, linestyle='none' )
140
+ axs[1,0].plot( gap.nm_den_3pf2, 100*gap.nm_gap_3pf2/nuda.eF_n(gap.nm_kfn_3pf2), marker=gap.marker, markevery=gap.every, linestyle='none' )
141
+ axs[1,1].plot( gap.nm_kfn_3pf2, 100*gap.nm_gap_3pf2/nuda.eF_n(gap.nm_kfn_3pf2), marker=gap.marker, markevery=gap.every, linestyle='none' )
142
+ elif matter.lower() == 'sm':
143
+ if gap.sm_gap_3pf2 is not None:
144
+ if gap.sm_gap_3pf2_err is not None:
145
+ axs[0,0].errorbar( gap.sm_den_3pf2, gap.sm_gap_3pf2, yerr=gap.sm_gap_3pf2_err, marker=gap.marker, markevery=gap.every, linestyle='none', label=gap.label )
146
+ axs[0,1].errorbar( gap.sm_kfn_3pf2, gap.sm_gap_3pf2, yerr=gap.sm_gap_3pf2_err, marker=gap.marker, markevery=gap.every, linestyle='none' )
147
+ axs[1,0].errorbar( gap.sm_den_3pf2, 100*gap.sm_gap_3pf2/nuda.eF_n(gap.sm_kfn_3pf2), yerr=gap.sm_gap_3pf2_err/nuda.eF_n(gap.sm_kfn_3pf2), marker=gap.marker, markevery=gap.every, linestyle='none' )
148
+ axs[1,1].errorbar( gap.sm_kfn_3pf2, 100*gap.sm_gap_3pf2/nuda.eF_n(gap.sm_kfn_3pf2), yerr=gap.sm_gap_3pf2_err/nuda.eF_n(gap.sm_kfn_3pf2), marker=gap.marker, markevery=gap.every, linestyle='none' )
149
+ else:
150
+ axs[0,0].plot( gap.sm_den_3pf2, gap.sm_gap_3pf2, marker=gap.marker, markevery=gap.every, linestyle='none', label=gap.label )
151
+ axs[0,1].plot( gap.sm_kfn_3pf2, gap.sm_gap_3pf2, marker=gap.marker, markevery=gap.every, linestyle='none' )
152
+ axs[1,0].plot( gap.sm_den_3pf2, 100*gap.sm_gap_3pf2/nuda.eF_n(gap.sm_kfn_3pf2), marker=gap.marker, markevery=gap.every, linestyle='none' )
153
+ axs[1,1].plot( gap.sm_kfn_3pf2, 100*gap.sm_gap_3pf2/nuda.eF_n(gap.sm_kfn_3pf2), marker=gap.marker, markevery=gap.every, linestyle='none' )
154
+ if nuda.env.verb_output: gap.print_outputs( )
155
+ #
156
+ #axs[1,0].legend(loc='upper right',fontsize='8')
157
+ fig.legend(loc='upper left',bbox_to_anchor=(0.04,1.0),columnspacing=2,fontsize='8',ncol=3,frameon=False)
158
+ #
159
+ if pname is not None:
160
+ plt.savefig(pname, dpi=300)
161
+ plt.close()
@@ -0,0 +1,68 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def matter_setupNEPModelDist_fig( pname, models ):
7
+ """
8
+ Plot nucleonic energy per particle E/A in matter.\
9
+ The plot is 5x2 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 models: models to run on.
15
+ :type models: array of str.
16
+
17
+ """
18
+ #
19
+ print(f'Plot name: {pname}')
20
+ #
21
+ fig, axs = plt.subplots(5,2)
22
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
23
+ fig.subplots_adjust(left=0.12, bottom=0.06, right=None, top=0.9, wspace=0.3, hspace=0.4 )
24
+ #
25
+ axs[0,0].set_ylabel(r'$E_\text{sat}$')
26
+ axs[0,0].set_xlim([-16.5, -15])
27
+ axs[1,0].set_ylabel(r'$n_\text{sat}$')
28
+ axs[1,0].set_xlim([0.14, 0.18])
29
+ axs[2,0].set_ylabel(r'$K_\text{sat}$')
30
+ axs[2,0].set_xlim([180, 360])
31
+ axs[3,0].set_ylabel(r'$Q_\text{sat}$')
32
+ axs[3,0].set_xlim([-1000, 1000])
33
+ axs[4,0].set_ylabel(r'$m_\text{sat}^{*}/m$')
34
+ axs[4,0].set_xlim([0.35, 1.2])
35
+ axs[0,1].set_ylabel(r'$E_\text{sym}$')
36
+ axs[0,1].set_xlim([26, 40])
37
+ axs[1,1].set_ylabel(r'$L_\text{sym}$')
38
+ axs[1,1].set_xlim([0, 120])
39
+ axs[2,1].set_ylabel(r'$K_\text{sym}$')
40
+ axs[2,1].set_xlim([-400, 220])
41
+ axs[3,1].set_ylabel(r'$Q_\text{sym}$')
42
+ axs[3,1].set_xlim([-50, 900])
43
+ axs[4,1].set_ylabel(r'$\Delta m_\text{sat}^{*}/m$')
44
+ axs[4,1].set_xlim([-0.5, 1.1])
45
+ #
46
+ # Built distribution of NEP
47
+ #
48
+ for model in models:
49
+ #
50
+ dist = nuda.matter.setupNEPModelDist( model )
51
+ #
52
+ axs[0,0].hist( dist.Esat, bins=10, label=model )
53
+ axs[1,0].hist( dist.nsat, bins=10 )
54
+ axs[2,0].hist( dist.Ksat, bins=10 )
55
+ axs[3,0].hist( dist.Qsat, bins=10 )
56
+ axs[4,0].hist( dist.msat, bins=10 )
57
+ axs[0,1].hist( dist.Esym, bins=10 )
58
+ axs[1,1].hist( dist.Lsym, bins=10 )
59
+ axs[2,1].hist( dist.Ksym, bins=10 )
60
+ axs[3,1].hist( dist.Qsym, bins=10 )
61
+ axs[4,1].hist( dist.Dmsat, bins=10 )
62
+ #
63
+ #axs[0,0].legend(loc='lower right',fontsize='10',ncol=2)
64
+ fig.legend(loc='upper left',bbox_to_anchor=(0.2,0.99),columnspacing=2,fontsize='8',ncol=4,frameon=False)
65
+ #
66
+ if pname is not None:
67
+ plt.savefig(pname, dpi=300)
68
+ plt.close()
@@ -0,0 +1,100 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def matter_setupPhenoEsym_fig( pname, models, band ):
7
+ """
8
+ Plot nuclear chart (N versus Z).\
9
+ The plot is 1x2 with:\
10
+ [0]: nuclear chart.
11
+
12
+ :param pname: name of the figure (*.png)
13
+ :type pname: str.
14
+ :param table: table.
15
+ :type table: str.
16
+ :param version: version of table to run on.
17
+ :type version: str.
18
+ :param theo_tables: object instantiated on the reference band.
19
+ :type theo_tables: object.
20
+
21
+ """
22
+ #
23
+ print(f'Plot name: {pname}')
24
+ #
25
+ fig, axs = plt.subplots(2,2)
26
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
27
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.8, wspace=0.2, hspace=0.2 )
28
+ #
29
+ axs[0,0].set_ylabel(r'$E_\mathrm{sym}$ (MeV)')
30
+ axs[0,0].set_xlim([0, 0.3])
31
+ axs[0,0].set_ylim([0, 50])
32
+ #
33
+ axs[0,1].set_xlim([0.5, 2.0])
34
+ axs[0,1].set_ylim([0, 50])
35
+ #
36
+ axs[1,0].set_ylabel(r'$E_\mathrm{sym}/E_\mathrm{sym, FFG}$')
37
+ axs[1,0].set_xlabel(r'n (fm$^{-3}$)')
38
+ axs[1,0].set_xlim([0, 0.3])
39
+ axs[1,0].set_ylim([1, 4])
40
+ #
41
+ axs[1,1].set_xlabel(r'$k_F$ (fm$^{-1}$)')
42
+ axs[1,1].set_xlim([0.5, 2.0])
43
+ axs[1,1].set_ylim([1, 4])
44
+ #
45
+ for model in models:
46
+ #
47
+ params, params_lower = nuda.matter.pheno_params( model = model )
48
+ #
49
+ for param in params:
50
+ #
51
+ print('in Sample: model, param',model,param)
52
+ esym = nuda.matter.setupPhenoEsym( model = model, param = param )
53
+ #
54
+ #print("esym:",esym.esym)
55
+ #print("den:",esym.den)
56
+ if esym.esym is not None:
57
+ print("esym_err:",esym.esym_err)
58
+ if esym.esym_err is not None:
59
+ if not nuda.matter.checkPheno(esym,band,'Esym'):
60
+ axs[0,0].errorbar( esym.den, esym.esym, yerr=esym.esym_err, marker=esym.marker, linestyle='none', errorevery=esym.every )
61
+ else:
62
+ axs[0,0].errorbar( esym.den, esym.esym, yerr=esym.esym_err, marker=esym.marker, linestyle='none', errorevery=esym.every, label=esym.label )
63
+ axs[0,1].errorbar( esym.kf, esym.esym, yerr=esym.esym_err, marker=esym.marker, linestyle='none', errorevery=esym.every )
64
+ axs[1,0].errorbar( esym.den, esym.esym/nuda.esymffg_nr(esym.kf), yerr=esym.esym_err/nuda.esymffg_nr(esym.kf), marker=esym.marker, linestyle='none', errorevery=esym.every )
65
+ axs[1,1].errorbar( esym.kf, esym.esym/nuda.esymffg_nr(esym.kf), yerr=esym.esym_err/nuda.esymffg_nr(esym.kf), marker=esym.marker, linestyle='none', errorevery=esym.every )
66
+ else:
67
+ if not nuda.matter.checkPheno(esym,band,'Esym'):
68
+ axs[0,0].plot( esym.den, esym.esym, marker=esym.marker, linestyle='dotted' )
69
+ axs[0,1].plot( esym.kf, esym.esym, marker=esym.marker, linestyle='dotted' )
70
+ axs[1,0].plot( esym.den, esym.esym/nuda.esymffg_nr(esym.kf), marker=esym.marker, linestyle='dotted' )
71
+ axs[1,1].plot( esym.kf, esym.esym/nuda.esymffg_nr(esym.kf), marker=esym.marker, linestyle='dotted' )
72
+ else:
73
+ axs[0,0].plot( esym.den, esym.esym, marker=esym.marker, linestyle=esym.linestyle, label=esym.label )
74
+ axs[0,1].plot( esym.kf, esym.esym, marker=esym.marker, linestyle=esym.linestyle )
75
+ axs[1,0].plot( esym.den, esym.esym/nuda.esymffg_nr(esym.kf), marker=esym.marker, linestyle=esym.linestyle )
76
+ axs[1,1].plot( esym.kf, esym.esym/nuda.esymffg_nr(esym.kf), marker=esym.marker, linestyle=esym.linestyle )
77
+ if nuda.env.verb_output: esym.print_outputs( )
78
+ #
79
+ axs[0,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,0].plot( band.den, (band.e2a-band.e2a_std), color='k', linestyle='dashed', visible=True )
81
+ axs[0,0].plot( band.den, (band.e2a+band.e2a_std), color='k', linestyle='dashed', visible=True )
82
+ axs[0,1].fill_between( band.kfn, y1=(band.e2a-band.e2a_std), y2=(band.e2a+band.e2a_std), color=band.color, alpha=band.alpha, visible=True )
83
+ axs[0,1].plot( band.kfn, (band.e2a-band.e2a_std), color='k', linestyle='dashed', visible=True )
84
+ axs[0,1].plot( band.kfn, (band.e2a+band.e2a_std), color='k', linestyle='dashed', visible=True )
85
+ axs[1,0].fill_between( band.den, y1=(band.e2a-band.e2a_std)/nuda.esymffg_nr(band.kfn), y2=(band.e2a+band.e2a_std)/nuda.esymffg_nr(band.kfn), color=band.color, alpha=band.alpha, visible=True )
86
+ axs[1,0].plot( band.den, (band.e2a-band.e2a_std)/nuda.esymffg_nr(band.kfn), color='k', linestyle='dashed', visible=True )
87
+ axs[1,0].plot( band.den, (band.e2a+band.e2a_std)/nuda.esymffg_nr(band.kfn), color='k', linestyle='dashed', visible=True )
88
+ axs[1,1].fill_between( band.kf, y1=(band.e2a-band.e2a_std)/nuda.esymffg_nr(band.kfn), y2=(band.e2a+band.e2a_std)/nuda.esymffg_nr(band.kfn), color=band.color, alpha=band.alpha, visible=True )
89
+ axs[1,1].plot( band.kfn, (band.e2a-band.e2a_std)/nuda.esymffg_nr(band.kfn), color='k', linestyle='dashed', visible=True )
90
+ axs[1,1].plot( band.kfn, (band.e2a+band.e2a_std)/nuda.esymffg_nr(band.kfn), color='k', linestyle='dashed', visible=True )
91
+ #
92
+ axs[0,0].plot( esym.den, nuda.esymffg_nr(esym.kf), linestyle='dashed' )
93
+ axs[0,1].plot( esym.kf, nuda.esymffg_nr(esym.kf), linestyle='dashed' )
94
+
95
+ #axs[1,0].legend(loc='upper right',fontsize='8')
96
+ fig.legend(loc='upper left',bbox_to_anchor=(0.1,1.0),columnspacing=2,fontsize='8',ncol=4,frameon=False)
97
+ #
98
+ if pname is not None:
99
+ plt.savefig(pname, dpi=300)
100
+ plt.close()
@@ -0,0 +1,121 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def matter_setupPheno_E_fig( pname, model, band, matter ):
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 model: class of model considered.
16
+ :type model: str.
17
+ :param band: object instantiated on the reference band.
18
+ :type band: object.
19
+ :param matter: can be 'SM' or 'NM'.
20
+ :type matter: str.
21
+
22
+ """
23
+ #
24
+ print(f'Plot name: {pname}')
25
+ #
26
+ # plot
27
+ #
28
+ fig, axs = plt.subplots(2,2)
29
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
30
+ fig.subplots_adjust(left=0.15, bottom=0.12, right=None, top=0.88, wspace=0.05, hspace=0.05)
31
+ #
32
+ axs[0,0].set_xlim([0, 0.33])
33
+ axs[1,0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='12')
34
+ axs[1,0].set_xlim([0, 0.33])
35
+ axs[0,1].set_xlim([0.5, 1.5])
36
+ axs[1,1].set_xlabel(r'$k_{F_n}$ (fm$^{-1}$)',fontsize='12')
37
+ axs[1,1].set_xlim([0.5, 1.5])
38
+ #
39
+ axs[0,0].tick_params('x', labelbottom=False)
40
+ axs[0,1].tick_params('x', labelbottom=False)
41
+ axs[0,1].tick_params('y', labelleft=False)
42
+ axs[1,1].tick_params('y', labelleft=False)
43
+ #
44
+ if matter.lower() == 'nm':
45
+ axs[0,0].set_ylabel(r'$E_\text{NM}/A$ (MeV)',fontsize='12')
46
+ axs[0,0].set_ylim([0, 35])
47
+ axs[0,1].set_ylim([0, 15])
48
+ axs[1,0].set_ylabel(r'$E_\text{NM}/E_\text{NRFFG,NM}$',fontsize='12')
49
+ axs[1,0].set_ylim([0.2, 0.84])
50
+ axs[1,1].set_ylim([0.2, 0.84])
51
+ elif matter.lower() == 'sm':
52
+ axs[0,0].set_ylabel(r'$E_\text{SM}/A$ (MeV)',fontsize='12')
53
+ axs[0,0].set_ylim([-20, 10])
54
+ axs[0,1].set_ylim([-20, 10])
55
+ axs[1,0].set_ylabel(r'$E_\text{SM}/E_\text{NRFFG,SM}$',fontsize='12')
56
+ axs[1,0].set_ylim([-2.0, 0.1])
57
+ axs[1,1].set_ylim([-2.0, 0.1])
58
+ #
59
+ params, params_lower = nuda.matter.pheno_params( model = model )
60
+ #
61
+ for param in params:
62
+ #
63
+ pheno = nuda.matter.setupPheno( model = model, param = param )
64
+ if matter.lower() == 'nm':
65
+ if any(pheno.nm_e2a):
66
+ if model == 'Skyrme' and not nuda.matter.checkPheno(pheno,band,matter):
67
+ axs[0,0].plot( pheno.nm_den, pheno.nm_e2a, linestyle='solid' )
68
+ else:
69
+ axs[0,0].plot( pheno.nm_den, pheno.nm_e2a, linestyle='solid', label=pheno.label )
70
+ #print('model:',model,' param:',param,' inside band')
71
+ axs[0,1].plot( pheno.nm_kfn, pheno.nm_e2a, linestyle='solid' )
72
+ axs[1,0].plot( pheno.nm_den, pheno.nm_e2a/nuda.effg_nr(pheno.nm_kfn), linestyle='solid' )
73
+ axs[1,1].plot( pheno.nm_kfn, pheno.nm_e2a/nuda.effg_nr(pheno.nm_kfn), linestyle='solid' )
74
+ elif matter.lower() == 'sm':
75
+ if any(pheno.sm_e2a):
76
+ if model == 'Skyrme' and not nuda.matter.checkPheno(pheno,band,matter):
77
+ axs[0,0].plot( pheno.sm_den, pheno.sm_e2a, linestyle='solid' )
78
+ else:
79
+ axs[0,0].plot( pheno.sm_den, pheno.sm_e2a, linestyle='solid', label=pheno.label )
80
+ #print('model:',model,' param:',param,' inside band')
81
+ #axs[0,0].plot( pheno.sm_den, pheno.sm_e2a, linestyle='solid', label=pheno.label )
82
+ axs[0,1].plot( pheno.sm_kf, pheno.sm_e2a, linestyle='solid' )
83
+ axs[1,0].plot( pheno.sm_den, pheno.sm_e2a/nuda.effg_nr(pheno.sm_kf), linestyle='solid' )
84
+ axs[1,1].plot( pheno.sm_kf, pheno.sm_e2a/nuda.effg_nr(pheno.sm_kf), linestyle='solid' )
85
+ if nuda.env.verb_output: pheno.print_outputs( )
86
+ if matter.lower() == 'nm':
87
+ axs[0,0].fill_between( band.den, y1=(band.e2a-band.e2a_std), y2=(band.e2a+band.e2a_std), color=band.color, alpha=band.alpha )
88
+ axs[0,0].plot( band.den, (band.e2a-band.e2a_std), color='k', linestyle='dashed' )
89
+ axs[0,0].plot( band.den, (band.e2a+band.e2a_std), color='k', linestyle='dashed' )
90
+ axs[0,1].fill_between( band.kfn, y1=(band.e2a-band.e2a_std), y2=(band.e2a+band.e2a_std), color=band.color, alpha=band.alpha )
91
+ axs[0,1].plot( band.kfn, (band.e2a-band.e2a_std), color='k', linestyle='dashed' )
92
+ axs[0,1].plot( band.kfn, (band.e2a+band.e2a_std), color='k', linestyle='dashed' )
93
+ axs[1,0].fill_between( band.den, y1=(band.e2a-band.e2a_std)/nuda.effg_nr(band.kfn), y2=(band.e2a+band.e2a_std)/nuda.effg_nr(band.kfn), color=band.color, alpha=band.alpha )
94
+ axs[1,0].plot( band.den, (band.e2a-band.e2a_std)/nuda.effg_nr(band.kfn), color='k', linestyle='dashed' )
95
+ axs[1,0].plot( band.den, (band.e2a+band.e2a_std)/nuda.effg_nr(band.kfn), color='k', linestyle='dashed' )
96
+ axs[1,1].fill_between( band.kfn, y1=(band.e2a-band.e2a_std)/nuda.effg_nr(band.kfn), y2=(band.e2a+band.e2a_std)/nuda.effg_nr(band.kfn), color=band.color, alpha=band.alpha )
97
+ axs[1,1].plot( band.kfn, (band.e2a-band.e2a_std)/nuda.effg_nr(band.kfn), color='k', linestyle='dashed' )
98
+ axs[1,1].plot( band.kfn, (band.e2a+band.e2a_std)/nuda.effg_nr(band.kfn), color='k', linestyle='dashed' )
99
+ elif matter.lower() == 'sm':
100
+ axs[0,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 )
101
+ axs[0,0].plot( band.den, (band.e2a-band.e2a_std), color='k', linestyle='dashed' )
102
+ axs[0,0].plot( band.den, (band.e2a+band.e2a_std), color='k', linestyle='dashed' )
103
+ axs[0,1].fill_between( band.kfn, y1=(band.e2a-band.e2a_std), y2=(band.e2a+band.e2a_std), color=band.color, alpha=band.alpha, visible=True )
104
+ axs[0,1].plot( band.kfn, (band.e2a-band.e2a_std), color='k', linestyle='dashed' )
105
+ axs[0,1].plot( band.kfn, (band.e2a+band.e2a_std), color='k', linestyle='dashed' )
106
+ axs[1,0].fill_between( band.den, y1=(band.e2a-band.e2a_std)/nuda.effg_nr(band.kfn), y2=(band.e2a+band.e2a_std)/nuda.effg_nr(band.kfn), color=band.color, alpha=band.alpha, visible=True )
107
+ axs[1,0].plot( band.den, (band.e2a-band.e2a_std)/nuda.effg_nr(band.kfn), color='k', linestyle='dashed' )
108
+ axs[1,0].plot( band.den, (band.e2a+band.e2a_std)/nuda.effg_nr(band.kfn), color='k', linestyle='dashed' )
109
+ axs[1,1].fill_between( band.kfn, y1=(band.e2a-band.e2a_std)/nuda.effg_nr(band.kfn), y2=(band.e2a+band.e2a_std)/nuda.effg_nr(band.kfn), color=band.color, alpha=band.alpha, visible=True )
110
+ axs[1,1].plot( band.kfn, (band.e2a-band.e2a_std)/nuda.effg_nr(band.kfn), color='k', linestyle='dashed' )
111
+ axs[1,1].plot( band.kfn, (band.e2a+band.e2a_std)/nuda.effg_nr(band.kfn), color='k', linestyle='dashed' )
112
+ #
113
+ #if model != 'Skyrme':
114
+ # axs[0,0].legend(loc='upper right',fontsize='8', ncol=2)
115
+ fig.legend(loc='upper left',bbox_to_anchor=(0.1,1.0),columnspacing=2,fontsize='8',ncol=4,frameon=False)
116
+ #
117
+ #
118
+ if pname is not None:
119
+ plt.savefig(pname, dpi=300)
120
+ plt.close()
121
+ #
@@ -0,0 +1,122 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def nuc_setupBEExp_chart_lt_fig( pname, table, version, theo_tables ):
7
+ """
8
+ Plot nuclear chart (N versus Z).\
9
+ The plot is 1x1 with:\
10
+ [0]: nuclear chart.
11
+
12
+ :param pname: name of the figure (*.png)
13
+ :type pname: str.
14
+ :param table: table.
15
+ :type table: str.
16
+ :param version: version of table to run on.
17
+ :type version: str.
18
+ :param theo_tables: object instantiated on the reference band.
19
+ :type theo_tables: object.
20
+
21
+ """
22
+ #
23
+ print(f'Plot name: {pname}')
24
+ #
25
+ print('Table:',table)
26
+ #
27
+ # plot
28
+ #
29
+ fig, axs = plt.subplots(1,1)
30
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
31
+ fig.subplots_adjust(left=0.12, bottom=0.15, right=None, top=0.85, wspace=0.3, hspace=0.3)
32
+ #
33
+ axs.set_title(r''+table+' mass table version '+version)
34
+ axs.set_ylabel(r'Z')
35
+ axs.set_xlabel(r'N')
36
+ axs.set_xlim([0, 200])
37
+ axs.set_ylim([0, 132])
38
+ axs.text(10,120,'Number of nuclei:')
39
+ #
40
+ # longlive nuclei
41
+ #
42
+ mas = nuda.nuc.setupBEExp( table = table, version = version )
43
+ ustbl = mas.select( state= 'gs', interp = 'n', nucleus = 'longlive' )
44
+ axs.scatter( ustbl.sel_nucN, ustbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'grey', label='longlive ('+str(ustbl.sel_nbNucSel)+')' )
45
+ #axs.text(10,96,'long live: '+str(ustbl.sel_nbNucSel))
46
+ #
47
+ # shortlive nuclei
48
+ #
49
+ mas = nuda.nuc.setupBEExp( table = table, version = version )
50
+ ustbl = mas.select( state= 'gs', interp = 'n', nucleus = 'shortlive' )
51
+ axs.scatter( ustbl.sel_nucN, ustbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'r', label='shortlive ('+str(ustbl.sel_nbNucSel)+')' )
52
+ #axs.text(10,88,'short live: '+str(ustbl.sel_nbNucSel))
53
+ #
54
+ # veryshortlive nuclei
55
+ #
56
+ mas = nuda.nuc.setupBEExp( table = table, version = version )
57
+ ustbl = mas.select( state= 'gs', interp = 'n', nucleus = 'veryshortlive' )
58
+ axs.scatter( ustbl.sel_nucN, ustbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'b', label='veryshortlive ('+str(ustbl.sel_nbNucSel)+')' )
59
+ #axs.text(10,80,'very short live: '+str(ustbl.sel_nbNucSel))
60
+ #
61
+ # unstable nuclei:
62
+ #
63
+ mas = nuda.nuc.setupBEExp( table = table, version = version )
64
+ ustbl = mas.select( state= 'gs', interp = 'n', nucleus = 'unstable' )
65
+ #axs.scatter( ustbl.sel_nucN, ustbl.sel_Z, marker='.', s = 1, linewidth=0, color = 'b' )
66
+ axs.text(10,104,'unstable: '+str(ustbl.sel_nbNucSel))
67
+ #
68
+ # drip line nuclei
69
+ #
70
+ legend = 0
71
+ for i,theo_table in enumerate( theo_tables ):
72
+ theo = nuda.nuc.setupBETheo( table = theo_table )
73
+ s2n = theo.S2n( Zmin=1, Zmax = 95 )
74
+ drip_S2n = s2n.drip_S2n( Zmin = 1, Zmax = 95 )
75
+ if legend == 0:
76
+ axs.scatter( drip_S2n.drip_S2n_N, drip_S2n.drip_S2n_Z, marker='o', s = 3, linewidth=0, color = 'green', label='Drip Lines' )
77
+ legend = 1
78
+ else:
79
+ axs.scatter( drip_S2n.drip_S2n_N, drip_S2n.drip_S2n_Z, marker='o', s = 3, linewidth=0, color = 'green' )
80
+ s2p = theo.S2p( Nmin=1, Nmax = 150 )
81
+ drip_S2p = s2p.drip_S2p( Nmin = 1, Nmax = 150 )
82
+ axs.scatter( drip_S2p.drip_S2p_N, drip_S2p.drip_S2p_Z, marker='o', s = 3, linewidth=0, color = 'green' )
83
+ #
84
+ # First and last isotopes
85
+ #
86
+ #iso = ustbl.isotopes( Zmin=1, Zmax = 95 )
87
+ #axs.scatter( iso.isotopes_Nmin, iso.isotopes_Z, marker='s', s = 3, linewidth=0, color = 'green', label='Isotope bounds' )
88
+ #axs.scatter( iso.isotopes_Nmax, iso.isotopes_Z, marker='s', s = 3, linewidth=0, color = 'green' )
89
+ #
90
+ # stable nuclei:
91
+ #
92
+ mas = nuda.nuc.setupBEExp( table = table, version = version )
93
+ stbl = mas.select( state= 'gs', interp = 'n', nucleus = 'stable' )
94
+ axs.scatter( stbl.sel_nucN, stbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'k' )
95
+ axs.text(10,112,'stable: '+str(stbl.sel_nbNucSel))
96
+ #
97
+ axs.text(60,120,str(ustbl.sel_nbNucSel+stbl.sel_nbNucSel))
98
+ #
99
+ # plot N=Z dotted line
100
+ #
101
+ axs.plot( [0, 130], [0, 130], linestyle='dotted', linewidth=1, color='k')
102
+ axs.text(105,120,'N=Z')
103
+ #
104
+ # plot stable_fit
105
+ #
106
+ N, Z = nuda.stable_fit( Zmin = 1, Zmax = 120 )
107
+ axs.plot( N, Z, linestyle='dashed', linewidth=1, color='k')
108
+ #
109
+ # plot shells for isotopes and isotones
110
+ #
111
+ axs = nuda.nuc.plot_shells(axs)
112
+ #
113
+ # set legend
114
+ #
115
+ axs.legend(loc='lower right',fontsize='10')
116
+ #
117
+ # set plot name and close
118
+ #
119
+ if pname is not None:
120
+ plt.savefig(pname, dpi=300)
121
+ plt.close()
122
+ #
@@ -0,0 +1,8 @@
1
+ """
2
+ This module provides microscopic, phenomenological and experimental data constraints.
3
+ """
4
+ #
5
+ from nucleardatapy.hnuc.setup_be1L_exp import *
6
+ from nucleardatapy.hnuc.setup_be2L_exp import *
7
+ from nucleardatapy.hnuc.setup_be1Xi_exp import *
8
+ #