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,478 @@
1
+ import os
2
+ import sys
3
+ import numpy as np # 1.15.0
4
+ from scipy.interpolate import CubicSpline
5
+
6
+ #nucleardatapy_tk = os.getenv('NUCLEARDATAPY_TK')
7
+ #sys.path.insert(0, nucleardatapy_tk)
8
+
9
+ import nucleardatapy as nuda
10
+
11
+ def nep_models():
12
+ """
13
+ Return a list of models available in this toolkit and print them all on the prompt.
14
+
15
+ :return: The list of models with can be 'Skyrme', 'ESkyrme', 'NLRH', 'DDRH', 'DDRHF'.
16
+ :rtype: list[str].
17
+ """
18
+ #
19
+ if nuda.env.verb: print("\nEnter pheno_models()")
20
+ #
21
+ models = [ 'Skyrme', 'Skyrme2', 'ESkyrme', 'Gogny', 'Fayans', 'NLRH', 'DDRH', 'DDRHF' ]
22
+ #models = [ 'Skyrme', 'Skyrme2', 'ESkyrme', 'Gogny', 'Fayans', 'NLRH', 'DDRH', 'DDRHF' ]
23
+ #print('Phenomenological models available in the toolkit:',models)
24
+ models_lower = [ item.lower() for item in models ]
25
+ #
26
+ if nuda.env.verb: print("Exit pheno_models()")
27
+ #
28
+ return models, models_lower
29
+
30
+ def nep_params( model ):
31
+ """
32
+ Return a list with the parameterizations available in
33
+ this toolkit for a given model and print them all on the prompt.
34
+
35
+ :param model: The type of model for which there are parametrizations. They should be chosen among the following options: 'Skyrme', 'NLRH', 'DDRH', 'DDRHF'.
36
+ :type model: str.
37
+ :return: The list of parametrizations. \
38
+ If `models` == 'Skyrme': 'BSK14', \
39
+ 'BSK16', 'BSK17', 'BSK27', 'F-', 'F+', 'F0', 'FPL', 'LNS', 'LNS1', 'LNS5', \
40
+ 'NRAPR', 'RATP', 'SAMI', 'SGII', 'SIII', 'SKGSIGMA', 'SKI2', 'SKI4', 'SKMP', \
41
+ 'SKMS', 'SKO', 'SKOP', 'SKP', 'SKRSIGMA', 'SKX', 'Skz2', 'SLY4', 'SLY5', \
42
+ 'SLY230A', 'SLY230B', 'SV', 'T6', 'T44', 'UNEDF0', 'UNEDF1'. \
43
+ If `models` == 'ESkyrme': 'BSk22', 'BSk24', 'BSk25', 'BSk26', 'BSk31', 'BSk32', \
44
+ 'BSkG1', 'BSkG2', 'BSkG3'. \
45
+ If `models` == 'Fayans': 'SLy4', 'SkM*', 'Fy(IVP)', 'Fy(Dr,HDB)', 'Fy(std)', \
46
+ 'SV-min', 'SV-bas', 'SV-K218', 'SV-K226', 'SV-K241', 'SV-mas07', 'SV-mas08', 'SV-mas10',
47
+ 'SV-sym28', 'SV-sym32', 'SV-sym34', 'SV-kap00', 'SV-kap20', 'SV-kap60'.
48
+ If `models` == 'NLRH': 'NL-SH', 'NL3', 'NL3II', 'PK1', 'PK1R', 'TM1'. \
49
+ If `models` == 'DDRH': 'DDME1', 'DDME2', 'DDMEd', 'PKDD', 'TW99'. \
50
+ If `models` == 'DDRHF': 'PKA1', 'PKO1', 'PKO2', 'PKO3'.
51
+ :rtype: list[str].
52
+ """
53
+ #
54
+ if nuda.env.verb: print("\nEnter nep_params()")
55
+ #
56
+ #print('For model:',model)
57
+ if model.lower() == 'skyrme':
58
+ params = [ 'BSK14', 'BSK16', 'BSK17', 'BSK27', 'F-', \
59
+ 'F+', 'F0', 'FPL', 'LNS', 'LNS1', 'LNS5', 'NRAPR', 'RATP', \
60
+ 'SAMI', 'SGII', 'SIII', 'SKGSIGMA', 'SKI2', 'SKI4', 'SKMP', \
61
+ 'SKMS', 'SKO', 'SKOP', 'SKP', 'SKRSIGMA', 'SKX', 'Skz2', \
62
+ 'SLY4', 'SLY5', 'SLY230A', 'SLY230B', 'SV', 'T6', 'T44', \
63
+ 'UNEDF0', 'UNEDF1' ]
64
+ elif model.lower() == 'skyrme2':
65
+ params = [ 'SLy4', 'SkM*', 'SV-min', 'SV-bas', 'SV-K218', \
66
+ 'SV-K226', 'SV-K241', 'SV-mas07', 'SV-mas08', 'SV-mas10',\
67
+ 'SV-sym28', 'SV-sym32', 'SV-sym34', 'SV-kap00', 'SV-kap20', 'SV-kap60']
68
+ elif model.lower() == 'eskyrme':
69
+ params = [ 'BSk22', 'BSk24', 'BSk25', 'BSk26', 'BSk31', 'BSk32', 'BSkG1', 'BSkG2', 'BSkG3' ]
70
+ elif model.lower() == 'gogny':
71
+ params = [ 'D1S', 'D1', 'D250', 'D260', 'D280', 'D300' ]
72
+ elif model.lower() == 'fayans':
73
+ params = [ 'Fy(IVP)', 'Fy(Dr,HFB)', 'Fy(std)']
74
+ elif model.lower() == 'nlrh':
75
+ params = [ 'NL-SH', 'NL3', 'NL3II', 'PK1', 'PK1R', 'TM1' ]
76
+ elif model.lower() == 'ddrh':
77
+ params = [ 'DDME1', 'DDME2', 'DDMEd', 'PKDD', 'TW99' ]
78
+ elif model.lower() == 'ddrhf':
79
+ params = [ 'PKA1', 'PKO1', 'PKO2', 'PKO3' ]
80
+ #print('For model:',model)
81
+ #print('Parameters available in the toolkit:',params)
82
+ params_lower = [ item.lower() for item in params ]
83
+ #
84
+ if nuda.env.verb: print("Exit nep_params()")
85
+ #
86
+ return params, params_lower
87
+
88
+ class setupNEP():
89
+ """
90
+ Instantiate the object with results based on phenomenological\
91
+ interactions and choosen by the toolkit practitioner. \
92
+ This choice is defined in the variables `model` and `param`.
93
+
94
+ If `models` == 'Skyrme', `param` can be: 'BSK14', \
95
+ 'BSK16', 'BSK17', 'BSK27', 'F-', 'F+', 'F0', 'FPL', 'LNS', 'LNS1', 'LNS5', \
96
+ 'NRAPR', 'RATP', 'SAMI', 'SGII', 'SIII', 'SKGSIGMA', 'SKI2', 'SKI4', 'SKMP', \
97
+ 'SKMS', 'SKO', 'SKOP', 'SKP', 'SKRSIGMA', 'SKX', 'Skz2', 'SLY4', 'SLY5', \
98
+ 'SLY230A', 'SLY230B', 'SV', 'T6', 'T44', 'UNEDF0', 'UNEDF1'.
99
+
100
+ If `models` == 'Skyrme2', `param` can be: 'SLy4', 'SkM*', \
101
+ 'SV-min', 'SV-bas', 'SV-K218', 'SV-K226', 'SV-K241', 'SV-mas07', \
102
+ 'SV-mas08', 'SV-mas10','SV-sym28', 'SV-sym32', 'SV-sym34', 'SV-kap00', \
103
+ 'SV-kap20', 'SV-kap60'.
104
+
105
+ If `models` == 'ESkyrme', `param` can be: 'BSk22', 'BSk24', 'BSk25', \
106
+ 'BSk26', 'BSk31', 'BSk32', 'BSkG1', 'BSkG2', 'BSkG3'.
107
+
108
+ If `models` == 'Fayans', `param` can be: 'Fy(IVP)', 'Fy(Dr,HDB)', 'Fy(std)'.
109
+
110
+ If `models` == 'NLRH', `param` can be: 'NL-SH', 'NL3', 'NL3II', 'PK1', 'PK1R', 'TM1'.
111
+
112
+ If `models` == 'DDRH', `param` can be: 'DDME1', 'DDME2', 'DDMEd', 'PKDD', 'TW99'.
113
+
114
+ If `models` == 'DDRHF', `param` can be: 'PKA1', 'PKO1', 'PKO2', 'PKO3'.
115
+
116
+ :param model: Fix the name of model: 'Skyrme', 'NLRH', \
117
+ 'DDRH', 'DDRHF'. Default value: 'Skyrme'.
118
+ :type model: str, optional.
119
+ :param param: Fix the parameterization associated to model. \
120
+ Default value: 'SLY5'.
121
+ :type param: str, optional.
122
+
123
+ **Attributes:**
124
+ """
125
+ #
126
+ def __init__( self, model = 'Skyrme', param = 'SLY5' ):
127
+ #
128
+ if nuda.env.verb: print("\nEnter setupNEP()")
129
+ #
130
+ #: Attribute model.
131
+ self.model = model
132
+ if nuda.env.verb: print("model:",model)
133
+ #print("-> model:",model)
134
+ #: Attribute param.
135
+ self.param = param
136
+ if nuda.env.verb: print("param:",param)
137
+ #print("-> param:",param)
138
+ #
139
+ self = setupNEP.init_self( self )
140
+ #
141
+ models, models_lower = nep_models( )
142
+ #
143
+ if model.lower() not in models_lower:
144
+ print('setup_nep: The model name ',model,' is not in the list of models.')
145
+ print('setup_nep: list of models:',models)
146
+ print('setup_nep: -- Exit the code --')
147
+ exit()
148
+ #
149
+ params, params_lower = nep_params( model = model )
150
+ #
151
+ if param.lower() not in params_lower:
152
+ print('setup_nep: The param set ',param,' is not in the list of param.')
153
+ print('setup_nep: list of param:',params)
154
+ print('setup_nep: -- Exit the code --')
155
+ exit()
156
+ #
157
+ if model.lower() == 'skyrme':
158
+ #
159
+ file_in = os.path.join(nuda.param.path_data,'matter/nep/NEPSkyrme.dat')
160
+ if nuda.env.verb: print('Reads file:',file_in)
161
+ #print('Reads file:',file_in)
162
+ #: Attribute providing the full reference to the paper to be citted.
163
+ #self.ref = ''
164
+ #: Attribute providing the label the data is references for figures.
165
+ self.label = 'SKY-'+param
166
+ #: Attribute providing additional notes about the data.
167
+ self.note = "write here notes about this EOS."
168
+ #name = np.loadtxt( file_in, usecols=(0), comments='#', unpack = True, dtype = str )
169
+ name = []
170
+ with open(file_in,"r") as file:
171
+ for line in file:
172
+ if '#' in line:
173
+ continue
174
+ name.append( line.split()[0] )
175
+ name = np.array( name, dtype = str )
176
+ #print('name:',name)
177
+ #
178
+ #nsat, Esat, Ksat, Qsat, Esym, Lsym, Ksym, msat \
179
+ # = np.loadtxt( file_in, usecols=(1,2,3,4,5,6,7,8), comments='#', unpack = True, dtype = float )
180
+ #kappas = 1./msat - 1.0
181
+ #kappav = np.zeros( kappas.size )
182
+ #Zsat = kappav.copy()
183
+ #Qsym = kappav.copy()
184
+ #Zsym = kappav.copy()
185
+ nsat, Esat, Ksat, Qsat, Zsat, Esym, Lsym, Ksym, Qsym, Zsym, \
186
+ msat, kappas, kappav = np.loadtxt( file_in, usecols=(1,2,3,4,5,6,7,8,9,10,11,12,13), comments='#', unpack = True )
187
+ kappasym = kappas - kappav
188
+ Dmsat = -2*kappasym/( (1+kappas)**2-kappasym**2)
189
+ #
190
+ #print('param:',param)
191
+ if param in name:
192
+ self.nep = True
193
+ ind = np.where( name == param )[0][0]
194
+ self.nsat = nsat[ind]; self.Esat = Esat[ind]; self.Ksat = Ksat[ind]; self.Qsat = Qsat[ind]; self.Zsat = Zsat[ind];
195
+ self.Esym = Esym[ind]; self.Lsym = Lsym[ind]; self.Ksym = Ksym[ind]; self.Qsym = Qsym[ind]; self.Zsym = Zsym[ind];
196
+ self.msat = msat[ind]; self.kappas = kappas[ind]; self.kappav = kappav[ind];
197
+ self.kappasym = kappasym[ind]; self.Dmsat = Dmsat[ind]
198
+ else:
199
+ self.nep = False
200
+ #
201
+ elif model.lower() == 'skyrme2':
202
+ #
203
+ file_in = os.path.join(nuda.param.path_data,'matter/nep/NEPSkyrme2.dat')
204
+ if nuda.env.verb: print('Reads file:',file_in)
205
+ self.label = 'Skyrme2-'+param
206
+ self.note = "write here notes about this EOS."
207
+ #name = np.loadtxt( file_in, usecols=(0), comments='#', unpack = True, dtype=str )
208
+ name = []
209
+ with open(file_in,"r") as file:
210
+ for line in file:
211
+ if '#' in line:
212
+ continue
213
+ name.append( line.split()[0] )
214
+ name = np.array( name, dtype = str )
215
+ nsat, Esat, Ksat, Qsat, msat, Esym, Lsym, kappav \
216
+ = np.loadtxt( file_in, usecols=(1,2,3,4,5,6,7,8), comments='#', unpack = True )
217
+ kappas = 1.0/msat - 1.0
218
+ kappasym = kappas - kappav
219
+ Dmsat = -2*kappasym/( (1+kappas)**2-kappasym**2)
220
+ #
221
+ if param in name:
222
+ self.nep = True
223
+ ind = np.where( name == param )[0][0]
224
+ self.nsat = nsat[ind]; self.Esat = Esat[ind]; self.Ksat = Ksat[ind]; self.Qsat = Qsat[ind];
225
+ self.Esym = Esym[ind]; self.Lsym = Lsym[ind];
226
+ self.msat = msat[ind]; self.kappas = kappas[ind]; self.kappav = kappav[ind];
227
+ self.kappasym = kappasym[ind]; self.Dmsat = Dmsat[ind]
228
+ else:
229
+ self.nep = False
230
+ #
231
+ elif model.lower() == 'eskyrme':
232
+ #
233
+ file_in = os.path.join(nuda.param.path_data,'matter/nep/NEPESkyrme.dat')
234
+ if nuda.env.verb: print('Reads file:',file_in)
235
+ #: Attribute providing the full reference to the paper to be citted.
236
+ #self.ref = ''
237
+ #: Attribute providing the label the data is references for figures.
238
+ self.label = 'ESKY-'+param
239
+ #: Attribute providing additional notes about the data.
240
+ self.note = "write here notes about this EOS."
241
+ name = []
242
+ with open(file_in,"r") as file:
243
+ for line in file:
244
+ if '#' in line:
245
+ continue
246
+ name.append( line.split()[0] )
247
+ name = np.array( name, dtype = str )
248
+ #name = np.loadtxt( file_in, usecols=(0), comments='#', unpack = True, dtype=str )
249
+ nsat, Esat, Ksat, Qsat, Esym, Lsym, Ksym, msat = np.loadtxt( file_in, usecols=(1,2,3,4,5,6,7,8), comments='#', unpack = True )
250
+ kappas = 1.0/msat - 1.0
251
+ kappav = np.zeros( kappas.size )
252
+ Zsat = kappav.copy()
253
+ Qsym = kappav.copy()
254
+ Zsym = kappav.copy()
255
+ kappasym = kappas - kappav
256
+ Dmsat = -2*kappasym/( (1+kappas)**2-kappasym**2)
257
+ #
258
+ if param in name:
259
+ self.nep = True
260
+ ind = np.where( name == param )[0][0]
261
+ self.nsat = nsat[ind]; self.Esat = Esat[ind]; self.Ksat = Ksat[ind]; self.Qsat = Qsat[ind]; self.Zsat = None
262
+ self.Esym = Esym[ind]; self.Lsym = Lsym[ind]; self.Ksym = Ksym[ind]; self.Qsym = None; self.Zsym = None
263
+ self.msat = msat[ind]; self.kappas = kappas[ind]; self.kappav = None;
264
+ self.kappasym = None; self.Dmsat = None
265
+ else:
266
+ self.nep = False
267
+ #
268
+ elif model.lower() == 'gogny':
269
+ #
270
+ file_in = os.path.join(nuda.param.path_data,'matter/nep/NEPGogny.dat')
271
+ if nuda.env.verb: print('Reads file:',file_in)
272
+ self.label = 'Gogny-'+param
273
+ self.note = "write here notes about this EOS."
274
+ #name = np.loadtxt( file_in, usecols=(0), comments='#', unpack = True, dtype=str )
275
+ name = []
276
+ with open(file_in,"r") as file:
277
+ for line in file:
278
+ if '#' in line:
279
+ continue
280
+ name.append( line.split()[0] )
281
+ name = np.array( name, dtype = str )
282
+ Ksat, Qsat = np.loadtxt( file_in, usecols=(1,2), comments='#', unpack = True )
283
+ #
284
+ if param in name:
285
+ self.nep = True
286
+ ind = np.where( name == param )[0][0]
287
+ self.Ksat = Ksat[ind]; self.Qsat = Qsat[ind];
288
+ self.nsat = None; self.Esat = None; self.Zsat = None
289
+ self.Esym = None; self.Lsym = None; self.Ksym = None; self.Qsym = None; self.Zsym = None
290
+ self.msat = None; self.kappas = None; self.kappav = None;
291
+ self.kappasym = None; self.Dmsat = None
292
+ else:
293
+ self.nep = False
294
+ # pass
295
+ #
296
+ elif model.lower() == 'fayans':
297
+ #
298
+ file_in = os.path.join(nuda.param.path_data,'matter/nep/NEPFayans.dat')
299
+ if nuda.env.verb: print('Reads file:',file_in)
300
+ self.label = 'Fayans-'+param
301
+ self.note = "write here notes about this EOS."
302
+ #name = np.loadtxt( file_in, usecols=(0), comments='#', unpack = True, dtype=str )
303
+ name = []
304
+ with open(file_in,"r") as file:
305
+ for line in file:
306
+ if '#' in line:
307
+ continue
308
+ name.append( line.split()[0] )
309
+ name = np.array( name, dtype = str )
310
+ nsat, Esat, Ksat, Qsat, msat, Esym, Lsym, kappav \
311
+ = np.loadtxt( file_in, usecols=(1,2,3,4,5,6,7,8), comments='#', unpack = True )
312
+ kappas = 1.0/msat - 1.0
313
+ kappasym = kappas - kappav
314
+ Dmsat = -2*kappasym/( (1+kappas)**2-kappasym**2)
315
+ #
316
+ if param in name:
317
+ self.nep = True
318
+ ind = np.where( name == param )[0][0]
319
+ self.nsat = nsat[ind]; self.Esat = Esat[ind]; self.Ksat = Ksat[ind]; self.Qsat = Qsat[ind];
320
+ self.Esym = Esym[ind]; self.Lsym = Lsym[ind];
321
+ self.msat = msat[ind]; self.kappas = kappas[ind]; self.kappav = kappav[ind];
322
+ self.kappasym = kappasym[ind]; self.Dmsat = Dmsat[ind]
323
+ else:
324
+ self.nep = False
325
+ #
326
+ elif model.lower() == 'nlrh':
327
+ #
328
+ file_in = os.path.join(nuda.param.path_data,'matter/nep/NEPnlrh.dat')
329
+ if nuda.env.verb: print('Reads file:',file_in)
330
+ #self.ref = ''
331
+ self.label = 'NLRH-'+param
332
+ self.note = "write here notes about this EOS."
333
+ #name = np.loadtxt( file_in, usecols=(0), comments='#', unpack = True, dtype=str )
334
+ name = []
335
+ with open(file_in,"r") as file:
336
+ for line in file:
337
+ if '#' in line:
338
+ continue
339
+ name.append( line.split()[0] )
340
+ name = np.array( name, dtype = str )
341
+ nsat, Esat, Ksat, Qsat, Zsat, Esym, Lsym, Ksym, Qsym, Zsym, \
342
+ msat, kappas, kappav = np.loadtxt( file_in, usecols=(1,2,3,4,5,6,7,8,9,10,11,12,13), comments='#', unpack = True )
343
+ kappasym = kappas - kappav
344
+ Dmsat = -2*kappasym/( (1+kappas)**2-kappasym**2)
345
+ #
346
+ if param in name:
347
+ self.nep = True
348
+ ind = np.where( name == param )[0][0]
349
+ self.nsat = nsat[ind]; self.Esat = Esat[ind]; self.Ksat = Ksat[ind]; self.Qsat = Qsat[ind]; self.Zsat = Zsat[ind];
350
+ self.Esym = Esym[ind]; self.Lsym = Lsym[ind]; self.Ksym = Ksym[ind]; self.Qsym = Qsym[ind]; self.Zsym = Zsym[ind];
351
+ self.msat = msat[ind]; self.kappas = kappas[ind]; self.kappav = kappav[ind];
352
+ self.kappasym = kappasym[ind]; self.Dmsat = Dmsat[ind]
353
+ else:
354
+ self.nep = False
355
+ #
356
+ elif model.lower() == 'ddrh':
357
+ #
358
+ file_in = os.path.join(nuda.param.path_data,'matter/nep/NEPddrh.dat')
359
+ if nuda.env.verb: print('Reads file:',file_in)
360
+ #self.ref = ''
361
+ self.label = 'DDRH-'+param
362
+ self.note = "write here notes about this EOS."
363
+ #name = np.loadtxt( file_in, usecols=(0), comments='#', unpack = True, dtype=str )
364
+ name = []
365
+ with open(file_in,"r") as file:
366
+ for line in file:
367
+ if '#' in line:
368
+ continue
369
+ name.append( line.split()[0] )
370
+ name = np.array( name, dtype = str )
371
+ nsat, Esat, Ksat, Qsat, Zsat, Esym, Lsym, Ksym, Qsym, Zsym, \
372
+ msat, kappas, kappav = np.loadtxt( file_in, usecols=(1,2,3,4,5,6,7,8,9,10,11,12,13), comments='#', unpack = True )
373
+ kappasym = kappas - kappav
374
+ Dmsat = -2*kappasym/( (1+kappas)**2-kappasym**2)
375
+ #
376
+ if param in name:
377
+ self.nep = True
378
+ ind = np.where( name == param )[0][0]
379
+ self.nsat = nsat[ind]; self.Esat = Esat[ind]; self.Ksat = Ksat[ind]; self.Qsat = Qsat[ind]; self.Zsat = Zsat[ind];
380
+ self.Esym = Esym[ind]; self.Lsym = Lsym[ind]; self.Ksym = Ksym[ind]; self.Qsym = Qsym[ind]; self.Zsym = Zsym[ind];
381
+ self.msat = msat[ind]; self.kappas = kappas[ind]; self.kappav = kappav[ind];
382
+ self.kappasym = kappasym[ind]; self.Dmsat = Dmsat[ind]
383
+ else:
384
+ self.nep = False
385
+ #
386
+ elif model.lower() == 'ddrhf':
387
+ #
388
+ file_in = os.path.join(nuda.param.path_data,'matter/nep/NEPddrhf.dat')
389
+ if nuda.env.verb: print('Reads file:',file_in)
390
+ #self.ref = ''
391
+ self.label = 'DDRHF-'+param
392
+ self.note = "write here notes about this EOS."
393
+ #name = np.loadtxt( file_in, usecols=(0), comments='#', unpack = True, dtype=str )
394
+ name = []
395
+ with open(file_in,"r") as file:
396
+ for line in file:
397
+ if '#' in line:
398
+ continue
399
+ name.append( line.split()[0] )
400
+ name = np.array( name, dtype = str )
401
+ nsat, Esat, Ksat, Qsat, Zsat, Esym, Lsym, Ksym, Qsym, Zsym, \
402
+ msat, kappas, kappav = np.loadtxt( file_in, usecols=(1,2,3,4,5,6,7,8,9,10,11,12,13), comments='#', unpack = True )
403
+ kappasym = kappas - kappav
404
+ Dmsat = -2*kappasym/( (1+kappas)**2-kappasym**2)
405
+ #
406
+ if param in name:
407
+ self.nep = True
408
+ ind = np.where( name == param )[0][0]
409
+ self.nsat = nsat[ind]; self.Esat = Esat[ind]; self.Ksat = Ksat[ind]; self.Qsat = Qsat[ind]; self.Zsat = Zsat[ind];
410
+ self.Esym = Esym[ind]; self.Lsym = Lsym[ind]; self.Ksym = Ksym[ind]; self.Qsym = Qsym[ind]; self.Zsym = Zsym[ind];
411
+ self.msat = msat[ind]; self.kappas = kappas[ind]; self.kappav = kappav[ind];
412
+ self.kappasym = kappasym[ind]; self.Dmsat = Dmsat[ind]
413
+ else:
414
+ self.nep = False
415
+ #
416
+ self.den_unit = 'fm$^{-3}$'
417
+ self.kfn_unit = 'fm$^{-1}$'
418
+ self.e2a_unit = 'MeV'
419
+ self.pre_unit = 'MeV fm$^{-3}$'
420
+ self.gap_unit = 'MeV'
421
+ #
422
+ if nuda.env.verb: print("Exit SetupNEP()")
423
+ #
424
+ def print_outputs( self ):
425
+ """
426
+ Method which print outputs on terminal's screen.
427
+ """
428
+ print("")
429
+ #
430
+ if nuda.env.verb: print("Enter print_outputs()")
431
+ #
432
+ print("- Print output:")
433
+ print(" model:",self.model)
434
+ print(" param:",self.param)
435
+ #print(" ref:",self.ref)
436
+ print(" label:",self.label)
437
+ #print(" note:",self.note)
438
+ if any(self.sm_den): print(f" sm_den: {np.round(self.sm_den,2)} in {self.den_unit}")
439
+ if any(self.sm_kfn): print(f" sm_kfn: {np.round(self.sm_kfn,2)} in {self.kfn_unit}")
440
+ if any(self.sm_e2a): print(f" sm_e2a: {np.round(self.sm_e2a,2)} in {self.e2a_unit}")
441
+ if any(self.nm_den): print(f" nm_den: {np.round(self.nm_den,2)} in {self.den_unit}")
442
+ if any(self.nm_kfn): print(f" nm_kfn: {np.round(self.nm_kfn,2)} in {self.kfn_unit}")
443
+ if any(self.nm_e2a): print(f" nm_e2a: {np.round(self.nm_e2a,2)} in {self.e2a_unit}")
444
+ if any(self.nm_gap): print(f" nm_gap: {np.round(self.nm_gap,2)} in {self.gap_unit}")
445
+ print(' NEP:')
446
+ if self.nep:
447
+ print(' sat:',self.Esat,self.nsat,self.Ksat,self.Qsat,self.Zsat)
448
+ print(' sym:',self.Esym,self.Lsym,self.Ksym,self.Qsym,self.Zsym)
449
+ print(' ms:',self.msat,self.kappas,self.kappav)
450
+ #
451
+ if nuda.env.verb: print("Exit print_outputs()")
452
+ #
453
+ def init_self( self ):
454
+ """
455
+ Initialize variables in self.
456
+ """
457
+ #
458
+ if nuda.env.verb: print("Enter init_self()")
459
+ #
460
+ #: Attribute the plot linestyle.
461
+ self.linestyle = 'solid'
462
+ #: Attribute providing the full reference to the paper to be citted.
463
+ self.ref = ''
464
+ #: Attribute providing additional notes about the data.
465
+ self.note = ''
466
+ #: Attribute the plot label data.
467
+ self.label = ''
468
+ #: Attribute the plot marker.
469
+ self.marker = None
470
+ #: Attribute the NEP.
471
+ self.Esat = None; self.nsat = None; self.Ksat = None; self.Qsat = None; self.Zsat = None;
472
+ self.Esym = None; self.Lsym = None; self.Ksym = None; self.Qsym = None; self.Zsym = None;
473
+ self.msat = None; self.kappas = None; self.kappav = None;
474
+ self.kappasym = None; self.Dmsat = None;
475
+ #
476
+ if nuda.env.verb: print("Exit init_self()")
477
+ #
478
+ return self
@@ -0,0 +1,187 @@
1
+ import os
2
+ import sys
3
+ import numpy as np # 1.15.0
4
+ from scipy.interpolate import CubicSpline
5
+
6
+ import nucleardatapy as nuda
7
+
8
+ class setupNEPDist():
9
+ """
10
+ Instantiate the object with results based on phenomenological\
11
+ interactions and choosen by the toolkit practitioner. \
12
+ This choice is defined in the variables `model` and `param`.
13
+
14
+ :param model: Fix the name of model: 'Skyrme', 'NLRH', \
15
+ 'DDRH', 'DDRHF'. Default value: 'Skyrme'.
16
+ :type model: str, optional.
17
+ :param param: Fix the parameterization associated to model. \
18
+ Default value: 'SLY5'.
19
+ :type param: str, optional.
20
+
21
+ **Attributes:**
22
+ """
23
+ #
24
+ def __init__( self, models = [ 'Skyrme' ] ):
25
+ #
26
+ if nuda.env.verb: print("\nEnter setupNEPDist()")
27
+ #
28
+ #: Attribute model.
29
+ self.models = models
30
+ if nuda.env.verb: print("models:",models)
31
+ #
32
+ self = setupNEPDist.init_self( self )
33
+ #
34
+ models, models_lower = nuda.matter.nep_models( )
35
+ #
36
+ for model in models:
37
+ #
38
+ if model.lower() not in models_lower:
39
+ print('The model name ',model,' is not in the list of models.')
40
+ print('list of models:',models)
41
+ print('-- Exit the code --')
42
+ exit()
43
+ #
44
+ dist = nuda.matter.setupNEPModelDist( model )
45
+ #
46
+ if dist.nep:
47
+ if dist.params: self.params.extend( dist.params );
48
+ if dist.Esat: self.Esat.extend( dist.Esat );
49
+ if dist.nsat: self.nsat.extend( dist.nsat );
50
+ if dist.Ksat: self.Ksat.extend( dist.Ksat );
51
+ if dist.Qsat: self.Qsat.extend( dist.Qsat );
52
+ if dist.Zsat: self.Zsat.extend( dist.Zsat );
53
+ if dist.Esym: self.Esym.extend( dist.Esym );
54
+ if dist.Lsym: self.Lsym.extend( dist.Lsym );
55
+ if dist.Ksym: self.Ksym.extend( dist.Ksym );
56
+ if dist.Qsym: self.Qsym.extend( dist.Qsym );
57
+ if dist.Zsym: self.Zsym.extend( dist.Zsym );
58
+ if dist.kappas: self.kappas.extend( dist.kappas );
59
+ if dist.kappav: self.kappav.extend( dist.kappav );
60
+ if dist.kappasym: self.kappasym.extend( dist.kappasym );
61
+ if dist.msat: self.msat.extend( dist.msat );
62
+ if dist.Dmsat: self.Dmsat.extend( dist.Dmsat );
63
+ self.Esat = np.array( self.Esat, dtype = float )
64
+ self.nsat = np.array( self.nsat, dtype = float )
65
+ self.Ksat = np.array( self.Ksat, dtype = float )
66
+ self.Qsat = np.array( self.Qsat, dtype = float )
67
+ self.Zsat = np.array( self.Zsat, dtype = float )
68
+ self.Esym = np.array( self.Esym, dtype = float )
69
+ self.Lsym = np.array( self.Lsym, dtype = float )
70
+ self.Ksym = np.array( self.Ksym, dtype = float )
71
+ self.Qsym = np.array( self.Qsym, dtype = float )
72
+ self.Zsym = np.array( self.Zsym, dtype = float )
73
+ self.kappas = np.array( self.kappas, dtype = float )
74
+ self.kappav = np.array( self.kappav, dtype = float )
75
+ self.kappasym = np.array( self.kappasym, dtype = float )
76
+ self.msat = np.array( self.msat, dtype = float )
77
+ self.Dmsat = np.array( self.Dmsat, dtype = float )
78
+ #
79
+ # Compute statistical properties: centroids and standard distributions
80
+ #
81
+ self.Esat_mean = np.mean(self.Esat); self.Esat_std = np.std(self.Esat)
82
+ self.nsat_mean = np.mean(self.nsat); self.nsat_std = np.std(self.nsat)
83
+ self.Ksat_mean = np.mean(self.Ksat); self.Ksat_std = np.std(self.Ksat)
84
+ self.Qsat_mean = np.mean(self.Qsat); self.Qsat_std = np.std(self.Qsat)
85
+ self.Zsat_mean = np.mean(self.Zsat); self.Zsat_std = np.std(self.Zsat)
86
+ self.Esym_mean = np.mean(self.Esym); self.Esym_std = np.std(self.Esym)
87
+ self.Lsym_mean = np.mean(self.Lsym); self.Lsym_std = np.std(self.Lsym)
88
+ self.Ksym_mean = np.mean(self.Ksym); self.Ksym_std = np.std(self.Ksym)
89
+ self.Qsym_mean = np.mean(self.Qsym); self.Qsym_std = np.std(self.Qsym)
90
+ self.Zsym_mean = np.mean(self.Zsym); self.Zsym_std = np.std(self.Zsym)
91
+ self.kappas_mean = np.mean(self.kappas); self.kappas_std = np.std(self.kappas)
92
+ self.kappav_mean = np.mean(self.kappav); self.kappav_std = np.std(self.kappav)
93
+ self.kappasym_mean = np.mean(self.kappasym); self.kappasym_std = np.std(self.kappasym)
94
+ self.msat_mean = np.mean(self.msat); self.msat_std = np.std(self.msat)
95
+ self.Dmsat_mean = np.mean(self.Dmsat); self.Dmsat_std = np.std(self.Dmsat)
96
+ #
97
+ if nuda.env.verb: print("Exit SetupNEPDist()")
98
+ #
99
+ def print_outputs( self ):
100
+ """
101
+ Method which print outputs on terminal's screen.
102
+ """
103
+ print("")
104
+ #
105
+ if nuda.env.verb: print("Enter print_outputs()")
106
+ #
107
+ print("- Print output:")
108
+ print(" models:",self.models)
109
+ print(' NEP:')
110
+ if any(self.Esat): print(f" Esat: {np.round(self.Esat,2)}")
111
+ if any(self.nsat): print(f" nsat: {np.round(self.nsat,3)}")
112
+ if any(self.Ksat): print(f" Ksat: {np.round(self.Ksat,2)}")
113
+ if any(self.Qsat): print(f" Qsat: {np.round(self.Qsat,2)}")
114
+ if any(self.Zsat): print(f" Zsat: {np.round(self.Zsat,2)}")
115
+ if any(self.Esym): print(f" Esym: {np.round(self.Esym,2)}")
116
+ if any(self.Lsym): print(f" Lsym: {np.round(self.Lsym,2)}")
117
+ if any(self.Ksym): print(f" Ksym: {np.round(self.Ksym,2)}")
118
+ if any(self.Qsym): print(f" Qsym: {np.round(self.Qsym,2)}")
119
+ if any(self.Zsym): print(f" Zsym: {np.round(self.Zsym,2)}")
120
+ if any(self.msat): print(f" msat: {np.round(self.msat,2)}")
121
+ if any(self.Dmsat): print(f" Dmsat: {np.round(self.Dmsat,2)}")
122
+ #
123
+ print(f" Esat_mean: {self.Esat_mean:.2f} +- {self.Esat_std:.2f}")
124
+ print(f" nsat_mean: {self.nsat_mean:.2f} +- {self.nsat_std:.2f}")
125
+ print(f" Ksat_mean: {self.Ksat_mean:.1f} +- {self.Ksat_std:.1f}")
126
+ print(f" Qsat_mean: {self.Qsat_mean:.0f} +- {self.Qsat_std:.0f}")
127
+ print(f" Zsat_mean: {self.Zsat_mean:.0f} +- {self.Zsat_std:.0f}")
128
+ print(f" Esym_mean: {self.Esym_mean:.2f} +- {self.Esym_std:.2f}")
129
+ print(f" Lsym_mean: {self.Lsym_mean:.1f} +- {self.Lsym_std:.1f}")
130
+ print(f" Ksym_mean: {self.Ksym_mean:.0f} +- {self.Ksym_std:.0f}")
131
+ print(f" Qsym_mean: {self.Qsym_mean:.0f} +- {self.Qsym_std:.0f}")
132
+ print(f" Zsym_mean: {self.Zsym_mean:.0f} +- {self.Zsym_std:.0f}")
133
+ print(f" kappas_mean: {self.kappas_mean:.2f} +- {self.kappas_std:.2f}")
134
+ print(f" kappav_mean: {self.kappav_mean:.2f} +- {self.kappav_std:.2f}")
135
+ print(f" kappasym_mean: {self.kappasym_mean:.2f} +- {self.kappasym_std:.2f}")
136
+ print(f" msat_mean: {self.msat_mean:.2f} +- {self.msat_std:.2f}")
137
+ print(f" Dmsat_mean: {self.Dmsat_mean:.2f} +- {self.Dmsat_std:.2f}")
138
+ #
139
+ if nuda.env.verb: print("Exit print_outputs()")
140
+ #
141
+ def print_latex( self ):
142
+ """
143
+ Method which print outputs on terminal's screen.
144
+ """
145
+ print("")
146
+ #
147
+ if nuda.env.verb: print("Enter print_latex()")
148
+ #
149
+ print("- Print latex:")
150
+ print(" models:", len(self.models), self.models, len(self.params))
151
+ print(' table:')
152
+ print(r' NEP & $E_{\sat}$ & $n_{\sat}$ & $K_{\sat}$ & $Q_{\sat}$ & $Z_{\sat}$ &',
153
+ r' $E_{sym}$ & $L_{sym}$ & $K_{sym}$ & $Q_{sym}$ & $Z_{sym}$ &',
154
+ r' $m^*_{sat}/m$ & $\Delta m^*_{sat}/m$ \\\\')
155
+ print(r' & MeV & fm$^{-3}n$ & MeV & MeV & MeV &',
156
+ r' MeV & MeV & MeV & MeV & MeV &',
157
+ r' & \\\\')
158
+ print(rf' centroid & {self.Esat_mean:.2f} & {self.nsat_mean:.3f} &',
159
+ rf' {self.Ksat_mean:.1f} & {self.Qsat_mean:.0f} & {self.Zsat_mean:.0f} &',
160
+ rf' {self.Esym_mean:.2f} & {self.Lsym_mean:.1f} & {self.Ksym_mean:.0f} &',
161
+ rf' {self.Qsym_mean:.0f} & {self.Zsym_mean:.0f} & {self.msat_mean:.2f} &',
162
+ rf' {self.Dmsat_mean:.3f} \\\\')
163
+ print(rf' std.dev. & {self.Esat_std:.2f} & {self.nsat_std:.3f} &',
164
+ rf' {self.Ksat_std:.1f} & {self.Qsat_std:.0f} & {self.Zsat_std:.0f} &',
165
+ rf' {self.Esym_std:.2f} & {self.Lsym_std:.1f} & {self.Ksym_std:.0f} &',
166
+ rf' {self.Qsym_std:.0f} & {self.Zsym_std:.0f} & {self.msat_std:.2f} &',
167
+ rf' {self.Dmsat_std:.3f} \\\\')
168
+ #
169
+ if nuda.env.verb: print("Exit print_latex()")
170
+ #
171
+ def init_self( self ):
172
+ """
173
+ Initialize variables in self.
174
+ """
175
+ #
176
+ if nuda.env.verb: print("Enter init_self()")
177
+ #
178
+ #: Attribute the NEP.
179
+ self.params = []
180
+ self.nsat = []; self.Esat = []; self.Ksat = []; self.Qsat = []; self.Zsat = []
181
+ self.Esym = []; self.Lsym = []; self.Ksym = []; self.Qsym = []; self.Zsym = []
182
+ self.kappas = []; self.kappav = []; self.kappasym = []
183
+ self.msat = []; self.Dmsat = [];
184
+ #
185
+ if nuda.env.verb: print("Exit init_self()")
186
+ #
187
+ return self