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,85 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def matter_setupMicroEsym_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, NR}$')
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 ind,model in enumerate(models):
46
+ #
47
+ print('in Sample: model',model)
48
+ esym = nuda.matter.setupMicroEsym( model = model )
49
+ #
50
+ if esym.esym is not None:
51
+ if '2024-BHF' in model and (ind % 4 != 0.0): continue
52
+ if esym.esym_err is not None:
53
+ axs[0,0].errorbar( esym.den, esym.esym, yerr=esym.esym_err, marker=esym.marker, markevery=esym.every, linestyle='none', errorevery=esym.every, label=esym.label )
54
+ axs[0,1].errorbar( esym.kf, esym.esym, yerr=esym.esym_err, marker=esym.marker, markevery=esym.every, linestyle='none', errorevery=esym.every )
55
+ 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, markevery=esym.every, linestyle='none', errorevery=esym.every )
56
+ 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, markevery=esym.every, linestyle='none', errorevery=esym.every )
57
+ else:
58
+ axs[0,0].plot( esym.den, esym.esym, marker=esym.marker, markevery=esym.every, linestyle='none', label=esym.label )
59
+ axs[0,1].plot( esym.kf, esym.esym, marker=esym.marker, markevery=esym.every, linestyle='none' )
60
+ axs[1,0].plot( esym.den, esym.esym/nuda.esymffg_nr(esym.kf), marker=esym.marker, markevery=esym.every, linestyle='none' )
61
+ axs[1,1].plot( esym.kf, esym.esym/nuda.esymffg_nr(esym.kf), marker=esym.marker, markevery=esym.every, linestyle='none' )
62
+ if nuda.env.verb_output: esym.print_outputs( )
63
+ #
64
+ axs[0,0].plot( esym.den, nuda.esymffg_nr(esym.kf), linestyle='dashed' )
65
+ axs[0,1].plot( esym.kf, nuda.esymffg_nr(esym.kf), linestyle='dashed' )
66
+
67
+ 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 )
68
+ axs[0,0].plot( band.den, (band.e2a-band.e2a_std), color='k', linestyle='dashed', visible=True )
69
+ axs[0,0].plot( band.den, (band.e2a+band.e2a_std), color='k', linestyle='dashed', visible=True )
70
+ 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 )
71
+ axs[0,1].plot( band.kfn, (band.e2a-band.e2a_std), color='k', linestyle='dashed', visible=True )
72
+ axs[0,1].plot( band.kfn, (band.e2a+band.e2a_std), color='k', linestyle='dashed', visible=True )
73
+ axs[1,0].fill_between( band.den, y1=(band.e2a-band.e2a_std)/nuda.esymffg_nr(band.kf), y2=(band.e2a+band.e2a_std)/nuda.esymffg_nr(band.kf), color=band.color, alpha=band.alpha, visible=True )
74
+ axs[1,0].plot( band.den, (band.e2a-band.e2a_std)/nuda.esymffg_nr(band.kf), color='k', linestyle='dashed', visible=True )
75
+ axs[1,0].plot( band.den, (band.e2a+band.e2a_std)/nuda.esymffg_nr(band.kf), color='k', linestyle='dashed', visible=True )
76
+ axs[1,1].fill_between( band.kfn, y1=(band.e2a-band.e2a_std)/nuda.esymffg_nr(band.kf), y2=(band.e2a+band.e2a_std)/nuda.esymffg_nr(band.kf), color=band.color, alpha=band.alpha, visible=True )
77
+ axs[1,1].plot( band.kfn, (band.e2a-band.e2a_std)/nuda.esymffg_nr(band.kf), color='k', linestyle='dashed', visible=True )
78
+ axs[1,1].plot( band.kfn, (band.e2a+band.e2a_std)/nuda.esymffg_nr(band.kf), color='k', linestyle='dashed', visible=True )
79
+
80
+ #axs[1,0].legend(loc='upper right',fontsize='8')
81
+ fig.legend(loc='upper left',bbox_to_anchor=(0.1,1.0),columnspacing=2,fontsize='8',ncol=3,frameon=False)
82
+ #
83
+ if pname is not None:
84
+ plt.savefig(pname, dpi=300)
85
+ plt.close()
@@ -0,0 +1,109 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def matter_setupMicro_LP_fig( pname, models, matter = 'SM', ell = 0 ):
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 models: models to run on.
16
+ :type models: array of str.
17
+ :param matter: can be 'SM' (default) or 'NM'.
18
+ :type matter: str.
19
+ :param ell: Value of the angular momentum L of the Landau residual parameter. Can be 0 (default) or 1.
20
+ :type ell: int.
21
+
22
+ """
23
+ #
24
+ print(f'Plot name: {pname}')
25
+ #
26
+ if matter.lower() == 'sm':
27
+ fig, axs = plt.subplots(2,2)
28
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=0.98, top=0.98, wspace=0.15, hspace=0.05 )
29
+ elif matter.lower() == 'nm':
30
+ fig, axs = plt.subplots(1,2)
31
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=0.98, top=0.98, wspace=0.15, hspace=0.3 )
32
+ else:
33
+ print('matter_setupMicro_LP_fig: issue with matter:',matter)
34
+ print('matter_setupMicro_LP_fig: --- exit() ---')
35
+ exit()
36
+ #
37
+ #
38
+ if matter.lower() == 'sm':
39
+ axs[0,0].set_xlim([0, 2.0])
40
+ axs[0,0].set_ylim([-2.1, 1.6])
41
+ if ell == 0: axs[0,0].set_ylabel(r'$F_0$')
42
+ if ell == 1: axs[0,0].set_ylabel(r'$F_1$')
43
+ axs[0,0].tick_params('x', labelbottom=False)
44
+ if ell == 0: axs[0,1].set_ylabel(r'$G_0$')
45
+ if ell == 1: axs[0,1].set_ylabel(r'$G_1$')
46
+ axs[0,1].set_xlim([0, 2.0])
47
+ axs[0,1].set_ylim([-2.1, 1.6])
48
+ axs[0,1].tick_params('x', labelbottom=False)
49
+ axs[0,1].tick_params('y', labelleft=False)
50
+ if ell == 0: axs[1,0].set_ylabel(r'$F_0^\prime$')
51
+ if ell == 1: axs[1,0].set_ylabel(r'$F_1^\prime$')
52
+ axs[1,0].set_xlabel(r'$k_F$ (fm$^{-1}$)')
53
+ axs[1,0].set_xlim([0, 2.0])
54
+ axs[1,0].set_ylim([-2.1, 1.6])
55
+ if ell == 0: axs[1,1].set_ylabel(r'$G_0^\prime$')
56
+ if ell == 1: axs[1,1].set_ylabel(r'$G_1^\prime$')
57
+ axs[1,1].set_xlabel(r'$k_F$ (fm$^{-1}$)')
58
+ axs[1,1].set_xlim([0, 2.0])
59
+ axs[1,1].set_ylim([-2.1, 1.6])
60
+ axs[1,1].tick_params('y', labelleft=False)
61
+ elif matter.lower() == 'nm':
62
+ if ell == 0: axs[0].set_ylabel(r'$F_0$')
63
+ if ell == 1: axs[0].set_ylabel(r'$F_1$')
64
+ axs[0].set_xlabel(r'$k_{F_n}$ (fm$^{-1}$)')
65
+ axs[0].set_xlim([0, 2.0])
66
+ axs[0].set_ylim([-1.1, 1.1])
67
+ if ell == 0: axs[1].set_ylabel(r'$G_0$')
68
+ if ell == 1: axs[1].set_ylabel(r'$G_1$')
69
+ axs[1].set_xlabel(r'$k_{F_n}$ (fm$^{-1}$)')
70
+ axs[1].set_xlim([0, 2.0])
71
+ axs[1].set_ylim([-1.1, 1.1])
72
+ axs[1].tick_params('y', labelleft=False)
73
+ #
74
+ for model in models:
75
+ #
76
+ mic = nuda.matter.setupMicroLP( model = model )
77
+ if matter in model:
78
+ print('\nmodel:',model,'\n')
79
+ if mic.err:
80
+ if matter.lower() == 'sm' and mic.sm_kfn is not None:
81
+ axs[0,0].errorbar( mic.sm_kfn, mic.sm_LP['F'][ell], yerr=mic.sm_LP_F_err[ell], marker=mic.marker, linestyle='none', label=mic.label )
82
+ axs[0,1].errorbar( mic.sm_kfn, mic.sm_LP['G'][ell], yerr=mic.sm_LP_G_err[ell], marker=mic.marker, linestyle='none', label=mic.label )
83
+ axs[1,0].errorbar( mic.sm_kfn, mic.sm_LP['Fp'][ell], yerr=mic.sm_LP_Fp_err[ell], marker=mic.marker, linestyle='none', label=mic.label )
84
+ axs[1,1].errorbar( mic.sm_kfn, mic.sm_LP['Gp'][ell], yerr=mic.sm_LP_Gp_err[ell], marker=mic.marker, linestyle='none', label=mic.label )
85
+ elif matter.lower() == 'nm' and mic.nm_kfn is not None:
86
+ axs[0].errorbar( mic.nm_kfn, mic.nm_LP['F'][ell], marker=mic.marker, linestyle='none', label=mic.label )
87
+ axs[1].errorbar( mic.nm_kfn, mic.nm_LP['G'][ell], marker=mic.marker, linestyle='none', label=mic.label )
88
+ else:
89
+ if matter.lower() == 'sm' and mic.sm_kfn is not None:
90
+ axs[0,0].plot( mic.sm_kfn, mic.sm_LP['F'][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label )
91
+ axs[0,1].plot( mic.sm_kfn, mic.sm_LP['G'][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label )
92
+ axs[1,0].plot( mic.sm_kfn, mic.sm_LP['Fp'][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label )
93
+ axs[1,1].plot( mic.sm_kfn, mic.sm_LP['Gp'][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label )
94
+ elif matter.lower() == 'nm' and mic.nm_kfn is not None:
95
+ axs[0].plot( mic.nm_kfn, mic.nm_LP['F'][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label )
96
+ axs[1].plot( mic.nm_kfn, mic.nm_LP['G'][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label )
97
+ #
98
+ if nuda.env.verb_output: mic.print_outputs( )
99
+ #
100
+ #
101
+ if matter.lower() == 'sm':
102
+ axs[1,0].legend(loc='lower left',fontsize='6', ncol=2)
103
+ elif matter.lower() == 'nm':
104
+ axs[0].legend(loc='upper left',fontsize='8', ncol=1)
105
+ #
106
+ if pname is not None:
107
+ plt.savefig(pname, dpi=300)
108
+ plt.close()
109
+ #
@@ -0,0 +1,85 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def matter_setupMicro_band_fig( pname, models, den, matter ):
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
+ #den = 0.03*np.arange(13)
22
+ #
23
+ fig, axs = plt.subplots(1,2)
24
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
25
+ fig.subplots_adjust(left=0.15, bottom=0.12, right=None, top=0.98, wspace=0.38, hspace=0.3 )
26
+ #
27
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
28
+ axs[0].set_xlim([0, 0.2])
29
+ #
30
+ axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
31
+ axs[1].set_xlim([0, 0.2])
32
+ #
33
+ if matter.lower() == 'nm':
34
+ axs[0].set_ylabel(r'$E_\text{NM}$',fontsize='14')
35
+ axs[1].set_ylabel(r'$E_\text{NM}/E_\text{NM,NRFFG}$',fontsize='14')
36
+ axs[0].set_ylim([0, 20])
37
+ axs[1].set_ylim([0.2, 0.9])
38
+ elif matter.lower() == 'sm':
39
+ axs[0].set_ylabel(r'$E_\text{SM}$',fontsize='14')
40
+ axs[1].set_ylabel(r'$E_\text{SM}/E_\text{SM,NRFFG}$',fontsize='14')
41
+ axs[0].set_ylim([-20, 0])
42
+ axs[1].set_ylim([-1.0, 0.0])
43
+ elif matter.lower() == 'esym':
44
+ axs[0].set_ylabel(r'$E_\text{sym}$',fontsize='14')
45
+ axs[1].set_ylabel(r'$E_\text{sym}/E_\text{sym,NRFFG}$',fontsize='14')
46
+ axs[0].set_ylim([0, 50])
47
+ axs[1].set_ylim([1.5, 2.8])
48
+ #
49
+ for model in models:
50
+ #
51
+ mic = nuda.matter.setupMicro( model = model )
52
+ if nuda.env.verb_output: mic.print_outputs( )
53
+ if mic.nm_e2a is not None:
54
+ print('model:',model)
55
+ if matter.lower() == 'nm':
56
+ axs[0].errorbar( mic.nm_den, mic.nm_e2a, yerr= mic.nm_e2a_err, linestyle=mic.linestyle, label=mic.label, errorevery=mic.every )
57
+ axs[1].errorbar( mic.nm_den, mic.nm_e2a/nuda.effg_nr(mic.nm_kfn), yerr= mic.nm_e2a_err/nuda.effg_nr(mic.nm_kfn), linestyle=mic.linestyle, label=mic.label, errorevery=mic.every )
58
+ elif matter.lower() == 'sm':
59
+ axs[0].errorbar( mic.sm_den, mic.sm_e2a, yerr= mic.sm_e2a_err, linestyle=mic.linestyle, label=mic.label, errorevery=mic.every )
60
+ axs[1].errorbar( mic.sm_den, mic.sm_e2a/nuda.effg_nr(mic.sm_kfn), yerr= mic.sm_e2a_err/nuda.effg_nr(mic.sm_kfn), linestyle=mic.linestyle, label=mic.label, errorevery=mic.every )
61
+ elif matter.lower() == 'esym':
62
+ esym = nuda.matter.setupMicroEsym( model = model )
63
+ axs[0].errorbar( esym.den, esym.esym, yerr= esym.esym_err, linestyle=esym.linestyle, label=esym.label, errorevery=esym.every )
64
+ axs[1].errorbar( esym.den, esym.esym/nuda.esymffg_nr(esym.kf), yerr= esym.esym_err/nuda.esymffg_nr(esym.kf), linestyle=esym.linestyle, label=esym.label, errorevery=esym.every )
65
+ #
66
+ band = nuda.matter.setupMicroBand( models, den=den, matter=matter )
67
+ #
68
+ axs[0].fill_between( band.den, y1=band.e2a-band.e2a_std, y2=band.e2a+band.e2a_std, color=band.color, alpha=band.alpha )
69
+ if matter.lower() == 'nm':
70
+ axs[1].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 )
71
+ elif matter.lower() == 'sm':
72
+ axs[1].fill_between( band.den, y1=(band.e2a-band.e2a_std)/nuda.effg_nr(band.kf), y2=(band.e2a+band.e2a_std)/nuda.effg_nr(band.kf), color=band.color, alpha=band.alpha )
73
+ elif matter.lower() == 'esym':
74
+ axs[1].fill_between( band.den, y1=(band.e2a-band.e2a_std)/nuda.esymffg_nr(band.kf), y2=(band.e2a+band.e2a_std)/nuda.esymffg_nr(band.kf), color=band.color, alpha=band.alpha )
75
+ #
76
+ if matter.lower() == 'nm':
77
+ axs[1].legend(loc='upper left',fontsize='12', ncol=1)
78
+ elif matter.lower() == 'sm':
79
+ axs[1].legend(loc='upper left',fontsize='12', ncol=1)
80
+ elif matter.lower() == 'esym':
81
+ axs[0].legend(loc='upper left',fontsize='12', ncol=1)
82
+ #
83
+ if pname is not None:
84
+ plt.savefig(pname, dpi=200)
85
+ plt.close()
@@ -0,0 +1,70 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def matter_setupMicro_effmass_fig( pname, models, matter = 'NM' ):
7
+ """
8
+ Plot the effective mass as function of the density and Fermi momentum.\
9
+ The plot is 1x2 with:\
10
+ [0]: effmass(den)
11
+ [1]: effmass(kF)
12
+
13
+ :param pname: name of the figure (*.png)
14
+ :type pname: str.
15
+ :param models: list of models to run on.
16
+ :type models: array of str.
17
+ :param matter: chose between 'SM' and 'NM' (default).
18
+ :type matter: str.
19
+ """
20
+ #
21
+ print(f'Plot name: {pname}')
22
+ print('models:',models)
23
+ print('matter:',matter)
24
+ #
25
+ fig, axs = plt.subplots(1,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.05, hspace=0.05 )
28
+ #
29
+ axs[0].set_ylabel(r'Landau effective mass $m^*/m$')
30
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
31
+ axs[0].set_xlim([0, 0.34])
32
+ axs[0].set_ylim([0.4, 1.2])
33
+ #axs[0].tick_params('x', labelbottom=False)
34
+ #
35
+ axs[1].set_xlim([0, 2.0])
36
+ axs[1].set_ylim([0.4, 1.2])
37
+ #axs[1].tick_params('x', labelbottom=False)
38
+ axs[1].tick_params('y', labelleft=False)
39
+ axs[1].set_xlabel(r'$k_{F_n}$ (fm$^{-1}$)')
40
+ #
41
+ #axs[1,0].set_ylabel(r'$\Delta_{1S0}/E_F$')
42
+ #
43
+ for model in models:
44
+ #
45
+ ms = nuda.matter.setupMicroEffmass( model = model, matter = matter )
46
+ #
47
+ if matter.lower() == 'nm':
48
+ if ms.nm_effmass is not None:
49
+ if ms.nm_effmass_err is not None:
50
+ axs[0].errorbar( ms.nm_den, ms.nm_effmass, yerr=ms.nm_effmass_err, marker=ms.marker, markevery=ms.every, linestyle='none', label=ms.label )
51
+ axs[1].errorbar( ms.nm_kfn, ms.nm_effmass, yerr=ms.nm_effmass_err, marker=ms.marker, markevery=ms.every, linestyle='none' )
52
+ else:
53
+ axs[0].plot( ms.nm_den, ms.nm_effmass, marker=ms.marker, markevery=ms.every, linestyle='none', label=ms.label )
54
+ axs[1].plot( ms.nm_kfn, ms.nm_effmass, marker=ms.marker, markevery=ms.every, linestyle='none' )
55
+ elif matter.lower() == 'sm':
56
+ if ms.sm_effmass is not None:
57
+ if ms.sm_effmass_err is not None:
58
+ axs[0].errorbar( ms.sm_den, ms.sm_effmass, yerr=ms.sm_effmass_err, marker=ms.marker, markevery=ms.every, linestyle='none', label=ms.label )
59
+ axs[1].errorbar( ms.sm_kfn, ms.sm_effmass, yerr=ms.sm_effmass_err, marker=ms.marker, markevery=ms.every, linestyle='none' )
60
+ else:
61
+ axs[0].plot( ms.sm_den, ms.sm_effmass, marker=ms.marker, markevery=ms.every, linestyle='none', label=ms.label )
62
+ axs[1].plot( ms.sm_kfn, ms.sm_effmass, marker=ms.marker, markevery=ms.every, linestyle='none' )
63
+ if nuda.env.verb_output: ms.print_outputs( )
64
+ #
65
+ #axs[1,0].legend(loc='upper right',fontsize='8')
66
+ fig.legend(loc='upper left',bbox_to_anchor=(0.08,1.0),columnspacing=2,fontsize='8',ncol=3,frameon=False)
67
+ #
68
+ if pname is not None:
69
+ plt.savefig(pname, dpi=300)
70
+ plt.close()
@@ -0,0 +1,47 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def matter_setupMicro_err_NM_fig( pname, models ):
7
+ """
8
+ Plot uncertainties (err) estimated by different authors in NM.\
9
+ The plot is 1x1 with:\
10
+ [0]: uncertainty for E/A versus den.
11
+
12
+ :param pname: name of the figure (*.png)
13
+ :type pname: str.
14
+ :param models: array of models.
15
+ :type models: array of str.
16
+
17
+ """
18
+ #
19
+ print(f'Plot name: {pname}')
20
+ #
21
+ den = 0.03*np.arange(13)
22
+ #
23
+ fig, axs = plt.subplots(1,1)
24
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
25
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.98, wspace=0.2, hspace=0.2 )
26
+ #
27
+ axs.set_xlabel(r'n (fm$^{-3}$)',fontsize='12')
28
+ axs.set_ylabel(r'$\Delta E_{NM}/E_{NM}$',fontsize='12')
29
+ axs.set_xlim([0, 0.4])
30
+ axs.set_ylim([0, 0.3])
31
+ #
32
+ for model in models:
33
+ #
34
+ mic = nuda.matter.setupMicro( model = model )
35
+ if nuda.env.verb_output: mic.print_outputs( )
36
+ if mic.nm_e2a is not None:
37
+ print('model:',model)
38
+ axs.plot( mic.nm_den, mic.nm_e2a_err/mic.nm_e2a, marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle, label=mic.label )
39
+ #axs.plot( den, nuda.matter.uncertainty_stat(den), linestyle='dashed', linewidth=3, label='fit (MBPT)' )
40
+ axs.plot( den, nuda.matter.uncertainty_stat(den,err='MBPT'), linestyle='dashed', linewidth=3, label='fit (MBPT)' )
41
+ axs.plot( den, nuda.matter.uncertainty_stat(den,err='QMC'), linestyle='dashed', linewidth=3, label='fit (QMC)' )
42
+ #
43
+ axs.legend(loc='upper left',fontsize='12', ncol=3)
44
+ #
45
+ if pname is not None:
46
+ plt.savefig(pname, dpi=200)
47
+ plt.close()
@@ -0,0 +1,165 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def matter_setupMicro_E_fig( pname, mb, models, 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 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(2,2)
29
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
30
+ fig.subplots_adjust(left=0.10, bottom=0.12, right=None, top=0.85, wspace=0.05, hspace=0.05 )
31
+ #
32
+ axs[0,0].set_ylabel(r'$E_\text{NM}/A$ (MeV)')
33
+ axs[0,0].set_xlim([0, 0.33])
34
+ axs[1,0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
35
+ axs[1,0].set_ylabel(r'$E_\text{NM}/E_\text{NRFFG}$')
36
+ axs[1,0].set_xlim([0, 0.33])
37
+ axs[1,1].set_xlabel(r'$k_{F_n}$ (fm$^{-1}$)')
38
+ axs[0,1].tick_params('y', labelleft=False)
39
+ axs[1,1].tick_params('y', labelleft=False)
40
+ axs[0,0].tick_params('x', labelbottom=False)
41
+ axs[0,1].tick_params('x', labelbottom=False)
42
+ if matter.lower() == 'nm':
43
+ axs[0,0].set_ylim([0, 35])
44
+ axs[0,1].set_xlim([0.5, 2.0])
45
+ axs[0,1].set_ylim([0, 35])
46
+ axs[1,0].set_ylim([0.3, 0.84])
47
+ axs[1,1].set_xlim([0.5, 2.0])
48
+ axs[1,1].set_ylim([0.3, 0.84])
49
+ delta = 1.0
50
+ elif matter.lower() == 'sm':
51
+ axs[0,0].set_ylim([-20, 10])
52
+ axs[0,1].set_xlim([0, 1.5])
53
+ axs[0,1].set_ylim([-20, 10])
54
+ axs[1,0].set_ylim([-2.0, 0.1])
55
+ axs[1,1].set_xlim([0, 1.5])
56
+ axs[1,1].set_ylim([-2.0, 0.1])
57
+ delta = 0.0
58
+ #
59
+ for model in models:
60
+ #
61
+ mic = nuda.matter.setupMicro( model = model, var2 = delta )
62
+ print('model:',model,' delta:',delta)
63
+ if mic.nm_e2a is not None and 'FIT' not in model:
64
+ if 'NLEFT' in model:
65
+ if matter.lower() == 'nm':
66
+ axs[0,0].errorbar( mic.nm_den, mic.nm_e2adata, yerr=mic.nm_e2adata_err, linestyle = 'dotted', linewidth = 1, alpha=0.6 )
67
+ axs[0,1].errorbar( mic.nm_kfn, mic.nm_e2adata, yerr=mic.nm_e2adata_err, linestyle = 'dotted', linewidth = 1, alpha=0.6 )
68
+ axs[1,0].errorbar( mic.nm_den, mic.nm_e2adata/nuda.effg_nr(mic.nm_kfn), yerr=mic.nm_e2adata_err/nuda.effg_nr(mic.nm_kfn), linestyle = 'dotted', linewidth = 1, alpha=0.6 )
69
+ axs[1,1].errorbar( mic.nm_kfn, mic.nm_e2adata/nuda.effg_nr(mic.nm_kfn), yerr=mic.nm_e2adata_err/nuda.effg_nr(mic.nm_kfn), linestyle = 'dotted', linewidth = 1, alpha=0.6 )
70
+ elif matter.lower() == 'sm':
71
+ axs[0,0].errorbar( mic.sm_den, mic.sm_e2adata, yerr=mic.sm_e2adata_err, linestyle = 'dotted', linewidth = 1, alpha=0.6 )
72
+ axs[0,1].errorbar( mic.sm_kfn, mic.sm_e2adata, yerr=mic.sm_e2adata_err, linestyle = 'dotted', linewidth = 1, alpha=0.6 )
73
+ axs[1,0].errorbar( mic.sm_den, mic.sm_e2adata/nuda.effg_nr(mic.sm_kfn), yerr=mic.sm_e2adata_err/nuda.effg_nr(mic.sm_kfn), linestyle = 'dotted', linewidth = 1, alpha=0.6 )
74
+ axs[1,1].errorbar( mic.sm_kfn, mic.sm_e2adata/nuda.effg_nr(mic.sm_kfn), yerr=mic.sm_e2adata_err/nuda.effg_nr(mic.sm_kfn), linestyle = 'dotted', linewidth = 1, alpha=0.6 )
75
+ #
76
+ if matter.lower() == 'nm':
77
+ axs[0,0].fill_between( mic.nm_den, y1=(mic.nm_e2a-mic.nm_e2a_err), y2=(mic.nm_e2a+mic.nm_e2a_err), alpha=0.3 )
78
+ axs[0,1].fill_between( mic.nm_kfn, y1=(mic.nm_e2a-mic.nm_e2a_err), y2=(mic.nm_e2a+mic.nm_e2a_err), alpha=0.3 )
79
+ axs[1,0].fill_between( mic.nm_den, y1=(mic.nm_e2a-mic.nm_e2a_err)/nuda.effg_nr(mic.nm_kfn), y2=(mic.nm_e2a+mic.nm_e2a_err)/nuda.effg_nr(mic.nm_kfn), alpha=0.3 )
80
+ axs[1,1].fill_between( mic.nm_kfn, y1=(mic.nm_e2a-mic.nm_e2a_err)/nuda.effg_nr(mic.nm_kfn), y2=(mic.nm_e2a+mic.nm_e2a_err)/nuda.effg_nr(mic.nm_kfn), alpha=0.3 )
81
+ elif matter.lower() == 'sm':
82
+ axs[0,0].fill_between( mic.sm_den, y1=(mic.sm_e2a-mic.sm_e2a_err), y2=(mic.sm_e2a+mic.sm_e2a_err), alpha=0.3 )
83
+ axs[0,1].fill_between( mic.sm_kfn, y1=(mic.sm_e2a-mic.sm_e2a_err), y2=(mic.sm_e2a+mic.sm_e2a_err), alpha=0.3 )
84
+ axs[1,0].fill_between( mic.sm_den, y1=(mic.sm_e2a-mic.sm_e2a_err)/nuda.effg_nr(mic.sm_kfn), y2=(mic.sm_e2a+mic.sm_e2a_err)/nuda.effg_nr(mic.sm_kfn), alpha=0.3 )
85
+ axs[1,1].fill_between( mic.sm_kfn, y1=(mic.sm_e2a-mic.sm_e2a_err)/nuda.effg_nr(mic.sm_kfn), y2=(mic.sm_e2a+mic.sm_e2a_err)/nuda.effg_nr(mic.sm_kfn), alpha=0.3 )
86
+ if mic.marker:
87
+ if mic.err:
88
+ if matter.lower() == 'nm':
89
+ axs[0,0].errorbar( mic.nm_den, mic.nm_e2a, yerr=mic.nm_e2a_err, marker=mic.marker, markevery=mic.every, linestyle='None', label=mic.label, errorevery=mic.every )
90
+ axs[0,1].errorbar( mic.nm_kfn, mic.nm_e2a, yerr=mic.nm_e2a_err, marker=mic.marker, markevery=mic.every, linestyle='None', errorevery=mic.every )
91
+ axs[1,0].errorbar( mic.nm_den, mic.nm_e2a/nuda.effg_nr(mic.nm_kfn), yerr=mic.nm_e2a_err/nuda.effg_nr(mic.nm_kfn), marker=mic.marker, markevery=mic.every, linestyle='None', errorevery=mic.every )
92
+ axs[1,1].errorbar( mic.nm_kfn, mic.nm_e2a/nuda.effg_nr(mic.nm_kfn), yerr=mic.nm_e2a_err/nuda.effg_nr(mic.nm_kfn), marker=mic.marker, markevery=mic.every, linestyle='None', errorevery=mic.every )
93
+ elif matter.lower() == 'sm':
94
+ axs[0,0].errorbar( mic.sm_den, mic.sm_e2a, yerr=mic.sm_e2a_err, marker=mic.marker, markevery=mic.every, linestyle='None', label=mic.label, errorevery=mic.every )
95
+ axs[0,1].errorbar( mic.sm_kfn, mic.sm_e2a, yerr=mic.sm_e2a_err, marker=mic.marker, markevery=mic.every, linestyle='None', errorevery=mic.every )
96
+ axs[1,0].errorbar( mic.sm_den, mic.sm_e2a/nuda.effg_nr(mic.sm_kfn), yerr=mic.sm_e2a_err/nuda.effg_nr(mic.sm_kfn), marker=mic.marker, markevery=mic.every, linestyle='None', errorevery=mic.every )
97
+ axs[1,1].errorbar( mic.sm_kfn, mic.sm_e2a/nuda.effg_nr(mic.sm_kfn), yerr=mic.sm_e2a_err/nuda.effg_nr(mic.sm_kfn), marker=mic.marker, markevery=mic.every, linestyle='None', errorevery=mic.every )
98
+ else:
99
+ if matter.lower() == 'nm':
100
+ axs[0,0].plot( mic.nm_den, mic.nm_e2a, marker=mic.marker, markevery=mic.every, linestyle='None', label=mic.label )
101
+ axs[0,1].plot( mic.nm_kfn, mic.nm_e2a, marker=mic.marker, markevery=mic.every, linestyle='None' )
102
+ axs[1,0].plot( mic.nm_den, mic.nm_e2a/nuda.effg_nr(mic.nm_kfn), marker=mic.marker, markevery=mic.every, linestyle='None' )
103
+ axs[1,1].plot( mic.nm_kfn, mic.nm_e2a/nuda.effg_nr(mic.nm_kfn), marker=mic.marker, markevery=mic.every, linestyle='None' )
104
+ elif matter.lower() == 'sm':
105
+ axs[0,0].plot( mic.sm_den, mic.sm_e2a, marker=mic.marker, markevery=mic.every, linestyle='None', label=mic.label )
106
+ axs[0,1].plot( mic.sm_kfn, mic.sm_e2a, marker=mic.marker, markevery=mic.every, linestyle='None' )
107
+ axs[1,0].plot( mic.sm_den, mic.sm_e2a/nuda.effg_nr(mic.sm_kfn), marker=mic.marker, markevery=mic.every, linestyle='None' )
108
+ axs[1,1].plot( mic.sm_kfn, mic.sm_e2a/nuda.effg_nr(mic.sm_kfn), marker=mic.marker, markevery=mic.every, linestyle='None' )
109
+ else:
110
+ if mic.err:
111
+ if matter.lower() == 'nm':
112
+ axs[0,0].errorbar( mic.nm_den, mic.nm_e2a, yerr=mic.nm_e2a_err, marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle, label=mic.label, errorevery=mic.every )
113
+ axs[0,1].errorbar( mic.nm_kfn, mic.nm_e2a, yerr=mic.nm_e2a_err, marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle, errorevery=mic.every )
114
+ axs[1,0].errorbar( mic.nm_den, mic.nm_e2a/nuda.effg_nr(mic.nm_kfn), yerr=mic.nm_e2a_err/nuda.effg_nr(mic.nm_kfn), marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle, errorevery=mic.every )
115
+ axs[1,1].errorbar( mic.nm_kfn, mic.nm_e2a/nuda.effg_nr(mic.nm_kfn), yerr=mic.nm_e2a_err/nuda.effg_nr(mic.nm_kfn), marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle, errorevery=mic.every )
116
+ elif matter.lower() == 'sm':
117
+ axs[0,0].errorbar( mic.sm_den, mic.sm_e2a, yerr=mic.sm_e2a_err, marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle, label=mic.label, errorevery=mic.every )
118
+ axs[0,1].errorbar( mic.sm_kfn, mic.sm_e2a, yerr=mic.sm_e2a_err, marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle, errorevery=mic.every )
119
+ axs[1,0].errorbar( mic.sm_den, mic.sm_e2a/nuda.effg_nr(mic.sm_kfn), yerr=mic.sm_e2a_err/nuda.effg_nr(mic.sm_kfn), marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle, errorevery=mic.every )
120
+ axs[1,1].errorbar( mic.sm_kfn, mic.sm_e2a/nuda.effg_nr(mic.sm_kfn), yerr=mic.sm_e2a_err/nuda.effg_nr(mic.sm_kfn), marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle, errorevery=mic.every )
121
+ else:
122
+ if matter.lower() == 'nm':
123
+ axs[0,0].plot( mic.nm_den, mic.nm_e2a, marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle, label=mic.label )
124
+ axs[0,1].plot( mic.nm_kfn, mic.nm_e2a, marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle )
125
+ axs[1,0].plot( mic.nm_den, mic.nm_e2a/nuda.effg_nr(mic.nm_kfn), marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle )
126
+ axs[1,1].plot( mic.nm_kfn, mic.nm_e2a/nuda.effg_nr(mic.nm_kfn), marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle )
127
+ elif matter.lower() == 'sm':
128
+ axs[0,0].plot( mic.sm_den, mic.sm_e2a, marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle, label=mic.label )
129
+ axs[0,1].plot( mic.sm_kfn, mic.sm_e2a, marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle )
130
+ axs[1,0].plot( mic.sm_den, mic.sm_e2a/nuda.effg_nr(mic.sm_kfn), marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle )
131
+ axs[1,1].plot( mic.sm_kfn, mic.sm_e2a/nuda.effg_nr(mic.sm_kfn), marker=mic.marker, markevery=mic.every, linestyle=mic.linestyle )
132
+ elif mic.e2a is not None:
133
+ if 'fit' in model:
134
+ #print('den:',mic.den)
135
+ #print('e2a:',mic.e2a)
136
+ axs[0,0].plot( mic.den, mic.e2a, marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label )
137
+ axs[0,1].plot( mic.kfn, mic.e2a, marker=mic.marker, linestyle=mic.linestyle )
138
+ axs[1,0].plot( mic.den, mic.e2a/nuda.effg_nr(mic.kfn), marker=mic.marker, linestyle=mic.linestyle )
139
+ axs[1,1].plot( mic.kfn, mic.e2a/nuda.effg_nr(mic.kfn), marker=mic.marker, linestyle=mic.linestyle )
140
+ #
141
+ if nuda.env.verb_output: mic.print_outputs( )
142
+ #
143
+ 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 )
144
+ axs[0,0].plot( band.den, (band.e2a-band.e2a_std), color='k', linestyle='dashed' )
145
+ axs[0,0].plot( band.den, (band.e2a+band.e2a_std), color='k', linestyle='dashed' )
146
+ 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 )
147
+ axs[0,1].plot( band.kfn, (band.e2a-band.e2a_std), color='k', linestyle='dashed' )
148
+ axs[0,1].plot( band.kfn, (band.e2a+band.e2a_std), color='k', linestyle='dashed' )
149
+ 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 )
150
+ axs[1,0].plot( band.den, (band.e2a-band.e2a_std)/nuda.effg_nr(band.kfn), color='k', linestyle='dashed' )
151
+ axs[1,0].plot( band.den, (band.e2a+band.e2a_std)/nuda.effg_nr(band.kfn), color='k', linestyle='dashed' )
152
+ 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 )
153
+ axs[1,1].plot( band.kfn, (band.e2a-band.e2a_std)/nuda.effg_nr(band.kfn), color='k', linestyle='dashed' )
154
+ axs[1,1].plot( band.kfn, (band.e2a+band.e2a_std)/nuda.effg_nr(band.kfn), color='k', linestyle='dashed' )
155
+ #
156
+ #axs[0,1].legend(loc='upper left',fontsize='8', ncol=2)
157
+ #if mb not in 'BHF':
158
+ # axs[0,1].legend(loc='upper left',fontsize='8', ncol=2)
159
+ #
160
+ #plt.tight_layout(pad=3.0)
161
+ fig.legend(loc='upper left',bbox_to_anchor=(0.1,1.0),fontsize='8',ncol=3,frameon=False)
162
+ #
163
+ if pname is not None:
164
+ plt.savefig(pname, dpi=300)
165
+ plt.close()