nucleardatapy 0.2.1__py3-none-any.whl → 1.0.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.
- nucleardatapy/__init__.py +3 -1
- nucleardatapy/astro/setup_gw.py +18 -18
- nucleardatapy/astro/setup_mr.py +9 -1
- nucleardatapy/astro/setup_mup.py +10 -10
- nucleardatapy/corr/setup_EsymDen.py +0 -5
- nucleardatapy/corr/setup_EsymLsym.py +50 -17
- nucleardatapy/corr/setup_KsatQsat.py +170 -69
- nucleardatapy/crust/setup_crust.py +363 -125
- nucleardatapy/data/astro/NICER/J0740+6620.dat +1 -0
- nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-E2A-NM.dat +8 -8
- nucleardatapy/data/matter/nep/NEPESkyrme.dat +2 -3
- nucleardatapy/data/matter/nep/NEPGSkyrme.dat +7 -0
- nucleardatapy/data/matter/nep/NEPSkyrme.dat +4 -2
- nucleardatapy/data/matter/nep/NEPxEFT.dat +8 -0
- nucleardatapy/data/matter/nep/best67DDSkyrme.dat +28 -0
- nucleardatapy/data/matter/nep/best90DDSkyrme.dat +46 -0
- nucleardatapy/data/matter/nep/best95DDSkyrme.dat +54 -0
- nucleardatapy/data/matter/pheno/ESkyrme/BSk31-NM.dat +996 -996
- nucleardatapy/data/matter/pheno/ESkyrme/BSk31-SM.dat +991 -991
- nucleardatapy/data/matter/pheno/ESkyrme/BSkG4-NM.dat +1002 -0
- nucleardatapy/data/matter/pheno/ESkyrme/BSkG4-SM.dat +1002 -0
- nucleardatapy/data/matter/pheno/Skyrme/BSkG1-NM.dat +102 -0
- nucleardatapy/data/matter/pheno/Skyrme/BSkG1-SM.dat +102 -0
- nucleardatapy/data/matter/pheno/Skyrme/BSkG2-NM.dat +102 -0
- nucleardatapy/data/matter/pheno/Skyrme/BSkG2-SM.dat +102 -0
- nucleardatapy/env.py +1 -1
- nucleardatapy/eos/__init__.py +4 -3
- nucleardatapy/eos/setupCC.py +429 -0
- nucleardatapy/eos/setup_am.py +39 -14
- nucleardatapy/eos/setup_am_Beq.py +40 -15
- nucleardatapy/eos/setup_am_Leq.py +40 -15
- nucleardatapy/fig/__init__.py +24 -15
- nucleardatapy/fig/astro_setupGW_fig.py +5 -5
- nucleardatapy/fig/astro_setupMR_fig.py +12 -10
- nucleardatapy/fig/astro_setupMasses_fig.py +4 -4
- nucleardatapy/fig/astro_setupMtov_fig.py +4 -4
- nucleardatapy/fig/astro_setupMup_fig.py +5 -5
- nucleardatapy/fig/corr_setupEsymDen_fig.py +12 -5
- nucleardatapy/fig/corr_setupEsymLsym_fig.py +18 -5
- nucleardatapy/fig/corr_setupKsatQsat_fig.py +19 -15
- nucleardatapy/fig/crust_setupCrust_fig.py +5 -5
- nucleardatapy/fig/eos_setupAMBeq_fig.py +523 -66
- nucleardatapy/fig/eos_setupAMLeq_fig.py +18 -18
- nucleardatapy/fig/eos_setupAM_asy_lep_fig.py +364 -0
- nucleardatapy/fig/eos_setupAM_asy_nuc_fig.py +337 -0
- nucleardatapy/fig/eos_setupAM_asy_tot_fig.py +343 -0
- nucleardatapy/fig/eos_setupAM_fig.py +504 -0
- nucleardatapy/fig/eos_setupCC_fig.py +240 -0
- nucleardatapy/fig/hnuc_setupChart_fig.py +2 -2
- nucleardatapy/fig/hnuc_setupRE1LExp_fig.py +3 -3
- nucleardatapy/fig/matter_all_fig.py +954 -0
- nucleardatapy/fig/matter_setupCheck_fig.py +103 -0
- nucleardatapy/fig/matter_setupFFGLep_fig.py +70 -0
- nucleardatapy/fig/matter_setupFFGNuc_fig.py +267 -104
- nucleardatapy/fig/matter_setupHIC_fig.py +98 -58
- nucleardatapy/fig/matter_setupMicroEsym_fig.py +248 -63
- nucleardatapy/fig/matter_setupMicro_LP_fig.py +175 -78
- nucleardatapy/fig/matter_setupMicro_band_fig.py +115 -47
- nucleardatapy/fig/matter_setupMicro_effmass_fig.py +248 -73
- nucleardatapy/fig/matter_setupMicro_err_NM_fig.py +41 -18
- nucleardatapy/fig/matter_setupMicro_fig.py +299 -67
- nucleardatapy/fig/matter_setupMicro_gap_fig.py +219 -92
- nucleardatapy/fig/matter_setupNEPStats_fig.py +96 -0
- nucleardatapy/fig/matter_setupPhenoEsym_fig.py +193 -55
- nucleardatapy/fig/matter_setupPheno_fig.py +385 -88
- nucleardatapy/fig/nuc_setupBEExp_chart_fig.py +59 -48
- nucleardatapy/fig/nuc_setupBEExp_fig.py +48 -41
- nucleardatapy/fig/nuc_setupBETheo_fig.py +59 -31
- nucleardatapy/fig/nuc_setupISGMRExp_fig.py +5 -5
- nucleardatapy/fig/nuc_setupRchExp_fig.py +2 -2
- nucleardatapy/fig/nuc_setupRchTheo_fig.py +21 -20
- nucleardatapy/fig/nuc_setupRnpExp_fig.py +77 -109
- nucleardatapy/fig/nuc_setupRnpTheo_fig.py +92 -93
- nucleardatapy/hello.py +6 -0
- nucleardatapy/hnuc/setup_re1L_exp.py +6 -6
- nucleardatapy/hnuc/setup_re1Xi_exp.py +5 -5
- nucleardatapy/hnuc/setup_re2L_exp.py +6 -6
- nucleardatapy/matter/__init__.py +14 -14
- nucleardatapy/matter/setup_check.py +6 -6
- nucleardatapy/matter/setup_ffg.py +66 -39
- nucleardatapy/matter/setup_hic.py +91 -74
- nucleardatapy/matter/setup_micro.py +1623 -1009
- nucleardatapy/matter/setup_micro_band.py +6 -6
- nucleardatapy/matter/setup_micro_esym.py +11 -13
- nucleardatapy/matter/setup_micro_gap.py +24 -17
- nucleardatapy/matter/setup_micro_lp.py +2 -2
- nucleardatapy/matter/setup_nep.py +175 -92
- nucleardatapy/matter/{setup_nep_model_dist.py → setup_nep_stat_model.py} +13 -8
- nucleardatapy/matter/{setup_nep_dist.py → setup_nep_stat_models.py} +12 -8
- nucleardatapy/matter/setup_pheno.py +121 -45
- nucleardatapy/matter/setup_pheno_esym.py +8 -13
- nucleardatapy/nuc/setup_be_exp.py +304 -292
- nucleardatapy/nuc/setup_be_theo.py +273 -97
- nucleardatapy/nuc/setup_isgmr_exp.py +4 -4
- nucleardatapy/nuc/setup_rnp_exp.py +1 -0
- nucleardatapy/nuc/setup_rnp_theo.py +2 -1
- {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.0.dist-info}/METADATA +48 -16
- {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.0.dist-info}/RECORD +127 -120
- {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.0.dist-info}/WHEEL +1 -1
- tests/test_corr_setupKsatQsat.py +3 -1
- tests/test_matter_setupMicro.py +37 -10
- nucleardatapy/data/matter/pheno/ESkyrme/BSkG1-NM.dat +0 -1002
- nucleardatapy/data/matter/pheno/ESkyrme/BSkG1-SM.dat +0 -1002
- nucleardatapy/data/matter/pheno/ESkyrme/BSkG2-NM.dat +0 -1002
- nucleardatapy/data/matter/pheno/ESkyrme/BSkG2-SM.dat +0 -1002
- nucleardatapy/fig/eos_setupAM_e_asy_lep_fig.py +0 -125
- nucleardatapy/fig/eos_setupAM_e_asy_nuc_fig.py +0 -115
- nucleardatapy/fig/eos_setupAM_e_asy_tot_fig.py +0 -117
- nucleardatapy/fig/eos_setupAM_e_fig.py +0 -173
- nucleardatapy/fig/matter_ENM_fig.py +0 -128
- nucleardatapy/fig/matter_ESM_fig.py +0 -140
- nucleardatapy/fig/matter_Esym_fig.py +0 -134
- nucleardatapy/fig/matter_cs2_fig.py +0 -83
- nucleardatapy/fig/matter_preNM_fig.py +0 -146
- nucleardatapy/fig/matter_preSM_fig.py +0 -144
- nucleardatapy/fig/matter_setupNEPModelDist_fig.py +0 -68
- /nucleardatapy/data/LandauParameters/micro/{2006-IBHF-NM-AV18.dat → 2006-EBHF-NM-AV18.dat} +0 -0
- /nucleardatapy/data/LandauParameters/micro/{2006-IBHF-SM-AV18.dat → 2006-EBHF-SM-AV18.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-BSK14.dat → 2022-GMRS-BSK14.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-BSK16.dat → 2022-GMRS-BSK16.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-DHSL59.dat → 2022-GMRS-DHSL59.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-DHSL69.dat → 2022-GMRS-DHSL69.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-F0.dat → 2022-GMRS-F0.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-H1.dat → 2022-GMRS-H1.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-H2.dat → 2022-GMRS-H2.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-H3.dat → 2022-GMRS-H3.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-H4.dat → 2022-GMRS-H4.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-H5.dat → 2022-GMRS-H5.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-H7.dat → 2022-GMRS-H7.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-LNS5.dat → 2022-GMRS-LNS5.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-RATP.dat → 2022-GMRS-RATP.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-SGII.dat → 2022-GMRS-SGII.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-SLY5.dat → 2022-GMRS-SLY5.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2013-QMC-NM.dat → 2013-MBPT-NM.dat} +0 -0
- /nucleardatapy/data/{NeutronSkin/ddrhNskin-208Pb.dat → rnp/ddrhrnp-208Pb.dat} +0 -0
- /nucleardatapy/data/{NeutronSkin/ddrhNskin-48Ca.dat → rnp/ddrhrnp-48Ca.dat} +0 -0
- /nucleardatapy/data/{NeutronSkin/nlrhNskin-208Pb.dat → rnp/nlrhrnp-208Pb.dat} +0 -0
- /nucleardatapy/data/{NeutronSkin/nlrhNskin-48Ca.dat → rnp/nlrhrnp-48Ca.dat} +0 -0
- /nucleardatapy/data/{NeutronSkin/skyrmeNskin-208Pb.dat → rnp/skyrmernp-208Pb.dat} +0 -0
- /nucleardatapy/data/{NeutronSkin/skyrmeNskin-48Ca.dat → rnp/skyrmernp-48Ca.dat} +0 -0
- {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.0.dist-info}/licenses/LICENSE +0 -0
- {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.0.dist-info}/top_level.txt +0 -0
|
@@ -31,8 +31,8 @@ def nuc_setupBEExp_chart_lt_fig( pname, table, version, theo_tables ):
|
|
|
31
31
|
fig.subplots_adjust(left=0.12, bottom=0.15, right=None, top=0.85, wspace=0.3, hspace=0.3)
|
|
32
32
|
#
|
|
33
33
|
axs.set_title(r''+table+' mass table version '+version)
|
|
34
|
-
axs.set_ylabel(r'Z')
|
|
35
|
-
axs.set_xlabel(r'N')
|
|
34
|
+
axs.set_ylabel(r'Z',fontsize='14')
|
|
35
|
+
axs.set_xlabel(r'N',fontsize='14')
|
|
36
36
|
axs.set_xlim([0, 200])
|
|
37
37
|
axs.set_ylim([0, 132])
|
|
38
38
|
axs.text(10,120,'Number of nuclei:')
|
|
@@ -41,21 +41,28 @@ def nuc_setupBEExp_chart_lt_fig( pname, table, version, theo_tables ):
|
|
|
41
41
|
#
|
|
42
42
|
mas = nuda.nuc.setupBEExp( table = table, version = version )
|
|
43
43
|
ustbl = mas.select( state= 'gs', interp = 'n', nucleus = 'longlive' )
|
|
44
|
-
axs.scatter( ustbl.sel_nucN, ustbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'grey', label='
|
|
44
|
+
axs.scatter( ustbl.sel_nucN, ustbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'grey', label='long-lived ('+str(ustbl.sel_nbNucSel)+')' )
|
|
45
45
|
#axs.text(10,96,'long live: '+str(ustbl.sel_nbNucSel))
|
|
46
46
|
#
|
|
47
47
|
# shortlive nuclei
|
|
48
48
|
#
|
|
49
49
|
mas = nuda.nuc.setupBEExp( table = table, version = version )
|
|
50
50
|
ustbl = mas.select( state= 'gs', interp = 'n', nucleus = 'shortlive' )
|
|
51
|
-
axs.scatter( ustbl.sel_nucN, ustbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'r', label='
|
|
51
|
+
axs.scatter( ustbl.sel_nucN, ustbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'r', label='short-lived ('+str(ustbl.sel_nbNucSel)+')' )
|
|
52
52
|
#axs.text(10,88,'short live: '+str(ustbl.sel_nbNucSel))
|
|
53
53
|
#
|
|
54
54
|
# veryshortlive nuclei
|
|
55
55
|
#
|
|
56
56
|
mas = nuda.nuc.setupBEExp( table = table, version = version )
|
|
57
57
|
ustbl = mas.select( state= 'gs', interp = 'n', nucleus = 'veryshortlive' )
|
|
58
|
-
axs.scatter( ustbl.sel_nucN, ustbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'b', label='
|
|
58
|
+
axs.scatter( ustbl.sel_nucN, ustbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'b', label='very-short-lived ('+str(ustbl.sel_nbNucSel)+')' )
|
|
59
|
+
#axs.text(10,80,'very short live: '+str(ustbl.sel_nbNucSel))
|
|
60
|
+
#
|
|
61
|
+
# hypershortlive nuclei
|
|
62
|
+
#
|
|
63
|
+
mas = nuda.nuc.setupBEExp( table = table, version = version )
|
|
64
|
+
ustbl = mas.select( state= 'gs', interp = 'n', nucleus = 'hypershortlive' )
|
|
65
|
+
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
66
|
#axs.text(10,80,'very short live: '+str(ustbl.sel_nbNucSel))
|
|
60
67
|
#
|
|
61
68
|
# unstable nuclei:
|
|
@@ -73,13 +80,13 @@ def nuc_setupBEExp_chart_lt_fig( pname, table, version, theo_tables ):
|
|
|
73
80
|
s2n = theo.S2n( Zmin=1, Zmax = 95 )
|
|
74
81
|
drip_S2n = s2n.drip_S2n( Zmin = 1, Zmax = 95 )
|
|
75
82
|
if legend == 0:
|
|
76
|
-
axs.scatter( drip_S2n.drip_S2n_N, drip_S2n.drip_S2n_Z, marker='o', s = 3, linewidth=0, color = '
|
|
83
|
+
axs.scatter( drip_S2n.drip_S2n_N, drip_S2n.drip_S2n_Z, marker='o', s = 3, linewidth=0, color = 'purple', label='Drip Lines' )
|
|
77
84
|
legend = 1
|
|
78
85
|
else:
|
|
79
|
-
axs.scatter( drip_S2n.drip_S2n_N, drip_S2n.drip_S2n_Z, marker='o', s = 3, linewidth=0, color = '
|
|
86
|
+
axs.scatter( drip_S2n.drip_S2n_N, drip_S2n.drip_S2n_Z, marker='o', s = 3, linewidth=0, color = 'purple' )
|
|
80
87
|
s2p = theo.S2p( Nmin=1, Nmax = 150 )
|
|
81
88
|
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 = '
|
|
89
|
+
axs.scatter( drip_S2p.drip_S2p_N, drip_S2p.drip_S2p_Z, marker='o', s = 3, linewidth=0, color = 'purple' )
|
|
83
90
|
#
|
|
84
91
|
# First and last isotopes
|
|
85
92
|
#
|
|
@@ -94,7 +101,7 @@ def nuc_setupBEExp_chart_lt_fig( pname, table, version, theo_tables ):
|
|
|
94
101
|
axs.scatter( stbl.sel_nucN, stbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'k' )
|
|
95
102
|
axs.text(10,112,'stable: '+str(stbl.sel_nbNucSel))
|
|
96
103
|
#
|
|
97
|
-
axs.text(
|
|
104
|
+
axs.text(49,120,str(ustbl.sel_nbNucSel+stbl.sel_nbNucSel))
|
|
98
105
|
#
|
|
99
106
|
# plot N=Z dotted line
|
|
100
107
|
#
|
|
@@ -103,8 +110,10 @@ def nuc_setupBEExp_chart_lt_fig( pname, table, version, theo_tables ):
|
|
|
103
110
|
#
|
|
104
111
|
# plot stable_fit
|
|
105
112
|
#
|
|
106
|
-
N, Z = nuda.
|
|
113
|
+
N, Z = nuda.stable_fit_Z( Zmin = 1, Zmax = 120 )
|
|
107
114
|
axs.plot( N, Z, linestyle='dashed', linewidth=1, color='k')
|
|
115
|
+
#N, Z = nuda.stable_fit_N( Nmin = 1, Nmax = 200 )
|
|
116
|
+
#axs.plot( N, Z, linestyle='dashed', linewidth=1, color='r')
|
|
108
117
|
#
|
|
109
118
|
# plot shells for isotopes and isotones
|
|
110
119
|
#
|
|
@@ -121,7 +130,7 @@ def nuc_setupBEExp_chart_lt_fig( pname, table, version, theo_tables ):
|
|
|
121
130
|
plt.close()
|
|
122
131
|
#
|
|
123
132
|
|
|
124
|
-
def
|
|
133
|
+
def nuc_setupBEExp_chart_year_fig( pname, sYear, year_min, year_max ):
|
|
125
134
|
"""
|
|
126
135
|
Plot nuclear chart (N versus Z).\
|
|
127
136
|
The plot is 1x1 with:\
|
|
@@ -140,7 +149,7 @@ def nuc_setupBEExp_chart_Rch_fig( pname, table, version, Rch_table ):
|
|
|
140
149
|
#
|
|
141
150
|
print(f'Plot name: {pname}')
|
|
142
151
|
#
|
|
143
|
-
print('Table:',table)
|
|
152
|
+
#print('Table:',table)
|
|
144
153
|
#
|
|
145
154
|
# plot
|
|
146
155
|
#
|
|
@@ -148,35 +157,23 @@ def nuc_setupBEExp_chart_Rch_fig( pname, table, version, Rch_table ):
|
|
|
148
157
|
fig.tight_layout() # Or equivalently, "plt.tight_layout()"
|
|
149
158
|
fig.subplots_adjust(left=0.12, bottom=0.15, right=None, top=0.85, wspace=0.3, hspace=0.3)
|
|
150
159
|
#
|
|
151
|
-
axs.set_title(r''+table+' mass table version '+version
|
|
160
|
+
#axs.set_title(r''+table+' mass table version '+version)
|
|
152
161
|
axs.set_ylabel(r'Z')
|
|
153
162
|
axs.set_xlabel(r'N')
|
|
154
163
|
axs.set_xlim([0, 200])
|
|
155
|
-
axs.set_xticks([0,25,50,75,100,125,150,175,200])
|
|
156
164
|
axs.set_ylim([0, 132])
|
|
157
|
-
axs.
|
|
158
|
-
axs.text(10,
|
|
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' )
|
|
165
|
+
#axs.text(10,120,'Number of nuclei:')
|
|
166
|
+
axs.text(10,100,'Year: '+str(year_min)+' to '+str(year_max))
|
|
167
167
|
#
|
|
168
|
-
#
|
|
168
|
+
# nuclei given in argument: sYear
|
|
169
169
|
#
|
|
170
|
-
|
|
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))
|
|
170
|
+
axs.scatter( sYear.sel_N, sYear.sel_Z, marker='s', s = 3, linewidth=0, color = 'grey' )
|
|
175
171
|
#
|
|
176
|
-
#
|
|
172
|
+
# First and last isotopes
|
|
177
173
|
#
|
|
178
|
-
|
|
179
|
-
axs.scatter(
|
|
174
|
+
#iso = ustbl.isotopes( Zmin=1, Zmax = 95 )
|
|
175
|
+
#axs.scatter( iso.isotopes_Nmin, iso.isotopes_Z, marker='s', s = 3, linewidth=0, color = 'green', label='Isotope bounds' )
|
|
176
|
+
#axs.scatter( iso.isotopes_Nmax, iso.isotopes_Z, marker='s', s = 3, linewidth=0, color = 'green' )
|
|
180
177
|
#
|
|
181
178
|
# plot N=Z dotted line
|
|
182
179
|
#
|
|
@@ -185,8 +182,10 @@ def nuc_setupBEExp_chart_Rch_fig( pname, table, version, Rch_table ):
|
|
|
185
182
|
#
|
|
186
183
|
# plot stable_fit
|
|
187
184
|
#
|
|
188
|
-
N, Z = nuda.
|
|
185
|
+
N, Z = nuda.stable_fit_Z( Zmin = 1, Zmax = 120 )
|
|
189
186
|
axs.plot( N, Z, linestyle='dashed', linewidth=1, color='k')
|
|
187
|
+
N, Z = nuda.stable_fit_N( Nmin = 1, Nmax = 170 )
|
|
188
|
+
axs.plot( N, Z, linestyle='dashed', linewidth=1, color='r')
|
|
190
189
|
#
|
|
191
190
|
# plot shells for isotopes and isotones
|
|
192
191
|
#
|
|
@@ -194,7 +193,7 @@ def nuc_setupBEExp_chart_Rch_fig( pname, table, version, Rch_table ):
|
|
|
194
193
|
#
|
|
195
194
|
# set legend
|
|
196
195
|
#
|
|
197
|
-
axs.legend(loc='lower right',fontsize='10')
|
|
196
|
+
#axs.legend(loc='lower right',fontsize='10')
|
|
198
197
|
#
|
|
199
198
|
# set plot name and close
|
|
200
199
|
#
|
|
@@ -203,8 +202,7 @@ def nuc_setupBEExp_chart_Rch_fig( pname, table, version, Rch_table ):
|
|
|
203
202
|
plt.close()
|
|
204
203
|
#
|
|
205
204
|
|
|
206
|
-
|
|
207
|
-
def nuc_setupBEExp_chart_year_fig( pname, sYear, year_min, year_max ):
|
|
205
|
+
def nuc_setupBEExp_chart_Rch_fig( pname, table, version, Rch_table ):
|
|
208
206
|
"""
|
|
209
207
|
Plot nuclear chart (N versus Z).\
|
|
210
208
|
The plot is 1x1 with:\
|
|
@@ -223,7 +221,7 @@ def nuc_setupBEExp_chart_year_fig( pname, sYear, year_min, year_max ):
|
|
|
223
221
|
#
|
|
224
222
|
print(f'Plot name: {pname}')
|
|
225
223
|
#
|
|
226
|
-
|
|
224
|
+
print('Table:',table)
|
|
227
225
|
#
|
|
228
226
|
# plot
|
|
229
227
|
#
|
|
@@ -231,23 +229,35 @@ def nuc_setupBEExp_chart_year_fig( pname, sYear, year_min, year_max ):
|
|
|
231
229
|
fig.tight_layout() # Or equivalently, "plt.tight_layout()"
|
|
232
230
|
fig.subplots_adjust(left=0.12, bottom=0.15, right=None, top=0.85, wspace=0.3, hspace=0.3)
|
|
233
231
|
#
|
|
234
|
-
|
|
232
|
+
axs.set_title(r''+table+' mass table version '+version+' + '+Rch_table+' charge radius table')
|
|
235
233
|
axs.set_ylabel(r'Z')
|
|
236
234
|
axs.set_xlabel(r'N')
|
|
237
235
|
axs.set_xlim([0, 200])
|
|
236
|
+
axs.set_xticks([0,25,50,75,100,125,150,175,200])
|
|
238
237
|
axs.set_ylim([0, 132])
|
|
239
|
-
|
|
240
|
-
axs.text(10,
|
|
238
|
+
axs.set_yticks([0,20,40,60,80,100,120])
|
|
239
|
+
axs.text(10,120,'Number of nuclei:')
|
|
241
240
|
#
|
|
242
|
-
#
|
|
241
|
+
# First and last isotopes
|
|
243
242
|
#
|
|
244
|
-
|
|
243
|
+
mas = nuda.nuc.setupBEExp( table = table, version = version )
|
|
244
|
+
ustbl = mas.select( state= 'gs', interp = 'n', nucleus = 'unstable' )
|
|
245
|
+
iso = ustbl.isotopes( Zmin=1, Zmax = 95 )
|
|
246
|
+
axs.scatter( iso.isotopes_Nmin, iso.isotopes_Z, marker='s', s = 3, linewidth=0, color = 'green', label='AME boundaries' )
|
|
247
|
+
axs.scatter( iso.isotopes_Nmax, iso.isotopes_Z, marker='s', s = 3, linewidth=0, color = 'green' )
|
|
245
248
|
#
|
|
246
|
-
#
|
|
249
|
+
# stable nuclei:
|
|
247
250
|
#
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
+
mas = nuda.nuc.setupBEExp( table = table, version = version )
|
|
252
|
+
stbl = mas.select( state= 'gs', interp = 'n', nucleus = 'stable' )
|
|
253
|
+
axs.scatter( stbl.sel_nucN, stbl.sel_nucZ, marker='s', s = 3, linewidth=0, color = 'k' )
|
|
254
|
+
axs.text(10,112,'stable: '+str(stbl.sel_nbNucSel))
|
|
255
|
+
axs.text(60,120,str(ustbl.sel_nbNucSel+stbl.sel_nbNucSel))
|
|
256
|
+
#
|
|
257
|
+
# Charge radii:
|
|
258
|
+
#
|
|
259
|
+
rch = nuda.nuc.setupRchExp( table = Rch_table )
|
|
260
|
+
axs.scatter( rch.nucN, rch.nucZ, marker='s', s = 3, linewidth=0, color = 'blue', label = 'charge radii' )
|
|
251
261
|
#
|
|
252
262
|
# plot N=Z dotted line
|
|
253
263
|
#
|
|
@@ -265,7 +275,7 @@ def nuc_setupBEExp_chart_year_fig( pname, sYear, year_min, year_max ):
|
|
|
265
275
|
#
|
|
266
276
|
# set legend
|
|
267
277
|
#
|
|
268
|
-
|
|
278
|
+
axs.legend(loc='lower right',fontsize='10')
|
|
269
279
|
#
|
|
270
280
|
# set plot name and close
|
|
271
281
|
#
|
|
@@ -273,3 +283,4 @@ def nuc_setupBEExp_chart_year_fig( pname, sYear, year_min, year_max ):
|
|
|
273
283
|
plt.savefig(pname, dpi=300)
|
|
274
284
|
plt.close()
|
|
275
285
|
#
|
|
286
|
+
|
|
@@ -34,11 +34,11 @@ def nuc_setupBEExp_year_fig( pname, table, version ):
|
|
|
34
34
|
#
|
|
35
35
|
fig, axs = plt.subplots(1,2)
|
|
36
36
|
fig.tight_layout() # Or equivalently, "plt.tight_layout()"
|
|
37
|
-
fig.subplots_adjust(left=0.12, bottom=0.15, right=
|
|
37
|
+
fig.subplots_adjust(left=0.12, bottom=0.15, right=0.95, top=0.85, wspace=0.2, hspace=0.2)
|
|
38
38
|
#
|
|
39
39
|
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')
|
|
40
|
+
axs[0].set_ylabel(r'number of discovered nuclei',fontsize='14')
|
|
41
|
+
axs[0].set_xlabel(r'year',fontsize='14')
|
|
42
42
|
axs[0].set_xlim([1890, 2020])
|
|
43
43
|
#axs.set_yscale('log')
|
|
44
44
|
axs[0].set_ylim([0, 250])
|
|
@@ -49,7 +49,7 @@ def nuc_setupBEExp_year_fig( pname, table, version ):
|
|
|
49
49
|
#axs.plot( mas.dist_year*10, mas.dist_nbNuc, linestyle='solid', linewidth=1, color='k')
|
|
50
50
|
#
|
|
51
51
|
axs[1].set_title(r''+table+' mass table version '+version)
|
|
52
|
-
axs[1].set_xlabel(r'year')
|
|
52
|
+
axs[1].set_xlabel(r'year',fontsize='14')
|
|
53
53
|
axs[1].set_xlim([2000, 2020])
|
|
54
54
|
axs[1].set_ylim([0, 100])
|
|
55
55
|
axs[1].hist( mas.nucYear, bins=100 )
|
|
@@ -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=
|
|
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='
|
|
95
|
-
axs.set_ylabel(r'$S_{2n}$ (MeV)',fontsize='
|
|
96
|
-
axs.set_xlabel(r'N',fontsize='
|
|
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='
|
|
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
|
-
|
|
110
|
-
|
|
111
|
-
|
|
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
|
#
|
|
@@ -139,31 +140,29 @@ def nuc_setupBEExp_S2p_fig( pname, tables, versions, Nref = 50 ):
|
|
|
139
140
|
print('Tables:',tables)
|
|
140
141
|
print('Nref:',Nref)
|
|
141
142
|
#
|
|
142
|
-
print(f'Plot name: {pname}')
|
|
143
|
-
#
|
|
144
|
-
# plot
|
|
145
|
-
#
|
|
146
143
|
fig, axs = plt.subplots(1,1)
|
|
147
144
|
fig.tight_layout() # Or equivalently, "plt.tight_layout()"
|
|
148
|
-
fig.subplots_adjust(left=0.14, bottom=0.15, right=
|
|
145
|
+
fig.subplots_adjust(left=0.14, bottom=0.15, right=0.95, top=0.85, wspace=0.3, hspace=0.3)
|
|
149
146
|
#
|
|
150
|
-
axs.set_title(r'Experimental mass tables',fontsize='
|
|
151
|
-
axs.set_ylabel(r'$S_{2p}$ (MeV)',fontsize='
|
|
152
|
-
axs.set_xlabel(r'Z',fontsize='
|
|
147
|
+
axs.set_title(r'Experimental mass tables',fontsize='14')
|
|
148
|
+
axs.set_ylabel(r'$S_{2p}$ (MeV)',fontsize='14')
|
|
149
|
+
axs.set_xlabel(r'Z',fontsize='14')
|
|
153
150
|
axs.set_xlim([0.4*Nref, 1.2*Nref])
|
|
154
151
|
axs.set_xticks(np.arange(start=int(0.4*Nref),stop=1.2*Nref,step=5))
|
|
155
152
|
#axs.set_ylim([-10, 10])
|
|
156
|
-
axs.text(int(0.7*Nref),10,'For N='+str(Nref),fontsize='
|
|
153
|
+
axs.text(int(0.7*Nref),10,'For N='+str(Nref),fontsize='14')
|
|
157
154
|
#
|
|
158
155
|
# loop over the tables
|
|
159
156
|
#
|
|
160
157
|
for i,table in enumerate( tables ):
|
|
161
158
|
#
|
|
162
159
|
version = versions[i]
|
|
163
|
-
# plot nuclear chart:
|
|
164
160
|
mas_exp = nuda.nuc.setupBEExp( table = table, version = version )
|
|
165
|
-
|
|
166
|
-
|
|
161
|
+
mas_exp2 = mas_exp.select( state = 'gs', interp = 'n' )
|
|
162
|
+
mas_exp3 = mas_exp2.isotones( Nref = Nref )
|
|
163
|
+
s2p_exp = mas_exp3.S2p( Nref = Nref )
|
|
164
|
+
axs.errorbar( s2p_exp.S2p_Z, s2p_exp.S2p_E, yerr=s2p_exp.S2p_E_err, fmt='o', label=table+' '+version )
|
|
165
|
+
#axs.scatter( s2p_exp.S2p_Z, s2p_exp.S2p_E, label=table+' '+version )
|
|
167
166
|
#
|
|
168
167
|
axs.legend(loc='upper right',fontsize='10', ncol=1)
|
|
169
168
|
#
|
|
@@ -196,15 +195,15 @@ def nuc_setupBEExp_D3n_fig( pname, tables, versions, Zref = 50 ):
|
|
|
196
195
|
#
|
|
197
196
|
fig, axs = plt.subplots(1,1)
|
|
198
197
|
fig.tight_layout() # Or equivalently, "plt.tight_layout()"
|
|
199
|
-
fig.subplots_adjust(left=0.14, bottom=0.15, right=
|
|
198
|
+
fig.subplots_adjust(left=0.14, bottom=0.15, right=0.95, top=0.85, wspace=0.3, hspace=0.3)
|
|
200
199
|
#
|
|
201
|
-
axs.set_title(r'Experimental mass tables',fontsize='
|
|
202
|
-
axs.set_ylabel(r'$\Delta_{
|
|
203
|
-
axs.set_xlabel(r'N',fontsize='
|
|
200
|
+
axs.set_title(r'Experimental mass tables',fontsize='14')
|
|
201
|
+
axs.set_ylabel(r'$\Delta_{3n}$ (MeV)',fontsize='14')
|
|
202
|
+
axs.set_xlabel(r'N',fontsize='14')
|
|
204
203
|
axs.set_xlim([Zref-5, int(1.85*Zref)])
|
|
205
204
|
axs.set_xticks(np.arange(start=Zref-5,stop=2*Zref,step=5))
|
|
206
205
|
#axs.set_ylim([-10, 10])
|
|
207
|
-
axs.text(int(Zref),1.0,'For Z='+str(Zref),fontsize='
|
|
206
|
+
axs.text(int(Zref),1.0,'For Z='+str(Zref),fontsize='14')
|
|
208
207
|
#
|
|
209
208
|
# loop over the tables
|
|
210
209
|
#
|
|
@@ -213,9 +212,13 @@ def nuc_setupBEExp_D3n_fig( pname, tables, versions, Zref = 50 ):
|
|
|
213
212
|
version = versions[i]
|
|
214
213
|
# plot nuclear chart:
|
|
215
214
|
mas_exp = nuda.nuc.setupBEExp( table = table, version = version )
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
215
|
+
mas_exp2 = mas_exp.select( state = 'gs', interp = 'n' )
|
|
216
|
+
mas_exp3 = mas_exp2.isotopes( Zref = Zref )
|
|
217
|
+
D3n_exp = mas_exp3.D3n( Zref = Zref )
|
|
218
|
+
axs.errorbar( D3n_exp.D3n_N_even, D3n_exp.D3n_E_even, yerr=D3n_exp.D3n_E_err_even, fmt='o', label=table+' '+version )
|
|
219
|
+
axs.errorbar( D3n_exp.D3n_N_odd, D3n_exp.D3n_E_odd, yerr=D3n_exp.D3n_E_err_odd, fmt='o', label=table+' '+version )
|
|
220
|
+
#axs.scatter( d3n_exp.D3n_N_even, d3n_exp.D3n_E_even, label=table+' '+version+'(even)' )
|
|
221
|
+
#axs.scatter( d3n_exp.D3n_N_odd, d3n_exp.D3n_E_odd, label=table+' '+version+'(odd)' )
|
|
219
222
|
#
|
|
220
223
|
axs.legend(loc='upper right',fontsize='10', ncol=1)
|
|
221
224
|
#
|
|
@@ -248,15 +251,15 @@ def nuc_setupBEExp_D3p_fig( pname, tables, versions, Nref = 50 ):
|
|
|
248
251
|
#
|
|
249
252
|
fig, axs = plt.subplots(1,1)
|
|
250
253
|
fig.tight_layout() # Or equivalently, "plt.tight_layout()"
|
|
251
|
-
fig.subplots_adjust(left=0.14, bottom=0.15, right=
|
|
254
|
+
fig.subplots_adjust(left=0.14, bottom=0.15, right=0.95, top=0.85, wspace=0.3, hspace=0.3)
|
|
252
255
|
#
|
|
253
|
-
axs.set_title(r'Experimental mass tables',fontsize='
|
|
254
|
-
axs.set_ylabel(r'$\Delta_{3p}$ (MeV)',fontsize='
|
|
255
|
-
axs.set_xlabel(r'Z',fontsize='
|
|
256
|
+
axs.set_title(r'Experimental mass tables',fontsize='14')
|
|
257
|
+
axs.set_ylabel(r'$\Delta_{3p}$ (MeV)',fontsize='14')
|
|
258
|
+
axs.set_xlabel(r'Z',fontsize='14')
|
|
256
259
|
axs.set_xlim([0.4*Nref, 1.2*Nref])
|
|
257
260
|
axs.set_xticks(np.arange(start=int(0.4*Nref),stop=1.2*Nref,step=5))
|
|
258
261
|
#axs.set_ylim([-10, 10])
|
|
259
|
-
axs.text(int(0.7*Nref),1.4,'For N='+str(Nref),fontsize='
|
|
262
|
+
axs.text(int(0.7*Nref),1.4,'For N='+str(Nref),fontsize='14')
|
|
260
263
|
#
|
|
261
264
|
# loop over the tables
|
|
262
265
|
#
|
|
@@ -265,9 +268,13 @@ def nuc_setupBEExp_D3p_fig( pname, tables, versions, Nref = 50 ):
|
|
|
265
268
|
version = versions[i]
|
|
266
269
|
# plot nuclear chart:
|
|
267
270
|
mas_exp = nuda.nuc.setupBEExp( table = table, version = version )
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
+
mas_exp2 = mas_exp.select( state = 'gs', interp = 'n' )
|
|
272
|
+
mas_exp3 = mas_exp2.isotones( Nref = Nref )
|
|
273
|
+
D3p_exp = mas_exp3.D3p( Nref = Nref )
|
|
274
|
+
axs.errorbar( D3p_exp.D3p_Z_even, D3p_exp.D3p_E_even, yerr=D3p_exp.D3p_E_err_even, fmt='o', label=table+' '+version )
|
|
275
|
+
axs.errorbar( D3p_exp.D3p_Z_odd, D3p_exp.D3p_E_odd, yerr=D3p_exp.D3p_E_err_odd, fmt='o', label=table+' '+version )
|
|
276
|
+
#axs.scatter( d3p_exp.D3p_Z_even, d3p_exp.D3p_E_even, label=table+' '+version+'(even)' )
|
|
277
|
+
#axs.scatter( d3p_exp.D3p_Z_odd, d3p_exp.D3p_E_odd, label=table+' '+version+'(odd)' )
|
|
271
278
|
#
|
|
272
279
|
axs.legend(loc='upper right',fontsize='10', ncol=1)
|
|
273
280
|
#
|
|
@@ -34,16 +34,16 @@ def nuc_setupBETheo_diff_fig( pname, tables, table_ref = '1995-DZ', Zref = 50 ):
|
|
|
34
34
|
fig.subplots_adjust(left=0.15, bottom=0.13, right=None, top=0.8)#, wspace=0.3, hspace=0.3)
|
|
35
35
|
#
|
|
36
36
|
#axs.set_title(r'Comparison of theoretical mass models',fontsize='12')
|
|
37
|
-
axs.set_ylabel(r'$E-E_{DZ}$ (MeV)',fontsize='
|
|
38
|
-
axs.set_xlabel(r'N',fontsize='
|
|
37
|
+
axs.set_ylabel(r'$E-E_{DZ}$ (MeV)',fontsize='14')
|
|
38
|
+
axs.set_xlabel(r'N',fontsize='14')
|
|
39
39
|
axs.set_ylim([-5, 5])
|
|
40
40
|
#axs.text(int(Zref)+5,-7,'For Z='+str(Zref),fontsize='12')
|
|
41
41
|
if Zref == 50:
|
|
42
42
|
axs.set_xlim( [ 40, 100 ] )
|
|
43
|
-
axs.text(55,4,'For Z='+str(Zref),fontsize='
|
|
43
|
+
axs.text(55,4,'For Z='+str(Zref),fontsize='14')
|
|
44
44
|
elif Zref == 82:
|
|
45
45
|
axs.set_xlim( [ 90, 150 ] )
|
|
46
|
-
axs.text(110,4,'For Z='+str(Zref),fontsize='
|
|
46
|
+
axs.text(110,4,'For Z='+str(Zref),fontsize='14')
|
|
47
47
|
#
|
|
48
48
|
# loop over the tables
|
|
49
49
|
#
|
|
@@ -95,27 +95,33 @@ def nuc_setupBETheo_S2n_fig( pname, tables, Zref = 50 ):
|
|
|
95
95
|
fig.subplots_adjust(left=0.15, bottom=0.13, right=None, top=0.8)#, wspace=0.3, hspace=0.3)
|
|
96
96
|
#
|
|
97
97
|
#axs.set_title(r'Comparison of theoretical mass models',fontsize='12')
|
|
98
|
-
axs.set_ylabel(r'$S_{2n}$ (MeV)',fontsize='
|
|
99
|
-
axs.set_xlabel(r'N',fontsize='
|
|
98
|
+
axs.set_ylabel(r'$S_{2n}$ (MeV)',fontsize='14')
|
|
99
|
+
axs.set_xlabel(r'N',fontsize='14')
|
|
100
100
|
axs.set_xlim([Zref-5, int(2.3*Zref)])
|
|
101
101
|
axs.set_xticks(np.arange(start=Zref-5,stop=2.3*Zref,step=5))
|
|
102
|
-
axs.set_ylim([
|
|
103
|
-
axs.text(int(Zref)
|
|
102
|
+
axs.set_ylim([-40, 0])
|
|
103
|
+
axs.text(int(Zref),-10,'For Z='+str(Zref),fontsize='14')
|
|
104
104
|
#
|
|
105
105
|
# loop over the tables
|
|
106
106
|
#
|
|
107
107
|
for i,table in enumerate( tables ):
|
|
108
108
|
#
|
|
109
109
|
mas = nuda.nuc.setupBETheo( table = table )
|
|
110
|
-
|
|
110
|
+
mas2 = mas.isotopes( Zref = Zref )
|
|
111
|
+
s2n = mas2.S2n( Zref = Zref )
|
|
111
112
|
#
|
|
112
|
-
axs.plot( s2n.S2n_N, s2n.
|
|
113
|
+
axs.plot( s2n.S2n_N, s2n.S2n_E, linestyle='solid', linewidth=1, label=table )
|
|
113
114
|
#
|
|
114
115
|
exp_table = 'AME'
|
|
115
116
|
exp_version = '2020'
|
|
117
|
+
#
|
|
116
118
|
mas_exp = nuda.nuc.setupBEExp( table = exp_table, version = exp_version )
|
|
117
|
-
|
|
118
|
-
|
|
119
|
+
mas_exp2 = mas_exp.select( state = 'gs', interp = 'n' )
|
|
120
|
+
mas_exp3 = mas_exp2.isotopes( Zref = Zref )
|
|
121
|
+
s2n_exp = mas_exp3.S2n( Zref = Zref )
|
|
122
|
+
#
|
|
123
|
+
axs.errorbar( s2n_exp.S2n_N, s2n_exp.S2n_E, yerr=s2n_exp.S2n_E_err, fmt='o', label=exp_table+' '+exp_version )
|
|
124
|
+
#axs.scatter( s2n_exp.S2n_N, s2n_exp.S2n_E, label=exp_table+' '+exp_version )
|
|
119
125
|
#axs.plot( s2n_exp.S2n_N, s2n_exp.S2n, linestyle='solid', linewidth=1, label=exp_table+' '+exp_version )
|
|
120
126
|
#N_diff, A_diff, BE_diff, BE_diff = mas.diff_exp( table_exp = 'AME', version_exp = '2020', Zref = Zref )
|
|
121
127
|
#axs.scatter( N_diff, BE_diff, label='AME2020' )
|
|
@@ -156,29 +162,34 @@ def nuc_setupBETheo_S2p_fig( pname, tables, Nref = 50 ):
|
|
|
156
162
|
fig.subplots_adjust(left=0.15, bottom=0.13, right=None, top=0.8)#, wspace=0.3, hspace=0.3)
|
|
157
163
|
#
|
|
158
164
|
#axs.set_title(r'Comparison of theoretical mass models',fontsize='12')
|
|
159
|
-
axs.set_ylabel(r'$S_{2p}$ (MeV)',fontsize='
|
|
160
|
-
axs.set_xlabel(r'Z',fontsize='
|
|
165
|
+
axs.set_ylabel(r'$S_{2p}$ (MeV)',fontsize='14')
|
|
166
|
+
axs.set_xlabel(r'Z',fontsize='14')
|
|
161
167
|
#axs.set_xlim([0.4*Nref, 1.3*Nref])
|
|
162
168
|
axs.set_xlim([0.5*Nref, 1.05*Nref])
|
|
163
169
|
#axs.set_xticks(np.arange(start=int(0.4*Nref),stop=1.3*Nref,step=5))
|
|
164
170
|
axs.set_xticks(np.arange(start=int(0.5*Nref),stop=1.05*Nref,step=5))
|
|
165
|
-
axs.set_ylim([
|
|
166
|
-
axs.text(int(0.7*Nref)
|
|
171
|
+
axs.set_ylim([-46, 0])
|
|
172
|
+
axs.text(int(0.7*Nref),-35,'For N='+str(Nref),fontsize='14')
|
|
167
173
|
#
|
|
168
174
|
# loop over the tables
|
|
169
175
|
#
|
|
170
176
|
for i,table in enumerate( tables ):
|
|
171
177
|
#
|
|
172
178
|
mas = nuda.nuc.setupBETheo( table = table )
|
|
173
|
-
|
|
179
|
+
mas2 = mas.isotones( Nref = Nref )
|
|
180
|
+
s2p = mas2.S2p( Nref = Nref )
|
|
174
181
|
#
|
|
175
|
-
axs.plot( s2p.S2p_Z, s2p.
|
|
182
|
+
axs.plot( s2p.S2p_Z, s2p.S2p_E, linestyle='solid', linewidth=1, label=table )
|
|
176
183
|
#
|
|
177
184
|
exp_table = 'AME'
|
|
178
185
|
exp_version = '2020'
|
|
179
186
|
mas_exp = nuda.nuc.setupBEExp( table = exp_table, version = exp_version )
|
|
180
|
-
|
|
181
|
-
|
|
187
|
+
mas_exp2 = mas_exp.select( state = 'gs', interp = 'n' )
|
|
188
|
+
mas_exp3 = mas_exp2.isotones( Nref = Nref )
|
|
189
|
+
s2p_exp = mas_exp3.S2p( Nref = Nref )
|
|
190
|
+
#
|
|
191
|
+
axs.errorbar( s2p_exp.S2p_Z, s2p_exp.S2p_E, yerr=s2p_exp.S2p_E_err, fmt='o', label=exp_table+' '+exp_version )
|
|
192
|
+
#axs.scatter( s2p_exp.S2p_Z, s2p_exp.S2p_E, label=exp_table+' '+exp_version )
|
|
182
193
|
#
|
|
183
194
|
#axs.legend(loc='upper right',fontsize='10', ncol=4)
|
|
184
195
|
fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=4,frameon=False)
|
|
@@ -220,7 +231,7 @@ def nuc_setupBETheo_D3n_fig( pname, tables, Zref = 50 ):
|
|
|
220
231
|
fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.8)#, wspace=0.3, hspace=0.3)
|
|
221
232
|
#
|
|
222
233
|
#axs.set_title(r'Comparison of theoretical mass models',fontsize='12')
|
|
223
|
-
axs.set_ylabel(r'$\Delta_{
|
|
234
|
+
axs.set_ylabel(r'$\Delta_{3n}$ (MeV)',fontsize='12')
|
|
224
235
|
axs.set_xlabel(r'N',fontsize='12')
|
|
225
236
|
axs.set_xlim([Zref-5, int(2.3*Zref)])
|
|
226
237
|
axs.set_xticks(np.arange(start=Zref-5,stop=2.3*Zref,step=5))
|
|
@@ -232,15 +243,24 @@ def nuc_setupBETheo_D3n_fig( pname, tables, Zref = 50 ):
|
|
|
232
243
|
for i,table in enumerate( tables ):
|
|
233
244
|
#
|
|
234
245
|
mas = nuda.nuc.setupBETheo( table = table )
|
|
235
|
-
|
|
246
|
+
mas2 = mas.isotopes( Zref = Zref )
|
|
247
|
+
D3n = mas2.D3n( Zref = Zref )
|
|
236
248
|
#
|
|
237
|
-
axs.plot(
|
|
249
|
+
axs.plot( D3n.D3n_N_even, D3n.D3n_E_even, linestyle='solid', linewidth=1, label=table+'(even)' )
|
|
238
250
|
#
|
|
239
251
|
exp_table = 'AME'
|
|
240
252
|
exp_version = '2020'
|
|
253
|
+
#
|
|
241
254
|
mas_exp = nuda.nuc.setupBEExp( table = exp_table, version = exp_version )
|
|
242
|
-
|
|
243
|
-
|
|
255
|
+
mas_exp2 = mas_exp.select( state = 'gs', interp = 'n' )
|
|
256
|
+
mas_exp3 = mas_exp2.isotopes( Zref = Zref )
|
|
257
|
+
D3n_exp = mas_exp3.D3n( Zref = Zref )
|
|
258
|
+
axs.errorbar( D3n_exp.D3n_N_even, D3n_exp.D3n_E_even, yerr=D3n_exp.D3n_E_err_even, fmt='o', label=exp_table+' '+exp_version+'(even)' )
|
|
259
|
+
#axs.scatter( D3n_exp.D3n_N_even, D3n_exp.D3n_E_even, label=exp_table+' '+exp_version+'(even)' )
|
|
260
|
+
#
|
|
261
|
+
# empirical relations:
|
|
262
|
+
axs.plot( D3n.D3n_N_even, nuda.nuc.delta_emp(D3n.D3n_N_even,Zref,formula='classic'), linestyle='solid', linewidth=3, label='classic' )
|
|
263
|
+
axs.plot( D3n.D3n_N_even, nuda.nuc.delta_emp(D3n.D3n_N_even,Zref,formula='Vogel'), linestyle='solid', linewidth=3, label='Vogel' )
|
|
244
264
|
#
|
|
245
265
|
#axs.legend(loc='upper right',fontsize='10', ncol=4)
|
|
246
266
|
fig.legend(loc='upper left',bbox_to_anchor=(0.1,1.0),columnspacing=2,fontsize='7',ncol=4,frameon=False)
|
|
@@ -282,7 +302,7 @@ def nuc_setupBETheo_D3p_fig( pname, tables, Nref = 50 ):
|
|
|
282
302
|
fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.8)#, wspace=0.3, hspace=0.3)
|
|
283
303
|
#
|
|
284
304
|
#axs.set_title(r'Comparison of theoretical mass models',fontsize='12')
|
|
285
|
-
axs.set_ylabel(r'$\Delta_{
|
|
305
|
+
axs.set_ylabel(r'$\Delta_{3p}$ (MeV)',fontsize='12')
|
|
286
306
|
axs.set_xlabel(r'Z',fontsize='12')
|
|
287
307
|
axs.set_xlim([0.4*Nref, 1.1*Nref])
|
|
288
308
|
axs.set_xticks(np.arange(start=int(0.4*Nref),stop=1.2*Nref,step=5))
|
|
@@ -294,20 +314,28 @@ def nuc_setupBETheo_D3p_fig( pname, tables, Nref = 50 ):
|
|
|
294
314
|
for i,table in enumerate( tables ):
|
|
295
315
|
#
|
|
296
316
|
mas = nuda.nuc.setupBETheo( table = table )
|
|
297
|
-
|
|
317
|
+
mas2 = mas.isotones( Nref = Nref )
|
|
318
|
+
D3p = mas2.D3p( Nref = Nref )
|
|
298
319
|
#
|
|
299
|
-
axs.plot(
|
|
320
|
+
axs.plot( D3p.D3p_Z_even, D3p.D3p_E_even, linestyle='solid', linewidth=1, label=table+'(even)' )
|
|
300
321
|
#
|
|
301
322
|
exp_table = 'AME'
|
|
302
323
|
exp_version = '2020'
|
|
324
|
+
#
|
|
303
325
|
mas_exp = nuda.nuc.setupBEExp( table = exp_table, version = exp_version )
|
|
304
|
-
|
|
305
|
-
|
|
326
|
+
mas_exp2 = mas_exp.select( state = 'gs', interp = 'n' )
|
|
327
|
+
mas_exp3 = mas_exp2.isotones( Nref = Nref )
|
|
328
|
+
D3p_exp = mas_exp3.D3p( Nref = Nref )
|
|
329
|
+
axs.errorbar( D3p_exp.D3p_Z_even, D3p_exp.D3p_E_even, yerr=D3p_exp.D3p_E_err_even, fmt='o', label=exp_table+' '+exp_version+'(even)' )
|
|
330
|
+
#axs.scatter( D3p_exp.D3p_Z_even, D3p_exp.D3p_E_even, label=exp_table+' '+exp_version+'(even)' )
|
|
331
|
+
#
|
|
332
|
+
# empirical relations:
|
|
333
|
+
axs.plot( D3p.D3p_Z_even, nuda.nuc.delta_emp(Nref,D3p.D3p_Z_even,formula='classic'), linestyle='solid', linewidth=3, label='classic' )
|
|
334
|
+
axs.plot( D3p.D3p_Z_even, nuda.nuc.delta_emp(Nref,D3p.D3p_Z_even,formula='Vogel'), linestyle='solid', linewidth=3, label='Vogel' )
|
|
306
335
|
#
|
|
307
336
|
#axs.legend(loc='upper right',fontsize='8', ncol=4)
|
|
308
337
|
fig.legend(loc='upper left',bbox_to_anchor=(0.1,1.0),columnspacing=2,fontsize='7',ncol=4,frameon=False)
|
|
309
338
|
#
|
|
310
|
-
#
|
|
311
339
|
if pname is not None:
|
|
312
340
|
plt.savefig(pname, dpi=200)
|
|
313
341
|
plt.close()
|
|
@@ -28,14 +28,14 @@ def nuc_setupISGMRExp_fig( pname, tables ):
|
|
|
28
28
|
#
|
|
29
29
|
fig, axs = plt.subplots(1,3)
|
|
30
30
|
fig.tight_layout() # Or equivalently, "plt.tight_layout()"
|
|
31
|
-
fig.subplots_adjust(left=0.12, bottom=0.15, right=
|
|
31
|
+
fig.subplots_adjust(left=0.12, bottom=0.15, right=0.95, top=0.85, wspace=0.1, hspace=0.3)
|
|
32
32
|
#
|
|
33
33
|
if obs == 'M12M0':
|
|
34
|
-
axs[0].set_ylabel(r'$E_{ISGMR}$
|
|
34
|
+
axs[0].set_ylabel(r'$E_{ISGMR}$ from $m_1/m_0$ (MeV)',fontsize='14')
|
|
35
35
|
elif obs == 'M12Mm1':
|
|
36
|
-
axs[0].set_ylabel(r'$E_{ISGMR}$
|
|
36
|
+
axs[0].set_ylabel(r'$E_{ISGMR}$ from $\sqrt{m_1/m_{-1}}$ (MeV)',fontsize='14')
|
|
37
37
|
elif obs == 'M12Mm1':
|
|
38
|
-
axs[0].set_ylabel(r'$E_{ISGMR}$
|
|
38
|
+
axs[0].set_ylabel(r'$E_{ISGMR}$ from $\sqrt{m_3/m_1}$ (MeV)',fontsize='14')
|
|
39
39
|
#
|
|
40
40
|
for k,table in enumerate( tables ):
|
|
41
41
|
#
|
|
@@ -44,7 +44,7 @@ def nuc_setupISGMRExp_fig( pname, tables ):
|
|
|
44
44
|
for i in [0,1,2]:
|
|
45
45
|
print('For Z = ',nucZ[i])
|
|
46
46
|
axs[i].set_title(nuda.param.elements[nucZ[i]-1])
|
|
47
|
-
axs[i].set_xlabel(r'A')
|
|
47
|
+
axs[i].set_xlabel(r'A',fontsize='14')
|
|
48
48
|
axs[i].set_ylim([13, 18])
|
|
49
49
|
if i>0: axs[i].tick_params('y', labelleft=False)
|
|
50
50
|
gmrs = gmr.select( Zref = nucZ[i], obs = obs )
|
|
@@ -26,8 +26,8 @@ def nuc_setupRchExp_fig( pname, tables ):
|
|
|
26
26
|
fig.tight_layout() # Or equivalently, "plt.tight_layout()"
|
|
27
27
|
fig.subplots_adjust(left=0.12, bottom=0.15, right=None, top=0.85, wspace=0.3, hspace=0.3)
|
|
28
28
|
#
|
|
29
|
-
axs.set_ylabel(r'$R_{ch}$')
|
|
30
|
-
axs.set_xlabel(r'N')
|
|
29
|
+
axs.set_ylabel(r'$R_{ch}$ (fm)',fontsize='14')
|
|
30
|
+
axs.set_xlabel(r'N',fontsize='14')
|
|
31
31
|
axs.set_xlim([10, 140])
|
|
32
32
|
axs.set_ylim([3.2, 5.8])
|
|
33
33
|
#
|