nucleardatapy 0.2.1__py3-none-any.whl → 1.0.1__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 (172) hide show
  1. nucleardatapy/__init__.py +3 -1
  2. nucleardatapy/astro/setup_gw.py +18 -18
  3. nucleardatapy/astro/setup_mr.py +123 -33
  4. nucleardatapy/astro/setup_mup.py +10 -10
  5. nucleardatapy/corr/setup_EsymDen.py +0 -5
  6. nucleardatapy/corr/setup_EsymLsym.py +50 -17
  7. nucleardatapy/corr/setup_KsatQsat.py +170 -69
  8. nucleardatapy/create_folder.py +2 -2
  9. nucleardatapy/crust/setup_crust.py +364 -126
  10. nucleardatapy/data/astro/HESS/J1731-347.dat +4 -0
  11. nucleardatapy/data/astro/NICER/J0030+0451.dat +6 -6
  12. nucleardatapy/data/astro/NICER/J0437-4715.dat +4 -3
  13. nucleardatapy/data/astro/NICER/J0614-3329.dat +4 -0
  14. nucleardatapy/data/astro/NICER/J0740+6620.dat +5 -4
  15. nucleardatapy/data/hnuclei/1991-2L-Yamamoto.csv +6 -0
  16. nucleardatapy/data/hnuclei/2013-2L-Ahn.csv +1 -1
  17. nucleardatapy/data/hnuclei/2019-2L-Ekawa.csv +7 -0
  18. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-E2A-NM.dat +8 -8
  19. nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-414-E2A.dat +21 -0
  20. nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-414-TD.dat +22 -0
  21. nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-450-E2A.dat +20 -0
  22. nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-450-TD.dat +22 -0
  23. nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-500-E2A.dat +23 -0
  24. nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-500-TD.dat +22 -0
  25. nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-414-E2A.dat +15 -0
  26. nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-414-TD.dat +21 -0
  27. nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-450-E2A.dat +15 -0
  28. nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-450-TD.dat +21 -0
  29. nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-500-E2A.dat +20 -0
  30. nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-500-TD.dat +20 -0
  31. nucleardatapy/data/matter/micro/2024-ABI-NM-DeltaNNLO450.dat +28 -0
  32. nucleardatapy/data/matter/micro/2024-ABI-NM-DeltaNNLO500.dat +28 -0
  33. nucleardatapy/data/matter/micro/2024-ABI-NM-DeltaNNLOgo394.dat +28 -0
  34. nucleardatapy/data/matter/micro/2024-ABI-NM-DeltaNNLOgo450.dat +28 -0
  35. nucleardatapy/data/matter/micro/2024-ABI-NM-NNLOsat.dat +28 -0
  36. nucleardatapy/data/matter/micro/2024-ABI-SM-DeltaNNLO450.dat +28 -0
  37. nucleardatapy/data/matter/micro/2024-ABI-SM-DeltaNNLO500.dat +28 -0
  38. nucleardatapy/data/matter/micro/2024-ABI-SM-DeltaNNLOgo394.dat +28 -0
  39. nucleardatapy/data/matter/micro/2024-ABI-SM-DeltaNNLOgo450.dat +28 -0
  40. nucleardatapy/data/matter/micro/2024-ABI-SM-NNLOsat.dat +28 -0
  41. nucleardatapy/data/matter/nep/NEPESkyrme.dat +2 -3
  42. nucleardatapy/data/matter/nep/NEPGSkyrme.dat +7 -0
  43. nucleardatapy/data/matter/nep/NEPSkyrme.dat +4 -2
  44. nucleardatapy/data/matter/nep/NEPxEFT.dat +8 -0
  45. nucleardatapy/data/matter/nep/best67DDSkyrme.dat +28 -0
  46. nucleardatapy/data/matter/nep/best90DDSkyrme.dat +46 -0
  47. nucleardatapy/data/matter/nep/best95DDSkyrme.dat +54 -0
  48. nucleardatapy/data/matter/pheno/ESkyrme/BSk31-NM.dat +996 -996
  49. nucleardatapy/data/matter/pheno/ESkyrme/BSk31-SM.dat +991 -991
  50. nucleardatapy/data/matter/pheno/ESkyrme/BSkG4-NM.dat +1002 -0
  51. nucleardatapy/data/matter/pheno/ESkyrme/BSkG4-SM.dat +1002 -0
  52. nucleardatapy/data/matter/pheno/Skyrme/BSkG1-NM.dat +102 -0
  53. nucleardatapy/data/matter/pheno/Skyrme/BSkG1-SM.dat +102 -0
  54. nucleardatapy/data/matter/pheno/Skyrme/BSkG2-NM.dat +102 -0
  55. nucleardatapy/data/matter/pheno/Skyrme/BSkG2-SM.dat +102 -0
  56. nucleardatapy/env.py +1 -1
  57. nucleardatapy/eos/__init__.py +4 -3
  58. nucleardatapy/eos/setupCC.py +429 -0
  59. nucleardatapy/eos/setup_am.py +39 -14
  60. nucleardatapy/eos/setup_am_Beq.py +40 -15
  61. nucleardatapy/eos/setup_am_Leq.py +40 -15
  62. nucleardatapy/fig/__init__.py +24 -15
  63. nucleardatapy/fig/astro_setupGW_fig.py +9 -7
  64. nucleardatapy/fig/astro_setupMR_fig.py +26 -18
  65. nucleardatapy/fig/astro_setupMasses_fig.py +8 -6
  66. nucleardatapy/fig/astro_setupMtov_fig.py +10 -6
  67. nucleardatapy/fig/astro_setupMup_fig.py +9 -7
  68. nucleardatapy/fig/corr_setupEsymDen_fig.py +22 -9
  69. nucleardatapy/fig/corr_setupEsymLsym_fig.py +25 -8
  70. nucleardatapy/fig/corr_setupKsatQsat_fig.py +23 -17
  71. nucleardatapy/fig/crust_setupCrust_fig.py +11 -9
  72. nucleardatapy/fig/eos_setupAMBeq_fig.py +641 -156
  73. nucleardatapy/fig/eos_setupAMLeq_fig.py +53 -50
  74. nucleardatapy/fig/eos_setupAM_asy_lep_fig.py +373 -0
  75. nucleardatapy/fig/eos_setupAM_asy_nuc_fig.py +346 -0
  76. nucleardatapy/fig/eos_setupAM_asy_tot_fig.py +352 -0
  77. nucleardatapy/fig/eos_setupAM_fig.py +519 -0
  78. nucleardatapy/fig/eos_setupCC_fig.py +270 -0
  79. nucleardatapy/fig/hnuc_setupChart_fig.py +19 -16
  80. nucleardatapy/fig/hnuc_setupRE1LExp_fig.py +15 -5
  81. nucleardatapy/fig/matter_all_fig.py +971 -0
  82. nucleardatapy/fig/matter_setupCheck_fig.py +106 -0
  83. nucleardatapy/fig/matter_setupFFGLep_fig.py +74 -0
  84. nucleardatapy/fig/matter_setupFFGNuc_fig.py +286 -115
  85. nucleardatapy/fig/matter_setupHIC_fig.py +107 -67
  86. nucleardatapy/fig/matter_setupMicroEsym_fig.py +259 -73
  87. nucleardatapy/fig/matter_setupMicro_LP_fig.py +185 -82
  88. nucleardatapy/fig/matter_setupMicro_band_fig.py +126 -53
  89. nucleardatapy/fig/matter_setupMicro_effmass_fig.py +253 -77
  90. nucleardatapy/fig/matter_setupMicro_err_NM_fig.py +45 -20
  91. nucleardatapy/fig/matter_setupMicro_fig.py +317 -77
  92. nucleardatapy/fig/matter_setupMicro_gap_fig.py +237 -100
  93. nucleardatapy/fig/matter_setupNEPStats_fig.py +106 -0
  94. nucleardatapy/fig/matter_setupPhenoEsym_fig.py +204 -65
  95. nucleardatapy/fig/matter_setupPheno_fig.py +395 -93
  96. nucleardatapy/fig/nuc_setupBEExp_chart_fig.py +93 -73
  97. nucleardatapy/fig/nuc_setupBEExp_fig.py +97 -87
  98. nucleardatapy/fig/nuc_setupBETheo_fig.py +114 -81
  99. nucleardatapy/fig/nuc_setupISGMRExp_fig.py +12 -15
  100. nucleardatapy/fig/nuc_setupRchExp_fig.py +14 -22
  101. nucleardatapy/fig/nuc_setupRchTheo_fig.py +37 -40
  102. nucleardatapy/fig/nuc_setupRnpExp_fig.py +86 -106
  103. nucleardatapy/fig/nuc_setupRnpTheo_fig.py +105 -94
  104. nucleardatapy/hello.py +6 -0
  105. nucleardatapy/hnuc/setup_re1L_exp.py +6 -6
  106. nucleardatapy/hnuc/setup_re1Xi_exp.py +5 -5
  107. nucleardatapy/hnuc/setup_re2L_exp.py +36 -13
  108. nucleardatapy/matter/__init__.py +14 -14
  109. nucleardatapy/matter/setup_check.py +6 -6
  110. nucleardatapy/matter/setup_ffg.py +66 -39
  111. nucleardatapy/matter/setup_hic.py +91 -74
  112. nucleardatapy/matter/setup_micro.py +2033 -1007
  113. nucleardatapy/matter/setup_micro_band.py +6 -6
  114. nucleardatapy/matter/setup_micro_esym.py +56 -54
  115. nucleardatapy/matter/setup_micro_gap.py +24 -17
  116. nucleardatapy/matter/setup_micro_lp.py +2 -2
  117. nucleardatapy/matter/setup_nep.py +175 -92
  118. nucleardatapy/matter/{setup_nep_model_dist.py → setup_nep_stat_model.py} +13 -8
  119. nucleardatapy/matter/{setup_nep_dist.py → setup_nep_stat_models.py} +12 -8
  120. nucleardatapy/matter/setup_pheno.py +129 -49
  121. nucleardatapy/matter/setup_pheno_esym.py +22 -19
  122. nucleardatapy/nuc/setup_be_exp.py +306 -292
  123. nucleardatapy/nuc/setup_be_theo.py +288 -105
  124. nucleardatapy/nuc/setup_isgmr_exp.py +4 -4
  125. nucleardatapy/nuc/setup_rnp_exp.py +1 -0
  126. nucleardatapy/nuc/setup_rnp_theo.py +2 -1
  127. {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.1.dist-info}/METADATA +48 -16
  128. {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.1.dist-info}/RECORD +157 -124
  129. {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.1.dist-info}/WHEEL +1 -1
  130. tests/test_corr_setupKsatQsat.py +3 -1
  131. tests/test_matter_setupMicro.py +37 -10
  132. nucleardatapy/data/matter/pheno/ESkyrme/BSkG1-NM.dat +0 -1002
  133. nucleardatapy/data/matter/pheno/ESkyrme/BSkG1-SM.dat +0 -1002
  134. nucleardatapy/data/matter/pheno/ESkyrme/BSkG2-NM.dat +0 -1002
  135. nucleardatapy/data/matter/pheno/ESkyrme/BSkG2-SM.dat +0 -1002
  136. nucleardatapy/fig/eos_setupAM_e_asy_lep_fig.py +0 -125
  137. nucleardatapy/fig/eos_setupAM_e_asy_nuc_fig.py +0 -115
  138. nucleardatapy/fig/eos_setupAM_e_asy_tot_fig.py +0 -117
  139. nucleardatapy/fig/eos_setupAM_e_fig.py +0 -173
  140. nucleardatapy/fig/matter_ENM_fig.py +0 -128
  141. nucleardatapy/fig/matter_ESM_fig.py +0 -140
  142. nucleardatapy/fig/matter_Esym_fig.py +0 -134
  143. nucleardatapy/fig/matter_cs2_fig.py +0 -83
  144. nucleardatapy/fig/matter_preNM_fig.py +0 -146
  145. nucleardatapy/fig/matter_preSM_fig.py +0 -144
  146. nucleardatapy/fig/matter_setupNEPModelDist_fig.py +0 -68
  147. /nucleardatapy/data/LandauParameters/micro/{2006-IBHF-NM-AV18.dat → 2006-EBHF-NM-AV18.dat} +0 -0
  148. /nucleardatapy/data/LandauParameters/micro/{2006-IBHF-SM-AV18.dat → 2006-EBHF-SM-AV18.dat} +0 -0
  149. /nucleardatapy/data/crust/{2022-crustGMRS-BSK14.dat → 2022-GMRS-BSK14.dat} +0 -0
  150. /nucleardatapy/data/crust/{2022-crustGMRS-BSK16.dat → 2022-GMRS-BSK16.dat} +0 -0
  151. /nucleardatapy/data/crust/{2022-crustGMRS-DHSL59.dat → 2022-GMRS-DHSL59.dat} +0 -0
  152. /nucleardatapy/data/crust/{2022-crustGMRS-DHSL69.dat → 2022-GMRS-DHSL69.dat} +0 -0
  153. /nucleardatapy/data/crust/{2022-crustGMRS-F0.dat → 2022-GMRS-F0.dat} +0 -0
  154. /nucleardatapy/data/crust/{2022-crustGMRS-H1.dat → 2022-GMRS-H1.dat} +0 -0
  155. /nucleardatapy/data/crust/{2022-crustGMRS-H2.dat → 2022-GMRS-H2.dat} +0 -0
  156. /nucleardatapy/data/crust/{2022-crustGMRS-H3.dat → 2022-GMRS-H3.dat} +0 -0
  157. /nucleardatapy/data/crust/{2022-crustGMRS-H4.dat → 2022-GMRS-H4.dat} +0 -0
  158. /nucleardatapy/data/crust/{2022-crustGMRS-H5.dat → 2022-GMRS-H5.dat} +0 -0
  159. /nucleardatapy/data/crust/{2022-crustGMRS-H7.dat → 2022-GMRS-H7.dat} +0 -0
  160. /nucleardatapy/data/crust/{2022-crustGMRS-LNS5.dat → 2022-GMRS-LNS5.dat} +0 -0
  161. /nucleardatapy/data/crust/{2022-crustGMRS-RATP.dat → 2022-GMRS-RATP.dat} +0 -0
  162. /nucleardatapy/data/crust/{2022-crustGMRS-SGII.dat → 2022-GMRS-SGII.dat} +0 -0
  163. /nucleardatapy/data/crust/{2022-crustGMRS-SLY5.dat → 2022-GMRS-SLY5.dat} +0 -0
  164. /nucleardatapy/data/matter/micro/{2013-QMC-NM.dat → 2013-MBPT-NM.dat} +0 -0
  165. /nucleardatapy/data/{NeutronSkin/ddrhNskin-208Pb.dat → rnp/ddrhrnp-208Pb.dat} +0 -0
  166. /nucleardatapy/data/{NeutronSkin/ddrhNskin-48Ca.dat → rnp/ddrhrnp-48Ca.dat} +0 -0
  167. /nucleardatapy/data/{NeutronSkin/nlrhNskin-208Pb.dat → rnp/nlrhrnp-208Pb.dat} +0 -0
  168. /nucleardatapy/data/{NeutronSkin/nlrhNskin-48Ca.dat → rnp/nlrhrnp-48Ca.dat} +0 -0
  169. /nucleardatapy/data/{NeutronSkin/skyrmeNskin-208Pb.dat → rnp/skyrmernp-208Pb.dat} +0 -0
  170. /nucleardatapy/data/{NeutronSkin/skyrmeNskin-48Ca.dat → rnp/skyrmernp-48Ca.dat} +0 -0
  171. {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.1.dist-info}/licenses/LICENSE +0 -0
  172. {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.1.dist-info}/top_level.txt +0 -0
