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.
- nucleardatapy/__init__.py +3 -1
- nucleardatapy/astro/setup_gw.py +18 -18
- nucleardatapy/astro/setup_mr.py +123 -33
- 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/create_folder.py +2 -2
- nucleardatapy/crust/setup_crust.py +364 -126
- nucleardatapy/data/astro/HESS/J1731-347.dat +4 -0
- nucleardatapy/data/astro/NICER/J0030+0451.dat +6 -6
- nucleardatapy/data/astro/NICER/J0437-4715.dat +4 -3
- nucleardatapy/data/astro/NICER/J0614-3329.dat +4 -0
- nucleardatapy/data/astro/NICER/J0740+6620.dat +5 -4
- nucleardatapy/data/hnuclei/1991-2L-Yamamoto.csv +6 -0
- nucleardatapy/data/hnuclei/2013-2L-Ahn.csv +1 -1
- nucleardatapy/data/hnuclei/2019-2L-Ekawa.csv +7 -0
- nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-E2A-NM.dat +8 -8
- nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-414-E2A.dat +21 -0
- nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-414-TD.dat +22 -0
- nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-450-E2A.dat +20 -0
- nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-450-TD.dat +22 -0
- nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-500-E2A.dat +23 -0
- nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-500-TD.dat +22 -0
- nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-414-E2A.dat +15 -0
- nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-414-TD.dat +21 -0
- nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-450-E2A.dat +15 -0
- nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-450-TD.dat +21 -0
- nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-500-E2A.dat +20 -0
- nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-500-TD.dat +20 -0
- nucleardatapy/data/matter/micro/2024-ABI-NM-DeltaNNLO450.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-NM-DeltaNNLO500.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-NM-DeltaNNLOgo394.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-NM-DeltaNNLOgo450.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-NM-NNLOsat.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-SM-DeltaNNLO450.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-SM-DeltaNNLO500.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-SM-DeltaNNLOgo394.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-SM-DeltaNNLOgo450.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-SM-NNLOsat.dat +28 -0
- 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 +9 -7
- nucleardatapy/fig/astro_setupMR_fig.py +26 -18
- nucleardatapy/fig/astro_setupMasses_fig.py +8 -6
- nucleardatapy/fig/astro_setupMtov_fig.py +10 -6
- nucleardatapy/fig/astro_setupMup_fig.py +9 -7
- nucleardatapy/fig/corr_setupEsymDen_fig.py +22 -9
- nucleardatapy/fig/corr_setupEsymLsym_fig.py +25 -8
- nucleardatapy/fig/corr_setupKsatQsat_fig.py +23 -17
- nucleardatapy/fig/crust_setupCrust_fig.py +11 -9
- nucleardatapy/fig/eos_setupAMBeq_fig.py +641 -156
- nucleardatapy/fig/eos_setupAMLeq_fig.py +53 -50
- nucleardatapy/fig/eos_setupAM_asy_lep_fig.py +373 -0
- nucleardatapy/fig/eos_setupAM_asy_nuc_fig.py +346 -0
- nucleardatapy/fig/eos_setupAM_asy_tot_fig.py +352 -0
- nucleardatapy/fig/eos_setupAM_fig.py +519 -0
- nucleardatapy/fig/eos_setupCC_fig.py +270 -0
- nucleardatapy/fig/hnuc_setupChart_fig.py +19 -16
- nucleardatapy/fig/hnuc_setupRE1LExp_fig.py +15 -5
- nucleardatapy/fig/matter_all_fig.py +971 -0
- nucleardatapy/fig/matter_setupCheck_fig.py +106 -0
- nucleardatapy/fig/matter_setupFFGLep_fig.py +74 -0
- nucleardatapy/fig/matter_setupFFGNuc_fig.py +286 -115
- nucleardatapy/fig/matter_setupHIC_fig.py +107 -67
- nucleardatapy/fig/matter_setupMicroEsym_fig.py +259 -73
- nucleardatapy/fig/matter_setupMicro_LP_fig.py +185 -82
- nucleardatapy/fig/matter_setupMicro_band_fig.py +126 -53
- nucleardatapy/fig/matter_setupMicro_effmass_fig.py +253 -77
- nucleardatapy/fig/matter_setupMicro_err_NM_fig.py +45 -20
- nucleardatapy/fig/matter_setupMicro_fig.py +317 -77
- nucleardatapy/fig/matter_setupMicro_gap_fig.py +237 -100
- nucleardatapy/fig/matter_setupNEPStats_fig.py +106 -0
- nucleardatapy/fig/matter_setupPhenoEsym_fig.py +204 -65
- nucleardatapy/fig/matter_setupPheno_fig.py +395 -93
- nucleardatapy/fig/nuc_setupBEExp_chart_fig.py +93 -73
- nucleardatapy/fig/nuc_setupBEExp_fig.py +97 -87
- nucleardatapy/fig/nuc_setupBETheo_fig.py +114 -81
- nucleardatapy/fig/nuc_setupISGMRExp_fig.py +12 -15
- nucleardatapy/fig/nuc_setupRchExp_fig.py +14 -22
- nucleardatapy/fig/nuc_setupRchTheo_fig.py +37 -40
- nucleardatapy/fig/nuc_setupRnpExp_fig.py +86 -106
- nucleardatapy/fig/nuc_setupRnpTheo_fig.py +105 -94
- 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 +36 -13
- 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 +2033 -1007
- nucleardatapy/matter/setup_micro_band.py +6 -6
- nucleardatapy/matter/setup_micro_esym.py +56 -54
- 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 +129 -49
- nucleardatapy/matter/setup_pheno_esym.py +22 -19
- nucleardatapy/nuc/setup_be_exp.py +306 -292
- nucleardatapy/nuc/setup_be_theo.py +288 -105
- 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.1.dist-info}/METADATA +48 -16
- {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.1.dist-info}/RECORD +157 -124
- {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.1.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.1.dist-info}/licenses/LICENSE +0 -0
- {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
|
-
|
|
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='
|
|
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='
|
|
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='
|
|
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
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
legend
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
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(
|
|
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.
|
|
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
|
|
138
|
+
def nuc_setupBEExp_chart_year_fig( pname, sYear, year_min, year_max ):
|
|
125
139
|
"""
|
|
126
|
-
Plot nuclear chart (N versus Z)
|
|
127
|
-
|
|
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
|
|
133
|
-
:type
|
|
134
|
-
:param
|
|
135
|
-
:type
|
|
136
|
-
:param
|
|
137
|
-
:type
|
|
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
|
|
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.
|
|
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' )
|
|
171
|
+
#axs.text(10,120,'Number of nuclei:')
|
|
172
|
+
axs.text(10,100,'Year: '+str(year_min)+' to '+str(year_max))
|
|
167
173
|
#
|
|
168
|
-
#
|
|
174
|
+
# nuclei given in argument: sYear
|
|
169
175
|
#
|
|
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))
|
|
176
|
+
axs.scatter( sYear.sel_N, sYear.sel_Z, marker='s', s = 3, linewidth=0, color = 'grey' )
|
|
175
177
|
#
|
|
176
|
-
#
|
|
178
|
+
# First and last isotopes
|
|
177
179
|
#
|
|
178
|
-
|
|
179
|
-
axs.scatter(
|
|
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.
|
|
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
|
-
|
|
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
|
|
220
|
-
:type
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
240
|
-
axs.text(10,
|
|
246
|
+
axs.set_yticks([0,20,40,60,80,100,120])
|
|
247
|
+
axs.text(10,120,'Number of nuclei:')
|
|
241
248
|
#
|
|
242
|
-
#
|
|
249
|
+
# First and last isotopes
|
|
243
250
|
#
|
|
244
|
-
|
|
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
|
-
#
|
|
258
|
+
# stable nuclei:
|
|
247
259
|
#
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
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.
|
|
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
|
-
|
|
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
|
|
9
|
-
|
|
10
|
-
|
|
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=
|
|
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
|
|
71
|
-
|
|
72
|
-
|
|
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
|
|
77
|
-
:type
|
|
78
|
-
:param
|
|
79
|
-
:type
|
|
80
|
-
:param
|
|
81
|
-
:type
|
|
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=
|
|
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
|
#
|
|
@@ -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
|
|
123
|
-
|
|
124
|
-
|
|
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
|
|
129
|
-
:type
|
|
130
|
-
:param
|
|
131
|
-
:type
|
|
132
|
-
:param
|
|
133
|
-
:type
|
|
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=
|
|
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='
|
|
151
|
-
axs.set_ylabel(r'$S_{2p}$ (MeV)',fontsize='
|
|
152
|
-
axs.set_xlabel(r'Z',fontsize='
|
|
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='
|
|
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
|
-
|
|
166
|
-
|
|
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
|
|
178
|
-
|
|
179
|
-
|
|
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
|
|
184
|
-
:type
|
|
185
|
-
:param
|
|
186
|
-
:type
|
|
187
|
-
:param
|
|
188
|
-
:type
|
|
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=
|
|
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='
|
|
202
|
-
axs.set_ylabel(r'$\Delta_{
|
|
203
|
-
axs.set_xlabel(r'N',fontsize='
|
|
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='
|
|
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
|
-
|
|
217
|
-
|
|
218
|
-
|
|
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
|
|
230
|
-
|
|
231
|
-
|
|
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
|
|
236
|
-
:type
|
|
237
|
-
:param
|
|
238
|
-
:type
|
|
239
|
-
:param
|
|
240
|
-
:type
|
|
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=
|
|
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='
|
|
254
|
-
axs.set_ylabel(r'$\Delta_{3p}$ (MeV)',fontsize='
|
|
255
|
-
axs.set_xlabel(r'Z',fontsize='
|
|
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='
|
|
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
|
-
|
|
269
|
-
|
|
270
|
-
|
|
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
|
#
|