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
nucleardatapy/__init__.py
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"""
|
|
2
|
-
This
|
|
2
|
+
This toolkit is a community-driven tool providing data for nuclear and astro-nuclear research community. It contains microscopic, phenomenological, experimental and observational data for the understanding of neutron stars.
|
|
3
|
+
To get some help, please contact: nucleardatapy@gmail.com.
|
|
3
4
|
"""
|
|
4
5
|
from nucleardatapy.cst import *
|
|
5
6
|
from nucleardatapy.env import *
|
|
6
7
|
from nucleardatapy.param import *
|
|
8
|
+
from nucleardatapy.hello import *
|
|
7
9
|
from nucleardatapy.create_folder import *
|
|
8
10
|
#
|
|
9
11
|
from nucleardatapy.matter import *
|
nucleardatapy/astro/setup_gw.py
CHANGED
|
@@ -95,7 +95,7 @@ class setupGW():
|
|
|
95
95
|
# fix `file_in` and some properties of the object
|
|
96
96
|
#
|
|
97
97
|
if source.lower()=='gw170817':
|
|
98
|
-
file_in = nuda.param.path_data+'astro/
|
|
98
|
+
file_in = nuda.param.path_data+'astro/GW/GW170817.dat'
|
|
99
99
|
if hyp==1:
|
|
100
100
|
#: Attribute providing the full reference to the paper to be citted.
|
|
101
101
|
self.ref='B.P. Abbott, R. Abbott, T.D. Abbott, et al., PRL 119, 161101 (2017)'
|
|
@@ -137,7 +137,7 @@ class setupGW():
|
|
|
137
137
|
self.note = "write here notes about this observation."
|
|
138
138
|
self.marker = 's'
|
|
139
139
|
elif source.lower()=='gw190425':
|
|
140
|
-
file_in = nuda.param.path_data+'astro/
|
|
140
|
+
file_in = nuda.param.path_data+'astro/GW/GW190425.dat'
|
|
141
141
|
if hyp==1:
|
|
142
142
|
#: Attribute providing the full reference to the paper to be citted.
|
|
143
143
|
self.ref='B.P. Abbott, R. Abbott, T.D. Abbott, S. Abraham, et al., ApJL 892, L3 (2020)'
|
|
@@ -165,12 +165,12 @@ class setupGW():
|
|
|
165
165
|
if int(ele[0]) == hyp:
|
|
166
166
|
self.mchirp = float(ele[1])
|
|
167
167
|
self.mchirp_sig_up = float(ele[2])
|
|
168
|
-
self.
|
|
169
|
-
self.
|
|
168
|
+
self.mchirp_sig_lo = float(ele[3])
|
|
169
|
+
self.q_lo = float(ele[4])
|
|
170
170
|
self.q_up = float(ele[5])
|
|
171
171
|
self.lam = float(ele[6])
|
|
172
172
|
self.lam_sig_up = float(ele[7])
|
|
173
|
-
self.
|
|
173
|
+
self.lam_sig_lo = float(ele[8])
|
|
174
174
|
self.latexCite = ele[9].replace('\n','').replace(' ','')
|
|
175
175
|
#
|
|
176
176
|
if nuda.env.verb: print("Exit setupGW()")
|
|
@@ -188,10 +188,10 @@ class setupGW():
|
|
|
188
188
|
print(" source: ",self.source)
|
|
189
189
|
print(" hyp: ",self.hyp)
|
|
190
190
|
print(" m_chirp: ",self.mchirp)
|
|
191
|
-
print(" sig(m_chirp): ",self.mchirp_sig_up,self.
|
|
192
|
-
print("
|
|
191
|
+
print(" sig(m_chirp): ",self.mchirp_sig_up,self.mchirp_sig_lo)
|
|
192
|
+
print(" q_lo, q_up: ",self.q_lo, self.q_up)
|
|
193
193
|
print(" lambda: ",self.lam)
|
|
194
|
-
print(" sig(lambda): ",self.lam_sig_up,self.
|
|
194
|
+
print(" sig(lambda): ",self.lam_sig_up,self.lam_sig_lo)
|
|
195
195
|
print(" latexCite: ",self.latexCite)
|
|
196
196
|
print(" ref: ",self.ref)
|
|
197
197
|
print(" label: ",self.label)
|
|
@@ -210,7 +210,7 @@ class setupGW():
|
|
|
210
210
|
if nuda.env.verb: print("Enter print_latex()")
|
|
211
211
|
#
|
|
212
212
|
if nuda.env.verb_latex:
|
|
213
|
-
print(rf"- table: {self.source} & {self.hyp} & ${self.mchirp:.4f}^{{{+self.mchirp_sig_up}}}_{{{-self.
|
|
213
|
+
print(rf"- table: {self.source} & {self.hyp} & ${self.mchirp:.4f}^{{{+self.mchirp_sig_up}}}_{{{-self.mchirp_sig_lo}}}$ & $[{self.q_lo}:{self.q_up}]$ & ${{{self.lam:.2f}}}^{{{+self.lam_sig_up}}}_{{{-self.lam_sig_lo}}}$ & \cite{{{self.latexCite}}} \\\\")
|
|
214
214
|
else:
|
|
215
215
|
print(rf"- No table for source {self.source}. To get table, write 'verb_table = True' in env.py.")
|
|
216
216
|
#
|
|
@@ -236,14 +236,14 @@ class setupGW():
|
|
|
236
236
|
#
|
|
237
237
|
self.mchirp = None
|
|
238
238
|
self.mchirp_sig_up = None
|
|
239
|
-
self.
|
|
240
|
-
self.
|
|
239
|
+
self.mchirp_sig_lo = None
|
|
240
|
+
self.q_lo = None
|
|
241
241
|
self.q_up = None
|
|
242
242
|
self.lam = None
|
|
243
243
|
#: Attribute the lower bound of the tidal deformability for the source.
|
|
244
244
|
self.lambda_sig_up = None
|
|
245
245
|
#: Attribute the upper bound of the tidal deformability for the source.
|
|
246
|
-
self.
|
|
246
|
+
self.lambda_sig_lo = None
|
|
247
247
|
#
|
|
248
248
|
if nuda.env.verb: print("Exit init_self()")
|
|
249
249
|
#
|
|
@@ -279,9 +279,9 @@ class setupGWAverage():
|
|
|
279
279
|
for hyp in hyps:
|
|
280
280
|
gw = nuda.astro.setupGW( source = source, hyp = hyp )
|
|
281
281
|
#gw.print_outputs( )
|
|
282
|
-
|
|
282
|
+
lamlo = gw.lam - 3*gw.lam_sig_lo
|
|
283
283
|
lamup = gw.lam + 3*gw.lam_sig_up
|
|
284
|
-
if
|
|
284
|
+
if lamlo < lammin: lammin = lamlo
|
|
285
285
|
if lamup > lammax: lammax = lamup
|
|
286
286
|
# construct the distribution of observations in ay
|
|
287
287
|
ax = np.linspace(lammin,lammax,300)
|
|
@@ -290,7 +290,7 @@ class setupGWAverage():
|
|
|
290
290
|
#print('hyp:',hyp)
|
|
291
291
|
gw = nuda.astro.setupGW( source = source, hyp = hyp )
|
|
292
292
|
#gw.print_outputs( )
|
|
293
|
-
ay += gauss(ax,gw.lam,gw.lam_sig_up,gw.
|
|
293
|
+
ay += gauss(ax,gw.lam,gw.lam_sig_up,gw.lam_sig_lo)
|
|
294
294
|
# determine the centroid and standard deviation from the distribution of obs.
|
|
295
295
|
nor = sum( ay )
|
|
296
296
|
cen = sum( ay*ax )
|
|
@@ -355,13 +355,13 @@ class setupGWAverage():
|
|
|
355
355
|
#
|
|
356
356
|
return self
|
|
357
357
|
|
|
358
|
-
def gauss( ax, lam, sig_up,
|
|
358
|
+
def gauss( ax, lam, sig_up, sig_lo ):
|
|
359
359
|
fac = math.sqrt( 2*math.pi )
|
|
360
360
|
gauss = []
|
|
361
361
|
for x in ax:
|
|
362
362
|
if x < lam:
|
|
363
|
-
z = ( x - lam ) /
|
|
364
|
-
norm =
|
|
363
|
+
z = ( x - lam ) / sig_lo
|
|
364
|
+
norm = sig_lo * fac
|
|
365
365
|
else:
|
|
366
366
|
z = ( x - lam ) / sig_up
|
|
367
367
|
norm = sig_up * fac
|
nucleardatapy/astro/setup_mr.py
CHANGED
|
@@ -39,7 +39,7 @@ def mr_obss( source ):
|
|
|
39
39
|
if source.lower()=='j0030+0451':
|
|
40
40
|
obss = [ 1, 2, 3, 4 ]
|
|
41
41
|
elif source.lower()=='j0740+6620':
|
|
42
|
-
obss = [ 1, 2 ]
|
|
42
|
+
obss = [ 1, 2, 3 ]
|
|
43
43
|
elif source.lower()=='j0437-4715':
|
|
44
44
|
obss = [ 1 ]
|
|
45
45
|
#
|
|
@@ -144,6 +144,14 @@ class setupMR():
|
|
|
144
144
|
#: Attribute providing additional notes about the observation.
|
|
145
145
|
self.note = "write notes about this observation."
|
|
146
146
|
self.marker = 's'
|
|
147
|
+
elif obs==3:
|
|
148
|
+
#: Attribute providing the full reference to the paper to be citted.
|
|
149
|
+
self.ref='T. Salmi, D. Choudhury, Y. Kini, T.E. Riley et al., ApJ 974, 294 (2024).'
|
|
150
|
+
#: Attribute providing the label the data is references for figures.
|
|
151
|
+
self.label = 'J0740 Salmi 2024'
|
|
152
|
+
#: Attribute providing additional notes about the observation.
|
|
153
|
+
self.note = "write notes about this observation."
|
|
154
|
+
self.marker = 's'
|
|
147
155
|
elif source.lower()=='j0437-4715':
|
|
148
156
|
file_in = nuda.param.path_data+'astro/NICER/J0437-4715.dat'
|
|
149
157
|
if obs==1:
|
nucleardatapy/astro/setup_mup.py
CHANGED
|
@@ -141,7 +141,7 @@ class setupMup():
|
|
|
141
141
|
#: Attribute the positive uncertainty.
|
|
142
142
|
self.sig_up = None
|
|
143
143
|
#: Attribute the negative uncertainty.
|
|
144
|
-
self.
|
|
144
|
+
self.sig_lo = None
|
|
145
145
|
#: Attribute latexCite.
|
|
146
146
|
self.latexCite = None
|
|
147
147
|
#
|
|
@@ -156,7 +156,7 @@ class setupMup():
|
|
|
156
156
|
if int(ele[0]) == hyp:
|
|
157
157
|
self.mup = float(ele[2])
|
|
158
158
|
self.sig_up = float(ele[3])
|
|
159
|
-
self.
|
|
159
|
+
self.sig_lo = float(ele[4])
|
|
160
160
|
self.latexCite = ele[5].replace('\n','').replace(' ','')
|
|
161
161
|
#
|
|
162
162
|
if nuda.env.verb: print("Exit setupMup()")
|
|
@@ -173,7 +173,7 @@ class setupMup():
|
|
|
173
173
|
print(" source: ",self.source)
|
|
174
174
|
print(" hyp:",self.hyp)
|
|
175
175
|
print(" mup:",self.mup)
|
|
176
|
-
print(" sigma(mup):",self.sig_up,self.
|
|
176
|
+
print(" sigma(mup):",self.sig_up,self.sig_lo)
|
|
177
177
|
print(" latexCite:",self.latexCite)
|
|
178
178
|
print(" ref: ",self.ref)
|
|
179
179
|
print(" label: ",self.label)
|
|
@@ -190,7 +190,7 @@ class setupMup():
|
|
|
190
190
|
if nuda.env.verb: print("Enter print_latex()")
|
|
191
191
|
#
|
|
192
192
|
if nuda.env.verb_latex:
|
|
193
|
-
print(rf"- table: {self.source} & {self.hyp} & ${self.mup:.2f}^{{{+self.sig_up}}}_{{{-self.
|
|
193
|
+
print(rf"- table: {self.source} & {self.hyp} & ${self.mup:.2f}^{{{+self.sig_up}}}_{{{-self.sig_lo}}}$ & \cite{{{self.latexCite}}} \\\\")
|
|
194
194
|
else:
|
|
195
195
|
print(rf"- No table for source {self.source}. To get table, write 'verb_latex = True' in env.py.")
|
|
196
196
|
#
|
|
@@ -228,9 +228,9 @@ class setupMupAverage():
|
|
|
228
228
|
for hyp in hyps:
|
|
229
229
|
mup = nuda.setupMup( source = source, hyp = hyp )
|
|
230
230
|
#mup.print_outputs( )
|
|
231
|
-
|
|
231
|
+
muplo = mup.mup - 3*mup.sig_lo
|
|
232
232
|
mupup = mup.mup + 3*mup.sig_up
|
|
233
|
-
if
|
|
233
|
+
if muplo < mupmin: mupmin = muplo
|
|
234
234
|
if mupup > mupmax: mupmax = mupup
|
|
235
235
|
# construct the distribution of observations in ay
|
|
236
236
|
ax = np.linspace(mupmin,mupmax,300)
|
|
@@ -240,7 +240,7 @@ class setupMupAverage():
|
|
|
240
240
|
#print('hyp:',hyp)
|
|
241
241
|
mup = nuda.setupMup( source = source, hyp = hyp )
|
|
242
242
|
#mup.print_outputs( )
|
|
243
|
-
ay += gauss(ax,mup.mup,mup.sig_up,mup.
|
|
243
|
+
ay += gauss(ax,mup.mup,mup.sig_up,mup.sig_lo)
|
|
244
244
|
# determine the centroid and standard deviation from the distribution of obs.
|
|
245
245
|
nor = sum( ay )
|
|
246
246
|
cen = sum( ay*ax )
|
|
@@ -288,13 +288,13 @@ class setupMupAverage():
|
|
|
288
288
|
if nuda.env.verb: print("Exit print_latex()")
|
|
289
289
|
#
|
|
290
290
|
|
|
291
|
-
def gauss( ax, mass, sig_up,
|
|
291
|
+
def gauss( ax, mass, sig_up, sig_lo ):
|
|
292
292
|
fac = math.sqrt( 2*math.pi )
|
|
293
293
|
gauss = []
|
|
294
294
|
for x in ax:
|
|
295
295
|
if x < mass:
|
|
296
|
-
z = ( x - mass ) /
|
|
297
|
-
norm =
|
|
296
|
+
z = ( x - mass ) / sig_lo
|
|
297
|
+
norm = sig_lo * fac
|
|
298
298
|
else:
|
|
299
299
|
z = ( x - mass ) / sig_up
|
|
300
300
|
norm = sig_up * fac
|
|
@@ -3,13 +3,8 @@ import sys
|
|
|
3
3
|
import numpy as np # 1.15.0
|
|
4
4
|
import random
|
|
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
|
|
|
11
|
-
#nsat = 0.16
|
|
12
|
-
|
|
13
8
|
class setupEsymDen():
|
|
14
9
|
"""
|
|
15
10
|
Instantiate the values of Esym and Lsym from the constraint.
|
|
@@ -12,17 +12,19 @@ def EsymLsym_constraints():
|
|
|
12
12
|
"""
|
|
13
13
|
Return a list of constraints available in this toolkit in the \
|
|
14
14
|
following list: '2009-HIC', '2010-RNP', '2012-FRDM', '2013-NS', \
|
|
15
|
-
'2014-IAS', '2014-IAS+RNP', '2015-POL-
|
|
16
|
-
'2015-POL-
|
|
17
|
-
'2021-PREXII-Reinhard', '2023-PREXII+CREX-Zhang'
|
|
18
|
-
|
|
15
|
+
'2014-IAS', '2014-IAS+RNP', '2015-POL-208Pb', '2015-POL-120Sn', \
|
|
16
|
+
'2015-POL-68Ni', '2017-UG', '2021-PREXII-Reed', \
|
|
17
|
+
'2021-PREXII-Reinhard', '2023-PREXII+CREX-Zhang', \
|
|
18
|
+
'2023-EDF-D4', '2023-EDF-D4-IAS', '2023-EDF-D4-IAS-Rnp'; \
|
|
19
|
+
and print them all on the prompt.
|
|
19
20
|
|
|
20
21
|
:return: The list of constraints.
|
|
21
22
|
:rtype: list[str].
|
|
22
23
|
"""
|
|
23
24
|
constraints = [ '2009-HIC', '2010-RNP', '2012-FRDM', '2013-NS', '2014-IAS', '2014-IAS+RNP', \
|
|
24
|
-
'2015-POL-
|
|
25
|
-
'2021-PREXII-Reed', '2021-PREXII-Reinhard', '2023-PREXII+CREX-Zhang'
|
|
25
|
+
'2015-POL-208Pb', '2015-POL-120Sn', '2015-POL-68Ni', '2017-UG', \
|
|
26
|
+
'2021-PREXII-Reed', '2021-PREXII-Reinhard', '2023-PREXII+CREX-Zhang',\
|
|
27
|
+
'2023-EDF-D4', '2023-EDF-D4-IAS', '2023-EDF-D4-IAS-Rnp' ]
|
|
26
28
|
#print('Constraints available in the toolkit:',constraints)
|
|
27
29
|
constraints_lower = [ item.lower() for item in constraints ]
|
|
28
30
|
return constraints, constraints_lower
|
|
@@ -47,9 +49,10 @@ class setupEsymLsym():
|
|
|
47
49
|
|
|
48
50
|
The name of the constraint to be chosen in the \
|
|
49
51
|
following list: '2009-HIC', '2010-RNP', '2012-FRDM', '2013-NS', \
|
|
50
|
-
'2014-IAS', '2014-IAS+RNP', '2015-POL-
|
|
51
|
-
'2015-POL-
|
|
52
|
-
'2021-PREXII-Reinhard', '2021-PREXII+CREX-Zhang'
|
|
52
|
+
'2014-IAS', '2014-IAS+RNP', '2015-POL-208Pb', '2015-POL-120Sn', \
|
|
53
|
+
'2015-POL-68Ni', '2017-UG', '2021-PREXII-Reed', \
|
|
54
|
+
'2021-PREXII-Reinhard', '2021-PREXII+CREX-Zhang',\
|
|
55
|
+
'2023-EDF-D4', '2023-EDF-D4-IAS', '2023-EDF-D4-IAS-Rnp'.
|
|
53
56
|
|
|
54
57
|
:param constraint: Fix the name of `constraint`. Default value: '2014-IAS'.
|
|
55
58
|
:type constraint: str, optional.
|
|
@@ -69,9 +72,9 @@ class setupEsymLsym():
|
|
|
69
72
|
constraints, constraints_lower = EsymLsym_constraints()
|
|
70
73
|
#
|
|
71
74
|
if constraint.lower() not in constraints_lower:
|
|
72
|
-
print('The constraint ',constraint,' is not in the list of constraints.')
|
|
73
|
-
print('list of constraints:',constraints)
|
|
74
|
-
print('-- Exit the code --')
|
|
75
|
+
print('setup_EsymLsym.py: The constraint ',constraint,' is not in the list of constraints.')
|
|
76
|
+
print('setup_EsymLsym.py: list of constraints:',constraints)
|
|
77
|
+
print('setup_EsymLsym.py: -- Exit the code --')
|
|
75
78
|
exit()
|
|
76
79
|
#
|
|
77
80
|
if constraint.lower() == '2009-hic':
|
|
@@ -372,7 +375,7 @@ class setupEsymLsym():
|
|
|
372
375
|
file_in = os.path.join(nuda.param.path_data,'corr/EsymLsym/2021-PREXII-Reed.dat')
|
|
373
376
|
if nuda.env.verb: print('Reads file:',file_in)
|
|
374
377
|
self.ref = 'Reed et al., PRL 126, 172503 (2021)'
|
|
375
|
-
self.label = 'PREXII-Reed'
|
|
378
|
+
self.label = 'PREXII-Reed-2021'
|
|
376
379
|
self.note = "."
|
|
377
380
|
self.Esym, self.Esym_err, self.Lsym, self.Lsym_err = \
|
|
378
381
|
np.loadtxt( file_in, usecols=(0,1,2,3), unpack = True )
|
|
@@ -385,7 +388,7 @@ class setupEsymLsym():
|
|
|
385
388
|
file_in = os.path.join(nuda.param.path_data,'corr/EsymLsym/2021-PREXII-Reinhard.dat')
|
|
386
389
|
if nuda.env.verb: print('Reads file:',file_in)
|
|
387
390
|
self.ref = 'Reinhard et al., PRL 127, 232501 (2021)'
|
|
388
|
-
self.label = 'PREXII-Reinhard'
|
|
391
|
+
self.label = 'PREXII-Reinhard-2021'
|
|
389
392
|
self.note = "."
|
|
390
393
|
self.Esym, self.Esym_err, self.Lsym, self.Lsym_err = \
|
|
391
394
|
np.loadtxt( file_in, usecols=(0,1,2,3), unpack = True )
|
|
@@ -398,7 +401,7 @@ class setupEsymLsym():
|
|
|
398
401
|
file_in = os.path.join(nuda.param.path_data,'corr/EsymLsym/2023-PREXII-Zhang.dat')
|
|
399
402
|
if nuda.env.verb: print('Reads file:',file_in)
|
|
400
403
|
self.ref = 'Z. Zhang, L.W. Chen, Phys. Rev. C 108, 024317 (2023).'
|
|
401
|
-
self.label = 'PREXII+CREX-Zhang'
|
|
404
|
+
self.label = 'PREXII+CREX-Zhang-2023'
|
|
402
405
|
self.note = "."
|
|
403
406
|
self.Esym, self.Esym_err, self.Lsym, self.Lsym_err = \
|
|
404
407
|
np.loadtxt( file_in, usecols=(0,1,2,3), unpack = True )
|
|
@@ -406,10 +409,40 @@ class setupEsymLsym():
|
|
|
406
409
|
self.Lsym_max = self.Lsym + self.Lsym_err
|
|
407
410
|
self.plot = 'point_err_xy'
|
|
408
411
|
#
|
|
412
|
+
elif constraint.lower() == '2023-edf-d4':
|
|
413
|
+
#
|
|
414
|
+
self.ref = 'B.V. Carlson, M. Dutra, O. Lourenco, K. Margueron, Phys. Rev. C 107, 0353805 (2022).'
|
|
415
|
+
self.label = 'EDF(D4)-2023'
|
|
416
|
+
self.note = "."
|
|
417
|
+
# D4:
|
|
418
|
+
self.Esym = [ 29.85, 31.97, 33.06, 37.26, 39.42, 38.58, 36.44, 30.97, 29.85 ]
|
|
419
|
+
self.Lsym = [ 50.3, 45.36, 55.45, 99.14, 126.6, 124.57, 115.71, 61.79, 50.3 ]
|
|
420
|
+
self.plot = 'contour'
|
|
421
|
+
#
|
|
422
|
+
elif constraint.lower() == '2023-edf-d4-ias':
|
|
423
|
+
#
|
|
424
|
+
self.ref = 'B.V. Carlson, M. Dutra, O. Lourenco, K. Margueron, Phys. Rev. C 107, 0353805 (2022).'
|
|
425
|
+
self.label = 'EDF(D4+IAS)-2023'
|
|
426
|
+
self.note = "."
|
|
427
|
+
# D4+IAS:
|
|
428
|
+
self.Esym = [ 29.85, 31.97, 33.06, 33.96, 34.54, 30.97, 29.85 ]
|
|
429
|
+
self.Lsym = [ 50.3, 45.36, 55.45, 71.55, 88.03, 61.79, 50.3 ]
|
|
430
|
+
self.plot = 'contour'
|
|
431
|
+
#
|
|
432
|
+
elif constraint.lower() == '2023-edf-d4-ias-rnp':
|
|
433
|
+
#
|
|
434
|
+
self.ref = 'B.V. Carlson, M. Dutra, O. Lourenco, K. Margueron, Phys. Rev. C 107, 0353805 (2022).'
|
|
435
|
+
self.label = 'EDF(D4+IAS+Rnp)-2023'
|
|
436
|
+
self.note = "."
|
|
437
|
+
# D4sym (D4+IAS+\Delta r_{np}):
|
|
438
|
+
self.Esym = [ 29.85, 32.01, 32.54, 32.74, 31.98, 30.97, 29.85 ]
|
|
439
|
+
self.Lsym = [ 50.3, 48.15, 61.52, 70.45, 67.44, 61.79, 50.3 ]
|
|
440
|
+
self.plot = 'contour'
|
|
441
|
+
#
|
|
409
442
|
else:
|
|
410
443
|
#
|
|
411
|
-
print('The variable constraint:',constraint)
|
|
412
|
-
print('does not fit with the options in the code')
|
|
444
|
+
print('setup_EsymLsym.py: The variable constraint:',constraint)
|
|
445
|
+
print('setup_EsymLsym.py: does not fit with the options in the code')
|
|
413
446
|
|
|
414
447
|
if nuda.env.verb: print("Exit setupEsymLsym()")
|
|
415
448
|
#
|