@@ -5,8 +5,10 @@ import nucleardatapy as nuda
5
5
 
6
6
  def nuc_setupBEExp_chart_lt_fig( pname, table, version, theo_tables ):
7
7
  """
8
- Plot nuclear chart (N versus Z).\
9
- The plot is 1x1 with:\
8
+ Plot nuclear chart (N versus Z).
9
+
10
+ The plot is 1x1 with:
11
+
10
12
  [0]: nuclear chart.
11
13
 
12
14
  :param pname: name of the figure (*.png)
@@ -17,7 +19,6 @@ def nuc_setupBEExp_chart_lt_fig( pname, table, version, theo_tables ):
17
19
  :type version: str.
18
20
  :param theo_tables: object instantiated on the reference band.
19
21
  :type theo_tables: object.
20
-
21
22
  """
22
23
  #
23
24
  print(f'Plot name: {pname}')
@@ -31,8 +32,8 @@ def nuc_setupBEExp_chart_lt_fig( pname, table, version, theo_tables ):
31
32
  fig.subplots_adjust(left=0.12, bottom=0.15, right=None, top=0.85, wspace=0.3, hspace=0.3)
32
33
  #
33
34
  axs.set_title(r''+table+' mass table version '+version)
34
- axs.set_ylabel(r'Z')
35
- axs.set_xlabel(r'N')
35
+ axs.set_ylabel(r'Z',fontsize='14')
36
+ axs.set_xlabel(r'N',fontsize='14')
36
37
  axs.set_xlim([0, 200])
