nucleardatapy 0.2.0__py3-none-any.whl → 0.2.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/crust/setup_crust.py +46 -1
- nucleardatapy/data/crust/2018-PCPFDDG-BSK22.dat +83 -0
- nucleardatapy/data/crust/2018-PCPFDDG-BSK24.dat +74 -0
- nucleardatapy/data/crust/2018-PCPFDDG-BSK25.dat +130 -0
- nucleardatapy/data/crust/2018-PCPFDDG-BSK26.dat +81 -0
- nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-effmass-SM.dat +11 -0
- nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-effmass-beta0.2.dat +11 -0
- nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-effmass-beta0.4.dat +11 -0
- nucleardatapy/data/nuclei/masses/Theory/2023-BSkG3.txt +0 -4
- nucleardatapy/data/nuclei/masses/Theory/2025-BSkG4.txt +0 -1
- nucleardatapy/eos/setup_am.py +43 -31
- nucleardatapy/eos/setup_am_Beq.py +18 -12
- nucleardatapy/eos/setup_am_Leq.py +53 -47
- nucleardatapy/fig/__init__.py +15 -2
- nucleardatapy/fig/crust_setupCrust_fig.py +3 -3
- nucleardatapy/fig/eos_setupAMBeq_fig.py +866 -49
- nucleardatapy/fig/eos_setupAMLeq_fig.py +185 -53
- nucleardatapy/fig/eos_setupAM_e_asy_lep_fig.py +125 -0
- nucleardatapy/fig/eos_setupAM_e_asy_nuc_fig.py +115 -0
- nucleardatapy/fig/eos_setupAM_e_asy_tot_fig.py +117 -0
- nucleardatapy/fig/eos_setupAM_e_fig.py +173 -0
- nucleardatapy/fig/hnuc_setupRE1LExp_fig.py +1 -1
- nucleardatapy/fig/matter_ENM_fig.py +50 -41
- nucleardatapy/fig/matter_ESM_fig.py +60 -39
- nucleardatapy/fig/matter_Esym_fig.py +48 -36
- nucleardatapy/fig/matter_cs2_fig.py +83 -0
- nucleardatapy/fig/matter_preNM_fig.py +146 -0
- nucleardatapy/fig/matter_preSM_fig.py +144 -0
- nucleardatapy/fig/matter_setupFFGNuc_fig.py +2 -1
- nucleardatapy/fig/matter_setupMicroEsym_fig.py +50 -19
- nucleardatapy/fig/matter_setupMicro_band_fig.py +1 -0
- nucleardatapy/fig/matter_setupMicro_effmass_fig.py +59 -4
- nucleardatapy/fig/matter_setupMicro_fig.py +81 -79
- nucleardatapy/fig/matter_setupPhenoEsym_fig.py +28 -26
- nucleardatapy/fig/matter_setupPheno_fig.py +34 -24
- nucleardatapy/fig/nuc_setupBEExp_chart_fig.py +275 -0
- nucleardatapy/fig/nuc_setupBEExp_fig.py +225 -70
- nucleardatapy/fig/nuc_setupBETheo_fig.py +316 -0
- nucleardatapy/fig/nuc_setupISGMRExp_fig.py +59 -0
- nucleardatapy/fig/nuc_setupRchExp_fig.py +139 -0
- nucleardatapy/fig/nuc_setupRchTheo_fig.py +142 -0
- nucleardatapy/fig/nuc_setupRnpExp_fig.py +120 -0
- nucleardatapy/fig/nuc_setupRnpTheo_fig.py +134 -0
- nucleardatapy/hnuc/__init__.py +3 -3
- nucleardatapy/matter/__init__.py +1 -0
- nucleardatapy/matter/setup_check.py +97 -0
- nucleardatapy/matter/setup_ffg.py +15 -8
- nucleardatapy/matter/setup_micro.py +144 -79
- nucleardatapy/matter/setup_micro_band.py +6 -1
- nucleardatapy/matter/setup_micro_effmass.py +55 -2
- nucleardatapy/matter/setup_micro_esym.py +37 -30
- nucleardatapy/matter/setup_micro_gap.py +3 -3
- nucleardatapy/matter/setup_micro_lp.py +18 -17
- nucleardatapy/matter/setup_pheno.py +2 -2
- nucleardatapy/matter/setup_pheno_esym.py +13 -13
- nucleardatapy/nuc/__init__.py +2 -2
- nucleardatapy/nuc/setup_be_exp.py +90 -90
- nucleardatapy/nuc/setup_be_theo.py +112 -100
- nucleardatapy/nuc/setup_rch_exp.py +49 -6
- nucleardatapy/nuc/setup_rch_theo.py +72 -3
- nucleardatapy/nuc/{setup_nskin_exp.py → setup_rnp_exp.py} +58 -65
- nucleardatapy/nuc/{setup_nskin_theo.py → setup_rnp_theo.py} +34 -39
- nucleardatapy-0.2.1.dist-info/METADATA +521 -0
- {nucleardatapy-0.2.0.dist-info → nucleardatapy-0.2.1.dist-info}/RECORD +86 -65
- {nucleardatapy-0.2.0.dist-info → nucleardatapy-0.2.1.dist-info}/WHEEL +1 -1
- nucleardatapy/fig/eos_setupAM_fig.py +0 -81
- nucleardatapy-0.2.0.dist-info/METADATA +0 -115
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-E2A-AM.dat → 2006-BHF-Av18-E2A-AM.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-E2A-NM.dat → 2006-BHF-Av18-E2A-NM.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-E2A-SM.dat → 2006-BHF-Av18-E2A-SM.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-Esym2-SM.dat → 2006-BHF-Av18-Esym2-SM.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-NM-FreeSpectrum.dat → 2006-BHF-Av18-GAP-NM-FreeSpectrum.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-NM-SelfEnergy.dat → 2006-BHF-Av18-GAP-NM-SelfEnergy.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-SM-FreeSpectrum.dat → 2006-BHF-Av18-GAP-SM-FreeSpectrum.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-SM-SelfEnergy.dat → 2006-BHF-Av18-GAP-SM-SelfEnergy.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2020-MBPT-NM-DHSL59.dat → 2019-MBPT-NM-DHSL59.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2020-MBPT-NM-DHSL69.dat → 2019-MBPT-NM-DHSL69.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2020-MBPT-SM-DHSL59.dat → 2019-MBPT-SM-DHSL59.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2020-MBPT-SM-DHSL69.dat → 2019-MBPT-SM-DHSL69.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2023-MBPT-NM.csv → 2020-MBPT-NM.csv} +0 -0
- /nucleardatapy/data/matter/micro/{2023-MBPT-SM.csv → 2020-MBPT-SM.csv} +0 -0
- /nucleardatapy/data/nuclei/{nskin → rnp}/208Pb.dat +0 -0
- /nucleardatapy/data/nuclei/{nskin → rnp}/48Ca.dat +0 -0
- /nucleardatapy/hnuc/{setup_be1L_exp.py → setup_re1L_exp.py} +0 -0
- /nucleardatapy/hnuc/{setup_be1Xi_exp.py → setup_re1Xi_exp.py} +0 -0
- /nucleardatapy/hnuc/{setup_be2L_exp.py → setup_re2L_exp.py} +0 -0
- {nucleardatapy-0.2.0.dist-info → nucleardatapy-0.2.1.dist-info/licenses}/LICENSE +0 -0
- {nucleardatapy-0.2.0.dist-info → nucleardatapy-0.2.1.dist-info}/top_level.txt +0 -0
|
@@ -141,18 +141,18 @@ class setupBEExp():
|
|
|
141
141
|
#
|
|
142
142
|
tables, tables_lower = be_exp_tables()
|
|
143
143
|
if table.lower() not in tables_lower:
|
|
144
|
-
print('Table ',table,' is not in the list of tables.')
|
|
145
|
-
print('list of tables:',tables)
|
|
146
|
-
print('-- Exit the code --')
|
|
144
|
+
print('setup_be_exp.py: Table ',table,' is not in the list of tables.')
|
|
145
|
+
print('setup_be_exp.py: list of tables:',tables)
|
|
146
|
+
print('setup_be_exp.py: -- Exit the code --')
|
|
147
147
|
exit()
|
|
148
148
|
self.table = table
|
|
149
149
|
if nuda.env.verb: print("table:",table)
|
|
150
150
|
#
|
|
151
151
|
versions, versions_lower = be_exp_versions( table = table )
|
|
152
152
|
if version.lower() not in versions_lower:
|
|
153
|
-
print('Version ',version,' is not in the list of versions.')
|
|
154
|
-
print('list of versions:',versions)
|
|
155
|
-
print('-- Exit the code --')
|
|
153
|
+
print('setup_be_exp.py: Version ',version,' is not in the list of versions.')
|
|
154
|
+
print('setup_be_exp.py: list of versions:',versions)
|
|
155
|
+
print('setup_be_exp.py: -- Exit the code --')
|
|
156
156
|
exit()
|
|
157
157
|
self.version = version
|
|
158
158
|
if nuda.env.verb: print("version:",version)
|
|
@@ -478,15 +478,15 @@ class setupBEExp():
|
|
|
478
478
|
if nuda.env.verb: print("Enter select()")
|
|
479
479
|
#
|
|
480
480
|
if interp.lower() not in [ 'y', 'n' ]:
|
|
481
|
-
print('Interp ',interp,' is not "y" or "n".')
|
|
482
|
-
print('-- Exit the code --')
|
|
481
|
+
print('setup_be_exp.py: Interp ',interp,' is not "y" or "n".')
|
|
482
|
+
print('setup_be_exp.py: -- Exit the code --')
|
|
483
483
|
exit()
|
|
484
484
|
self.nucInterp = interp
|
|
485
485
|
if nuda.env.verb: print("interp:",interp)
|
|
486
486
|
#
|
|
487
487
|
if state.lower() not in [ 'gs' ]:
|
|
488
|
-
print('State ',state,' is not "gs".')
|
|
489
|
-
print('-- Exit the code --')
|
|
488
|
+
print('setup_be_exp.py: State ',state,' is not "gs".')
|
|
489
|
+
print('setup_be_exp.py: -- Exit the code --')
|
|
490
490
|
exit()
|
|
491
491
|
self.state = state
|
|
492
492
|
if nuda.env.verb: print("state:",state)
|
|
@@ -494,8 +494,8 @@ class setupBEExp():
|
|
|
494
494
|
nuclei = [ 'stable', 'unstable', 'longlive', 'shortlive', 'veryshortlive' ]
|
|
495
495
|
#
|
|
496
496
|
if nucleus.lower() not in nuclei:
|
|
497
|
-
print('Nucleus ',nucleus,' is not in the list: ',nuclei)
|
|
498
|
-
print('-- Exit the code --')
|
|
497
|
+
print('setup_be_exp.py: Nucleus ',nucleus,' is not in the list: ',nuclei)
|
|
498
|
+
print('setup_be_exp.py: -- Exit the code --')
|
|
499
499
|
exit()
|
|
500
500
|
self.nucleus = nucleus
|
|
501
501
|
if nuda.env.verb: print("nucleus:",nucleus)
|
|
@@ -600,11 +600,11 @@ class setupBEExp():
|
|
|
600
600
|
if nuda.env.verb: print("Enter drip()")
|
|
601
601
|
#
|
|
602
602
|
if Zmin > Zmax:
|
|
603
|
-
print('In isotopes attribute function of setup_be_exp.py:')
|
|
604
|
-
print('Bad definition of Zmin and Zmax')
|
|
605
|
-
print('It is expected that Zmin<=Zmax')
|
|
606
|
-
print('Zmin,Zmax:',Zmin,Zmax)
|
|
607
|
-
print('exit')
|
|
603
|
+
print('setup_be_exp.py: In isotopes attribute function of setup_be_exp.py:')
|
|
604
|
+
print('setup_be_exp.py: Bad definition of Zmin and Zmax')
|
|
605
|
+
print('setup_be_exp.py: It is expected that Zmin<=Zmax')
|
|
606
|
+
print('setup_be_exp.py: Zmin,Zmax:',Zmin,Zmax)
|
|
607
|
+
print('setup_be_exp.py: exit')
|
|
608
608
|
exit()
|
|
609
609
|
#
|
|
610
610
|
Nstable, Zstable = stable_fit( Zmin = Zmin, Zmax = Zmax )
|
|
@@ -662,24 +662,24 @@ class setupBEExp():
|
|
|
662
662
|
**Attributes:**
|
|
663
663
|
"""
|
|
664
664
|
#
|
|
665
|
-
if self.
|
|
666
|
-
print('There is no year in the experimental mass table')
|
|
667
|
-
print('Table:',self.table)
|
|
668
|
-
print('Version:',self.version)
|
|
669
|
-
print('Exit()')
|
|
665
|
+
if self.nucYear is None:
|
|
666
|
+
print('setup_be_exp.py: There is no year in the experimental mass table')
|
|
667
|
+
print('setup_be_exp.py: Table:',self.table)
|
|
668
|
+
print('setup_be_exp.py: Version:',self.version)
|
|
669
|
+
print('setup_be_exp.py: Exit()')
|
|
670
670
|
exit()
|
|
671
671
|
if year_min > int(self.version) or year_max < yearMin:
|
|
672
|
-
print('year_min or year_max is not well defined')
|
|
673
|
-
print('year_min:',year_min,' >? ',int(self.version))
|
|
674
|
-
print('year_max:',year_max,' <? ',yearMin)
|
|
675
|
-
print('-- Exit the code --')
|
|
672
|
+
print('setup_be_exp.py: year_min or year_max is not well defined')
|
|
673
|
+
print('setup_be_exp.py: year_min:',year_min,' >? ',int(self.version))
|
|
674
|
+
print('setup_be_exp.py: year_max:',year_max,' <? ',yearMin)
|
|
675
|
+
print('setup_be_exp.py: -- Exit the code --')
|
|
676
676
|
exit()
|
|
677
677
|
self.year_min = year_min
|
|
678
678
|
self.year_max = year_max
|
|
679
679
|
#
|
|
680
680
|
if state.lower() not in [ 'gs' ]:
|
|
681
|
-
print('State ',state,' is not "gs".')
|
|
682
|
-
print('-- Exit the code --')
|
|
681
|
+
print('setup_be_exp.py: State ',state,' is not "gs".')
|
|
682
|
+
print('setup_be_exp.py: -- Exit the code --')
|
|
683
683
|
exit()
|
|
684
684
|
self.state = state
|
|
685
685
|
#
|
|
@@ -722,7 +722,7 @@ class setupBEExp():
|
|
|
722
722
|
#print('discovery year:',nucYear)
|
|
723
723
|
nbNucTot = nbNucTot + 1
|
|
724
724
|
# skip nucleus if interpolated data
|
|
725
|
-
if
|
|
725
|
+
if nucInterp == 'y':
|
|
726
726
|
continue
|
|
727
727
|
# skip nuclei not in GS
|
|
728
728
|
if state == 'gs' and nucI != 0:
|
|
@@ -734,12 +734,12 @@ class setupBEExp():
|
|
|
734
734
|
if nucZ > self.sel_Zmax: self.sel_Zmax = nucZ
|
|
735
735
|
self.sel_N.append( nucN )
|
|
736
736
|
self.sel_symb.append( nucSymb )
|
|
737
|
-
self.sel_I.append(
|
|
738
|
-
self.sel_Interp.append(
|
|
737
|
+
self.sel_I.append( nucI )
|
|
738
|
+
self.sel_Interp.append( nucInterp )
|
|
739
739
|
self.sel_HT.append( nucHT )
|
|
740
740
|
self.sel_year.append( nucYear )
|
|
741
741
|
self.sel_BE.append( nucBE )
|
|
742
|
-
self.sel_BE_err.append(
|
|
742
|
+
self.sel_BE_err.append( nucdBE )
|
|
743
743
|
self.sel_nbNucTot = nbNucTot
|
|
744
744
|
self.sel_nbNucSta = nbNucSta
|
|
745
745
|
self.sel_nbNucSel = nbNucSel
|
|
@@ -760,11 +760,11 @@ class setupBEExp():
|
|
|
760
760
|
if nuda.env.verb: print("Enter S2n()")
|
|
761
761
|
#
|
|
762
762
|
if Zmin > Zmax:
|
|
763
|
-
print('In S2n attribute function of setup_be_exp.py:')
|
|
764
|
-
print('Bad definition of Zmin and Zmax')
|
|
765
|
-
print('It is expected that Zmin<=Zmax')
|
|
766
|
-
print('Zmin,Zmax:',Zmin,Zmax)
|
|
767
|
-
print('exit')
|
|
763
|
+
print('setup_be_exp.py: In S2n attribute function of setup_be_exp.py:')
|
|
764
|
+
print('setup_be_exp.py: Bad definition of Zmin and Zmax')
|
|
765
|
+
print('setup_be_exp.py: It is expected that Zmin<=Zmax')
|
|
766
|
+
print('setup_be_exp.py: Zmin,Zmax:',Zmin,Zmax)
|
|
767
|
+
print('setup_be_exp.py: exit')
|
|
768
768
|
exit()
|
|
769
769
|
#
|
|
770
770
|
S2n_Z = []
|
|
@@ -820,11 +820,11 @@ class setupBEExp():
|
|
|
820
820
|
if nuda.env.verb: print("Enter S2p()")
|
|
821
821
|
#
|
|
822
822
|
if Nmin > Nmax:
|
|
823
|
-
print('In S2p attribute function of setup_be_exp.py:')
|
|
824
|
-
print('Bad definition of Nmin and Nmax')
|
|
825
|
-
print('It is expected that Nmin<=Nmax')
|
|
826
|
-
print('Nmin,Nmax:',Nmin,Nmax)
|
|
827
|
-
print('exit')
|
|
823
|
+
print('setup_be_exp.py: In S2p attribute function of setup_be_exp.py:')
|
|
824
|
+
print('setup_be_exp.py: Bad definition of Nmin and Nmax')
|
|
825
|
+
print('setup_be_exp.py: It is expected that Nmin<=Nmax')
|
|
826
|
+
print('setup_be_exp.py: Nmin,Nmax:',Nmin,Nmax)
|
|
827
|
+
print('setup_be_exp.py: exit')
|
|
828
828
|
exit()
|
|
829
829
|
#
|
|
830
830
|
S2p_Z = []
|
|
@@ -871,7 +871,7 @@ class setupBEExp():
|
|
|
871
871
|
#
|
|
872
872
|
return self
|
|
873
873
|
#
|
|
874
|
-
def
|
|
874
|
+
def D3n( self, Zmin = 1, Zmax = 95 ):
|
|
875
875
|
"""
|
|
876
876
|
Compute the three-points odd-even mass staggering (D3p_n)
|
|
877
877
|
D_3p^N = (-)**N * ( 2*E(Z,N)-E(Z,N+1)-E(Z,N-1) ) / 2
|
|
@@ -880,19 +880,19 @@ class setupBEExp():
|
|
|
880
880
|
if nuda.env.verb: print("Enter D3p_n()")
|
|
881
881
|
#
|
|
882
882
|
if Zmin > Zmax:
|
|
883
|
-
print('In D3p_n attribute function of setup_be_exp.py:')
|
|
884
|
-
print('Bad definition of Zmin and Zmax')
|
|
885
|
-
print('It is expected that Zmin<=Zmax')
|
|
886
|
-
print('Zmin,Zmax:',Zmin,Zmax)
|
|
887
|
-
print('exit')
|
|
883
|
+
print('setup_be_exp.py: In D3p_n attribute function of setup_be_exp.py:')
|
|
884
|
+
print('setup_be_exp.py: Bad definition of Zmin and Zmax')
|
|
885
|
+
print('setup_be_exp.py: It is expected that Zmin<=Zmax')
|
|
886
|
+
print('setup_be_exp.py: Zmin,Zmax:',Zmin,Zmax)
|
|
887
|
+
print('setup_be_exp.py: exit')
|
|
888
888
|
exit()
|
|
889
889
|
#
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
890
|
+
D3n_Z_even = []
|
|
891
|
+
D3n_Z_odd = []
|
|
892
|
+
D3n_N_even = []
|
|
893
|
+
D3n_N_odd = []
|
|
894
|
+
D3n_even = []
|
|
895
|
+
D3n_odd = []
|
|
896
896
|
#
|
|
897
897
|
for ind,Z in enumerate(self.nucZ):
|
|
898
898
|
#
|
|
@@ -929,26 +929,26 @@ class setupBEExp():
|
|
|
929
929
|
break
|
|
930
930
|
if flag_find1*flag_find2 == 1:
|
|
931
931
|
if sign > 0: #even
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
932
|
+
D3n_Z_even.append( self.nucZ[ind] )
|
|
933
|
+
D3n_N_even.append( self.nucN[ind] )
|
|
934
|
+
D3n_even.append( sign/2.0*( -2*self.nucBE[ind] + self.nucBE[ind1] + self.nucBE[ind2] ) )
|
|
935
935
|
else:
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
self.
|
|
940
|
-
self.
|
|
941
|
-
self.
|
|
942
|
-
self.
|
|
943
|
-
self.
|
|
944
|
-
self.
|
|
936
|
+
D3n_Z_odd.append( self.nucZ[ind] )
|
|
937
|
+
D3n_N_odd.append( self.nucN[ind] )
|
|
938
|
+
D3n_odd.append( sign/2.0*( -2*self.nucBE[ind] + self.nucBE[ind1] + self.nucBE[ind2] ) )
|
|
939
|
+
self.D3n_N_even = np.array( D3n_N_even, dtype = int )
|
|
940
|
+
self.D3n_N_odd = np.array( D3n_N_odd, dtype = int )
|
|
941
|
+
self.D3n_Z_even = np.array( D3n_Z_even, dtype = int )
|
|
942
|
+
self.D3n_Z_odd = np.array( D3n_Z_odd, dtype = int )
|
|
943
|
+
self.D3n_even = np.array( D3n_even, dtype = float )
|
|
944
|
+
self.D3n_odd = np.array( D3n_odd, dtype = float )
|
|
945
945
|
#
|
|
946
946
|
if nuda.env.verb: print("Exit D3p_n()")
|
|
947
947
|
#
|
|
948
948
|
return self
|
|
949
949
|
#
|
|
950
950
|
#
|
|
951
|
-
def
|
|
951
|
+
def D3p( self, Nmin = 1, Nmax = 95 ):
|
|
952
952
|
"""
|
|
953
953
|
Compute the three-points odd-even mass staggering (D3p_p)
|
|
954
954
|
D_3p^P = (-)**Z * ( 2*E(Z,N)-E(Z+1,N)-E(Z-1,N) ) / 2
|
|
@@ -957,19 +957,19 @@ class setupBEExp():
|
|
|
957
957
|
if nuda.env.verb: print("Enter D3p_p()")
|
|
958
958
|
#
|
|
959
959
|
if Nmin > Nmax:
|
|
960
|
-
print('In D3p_p attribute function of setup_be_exp.py:')
|
|
961
|
-
print('Bad definition of Nmin and Nmax')
|
|
962
|
-
print('It is expected that Nmin<=Nmax')
|
|
963
|
-
print('Nmin,Nmax:',Nmin,Nmax)
|
|
964
|
-
print('exit')
|
|
960
|
+
print('setup_be_exp.py: In D3p_p attribute function of setup_be_exp.py:')
|
|
961
|
+
print('setup_be_exp.py: Bad definition of Nmin and Nmax')
|
|
962
|
+
print('setup_be_exp.py: It is expected that Nmin<=Nmax')
|
|
963
|
+
print('setup_be_exp.py: Nmin,Nmax:',Nmin,Nmax)
|
|
964
|
+
print('setup_be_exp.py: exit')
|
|
965
965
|
exit()
|
|
966
966
|
#
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
967
|
+
D3p_Z_even = []
|
|
968
|
+
D3p_Z_odd = []
|
|
969
|
+
D3p_N_even = []
|
|
970
|
+
D3p_N_odd = []
|
|
971
|
+
D3p_even = []
|
|
972
|
+
D3p_odd = []
|
|
973
973
|
#
|
|
974
974
|
for ind,N in enumerate(self.nucN):
|
|
975
975
|
#
|
|
@@ -1006,19 +1006,19 @@ class setupBEExp():
|
|
|
1006
1006
|
break
|
|
1007
1007
|
if flag_find1*flag_find2 == 1:
|
|
1008
1008
|
if sign > 0: #even
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1009
|
+
D3p_Z_even.append( self.nucZ[ind] )
|
|
1010
|
+
D3p_N_even.append( self.nucN[ind] )
|
|
1011
|
+
D3p_even.append( sign/2.0*( -2*self.nucBE[ind] + self.nucBE[ind1] + self.nucBE[ind2] ) )
|
|
1012
1012
|
else:
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
self.
|
|
1017
|
-
self.
|
|
1018
|
-
self.
|
|
1019
|
-
self.
|
|
1020
|
-
self.
|
|
1021
|
-
self.
|
|
1013
|
+
D3p_Z_odd.append( self.nucZ[ind] )
|
|
1014
|
+
D3p_N_odd.append( self.nucN[ind] )
|
|
1015
|
+
D3p_odd.append( sign/2.0*( -2*self.nucBE[ind] + self.nucBE[ind1] + self.nucBE[ind2] ) )
|
|
1016
|
+
self.D3p_N_even = np.array( D3p_N_even, dtype = int )
|
|
1017
|
+
self.D3p_N_odd = np.array( D3p_N_odd, dtype = int )
|
|
1018
|
+
self.D3p_Z_even = np.array( D3p_Z_even, dtype = int )
|
|
1019
|
+
self.D3p_Z_odd = np.array( D3p_Z_odd, dtype = int )
|
|
1020
|
+
self.D3p_even = np.array( D3p_even, dtype = float )
|
|
1021
|
+
self.D3p_odd = np.array( D3p_odd, dtype = float )
|
|
1022
1022
|
#
|
|
1023
1023
|
if nuda.env.verb: print("Exit D3p_p()")
|
|
1024
1024
|
#
|
|
@@ -3,11 +3,18 @@ import sys
|
|
|
3
3
|
import math
|
|
4
4
|
import numpy as np # 1.15.0
|
|
5
5
|
|
|
6
|
-
#nucleardatapy_tk = os.getenv('NUCLEARDATAPY_TK')
|
|
7
|
-
#sys.path.insert(0, nucleardatapy_tk)
|
|
8
|
-
|
|
9
6
|
import nucleardatapy as nuda
|
|
10
7
|
|
|
8
|
+
def delta_emp( A, Z, formula ):
|
|
9
|
+
if formula == 'classic':
|
|
10
|
+
return 12.0 / A**0.5
|
|
11
|
+
elif formula == 'Vogel':
|
|
12
|
+
return ( 7.2 - 44.0 * ( 1.0 - 2.0 * Z / A )**2 ) / A**0.3333
|
|
13
|
+
else:
|
|
14
|
+
print('setup_be_theo: formula is badly defined ',formula)
|
|
15
|
+
print('setup_be_theo: exit')
|
|
16
|
+
exit()
|
|
17
|
+
|
|
11
18
|
def be_theo_tables():
|
|
12
19
|
"""
|
|
13
20
|
Return a list of the tables available in this toolkit for the masses
|
|
@@ -70,9 +77,9 @@ class setupBETheo():
|
|
|
70
77
|
#
|
|
71
78
|
tables, tables_lower = be_theo_tables()
|
|
72
79
|
if table.lower() not in tables_lower:
|
|
73
|
-
print('Table ',table,' is not in the list of tables.')
|
|
74
|
-
print('list of tables:',tables)
|
|
75
|
-
print('-- Exit the code --')
|
|
80
|
+
print('setup_be_theo: Table ',table,' is not in the list of tables.')
|
|
81
|
+
print('setup_be_theo: list of tables:',tables)
|
|
82
|
+
print('setup_be_theo: -- Exit the code --')
|
|
76
83
|
exit()
|
|
77
84
|
self.table = table
|
|
78
85
|
if nuda.env.verb: print("table:",table)
|
|
@@ -469,11 +476,16 @@ class setupBETheo():
|
|
|
469
476
|
self.ref = 'G. Grams, W. Ryssens, N. Shchechilin, A. Sanchez-Fernandez, N. Chamel, and S. Goriely, EPJA 61, 35 (2025).'
|
|
470
477
|
self.note = "write here notes about this EOS."
|
|
471
478
|
self.label = 'BSkG4-2024'
|
|
472
|
-
self.nucZr, self.nucNr, self.nucBE2A = np.loadtxt( file_in, usecols=(0,1,2), unpack = True )
|
|
479
|
+
#self.nucZr, self.nucNr, self.nucBE2A = np.loadtxt( file_in, usecols=(0,1,2), unpack = True )
|
|
480
|
+
self.nucZr, self.nucNr, self.nucMass, self.Ebind, self.beta20, self.beta22, self.beta2, \
|
|
481
|
+
self.beta30, self.beta32, self.Erot, self.gap_n, self.gap_p, self.moi = \
|
|
482
|
+
np.loadtxt( file_in, usecols=(0,1,3,5,6,7,8,9,10,11,12,13,17), unpack = True )
|
|
473
483
|
self.nucZ = np.array( [ int(ele) for ele in self.nucZr ] )
|
|
474
484
|
self.nucN = np.array( [ int(ele) for ele in self.nucNr ] )
|
|
475
485
|
self.nucA = self.nucZ + self.nucN
|
|
476
|
-
self.nucBE = self.nucBE2A * self.nucA
|
|
486
|
+
#self.nucBE = self.nucBE2A * self.nucA
|
|
487
|
+
self.nucBE = conversionMBE(self.nucMass,self.nucN,self.nucZ)
|
|
488
|
+
self.nucBE2A = self.nucBE / self.nucA
|
|
477
489
|
self.Zmax = int( max( self.nucZ ) )
|
|
478
490
|
#
|
|
479
491
|
#
|
|
@@ -508,11 +520,11 @@ class setupBETheo():
|
|
|
508
520
|
if nuda.env.verb: print("Enter S2n()")
|
|
509
521
|
#
|
|
510
522
|
if Zmin > Zmax:
|
|
511
|
-
print('In S2n attribute function of setup_be_theo.py:')
|
|
512
|
-
print('Bad definition of Zmin and Zmax')
|
|
513
|
-
print('It is expected that Zmin<=Zmax')
|
|
514
|
-
print('Zmin,Zmax:',Zmin,Zmax)
|
|
515
|
-
print('exit')
|
|
523
|
+
print('setup_be_theo: In S2n attribute function of setup_be_theo.py:')
|
|
524
|
+
print('setup_be_theo: Bad definition of Zmin and Zmax')
|
|
525
|
+
print('setup_be_theo: It is expected that Zmin<=Zmax')
|
|
526
|
+
print('setup_be_theo: Zmin,Zmax:',Zmin,Zmax)
|
|
527
|
+
print('setup_be_theo: exit')
|
|
516
528
|
exit()
|
|
517
529
|
#
|
|
518
530
|
S2n_Z = []
|
|
@@ -563,11 +575,11 @@ class setupBETheo():
|
|
|
563
575
|
if nuda.env.verb: print("Enter S2p()")
|
|
564
576
|
#
|
|
565
577
|
if Nmin > Nmax:
|
|
566
|
-
print('In S2p attribute function of setup_be_exp.py:')
|
|
567
|
-
print('Bad definition of Nmin and Nmax')
|
|
568
|
-
print('It is expected that Nmin<=Nmax')
|
|
569
|
-
print('Nmin,Nmax:',Nmin,Nmax)
|
|
570
|
-
print('exit')
|
|
578
|
+
print('setup_be_theo: In S2p attribute function of setup_be_exp.py:')
|
|
579
|
+
print('setup_be_theo: Bad definition of Nmin and Nmax')
|
|
580
|
+
print('setup_be_theo: It is expected that Nmin<=Nmax')
|
|
581
|
+
print('setup_be_theo: Nmin,Nmax:',Nmin,Nmax)
|
|
582
|
+
print('setup_be_theo: exit')
|
|
571
583
|
exit()
|
|
572
584
|
#
|
|
573
585
|
S2p_Z = []
|
|
@@ -625,17 +637,17 @@ class setupBETheo():
|
|
|
625
637
|
if nuda.env.verb: print("Enter drip_S2n()")
|
|
626
638
|
#
|
|
627
639
|
if Zmin > Zmax:
|
|
628
|
-
print('In drip_S2n attribute function of setup_be_theo.py:')
|
|
629
|
-
print('Bad definition of Zmin and Zmax')
|
|
630
|
-
print('It is expected that Zmin<=Zmax')
|
|
631
|
-
print('Zmin,Zmax:',Zmin,Zmax)
|
|
632
|
-
print('exit')
|
|
640
|
+
print('setup_be_theo: In drip_S2n attribute function of setup_be_theo.py:')
|
|
641
|
+
print('setup_be_theo: Bad definition of Zmin and Zmax')
|
|
642
|
+
print('setup_be_theo: It is expected that Zmin<=Zmax')
|
|
643
|
+
print('setup_be_theo: Zmin,Zmax:',Zmin,Zmax)
|
|
644
|
+
print('setup_be_theo: exit')
|
|
633
645
|
exit()
|
|
634
646
|
#
|
|
635
647
|
if not any(self.S2n_Z):
|
|
636
|
-
print('In drip_S2n attribute function of setup_be_theo.py:')
|
|
637
|
-
print('Should compute first S2n')
|
|
638
|
-
print('exit')
|
|
648
|
+
print('setup_be_theo: In drip_S2n attribute function of setup_be_theo.py:')
|
|
649
|
+
print('setup_be_theo: Should compute first S2n')
|
|
650
|
+
print('setup_be_theo: exit')
|
|
639
651
|
exit()
|
|
640
652
|
#
|
|
641
653
|
#Nstable, Zstable = stable_fit( Zmin = Zmin, Zmax = Zmax )
|
|
@@ -679,17 +691,17 @@ class setupBETheo():
|
|
|
679
691
|
if nuda.env.verb: print("Enter drip_S2p()")
|
|
680
692
|
#
|
|
681
693
|
if Nmin > Nmax:
|
|
682
|
-
print('In drip_S2p attribute function of setup_be_theo.py:')
|
|
683
|
-
print('Bad definition of Nmin and Nmax')
|
|
684
|
-
print('It is expected that Nmin<=Nmax')
|
|
685
|
-
print('Nmin,Nmax:',Nmin,Nmax)
|
|
686
|
-
print('exit')
|
|
694
|
+
print('setup_be_theo: In drip_S2p attribute function of setup_be_theo.py:')
|
|
695
|
+
print('setup_be_theo: Bad definition of Nmin and Nmax')
|
|
696
|
+
print('setup_be_theo: It is expected that Nmin<=Nmax')
|
|
697
|
+
print('setup_be_theo: Nmin,Nmax:',Nmin,Nmax)
|
|
698
|
+
print('setup_be_theo: exit')
|
|
687
699
|
exit()
|
|
688
700
|
#
|
|
689
701
|
if not any(self.S2p_N):
|
|
690
|
-
print('In drip_S2p attribute function of setup_be_theo.py:')
|
|
691
|
-
print('Should compute first S2p')
|
|
692
|
-
print('exit')
|
|
702
|
+
print('setup_be_theo: In drip_S2p attribute function of setup_be_theo.py:')
|
|
703
|
+
print('setup_be_theo: Should compute first S2p')
|
|
704
|
+
print('setup_be_theo: exit')
|
|
693
705
|
exit()
|
|
694
706
|
#
|
|
695
707
|
self.drip_S2p_Z = []
|
|
@@ -715,28 +727,28 @@ class setupBETheo():
|
|
|
715
727
|
return self
|
|
716
728
|
#
|
|
717
729
|
#
|
|
718
|
-
def
|
|
730
|
+
def D3n( self, Zmin = 1, Zmax = 95 ):
|
|
719
731
|
"""
|
|
720
|
-
Compute the three-points odd-even mass staggering (
|
|
721
|
-
|
|
732
|
+
Compute the three-points odd-even mass staggering (D3n)
|
|
733
|
+
D3N = (-)**N * ( 2*E(Z,N)-E(Z,N+1)-E(Z,N-1) ) / 2
|
|
722
734
|
"""
|
|
723
735
|
#
|
|
724
|
-
if nuda.env.verb: print("Enter
|
|
736
|
+
if nuda.env.verb: print("Enter D3n()")
|
|
725
737
|
#
|
|
726
738
|
if Zmin > Zmax:
|
|
727
|
-
print('In
|
|
728
|
-
print('Bad definition of Zmin and Zmax')
|
|
729
|
-
print('It is expected that Zmin<=Zmax')
|
|
730
|
-
print('Zmin,Zmax:',Zmin,Zmax)
|
|
731
|
-
print('exit')
|
|
739
|
+
print('setup_be_theo: In D3n attribute function of setup_be_exp.py:')
|
|
740
|
+
print('setup_be_theo: Bad definition of Zmin and Zmax')
|
|
741
|
+
print('setup_be_theo: It is expected that Zmin<=Zmax')
|
|
742
|
+
print('setup_be_theo: Zmin,Zmax:',Zmin,Zmax)
|
|
743
|
+
print('setup_be_theo: exit')
|
|
732
744
|
exit()
|
|
733
745
|
#
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
746
|
+
D3n_Z_even = []
|
|
747
|
+
D3n_Z_odd = []
|
|
748
|
+
D3n_N_even = []
|
|
749
|
+
D3n_N_odd = []
|
|
750
|
+
D3n_even = []
|
|
751
|
+
D3n_odd = []
|
|
740
752
|
#
|
|
741
753
|
for ind,Z in enumerate(self.nucZ):
|
|
742
754
|
#
|
|
@@ -768,46 +780,46 @@ class setupBETheo():
|
|
|
768
780
|
break
|
|
769
781
|
if flag_find1*flag_find2 == 1:
|
|
770
782
|
if sign > 0: #even
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
783
|
+
D3n_Z_even.append( self.nucZ[ind] )
|
|
784
|
+
D3n_N_even.append( self.nucN[ind] )
|
|
785
|
+
D3n_even.append( sign/2.0*( -2*self.nucBE[ind] + self.nucBE[ind1] + self.nucBE[ind2] ) )
|
|
774
786
|
else:
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
self.
|
|
779
|
-
self.
|
|
780
|
-
self.
|
|
781
|
-
self.
|
|
782
|
-
self.
|
|
783
|
-
self.
|
|
784
|
-
#
|
|
785
|
-
if nuda.env.verb: print("Exit
|
|
787
|
+
D3n_Z_odd.append( self.nucZ[ind] )
|
|
788
|
+
D3n_N_odd.append( self.nucN[ind] )
|
|
789
|
+
D3n_odd.append( sign/2.0*( -2*self.nucBE[ind] + self.nucBE[ind1] + self.nucBE[ind2] ) )
|
|
790
|
+
self.D3n_N_even = np.array( D3n_N_even, dtype = int )
|
|
791
|
+
self.D3n_N_odd = np.array( D3n_N_odd, dtype = int )
|
|
792
|
+
self.D3n_Z_even = np.array( D3n_Z_even, dtype = int )
|
|
793
|
+
self.D3n_Z_odd = np.array( D3n_Z_odd, dtype = int )
|
|
794
|
+
self.D3n_even = np.array( D3n_even, dtype = float )
|
|
795
|
+
self.D3n_odd = np.array( D3n_odd, dtype = float )
|
|
796
|
+
#
|
|
797
|
+
if nuda.env.verb: print("Exit D3n()")
|
|
786
798
|
#
|
|
787
799
|
return self
|
|
788
800
|
#
|
|
789
|
-
def
|
|
801
|
+
def D3p( self, Nmin = 1, Nmax = 95 ):
|
|
790
802
|
"""
|
|
791
|
-
Compute the three-points odd-even mass staggering (
|
|
792
|
-
|
|
803
|
+
Compute the three-points odd-even mass staggering (D3p)
|
|
804
|
+
D3Z = (-)**Z * ( 2*E(Z,N)-E(Z+1,N)-E(Z-1,N) ) / 2
|
|
793
805
|
"""
|
|
794
806
|
#
|
|
795
|
-
if nuda.env.verb: print("Enter
|
|
807
|
+
if nuda.env.verb: print("Enter D3p()")
|
|
796
808
|
#
|
|
797
809
|
if Nmin > Nmax:
|
|
798
|
-
print('In
|
|
799
|
-
print('Bad definition of Nmin and Nmax')
|
|
800
|
-
print('It is expected that Nmin<=Nmax')
|
|
801
|
-
print('Nmin,Nmax:',Nmin,Nmax)
|
|
802
|
-
print('exit')
|
|
810
|
+
print('setup_be_theo: In D3p attribute function of setup_be_exp.py:')
|
|
811
|
+
print('setup_be_theo: Bad definition of Nmin and Nmax')
|
|
812
|
+
print('setup_be_theo: It is expected that Nmin<=Nmax')
|
|
813
|
+
print('setup_be_theo: Nmin,Nmax:',Nmin,Nmax)
|
|
814
|
+
print('setup_be_theo: exit')
|
|
803
815
|
exit()
|
|
804
816
|
#
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
817
|
+
D3p_Z_even = []
|
|
818
|
+
D3p_Z_odd = []
|
|
819
|
+
D3p_N_even = []
|
|
820
|
+
D3p_N_odd = []
|
|
821
|
+
D3p_even = []
|
|
822
|
+
D3p_odd = []
|
|
811
823
|
#
|
|
812
824
|
for ind,N in enumerate(self.nucN):
|
|
813
825
|
#
|
|
@@ -839,21 +851,21 @@ class setupBETheo():
|
|
|
839
851
|
break
|
|
840
852
|
if flag_find1*flag_find2 == 1:
|
|
841
853
|
if sign > 0: #even
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
854
|
+
D3p_Z_even.append( self.nucZ[ind] )
|
|
855
|
+
D3p_N_even.append( self.nucN[ind] )
|
|
856
|
+
D3p_even.append( sign/2.0*( -2*self.nucBE[ind] + self.nucBE[ind1] + self.nucBE[ind2] ) )
|
|
845
857
|
else:
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
self.
|
|
850
|
-
self.
|
|
851
|
-
self.
|
|
852
|
-
self.
|
|
853
|
-
self.
|
|
854
|
-
self.
|
|
855
|
-
#
|
|
856
|
-
if nuda.env.verb: print("Exit
|
|
858
|
+
D3p_Z_odd.append( self.nucZ[ind] )
|
|
859
|
+
D3p_N_odd.append( self.nucN[ind] )
|
|
860
|
+
D3p_odd.append( sign/2.0*( -2*self.nucBE[ind] + self.nucBE[ind1] + self.nucBE[ind2] ) )
|
|
861
|
+
self.D3p_N_even = np.array( D3p_N_even, dtype = int )
|
|
862
|
+
self.D3p_N_odd = np.array( D3p_N_odd, dtype = int )
|
|
863
|
+
self.D3p_Z_even = np.array( D3p_Z_even, dtype = int )
|
|
864
|
+
self.D3p_Z_odd = np.array( D3p_Z_odd, dtype = int )
|
|
865
|
+
self.D3p_even = np.array( D3p_even, dtype = float )
|
|
866
|
+
self.D3p_odd = np.array( D3p_odd, dtype = float )
|
|
867
|
+
#
|
|
868
|
+
if nuda.env.verb: print("Exit D3p()")
|
|
857
869
|
#
|
|
858
870
|
return self
|
|
859
871
|
#
|
|
@@ -873,10 +885,10 @@ class setupBETheo():
|
|
|
873
885
|
if nuda.env.verb: print("Enter diff()")
|
|
874
886
|
#
|
|
875
887
|
if self.table == table:
|
|
876
|
-
print('we have self.table = table')
|
|
877
|
-
print('self.table:',self.table)
|
|
878
|
-
print('table:',table)
|
|
879
|
-
print('exit()')
|
|
888
|
+
print('setup_be_theo: we have self.table = table')
|
|
889
|
+
print('setup_be_theo: self.table:',self.table)
|
|
890
|
+
print('setup_be_theo: table:',table)
|
|
891
|
+
print('setup_be_theo: exit()')
|
|
880
892
|
exit()
|
|
881
893
|
#
|
|
882
894
|
# table_ref
|
|
@@ -968,10 +980,10 @@ class setupBETheo():
|
|
|
968
980
|
if nuda.env.verb: print("Enter diff()")
|
|
969
981
|
#
|
|
970
982
|
if self.table == table_exp:
|
|
971
|
-
print('we have self.table = table_exp')
|
|
972
|
-
print('self.table:',self.table)
|
|
973
|
-
print('table:',table_exp)
|
|
974
|
-
print('exit()')
|
|
983
|
+
print('setup_be_theo: we have self.table = table_exp')
|
|
984
|
+
print('setup_be_theo: self.table:',self.table)
|
|
985
|
+
print('setup_be_theo: table:',table_exp)
|
|
986
|
+
print('setup_be_theo: exit()')
|
|
975
987
|
exit()
|
|
976
988
|
#
|
|
977
989
|
# table_ref
|