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,43 @@
1
+ """
2
+ This module provides microscopic, phenomenological and experimental data constraints.
3
+ """
4
+ from nucleardatapy.fig.matter_setupFFGNuc_fig import *
5
+ from nucleardatapy.fig.matter_setupMicro_fig import *
6
+ from nucleardatapy.fig.matter_setupMicro_err_NM_fig import *
7
+ from nucleardatapy.fig.matter_setupMicro_band_fig import *
8
+ from nucleardatapy.fig.matter_setupMicro_effmass_fig import *
9
+ from nucleardatapy.fig.matter_setupMicro_gap_fig import *
10
+ from nucleardatapy.fig.matter_setupMicro_LP_fig import *
11
+ from nucleardatapy.fig.matter_setupMicroEsym_fig import *
12
+ #
13
+ from nucleardatapy.fig.matter_setupPheno_fig import *
14
+ from nucleardatapy.fig.matter_setupPhenoEsym_fig import *
15
+ #
16
+ from nucleardatapy.fig.matter_setupHIC_fig import *
17
+ #
18
+ from nucleardatapy.fig.matter_setupNEPModelDist_fig import *
19
+ #
20
+ from nucleardatapy.fig.matter_Esym_fig import *
21
+ from nucleardatapy.fig.matter_ESM_fig import *
22
+ from nucleardatapy.fig.matter_ENM_fig import *
23
+ #
24
+ from nucleardatapy.fig.corr_setupKsatQsat_fig import *
25
+ from nucleardatapy.fig.corr_setupEsymLsym_fig import *
26
+ from nucleardatapy.fig.corr_setupEsymDen_fig import *
27
+ #
28
+ from nucleardatapy.fig.nuc_setupBEExp_fig import *
29
+ #
30
+ from nucleardatapy.fig.hnuc_setupRE1LExp_fig import *
31
+ from nucleardatapy.fig.hnuc_setupChart_fig import *
32
+ #
33
+ from nucleardatapy.fig.eos_setupAM_fig import *
34
+ from nucleardatapy.fig.eos_setupAMBeq_fig import *
35
+ from nucleardatapy.fig.eos_setupAMLeq_fig import *
36
+ #
37
+ from nucleardatapy.fig.crust_setupCrust_fig import *
38
+ #
39
+ from nucleardatapy.fig.astro_setupGW_fig import *
40
+ from nucleardatapy.fig.astro_setupMasses_fig import *
41
+ from nucleardatapy.fig.astro_setupMR_fig import *
42
+ from nucleardatapy.fig.astro_setupMtov_fig import *
43
+ from nucleardatapy.fig.astro_setupMup_fig import *
@@ -0,0 +1,67 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def astro_setupGW_fig( pname, sources ):
7
+ """
8
+ Plot Tidal deformabilities for each sources.\
9
+ The plot is 1x1 with:\
10
+ [0]: Tidal deformabilities versus sources.
11
+
12
+ :param pname: name of the figure (*.png)
13
+ :type pname: str.
14
+ :param sources: array of sources names.
15
+ :type sources: array of str.
16
+
17
+ """
18
+ #
19
+ print(f'Plot name: {pname}')
20
+ #
21
+ # plot Lambda versus sources
22
+ #
23
+ fig, axs = plt.subplots(1,1)
24
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
25
+ fig.subplots_adjust(left=0.14, bottom=0.12, right=None, top=0.8, wspace=0.3, hspace=0.3)
26
+ #
27
+ axs.set_xlabel(r'sources',fontsize='12')
28
+ axs.set_ylabel(r'$\tilde{\Lambda}_{90\%}$',fontsize='12')
29
+ axs.set_xlim([0.8, 2.5])
30
+ axs.set_ylim([0, 1200])
31
+ #
32
+ isource = 1
33
+ xlabel = []
34
+ ilabel = []
35
+ for source in sources:
36
+ xlabel.append( source )
37
+ ilabel.append( isource )
38
+ #
39
+ # get the mass associated to `source` and `obs`
40
+ #
41
+ hyps = nuda.astro.gw_hyps( source = source )
42
+ print('obss:',hyps)
43
+ #
44
+ ihyp = 0
45
+ for hyp in hyps:
46
+ gw = nuda.astro.setupGW( source = source, hyp = hyp )
47
+ if nuda.env.verb_output: gw.print_output( )
48
+ if nuda.env.verb_latex: gw.print_latex( )
49
+ axs.errorbar( isource+ihyp/10, gw.lam, yerr=np.array([(gw.lam_sig_do,gw.lam_sig_up)]).T, label=gw.label, color=nuda.param.col[isource], marker=gw.marker, linestyle = 'solid', linewidth = 1 )
50
+ ihyp += 1
51
+ #
52
+ gwav = nuda.astro.setupGWAverage( source = source )
53
+ if nuda.env.verb_output: gwav.print_output( )
54
+ if nuda.env.verb_latex: gwav.print_latex( )
55
+ axs.errorbar( isource+ihyp/10, gwav.lam_cen, yerr=gwav.lam_sig_std, ms=12, label=gwav.label, color=nuda.param.col[isource], marker='^', linestyle = 'solid', linewidth = 3 )
56
+ #
57
+ isource += 1
58
+ #
59
+ axs.set_xticks( ilabel )
60
+ axs.set_xticklabels( xlabel )
61
+ axs.legend(loc='lower center',bbox_to_anchor=(0.5,1.01),columnspacing=2,fontsize='8', ncol=2,frameon=False)
62
+ #
63
+ #
64
+ if pname is not None:
65
+ plt.savefig(pname, dpi=200)
66
+ plt.close()
67
+ #
@@ -0,0 +1,88 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def astro_setupMR_fig( pname, sources, sources_av ):
7
+ """
8
+ Plot M-R constraints from NICER analyses.\
9
+ The plot is 1x1 with:\
10
+ [0]: Masses versus radii.
11
+
12
+ :param pname: name of the figure (*.png)
13
+ :type pname: str.
14
+ :param sources: array of sources.
15
+ :type sources: array of str.
16
+ :param sources_av: .
17
+ :type sources_av: .
18
+
19
+ """
20
+ #
21
+ print(f'Plot name: {pname}')
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.85, wspace=0.3, hspace=0.3)
26
+ #
27
+ axs.set_xlabel(r'$R$ (km)',fontsize='12')
28
+ axs.set_ylabel(r'M (M$_\odot$)',fontsize='12')
29
+ axs.set_xlim([10.5, 16.5])
30
+ axs.set_ylim([1.15, 2.2])
31
+ #
32
+ isource = 1
33
+ xlabel = []
34
+ ilabel = []
35
+ for source in sources:
36
+ xlabel.append( source )
37
+ ilabel.append( isource )
38
+ #
39
+ # get the mass associated to `source` and `obs`
40
+ #
41
+ obss = nuda.astro.mr_obss( source = source )
42
+ print(f'source: {source}, obss: {obss}')
43
+ #
44
+ iobs = 0
45
+ for obs in obss:
46
+ mr = nuda.astro.setupMR( source = source, obs = obs )
47
+ if nuda.env.verb_output: mr.print_output( )
48
+ if nuda.env.verb_latex: mr.print_latex( )
49
+ if source.lower() == 'j0030+0451' and obs == 3:
50
+ axs.errorbar( mr.rad, mr.mass, xerr=np.array([(mr.rad_sig_lo,mr.rad_sig_up)]).T, yerr=np.array([(mr.mass_sig_lo,mr.mass_sig_up)]).T, label=mr.label, color=nuda.param.col[isource], marker=mr.marker, linewidth = 1 )
51
+ elif source.lower() == 'j0030+0451' and obs == 4:
52
+ axs.errorbar( mr.rad, mr.mass, xerr=np.array([(mr.rad_sig_lo,mr.rad_sig_up)]).T, yerr=np.array([(mr.mass_sig_lo,mr.mass_sig_up)]).T, label=mr.label, color=nuda.param.col[isource], marker=mr.marker, linewidth = 1 )
53
+ else:
54
+ axs.errorbar( mr.rad, mr.mass, xerr=np.array([(mr.rad_sig_lo,mr.rad_sig_up)]).T, yerr=np.array([(mr.mass_sig_lo,mr.mass_sig_up)]).T, label=mr.label, color=nuda.param.col[isource], marker=mr.marker, linewidth = 1 )
55
+ iobs += 1
56
+ #
57
+ isource += 1
58
+ #
59
+ isource = 1
60
+ for source in sources_av:
61
+ if source.lower() == 'j0030+0451':
62
+ obss = [ 1, 2 ]
63
+ if source.lower() == 'j0740+6620':
64
+ obss = [ 1, 2 ]
65
+ mrav = nuda.astro.setupMRAverage( source = source, obss = obss )
66
+ if nuda.env.verb_output: mrav.print_output( )
67
+ if nuda.env.verb_latex: mrav.print_latex( )
68
+ axs.errorbar( mrav.rad_cen, mrav.mass_cen, xerr=mrav.rad_sig_std, yerr=mrav.mass_sig_std, ms=12, label=mrav.label, color=nuda.param.col[isource], marker='^', linestyle = 'solid', linewidth = 3 )
69
+ isource += 1
70
+ #
71
+ # write source name in plot:
72
+ #
73
+ for source in sources:
74
+ print('source:',source)
75
+ if source.lower() == 'j0030+0451':
76
+ axs.text(13.3,1.25,'J0030+0451')
77
+ elif source.lower() == 'j0740+6620':
78
+ axs.text(13,1.95,'J0740+6620')
79
+ elif source.lower() == 'j0437-4715':
80
+ axs.text(10.7,1.5,'J0437-4715')
81
+ #
82
+ #axs.legend(loc='upper left',fontsize='8', ncol=2)
83
+ axs.legend(loc='lower center',bbox_to_anchor=(0.48,1.01),columnspacing=2,fontsize='8',ncol=3,frameon=False)
84
+ #
85
+ if pname is not None:
86
+ plt.savefig(pname, dpi=200)
87
+ plt.close()
88
+ #
@@ -0,0 +1,64 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def astro_setupMasses_fig( pname, sources ):
7
+ """
8
+ Plot Masses for massives neutron stars as a function of sources.\
9
+ The plot is 1x1 with:\
10
+ [0]: masses versus sources.
11
+
12
+ :param pname: name of the figure (*.png)
13
+ :type pname: str.
14
+ :param sources: array of sources.
15
+ :type sources: array of str.
16
+
17
+ """
18
+ #
19
+ print(f'Plot name: {pname}')
20
+ #
21
+ fig, axs = plt.subplots(1,1)
22
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
23
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.7, wspace=0.3, hspace=0.3)
24
+ #
25
+ axs.set_ylabel(r'M (M$_\odot$)',fontsize='12')
26
+ axs.set_xlabel(r'sources',fontsize='12')
27
+ axs.set_ylim([1.7, 3.5])
28
+ axs.set_xlim([0.8, 5.5])
29
+ #
30
+ isource = 1
31
+ xlabel = []
32
+ ilabel = []
33
+ for source in sources:
34
+ xlabel.append( source )
35
+ ilabel.append( isource )
36
+ #
37
+ # get the mass associated to `source` and `obs`
38
+ #
39
+ obss = nuda.astro.masses_obss( source = source )
40
+ print(f'source: {source}, obss: {obss}')
41
+ #
42
+ iobs = 0
43
+ for obs in obss:
44
+ m = nuda.astro.setupMasses( source = source, obs = obs )
45
+ if nuda.env.verb_output: m.print_output( )
46
+ if nuda.env.verb_latex: m.print_latex( )
47
+ axs.errorbar( isource+iobs/10, m.mass, yerr=np.array([(m.sig_lo,m.sig_up)]).T, label=m.label, color=nuda.param.col[isource], marker='s', linestyle = 'solid', linewidth = 1 )
48
+ iobs += 1
49
+ #
50
+ mav = nuda.astro.setupMassesAverage( source = source )
51
+ if nuda.env.verb_output: mav.print_output( )
52
+ if nuda.env.verb_latex: mav.print_latex( )
53
+ axs.errorbar( isource+iobs/10, mav.mass_cen, yerr=mav.sig_std, label=mav.label, color=nuda.param.col[isource], marker='o', linestyle = 'solid', linewidth = 3 )
54
+ isource += 1
55
+ #
56
+ axs.set_xticks( ilabel )
57
+ axs.set_xticklabels( xlabel )
58
+ #axs.legend(loc='upper left',fontsize='8', ncol=2)
59
+ axs.legend(loc='lower center',bbox_to_anchor=(0.5,1.01),columnspacing=2,fontsize='8', ncol=2,frameon=False)
60
+ #
61
+ if pname is not None:
62
+ plt.savefig(pname, dpi=200)
63
+ plt.close()
64
+ #
@@ -0,0 +1,84 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def astro_setupMtov_fig( pname, sources_lo_all, sources_lo_dist, sources_up1, sources_up2, sources_up3 ):
7
+ """
8
+ Plot the distribution of maximum masses.\
9
+ The plot is 1x1 with:\
10
+ [0]: distribution of maximum mass versus maximum mass.
11
+
12
+ :param pname: name of the figure (*.png)
13
+ :type pname: str.
14
+ :param sources_lo_all: array of all sources (low boundaries).
15
+ :type sources_lo_all: array of str.
16
+ :param sources_lo_dist: array of sources considered for the distribution (low boundaries).
17
+ :type sources_lo_dist: array of str.
18
+ :param sources_up1: array of sources (up boundaries).
19
+ :type sources_up1: array of str.
20
+ :param sources_up2: array of sources (up boundaries).
21
+ :type sources_up2: array of str.
22
+ :param sources_up3: array of sources (up boundaries).
23
+ :type sources_up3: array of str.
24
+
25
+ """
26
+ #
27
+ print(f'Plot name: {pname}')
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.12, right=None, top=0.85, wspace=0.3, hspace=0.3)
32
+ #
33
+ axs.set_xlabel(r'M$_\mathrm{tov}$ (M$_\odot$)',fontsize='12')
34
+ axs.set_ylabel(r'probability (non-normalised)',fontsize='12')
35
+ axs.set_xlim([1.6, 3.4])
36
+ axs.set_ylim([0.0, 1.03])
37
+ #
38
+ sources_lo_nondist = []
39
+ for source in sources_lo_all:
40
+ if source not in sources_lo_dist:
41
+ sources_lo_nondist.append(source)
42
+ print('sources removed from distribution:',sources_lo_nondist)
43
+ #
44
+ prob0 = nuda.astro.setupMtov( sources_lo_nondist, sources_up1 )
45
+ prob1 = nuda.astro.setupMtov( sources_lo_dist, sources_up1 )
46
+ prob2 = nuda.astro.setupMtov( sources_lo_dist, sources_up2 )
47
+ prob3 = nuda.astro.setupMtov( sources_lo_dist, sources_up3 )
48
+ #
49
+ for ind,source in enumerate(sources_lo_nondist):
50
+ #
51
+ print(f'source: {source}')
52
+ axs.plot(prob0.mass, prob0.proba_lo[ind], label=prob0.label_lo[ind], color=nuda.param.col[ind], linestyle='dotted', linewidth = 1 )
53
+ #
54
+ for ind,source in enumerate(sources_lo_dist):
55
+ #
56
+ print(f'source: {source}')
57
+ axs.plot(prob1.mass, prob1.proba_lo[ind], label=prob1.label_lo[ind], color=nuda.param.col[ind], linestyle='dashed', linewidth = 3 )
58
+ #
59
+ #axs.plot(prob1.mass, prob1.proba_lo_tot, label=prob1.label_lo_tot, marker = 'o', markevery=4, color=nuda.param.col[0], linestyle='None' )
60
+ #
61
+ for ind,source in enumerate(sources_up1):
62
+ #
63
+ print(f'source: {source}')
64
+ axs.plot(prob1.mass, prob1.proba_up[ind], label=prob1.label_up[ind], color=nuda.param.col[ind], linestyle='dotted', linewidth = 3 )
65
+ #
66
+ #axs.plot(prob1.mass, prob1.proba_up_tot, label=prob1.label_up_tot, marker = 's', markevery=4, color=nuda.param.col[4], linestyle='None' )
67
+ #axs.plot(prob2.mass, prob2.proba_up_tot, label=prob2.label_up_tot, marker = 'v', markevery=7, color=nuda.param.col[5], linestyle='None' )
68
+ #axs.plot(prob3.mass, prob3.proba_up_tot, label=prob3.label_up_tot, marker = '^', markevery=10, color=nuda.param.col[6], linestyle='None' )
69
+ #
70
+ axs.plot(prob1.mass, prob1.proba_tot, label=prob1.label_tot+' case 1', marker = 's', markevery=4, color=nuda.param.col[4], linestyle='None' )
71
+ axs.plot(prob2.mass, prob2.proba_tot, label=prob2.label_tot+' case 2', marker = 'v', markevery=5, color=nuda.param.col[5], linestyle='None' )
72
+ axs.plot(prob3.mass, prob3.proba_tot, label=prob3.label_tot+' case 3', marker = '^', markevery=7, color=nuda.param.col[6], linestyle='None' )
73
+ #
74
+ #axs.plot(prob1.mass, prob1.proba_tot, label=prob1.label_tot, color=nuda.param.col[4], linestyle=(1, (2, 10)), linewidth = 3 )
75
+ #axs.plot(prob2.mass, prob2.proba_tot, label=prob2.label_tot, color=nuda.param.col[4], linestyle=(1, (3, 9)), linewidth = 3 )
76
+ #axs.plot(prob3.mass, prob3.proba_tot, label=prob3.label_tot, color=nuda.param.col[4], linestyle=(1, (4, 8)), linewidth = 3 )
77
+ #
78
+ #axs.legend( loc='upper left',fontsize='8', ncol=1 )
79
+ axs.legend(loc='lower center',bbox_to_anchor=(0.5,1.01),columnspacing=2,fontsize='8',ncol=4,frameon=False)
80
+ #
81
+ if pname is not None:
82
+ plt.savefig(pname, dpi=200)
83
+ plt.close()
84
+ #
@@ -0,0 +1,68 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def astro_setupMup_fig( pname, sources ):
7
+ """
8
+ Plot upper boundaries for the tov mass.\
9
+ The plot is 1x1 with:\
10
+ [0]: upper boundary for the mass versus sources.
11
+
12
+ :param pname: name of the figure (*.png)
13
+ :type pname: str.
14
+ :param sources: array of sources.
15
+ :type sources: array of str.
16
+
17
+ """
18
+ #
19
+ print(f'Plot name: {pname}')
20
+ #
21
+ fig, axs = plt.subplots(1,1)
22
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
23
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.8, wspace=0.3, hspace=0.3)
24
+ #
25
+ axs.set_xlabel(r'sources',fontsize='12')
26
+ axs.set_ylabel(r'M (M$_\odot$)',fontsize='12')
27
+ axs.set_xlim([0.8, 2.5])
28
+ axs.set_ylim([2.4, 3.4])
29
+ #
30
+ isource = 1
31
+ xlabel = []
32
+ ilabel = []
33
+ for source in sources:
34
+ xlabel.append( source )
35
+ ilabel.append( isource )
36
+ #
37
+ # get mup associated to `source` and `hyp`
38
+ #
39
+ hyps = nuda.astro.mup_hyps( source = source )
40
+ print('source:',source)
41
+ print('hyps:',hyps)
42
+ #
43
+ ihyp = 0
44
+ for hyp in hyps:
45
+ mup = nuda.astro.setupMup( source = source, hyp = hyp )
46
+ if nuda.env.verb_output: mup.print_output( )
47
+ if nuda.env.verb_latex: mup.print_latex( )
48
+ axs.errorbar( isource+ihyp/10, mup.mup, yerr=np.array([(mup.sig_do,mup.sig_up)]).T, label=mup.label, color=nuda.param.col[isource], marker=mup.marker, linestyle = 'solid', linewidth = 1 )
49
+ ihyp += 1
50
+ #
51
+ if source=='GW170817': hyps = [ 3, 4 ]
52
+ mupav = nuda.astro.setupMupAverage( source = source, hyps = hyps )
53
+ if nuda.env.verb_output: mupav.print_output( )
54
+ if nuda.env.verb_latex: mupav.print_latex( )
55
+ axs.errorbar( isource+ihyp/10, mupav.mup_cen, yerr=mupav.sig_std, label=mupav.label, color=nuda.param.col[isource], marker='o', linestyle = 'solid', linewidth = 3 )
56
+ #
57
+ isource += 1
58
+ #
59
+ axs.set_xticks( ilabel )
60
+ axs.set_xticklabels( xlabel )
61
+ #
62
+ #axs.legend(loc='upper left',fontsize='8', ncol=2)
63
+ axs.legend(loc='lower center',bbox_to_anchor=(0.5,1.01),columnspacing=2,fontsize='8',ncol=2,frameon=False)
64
+ #
65
+ if pname is not None:
66
+ plt.savefig(pname, dpi=200)
67
+ plt.close()
68
+ #
@@ -0,0 +1,47 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def corr_setupEsymDen_fig( pname, constraints, Ksym ):
7
+ """
8
+ Plot upper boundaries for the tov mass.\
9
+ The plot is 1x1 with:\
10
+ [0]: upper boundary for the mass versus sources.
11
+
12
+ :param pname: name of the figure (*.png)
13
+ :type pname: str.
14
+ :param sources: array of sources.
15
+ :type sources: array of str.
16
+
17
+ """
18
+ #
19
+ print(f'Plot name: {pname}')
20
+ #
21
+ fig, axs = plt.subplots(1,1)
22
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
23
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.98, wspace=0.3, hspace=0.3)
24
+ #
25
+ axs.set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='12')
26
+ axs.set_ylabel(r'$E_\text{sym}$ (MeV)',fontsize='12')
27
+ axs.set_xlim([0.09, 0.27])
28
+ axs.set_ylim([10, 60])
29
+ #
30
+ for constraint in constraints:
31
+ #
32
+ esym = nuda.corr.setupEsymDen( constraint = constraint , Ksym=Ksym )
33
+ #
34
+ #print('Den:',esym.esym_den)
35
+ #print('Esym_max:',esym.esym_e2a_max)
36
+ #print('Esym_min:',esym.esym_e2a_min)
37
+ #
38
+ if esym.plot:
39
+ axs.fill_between( esym.esym_den, y1=esym.esym_e2a_min, y2=esym.esym_e2a_max, label=esym.label, alpha=esym.alpha )
40
+ #
41
+ axs.text(0.15,12,r'$K_\text{sym}$='+str(int(Ksym))+' MeV',fontsize='12')
42
+ axs.legend(loc='lower right',fontsize='9')
43
+ #
44
+ if pname is not None:
45
+ plt.savefig(pname, dpi=200)
46
+ plt.close()
47
+ #
@@ -0,0 +1,56 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def corr_setupEsymLsym_fig( pname, constraints ):
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
+ fig, axs = plt.subplots(1,1)
22
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
23
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.98, wspace=0.3, hspace=0.3)
24
+ #
25
+ axs.set_xlabel(r'$E_{\mathrm{sym},2}$ (MeV)')
26
+ axs.set_ylabel(r'$L_{\mathrm{sym},2}$ (MeV)')
27
+ axs.set_xlim([23, 44])
28
+ axs.set_ylim([10, 120])
29
+ #
30
+ for constraint in constraints:
31
+ #
32
+ print('constraint:',constraint)
33
+ el = nuda.corr.setupEsymLsym( constraint = constraint )
34
+ if nuda.env.verb: print('Esym:',el.Esym,'+-',el.Esym_err)
35
+ if nuda.env.verb: print('Lsym:',el.Lsym,'+-',el.Lsym_err)
36
+ if nuda.env.verb: print('len(Esym):',el.Esym.size)
37
+ #
38
+ if el.plot == 'point_err_xy':
39
+ axs.errorbar( el.Esym, el.Lsym, xerr=el.Esym_err, yerr=el.Lsym_err, linestyle='solid', label=el.label )
40
+ elif el.plot == 'curve':
41
+ axs.plot( el.Esym, el.Lsym, linestyle='solid', linewidth=3, label=el.label )
42
+ elif el.plot == 'contour':
43
+ axs.plot( el.Esym, el.Lsym, linestyle='solid', label=el.label )
44
+ elif el.plot == 'band_y':
45
+ axs.fill_between( el.Esym, y1=el.Lsym-el.Lsym_err, y2=el.Lsym+el.Lsym_err, label=el.label, alpha=el.alpha )
46
+ #axs.errorbar( el.Esym, el.Lsym, xerr=el.Esym_err, linestyle='solid', label=el.label )
47
+ elif el.plot == 'band_x':
48
+ axs.fill_betweenx( el.Lsym, x1=el.Esym-el.Esym_err, x2=el.Esym+el.Esym_err, label=el.label, alpha=el.alpha )
49
+ #axs.errorbar( el.Esym, el.Lsym, yerr=el.Lsym_err, linestyle='solid', label=el.label )
50
+ if nuda.env.verb: el.print_outputs( )
51
+ #
52
+ axs.legend(loc='lower right',fontsize='9')
53
+ #
54
+ if pname is not None:
55
+ plt.savefig(pname, dpi=300)
56
+ plt.close()
@@ -0,0 +1,64 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def corr_setupKsatQsat_fig( pname, constraints ):
7
+ """
8
+ Plot the correlation between Ksat and Qsat.\
9
+ The plot is 1x1 with:\
10
+ [0]: Ksat - Qsat 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
+ fig, axs = plt.subplots(1,1)
22
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
23
+ fig.subplots_adjust(left=0.15, bottom=0.12, right=None, top=0.98, wspace=0.3, hspace=0.3)
24
+ #
25
+ axs.set_xlabel(r'$K_\mathrm{sat}$ (MeV)')
26
+ axs.set_ylabel(r'$Q_\mathrm{sat}$ (MeV)')
27
+ axs.set_xlim([190, 360])
28
+ axs.set_ylim([-1000, 1500])
29
+ #axs.tick_params(labelbottom=True, labeltop=False, labelleft=True, labelright=False,
30
+ # bottom=True, top=True, left=True, right=True)
31
+ # axs.xaxis.set_major_locator(MultipleLocator(5))
32
+ #axs.xaxis.set_major_formatter(FormatStrFormatter('%d'))
33
+ # axs.xaxis.set_minor_locator(MultipleLocator(1))
34
+ # axs.yaxis.set_major_locator(MultipleLocator(20))
35
+ # axs.yaxis.set_minor_locator(MultipleLocator(5))
36
+ # axs.tick_params(axis = 'both', which='major', length=10, width=1, direction='inout', right = True, left = True, bottom = True, top = True)
37
+ # axs.tick_params(axis = 'both', which='minor', length=5, width=1, direction='in', right = True, left = True, bottom = True, top = True )
38
+ #
39
+ for k,constraint in enumerate(constraints):
40
+ #
41
+ print('constraint:',constraint)
42
+ kq = nuda.corr.setupKsatQsat( constraint = constraint )
43
+ if nuda.env.verb: print('Ksat:',kq.Ksat)
44
+ if nuda.env.verb: print('Qsat:',kq.Qsat)
45
+ if nuda.env.verb: print('len(Ksat):',kq.Ksat.size)
46
+ #
47
+ if k == 2:
48
+ kk = 0
49
+ else:
50
+ kk = k
51
+ axs.scatter( kq.Ksat, kq.Qsat, label=kq.label, color=nuda.param.col[kk], marker=kq.marker )
52
+ x = np.linspace(min(kq.Ksat),max(kq.Ksat),10)
53
+ if k == 3 or k == 4 or k == 5:
54
+ axs.plot( x, nuda.corr.flinear(x,kq.m,kq.c), color=nuda.param.col[kk], linestyle='dashed' )
55
+ else:
56
+ axs.plot( x, nuda.corr.flinear(x,kq.m,kq.c), color=nuda.param.col[kk], linestyle='solid' )
57
+ #
58
+ if nuda.env.verb: kq.print_outputs( )
59
+ #
60
+ axs.legend(loc='upper left',ncol=3, fontsize='9')
61
+ #
62
+ if pname is not None:
63
+ plt.savefig(pname, dpi=200)
64
+ plt.close()
@@ -0,0 +1,52 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def crust_setupCrust_fig( pname, models ):
7
+ """
8
+ Plot hyper-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 models: table.
15
+ :type models: str.
16
+
17
+ """
18
+ #
19
+ print(f'Plot name: {pname}')
20
+ #
21
+ fig, axs = plt.subplots(1,2)
22
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
23
+ fig.subplots_adjust(left=0.10, bottom=0.12, right=None, top=0.8, wspace=0.3, hspace=0.3 )
24
+ #
25
+ axs[0].set_xlabel(r'n (fm$^{-3}$)')
26
+ axs[0].set_ylabel(r'$e_{int}(n)$')
27
+ axs[0].set_xlim([1e-4, 1e-1])
28
+ axs[0].set_ylim([-2, 10])
29
+ axs[0].set_xscale('log')
30
+ #
31
+ axs[1].set_xlabel(r'n (fm$^{-3}$)')
32
+ axs[1].set_ylabel(r'$Z$')
33
+ axs[1].set_xlim([1e-4, 1e-1])
34
+ axs[1].set_ylim([10, 100])
35
+ axs[1].set_xscale('log')
36
+ #
37
+ for model in models:
38
+ #
39
+ print('model:',model)
40
+ crust = nuda.crust.setupCrust( model = model )
41
+ if crust.e2a_int is not None:
42
+ axs[0].plot( crust.den, crust.e2a_int, label=crust.label, linestyle=crust.linestyle )
43
+ if crust.Z is not None:
44
+ axs[1].plot( crust.den, crust.Z, linestyle=crust.linestyle )
45
+ #axs[0].legend(loc='upper left',fontsize='8', ncol=1)
46
+ #axs[1].legend(loc='upper left',fontsize='8', ncol=1)
47
+ fig.legend(loc='upper left',bbox_to_anchor=(0.01,1.01),columnspacing=2,fontsize='8',ncol=4,frameon=False)
48
+ #
49
+ if pname is not None:
50
+ plt.savefig(pname, dpi=200)
51
+ plt.close()
52
+ #