37
38
  axs.set_ylim([0, 132])
38
39
  axs.text(10,120,'Number of nuclei:')
@@ -41,21 +42,28 @@ def nuc_setupBEExp_chart_lt_fig( pname, table, version, theo_tables ):
41
42
  #
42
43
  mas = nuda.nuc.setupBEExp( table = table, version = version )
43
44
  ustbl = mas.select( state= 'gs', interp = 'n', nucleus = 'longlive' )
44
- axs.scatter( ustbl.sel_nucN, ustbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'grey', label='longlive ('+str(ustbl.sel_nbNucSel)+')' )
45
+ axs.scatter( ustbl.sel_nucN, ustbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'grey', label='long-lived ('+str(ustbl.sel_nbNucSel)+')' )
45
46
  #axs.text(10,96,'long live: '+str(ustbl.sel_nbNucSel))
46
47
  #
47
48
  # shortlive nuclei
48
49
  #
49
50
  mas = nuda.nuc.setupBEExp( table = table, version = version )
50
51
  ustbl = mas.select( state= 'gs', interp = 'n', nucleus = 'shortlive' )
51
- axs.scatter( ustbl.sel_nucN, ustbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'r', label='shortlive ('+str(ustbl.sel_nbNucSel)+')' )
52
+ axs.scatter( ustbl.sel_nucN, ustbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'r', label='short-lived ('+str(ustbl.sel_nbNucSel)+')' )
52
53
  #axs.text(10,88,'short live: '+str(ustbl.sel_nbNucSel))
53
54
  #
54
55
  # veryshortlive nuclei
55
56
  #
56
57
  mas = nuda.nuc.setupBEExp( table = table, version = version )
57
58
  ustbl = mas.select( state= 'gs', interp = 'n', nucleus = 'veryshortlive' )
58
- axs.scatter( ustbl.sel_nucN, ustbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'b', label='veryshortlive ('+str(ustbl.sel_nbNucSel)+')' )
59
+ axs.scatter( ustbl.sel_nucN, ustbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'b', label='very-short-lived ('+str(ustbl.sel_nbNucSel)+')' )
60
+ #axs.text(10,80,'very short live: '+str(ustbl.sel_nbNucSel))
61
+ #
62
+ # hypershortlive nuclei
63
+ #
64
+ mas = nuda.nuc.setupBEExp( table = table, version = version )
65
+ ustbl = mas.select( state= 'gs', interp = 'n', nucleus = 'hypershortlive' )
66
+ axs.scatter( ustbl.sel_nucN, ustbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'g', label='hyper-short-lived ('+str(ustbl.sel_nbNucSel)+')' )
59
67
  #axs.text(10,80,'very short live: '+str(ustbl.sel_nbNucSel))
60
68
  #
61
69
  # unstable nuclei:
@@ -70,16 +78,20 @@ def nuc_setupBEExp_chart_lt_fig( pname, table, version, theo_tables ):
70
78
  legend = 0
71
79
  for i,theo_table in enumerate( theo_tables ):
72
80
  theo = nuda.nuc.setupBETheo( table = theo_table )
73
- s2n = theo.S2n( Zmin=1, Zmax = 95 )
74
- drip_S2n = s2n.drip_S2n( Zmin = 1, Zmax = 95 )
75
- if legend == 0:
76
- axs.scatter( drip_S2n.drip_S2n_N, drip_S2n.drip_S2n_Z, marker='o', s = 3, linewidth=0, color = 'green', label='Drip Lines' )
77
- legend = 1
78
- else:
79
- axs.scatter( drip_S2n.drip_S2n_N, drip_S2n.drip_S2n_Z, marker='o', s = 3, linewidth=0, color = 'green' )
80
- s2p = theo.S2p( Nmin=1, Nmax = 150 )
81
- drip_S2p = s2p.drip_S2p( Nmin = 1, Nmax = 150 )
82
- axs.scatter( drip_S2p.drip_S2p_N, drip_S2p.drip_S2p_Z, marker='o', s = 3, linewidth=0, color = 'green' )
81
+ for zref in range(1,96):
82
+ itp = theo.isotopes( Zref= zref)
83
+ s2n = itp.S2n( Zref= zref )
84
+ drip_S2n = itp.drip_S2n(Zref = zref)
85
+ if legend == 0:
86
+ axs.scatter( drip_S2n.drip_S2n_N, drip_S2n.drip_S2n_Z, marker='o', s = 3, linewidth=0, color = 'purple', label='Drip Lines' )
87
+ legend = 1
88
+ else:
89
+ axs.scatter( drip_S2n.drip_S2n_N, drip_S2n.drip_S2n_Z, marker='o', s = 3, linewidth=0, color = 'purple' )
90
+ # for nref in range(1,170):
91
+ # itn = theo.isotones( Nref= nref)
92
+ # s2p = itn.S2p( Nref= nref)
93
+ # drip_S2p = theo.drip_S2p( Nmin=1, Nmax=169)
94
+ # axs.scatter( drip_S2p.drip_S2p_N, drip_S2p.drip_S2p_Z, marker='o', s = 3, linewidth=0, color = 'purple' )
83
95
  #
84
96
  # First and last isotopes
85
97
  #
@@ -94,7 +106,7 @@ def nuc_setupBEExp_chart_lt_fig( pname, table, version, theo_tables ):
94
106
  axs.scatter( stbl.sel_nucN, stbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'k' )
95
107
  axs.text(10,112,'stable: '+str(stbl.sel_nbNucSel))
96
108
  #
97
- axs.text(60,120,str(ustbl.sel_nbNucSel+stbl.sel_nbNucSel))
109
+ axs.text(49,120,str(ustbl.sel_nbNucSel+stbl.sel_nbNucSel))
98
110
  #
99
111
  # plot N=Z dotted line
100
112
  #
@@ -103,8 +115,10 @@ def nuc_setupBEExp_chart_lt_fig( pname, table, version, theo_tables ):
103
115
  #
104
116
  # plot stable_fit
105
117
  #
106
- N, Z = nuda.stable_fit( Zmin = 1, Zmax = 120 )
118
+ N, Z = nuda.stable_fit_Z( Zmin = 1, Zmax = 120 )
107
119
  axs.plot( N, Z, linestyle='dashed', linewidth=1, color='k')
120
+ #N, Z = nuda.stable_fit_N( Nmin = 1, Nmax = 200 )
121
+ #axs.plot( N, Z, linestyle='dashed', linewidth=1, color='r')
108
122
  #
109
123
  # plot shells for isotopes and isotones
110
124
  #
@@ -121,26 +135,27 @@ def nuc_setupBEExp_chart_lt_fig( pname, table, version, theo_tables ):
121
135
  plt.close()
122
136
  #
123
137
 
124
- def nuc_setupBEExp_chart_Rch_fig( pname, table, version, Rch_table ):
138
+ def nuc_setupBEExp_chart_year_fig( pname, sYear, year_min, year_max ):
125
139
  """
126
- Plot nuclear chart (N versus Z).\
127
- The plot is 1x1 with:\
140
+ Plot nuclear chart (N versus Z) for a range of discovery years.
141
+
142
+ The plot is 1x1 with:
143
+
128
144
  [0]: nuclear chart.
129
145
 
130
146
  :param pname: name of the figure (*.png)
131
147
  :type pname: str.
132
- :param table: table.
133
- :type table: str.
134
- :param version: version of table to run on.
135
- :type version: str.
136
- :param theo_tables: object instantiated on the reference band.
137
- :type theo_tables: object.
138
-
148
+ :param sYear: select nuclei for given discovery years.
149
+ :type sYear: object.
150
+ :param year_min: lower range of the discovery years.
151
+ :type year_min: real.
152
+ :param year_max: upper range of the discovery years.
153
+ :type year_max: real.
139
154
  """
140
155
  #
141
156
  print(f'Plot name: {pname}')
142
157
  #
143
- print('Table:',table)
158
+ #print('Table:',table)
144
159
  #
145
160
  # plot
146
161
  #
@@ -148,35 +163,23 @@ def nuc_setupBEExp_chart_Rch_fig( pname, table, version, Rch_table ):
148
163
  fig.tight_layout() # Or equivalently, "plt.tight_layout()"
149
164
  fig.subplots_adjust(left=0.12, bottom=0.15, right=None, top=0.85, wspace=0.3, hspace=0.3)
150
165
  #
151
- axs.set_title(r''+table+' mass table version '+version+' + '+Rch_table+' charge radius table')
166
+ #axs.set_title(r''+table+' mass table version '+version)
152
167
  axs.set_ylabel(r'Z')
153
168
  axs.set_xlabel(r'N')
154
169
  axs.set_xlim([0, 200])
155
- axs.set_xticks([0,25,50,75,100,125,150,175,200])
156
170
  axs.set_ylim([0, 132])
157
- axs.set_yticks([0,20,40,60,80,100,120])
158
- axs.text(10,120,'Number of nuclei:')
159
- #
160
- # First and last isotopes
161
- #
162
- mas = nuda.nuc.setupBEExp( table = table, version = version )
163
- ustbl = mas.select( state= 'gs', interp = 'n', nucleus = 'unstable' )
164
- iso = ustbl.isotopes( Zmin=1, Zmax = 95 )
165
- axs.scatter( iso.isotopes_Nmin, iso.isotopes_Z, marker='s', s = 3, linewidth=0, color = 'green', label='AME boundaries' )
166
- axs.scatter( iso.isotopes_Nmax, iso.isotopes_Z, marker='s', s = 3, linewidth=0, color = 'green' )
171
+ #axs.text(10,120,'Number of nuclei:')
172
+ axs.text(10,100,'Year: '+str(year_min)+' to '+str(year_max))
167
173
  #
168
- # stable nuclei:
174
+ # nuclei given in argument: sYear
169
175
  #
170
- mas = nuda.nuc.setupBEExp( table = table, version = version )
171
- stbl = mas.select( state= 'gs', interp = 'n', nucleus = 'stable' )
172
- axs.scatter( stbl.sel_nucN, stbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'k' )
173
- axs.text(10,112,'stable: '+str(stbl.sel_nbNucSel))
174
- axs.text(60,120,str(ustbl.sel_nbNucSel+stbl.sel_nbNucSel))
176
+ axs.scatter( sYear.sel_N, sYear.sel_Z, marker='s', s = 3, linewidth=0, color = 'grey' )
175
177
  #
176
- # Charge radii:
178
+ # First and last isotopes
177
179
  #
178
- rch = nuda.nuc.setupRchExp( table = Rch_table )
179
- axs.scatter( rch.nucN, rch.nucZ, marker='s', s = 3, linewidth=0, color = 'blue', label = 'charge radii' )
180
+ #iso = ustbl.isotopes( Zmin=1, Zmax = 95 )
181
+ #axs.scatter( iso.isotopes_Nmin, iso.isotopes_Z, marker='s', s = 3, linewidth=0, color = 'green', label='Isotope bounds' )
182
+ #axs.scatter( iso.isotopes_Nmax, iso.isotopes_Z, marker='s', s = 3, linewidth=0, color = 'green' )
180
183
  #
181
184
  # plot N=Z dotted line
182
185
  #
@@ -185,8 +188,10 @@ def nuc_setupBEExp_chart_Rch_fig( pname, table, version, Rch_table ):
185
188
  #
186
189
  # plot stable_fit
187
190
  #
188
- N, Z = nuda.stable_fit( Zmin = 1, Zmax = 120 )
191
+ N, Z = nuda.stable_fit_Z( Zmin = 1, Zmax = 120 )
189
192
  axs.plot( N, Z, linestyle='dashed', linewidth=1, color='k')
193
+ N, Z = nuda.stable_fit_N( Nmin = 1, Nmax = 170 )
194
+ axs.plot( N, Z, linestyle='dashed', linewidth=1, color='r')
190
195
  #
191
196
  # plot shells for isotopes and isotones
192
197
  #
@@ -194,7 +199,7 @@ def nuc_setupBEExp_chart_Rch_fig( pname, table, version, Rch_table ):
194
199
  #
195
200
  # set legend
196
201
  #
197
- axs.legend(loc='lower right',fontsize='10')
202
+ #axs.legend(loc='lower right',fontsize='10')
198
203
  #
199
204
  # set plot name and close
200
205
  #
@@ -203,11 +208,12 @@ def nuc_setupBEExp_chart_Rch_fig( pname, table, version, Rch_table ):
203
208
  plt.close()
204
209
  #
205
210
 
206
-
207
- def nuc_setupBEExp_chart_year_fig( pname, sYear, year_min, year_max ):
211
+ def nuc_setupBEExp_chart_Rch_fig( pname, table, version, Rch_table ):
208
212
  """
209
- Plot nuclear chart (N versus Z).\
210
- The plot is 1x1 with:\
213
+ Plot nuclear chart (N versus Z).
214
+
215
+ The plot is 1x1 with:
216
+
211
217
  [0]: nuclear chart.
212
218
 
213
219
  :param pname: name of the figure (*.png)
@@ -216,14 +222,14 @@ def nuc_setupBEExp_chart_year_fig( pname, sYear, year_min, year_max ):
216
222
  :type table: str.
217
223
  :param version: version of table to run on.
218
224
  :type version: str.
219
- :param theo_tables: object instantiated on the reference band.
220
- :type theo_tables: object.
225
+ :param Rch_table: table for Rch.
226
+ :type Rch_table: str.
221
227
 
222
228
  """
223
229
  #
224
230
  print(f'Plot name: {pname}')
225
231
  #
226
- #print('Table:',table)
232
+ print('Table:',table)
227
233
  #
228
234
  # plot
229
235
  #
@@ -231,23 +237,36 @@ def nuc_setupBEExp_chart_year_fig( pname, sYear, year_min, year_max ):
231
237
  fig.tight_layout() # Or equivalently, "plt.tight_layout()"
232
238
  fig.subplots_adjust(left=0.12, bottom=0.15, right=None, top=0.85, wspace=0.3, hspace=0.3)
233
239
  #
234
- #axs.set_title(r''+table+' mass table version '+version)
240
+ axs.set_title(r''+table+' mass table version '+version+' + '+Rch_table+' charge radius table')
235
241
  axs.set_ylabel(r'Z')
236
242
  axs.set_xlabel(r'N')
237
243
  axs.set_xlim([0, 200])
244
+ axs.set_xticks([0,25,50,75,100,125,150,175,200])
238
245
  axs.set_ylim([0, 132])
239
- #axs.text(10,120,'Number of nuclei:')
240
- axs.text(10,100,'Year: '+str(year_min)+' to '+str(year_max))
246
+ axs.set_yticks([0,20,40,60,80,100,120])
247
+ axs.text(10,120,'Number of nuclei:')
241
248
  #
242
- # nuclei given in argument: sYear
249
+ # First and last isotopes
243
250
  #
244
- axs.scatter( sYear.sel_N, sYear.sel_Z, marker='s', s = 3, linewidth=0, color = 'grey' )
251
+ mas = nuda.nuc.setupBEExp( table = table, version = version )
252
+ ustbl = mas.select( state= 'gs', interp = 'n', nucleus = 'unstable' )
253
+ for Zref in range(1,95):
254
+ iso = ustbl.isotopes( Zref = Zref )
255
+ axs.scatter( iso.itp_nucNmin, iso.itp_nucZ, marker='s', s = 3, linewidth=0, color = 'green' )
256
+ axs.scatter( iso.itp_nucNmax, iso.itp_nucZ, marker='s', s = 3, linewidth=0, color = 'green' )
245
257
  #
246
- # First and last isotopes
258
+ # stable nuclei:
247
259
  #
248
- #iso = ustbl.isotopes( Zmin=1, Zmax = 95 )
249
- #axs.scatter( iso.isotopes_Nmin, iso.isotopes_Z, marker='s', s = 3, linewidth=0, color = 'green', label='Isotope bounds' )
250
- #axs.scatter( iso.isotopes_Nmax, iso.isotopes_Z, marker='s', s = 3, linewidth=0, color = 'green' )
260
+ mas = nuda.nuc.setupBEExp( table = table, version = version )
261
+ stbl = mas.select( state= 'gs', interp = 'n', nucleus = 'stable' )
262
+ axs.scatter( stbl.sel_nucN, stbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'k' )
263
+ axs.text(10,112,'stable: '+str(stbl.sel_nbNucSel))
264
+ axs.text(60,120,str(ustbl.sel_nbNucSel+stbl.sel_nbNucSel))
265
+ #
266
+ # Charge radii:
267
+ #
268
+ rch = nuda.nuc.setupRchExp( table = Rch_table )
269
+ axs.scatter( rch.nucN, rch.nucZ, marker='s', s = 3, linewidth=0, color = 'blue', label = 'charge radii' )
251
270
  #
252
271
  # plot N=Z dotted line
253
272
  #
@@ -256,8 +275,8 @@ def nuc_setupBEExp_chart_year_fig( pname, sYear, year_min, year_max ):
256
275
  #
257
276
  # plot stable_fit
258
277
  #
259
- N, Z = nuda.stable_fit( Zmin = 1, Zmax = 120 )
260
- axs.plot( N, Z, linestyle='dashed', linewidth=1, color='k')
278
+ #N, Z = nuda.stable_fit_N( Zmin = 1, Zmax = 120 )
279
+ #axs.plot( N, Z, linestyle='dashed', linewidth=1, color='k')
261
280
  #
262
281
  # plot shells for isotopes and isotones
263
282
  #
@@ -265,7 +284,7 @@ def nuc_setupBEExp_chart_year_fig( pname, sYear, year_min, year_max ):
265
284
  #
266
285
  # set legend
267
286
  #
268
- #axs.legend(loc='lower right',fontsize='10')
287
+ axs.legend(loc='lower right',fontsize='10')
269
288
  #
270
289
  # set plot name and close
271
290
  #
@@ -273,3 +292,4 @@ def nuc_setupBEExp_chart_year_fig( pname, sYear, year_min, year_max ):
273
292
  plt.savefig(pname, dpi=300)
274
293
  plt.close()
275
294
  #
295
+
@@ -5,9 +5,11 @@ import nucleardatapy as nuda
5
5
 
6
6
  def nuc_setupBEExp_year_fig( pname, table, version ):
7
7
  """
8
- Plot nuclear chart (N versus Z).\
9
- The plot is 1x1 with:\
10
- [0]: nuclear chart.
8
+ Plot the histogram for the discovery year.
9
+
10
+ The plot is 1x2 with:
11
+
12
+ [0]: full range of years. [1]: last two decades.
11
13
 
12
14
  :param pname: name of the figure (*.png)
13
15
  :type pname: str.
@@ -15,9 +17,6 @@ def nuc_setupBEExp_year_fig( pname, table, version ):
15
17
  :type table: str.
16
18
  :param version: version of table to run on.
17
19
  :type version: str.
18
- :param theo_tables: object instantiated on the reference band.
19
- :type theo_tables: object.
20
-
21
20
  """
22
21
  #
23
22
  print(50*'-')
@@ -34,11 +33,11 @@ def nuc_setupBEExp_year_fig( pname, table, version ):
34
33
  #
35
34
  fig, axs = plt.subplots(1,2)
36
35
  fig.tight_layout() # Or equivalently, "plt.tight_layout()"
37
- fig.subplots_adjust(left=0.12, bottom=0.15, right=None, top=0.85, wspace=0.2, hspace=0.2)
36
+ fig.subplots_adjust(left=0.12, bottom=0.15, right=0.95, top=0.85, wspace=0.2, hspace=0.2)
38
37
  #
39
38
  axs[0].set_title(r''+table+' mass table version '+version)
40
- axs[0].set_ylabel(r'number of discovered nuclei')
41
- axs[0].set_xlabel(r'year')
39
+ axs[0].set_ylabel(r'number of discovered nuclei',fontsize='14')
40
+ axs[0].set_xlabel(r'year',fontsize='14')
42
41
  axs[0].set_xlim([1890, 2020])
43
42
  #axs.set_yscale('log')
44
43
  axs[0].set_ylim([0, 250])
@@ -49,7 +48,7 @@ def nuc_setupBEExp_year_fig( pname, table, version ):
49
48
  #axs.plot( mas.dist_year*10, mas.dist_nbNuc, linestyle='solid', linewidth=1, color='k')
50
49
  #
51
50
  axs[1].set_title(r''+table+' mass table version '+version)
52
- axs[1].set_xlabel(r'year')
51
+ axs[1].set_xlabel(r'year',fontsize='14')
53
52
  axs[1].set_xlim([2000, 2020])
54
53
  axs[1].set_ylim([0, 100])
55
54
  axs[1].hist( mas.nucYear, bins=100 )
@@ -67,19 +66,20 @@ def nuc_setupBEExp_year_fig( pname, table, version ):
67
66
 
68
67
  def nuc_setupBEExp_S2n_fig( pname, tables, versions, Zref = 50 ):
69
68
  """
70
- Plot nuclear chart (N versus Z).\
71
- The plot is 1x1 with:\
72
- [0]: nuclear chart.
69
+ Plot S2n from the data extracted from the nuclear chart.
70
+
71
+ The plot is 1x1 with:
72
+
73
+ [0]: show S2n as a function of N.
73
74
 
74
75
  :param pname: name of the figure (*.png)
75
76
  :type pname: str.
76
- :param table: table.
77
- :type table: str.
78
- :param version: version of table to run on.
79
- :type version: str.
80
- :param theo_tables: object instantiated on the reference band.
81
- :type theo_tables: object.
82
-
77
+ :param tables: tables.
78
+ :type tables: array of str.
79
+ :param versions: versions of the tables.
80
+ :type versions: array of str.
81
+ :param Zref: Reference value for Z.
82
+ :type Zref: integer.
83
83
  """
84
84
  #
85
85
  print(f'Plot name: {pname}')
@@ -89,26 +89,27 @@ def nuc_setupBEExp_S2n_fig( pname, tables, versions, Zref = 50 ):
89
89
  #
90
90
  fig, axs = plt.subplots(1,1)
91
91
  fig.tight_layout() # Or equivalently, "plt.tight_layout()"
92
- fig.subplots_adjust(left=0.14, bottom=0.15, right=None, top=0.85, wspace=0.3, hspace=0.3)
92
+ fig.subplots_adjust(left=0.14, bottom=0.15, right=0.95, top=0.85, wspace=0.3, hspace=0.3)
93
93
  #
94
- axs.set_title(r'Experimental mass tables',fontsize='12')
95
- axs.set_ylabel(r'$S_{2n}$ (MeV)',fontsize='12')
96
- axs.set_xlabel(r'N',fontsize='12')
94
+ axs.set_title(r'Experimental mass tables',fontsize='14')
95
+ axs.set_ylabel(r'$S_{2n}$ (MeV)',fontsize='14')
96
+ axs.set_xlabel(r'N',fontsize='14')
97
97
  axs.set_xlim([Zref-5, int(1.85*Zref)])
98
98
  axs.set_xticks(np.arange(start=Zref-5,stop=2*Zref,step=5))
99
99
  #axs.set_ylim([-10, 10])
100
- axs.text(int(Zref),10,'For Z='+str(Zref),fontsize='12')
100
+ axs.text(int(Zref),10,'For Z='+str(Zref),fontsize='14')
101
101
  #
102
102
  # loop over the tables
103
103
  #
104
104
  for i,table in enumerate( tables ):
105
105
  #
106
106
  version = versions[i]
107
- # plot nuclear chart:
108
107
  mas_exp = nuda.nuc.setupBEExp( table = table, version = version )
109
- s2n_exp = mas_exp.S2n( Zmin = Zref, Zmax = Zref )
110
- axs.scatter( s2n_exp.S2n_N, s2n_exp.S2n, label=table+' '+version )
111
- #axs.plot( s2n_exp.S2n_N, s2n_exp.S2n, linestyle='solid', linewidth=1, label=exp_table+' '+exp_version )
108
+ mas_exp2 = mas_exp.select( state = 'gs', interp = 'n' )
109
+ mas_exp3 = mas_exp2.isotopes( Zref = Zref )
110
+ s2n_exp = mas_exp3.S2n( Zref = Zref )
111
+ axs.errorbar( s2n_exp.S2n_N, s2n_exp.S2n_E, yerr=s2n_exp.S2n_E_err, fmt='o', label=table+' '+version )
112
+ #axs.scatter( s2n_exp.S2n_N, s2n_exp.S2n_E, label=exp_table+' '+exp_version )
112
113
  #
113
114
  axs.legend(loc='upper right',fontsize='10', ncol=1)
114
115
  #
@@ -119,19 +120,20 @@ def nuc_setupBEExp_S2n_fig( pname, tables, versions, Zref = 50 ):
119
120
 
120
121
  def nuc_setupBEExp_S2p_fig( pname, tables, versions, Nref = 50 ):
121
122
  """
122
- Plot nuclear chart (N versus Z).\
123
- The plot is 1x1 with:\
124
- [0]: nuclear chart.
123
+ Plot S2p from the data extracted from the nuclear chart.
124
+
125
+ The plot is 1x1 with:
126
+
127
+ [0]: show S2p as a function of Z.
125
128
 
126
129
  :param pname: name of the figure (*.png)
127
130
  :type pname: str.
128
- :param table: table.
129
- :type table: str.
130
- :param version: version of table to run on.
131
- :type version: str.
132
- :param theo_tables: object instantiated on the reference band.
133
- :type theo_tables: object.
134
-
131
+ :param tables: tables.
132
+ :type tables: array of str.
133
+ :param versions: versions of the tables.
134
+ :type versions: array of str.
135
+ :param Nref: Reference value for N.
136
+ :type Nref: integer.
135
137
  """
136
138
  #
137
139
  print(f'Plot name: {pname}')
@@ -139,31 +141,29 @@ def nuc_setupBEExp_S2p_fig( pname, tables, versions, Nref = 50 ):
139
141
  print('Tables:',tables)
140
142
  print('Nref:',Nref)
141
143
  #
142
- print(f'Plot name: {pname}')
143
- #
144
- # plot
145
- #
146
144
  fig, axs = plt.subplots(1,1)
147
145
  fig.tight_layout() # Or equivalently, "plt.tight_layout()"
148
- fig.subplots_adjust(left=0.14, bottom=0.15, right=None, top=0.85, wspace=0.3, hspace=0.3)
146
+ fig.subplots_adjust(left=0.14, bottom=0.15, right=0.95, top=0.85, wspace=0.3, hspace=0.3)
149
147
  #
150
- axs.set_title(r'Experimental mass tables',fontsize='12')
151
- axs.set_ylabel(r'$S_{2p}$ (MeV)',fontsize='12')
152
- axs.set_xlabel(r'Z',fontsize='12')
148
+ axs.set_title(r'Experimental mass tables',fontsize='14')
149
+ axs.set_ylabel(r'$S_{2p}$ (MeV)',fontsize='14')
150
+ axs.set_xlabel(r'Z',fontsize='14')
153
151
  axs.set_xlim([0.4*Nref, 1.2*Nref])
154
152
  axs.set_xticks(np.arange(start=int(0.4*Nref),stop=1.2*Nref,step=5))
155
153
  #axs.set_ylim([-10, 10])
156
- axs.text(int(0.7*Nref),10,'For N='+str(Nref),fontsize='12')
154
+ axs.text(int(0.7*Nref),10,'For N='+str(Nref),fontsize='14')
157
155
  #
158
156
  # loop over the tables
159
157
  #
160
158
  for i,table in enumerate( tables ):
161
159
  #
162
160
  version = versions[i]
163
- # plot nuclear chart:
164
161
  mas_exp = nuda.nuc.setupBEExp( table = table, version = version )
165
- s2p_exp = mas_exp.S2p( Nmin = Nref, Nmax = Nref )
166
- axs.scatter( s2p_exp.S2p_Z, s2p_exp.S2p, label=table+' '+version )
162
+ mas_exp2 = mas_exp.select( state = 'gs', interp = 'n' )
163
+ mas_exp3 = mas_exp2.isotones( Nref = Nref )
164
+ s2p_exp = mas_exp3.S2p( Nref = Nref )
165
+ axs.errorbar( s2p_exp.S2p_Z, s2p_exp.S2p_E, yerr=s2p_exp.S2p_E_err, fmt='o', label=table+' '+version )
166
+ #axs.scatter( s2p_exp.S2p_Z, s2p_exp.S2p_E, label=table+' '+version )
167
167
  #
168
168
  axs.legend(loc='upper right',fontsize='10', ncol=1)
169
169
  #
@@ -174,19 +174,20 @@ def nuc_setupBEExp_S2p_fig( pname, tables, versions, Nref = 50 ):
174
174
 
175
175
  def nuc_setupBEExp_D3n_fig( pname, tables, versions, Zref = 50 ):
176
176
  """
177
- Plot nuclear chart (N versus Z).\
178
- The plot is 1x1 with:\
179
- [0]: nuclear chart.
177
+ Plot D3n (3-point formula for the odd-even mass staggering) from the data extracted from the nuclear chart.
178
+
179
+ The plot is 1x1 with:
180
+
181
+ [0]: show D3n as a function of N.
180
182
 
181
183
  :param pname: name of the figure (*.png)
182
184
  :type pname: str.
183
- :param table: table.
184
- :type table: str.
185
- :param version: version of table to run on.
186
- :type version: str.
187
- :param theo_tables: object instantiated on the reference band.
188
- :type theo_tables: object.
189
-
185
+ :param tables: tables.
186
+ :type tables: array of str.
187
+ :param versions: versions of the tables.
188
+ :type versions: array of str.
189
+ :param Zref: Reference value for Z.
190
+ :type Zref: integer.
190
191
  """
191
192
  #
192
193
  print(f'Plot name: {pname}')
@@ -196,15 +197,15 @@ def nuc_setupBEExp_D3n_fig( pname, tables, versions, Zref = 50 ):
196
197
  #
197
198
  fig, axs = plt.subplots(1,1)
198
199
  fig.tight_layout() # Or equivalently, "plt.tight_layout()"
199
- fig.subplots_adjust(left=0.14, bottom=0.15, right=None, top=0.85, wspace=0.3, hspace=0.3)
200
+ fig.subplots_adjust(left=0.14, bottom=0.15, right=0.95, top=0.85, wspace=0.3, hspace=0.3)
200
201
  #
201
- axs.set_title(r'Experimental mass tables',fontsize='12')
202
- axs.set_ylabel(r'$\Delta_{3p}$ (MeV)',fontsize='12')
203
- axs.set_xlabel(r'N',fontsize='12')
202
+ axs.set_title(r'Experimental mass tables',fontsize='14')
203
+ axs.set_ylabel(r'$\Delta_{3n}$ (MeV)',fontsize='14')
204
+ axs.set_xlabel(r'N',fontsize='14')
204
205
  axs.set_xlim([Zref-5, int(1.85*Zref)])
205
206
  axs.set_xticks(np.arange(start=Zref-5,stop=2*Zref,step=5))
206
207
  #axs.set_ylim([-10, 10])
207
- axs.text(int(Zref),1.0,'For Z='+str(Zref),fontsize='12')
208
+ axs.text(int(Zref),1.0,'For Z='+str(Zref),fontsize='14')
208
209
  #
209
210
  # loop over the tables
210
211
  #
@@ -213,9 +214,13 @@ def nuc_setupBEExp_D3n_fig( pname, tables, versions, Zref = 50 ):
213
214
  version = versions[i]
214
215
  # plot nuclear chart:
215
216
  mas_exp = nuda.nuc.setupBEExp( table = table, version = version )
216
- d3n_exp = mas_exp.D3n( Zmin = Zref, Zmax = Zref )
217
- axs.scatter( d3n_exp.D3n_N_even, d3n_exp.D3n_even, label=table+' '+version+'(even)' )
218
- axs.scatter( d3n_exp.D3n_N_odd, d3n_exp.D3n_odd, label=table+' '+version+'(odd)' )
217
+ mas_exp2 = mas_exp.select( state = 'gs', interp = 'n' )
218
+ mas_exp3 = mas_exp2.isotopes( Zref = Zref )
219
+ D3n_exp = mas_exp3.D3n( Zref = Zref )
220
+ axs.errorbar( D3n_exp.D3n_N_even, D3n_exp.D3n_E_even, yerr=D3n_exp.D3n_E_err_even, fmt='o', label=table+' '+version )
221
+ axs.errorbar( D3n_exp.D3n_N_odd, D3n_exp.D3n_E_odd, yerr=D3n_exp.D3n_E_err_odd, fmt='o', label=table+' '+version )
222
+ #axs.scatter( d3n_exp.D3n_N_even, d3n_exp.D3n_E_even, label=table+' '+version+'(even)' )
223
+ #axs.scatter( d3n_exp.D3n_N_odd, d3n_exp.D3n_E_odd, label=table+' '+version+'(odd)' )
219
224
  #
220
225
  axs.legend(loc='upper right',fontsize='10', ncol=1)
221
226
  #
@@ -226,19 +231,20 @@ def nuc_setupBEExp_D3n_fig( pname, tables, versions, Zref = 50 ):
226
231
 
227
232
  def nuc_setupBEExp_D3p_fig( pname, tables, versions, Nref = 50 ):
228
233
  """
229
- Plot nuclear chart (N versus Z).\
230
- The plot is 1x1 with:\
231
- [0]: nuclear chart.
234
+ Plot D3p (3-point formula for the odd-even mass staggering) from the data extracted from the nuclear chart.
235
+
236
+ The plot is 1x1 with:
237
+
238
+ [0]: show D3p as a function of Z.
232
239
 
233
240
  :param pname: name of the figure (*.png)
234
241
  :type pname: str.
235
- :param table: table.
236
- :type table: str.
237
- :param version: version of table to run on.
238
- :type version: str.
239
- :param theo_tables: object instantiated on the reference band.
240
- :type theo_tables: object.
241
-
242
+ :param tables: tables.
243
+ :type tables: array of str.
244
+ :param versions: versions of the tables.
245
+ :type versions: array of str.
246
+ :param Nref: Reference value for N.
247
+ :type Nref: integer.
242
248
  """
243
249
  #
244
250
  print(f'Plot name: {pname}')
@@ -248,15 +254,15 @@ def nuc_setupBEExp_D3p_fig( pname, tables, versions, Nref = 50 ):
248
254
  #
249
255
  fig, axs = plt.subplots(1,1)
250
256
  fig.tight_layout() # Or equivalently, "plt.tight_layout()"
251
- fig.subplots_adjust(left=0.14, bottom=0.15, right=None, top=0.85, wspace=0.3, hspace=0.3)
257
+ fig.subplots_adjust(left=0.14, bottom=0.15, right=0.95, top=0.85, wspace=0.3, hspace=0.3)
252
258
  #
253
- axs.set_title(r'Experimental mass tables',fontsize='12')
254
- axs.set_ylabel(r'$\Delta_{3p}$ (MeV)',fontsize='12')
255
- axs.set_xlabel(r'Z',fontsize='12')
259
+ axs.set_title(r'Experimental mass tables',fontsize='14')
260
+ axs.set_ylabel(r'$\Delta_{3p}$ (MeV)',fontsize='14')
261
+ axs.set_xlabel(r'Z',fontsize='14')
256
262
  axs.set_xlim([0.4*Nref, 1.2*Nref])
257
263
  axs.set_xticks(np.arange(start=int(0.4*Nref),stop=1.2*Nref,step=5))
258
264
  #axs.set_ylim([-10, 10])
259
- axs.text(int(0.7*Nref),1.4,'For N='+str(Nref),fontsize='12')
265
+ axs.text(int(0.7*Nref),1.4,'For N='+str(Nref),fontsize='14')
260
266
  #
261
267
  # loop over the tables
262
268
  #
@@ -265,9 +271,13 @@ def nuc_setupBEExp_D3p_fig( pname, tables, versions, Nref = 50 ):
265
271
  version = versions[i]
266
272
  # plot nuclear chart:
267
273
  mas_exp = nuda.nuc.setupBEExp( table = table, version = version )
268
- d3p_exp = mas_exp.D3p( Nmin = Nref, Nmax = Nref )
269
- axs.scatter( d3p_exp.D3p_Z_even, d3p_exp.D3p_even, label=table+' '+version+'(even)' )
270
- axs.scatter( d3p_exp.D3p_Z_odd, d3p_exp.D3p_odd, label=table+' '+version+'(odd)' )
274
+ mas_exp2 = mas_exp.select( state = 'gs', interp = 'n' )
275
+ mas_exp3 = mas_exp2.isotones( Nref = Nref )
276
+ D3p_exp = mas_exp3.D3p( Nref = Nref )
277
+ axs.errorbar( D3p_exp.D3p_Z_even, D3p_exp.D3p_E_even, yerr=D3p_exp.D3p_E_err_even, fmt='o', label=table+' '+version )
278
+ axs.errorbar( D3p_exp.D3p_Z_odd, D3p_exp.D3p_E_odd, yerr=D3p_exp.D3p_E_err_odd, fmt='o', label=table+' '+version )
279
+ #axs.scatter( d3p_exp.D3p_Z_even, d3p_exp.D3p_E_even, label=table+' '+version+'(even)' )
280
+ #axs.scatter( d3p_exp.D3p_Z_odd, d3p_exp.D3p_E_odd, label=table+' '+version+'(odd)' )
271
281
  #
272
282
  axs.legend(loc='upper right',fontsize='10', ncol=1)
273
283
  #