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
|
@@ -29,7 +29,7 @@ def micro_mbs():
|
|
|
29
29
|
#
|
|
30
30
|
if nuda.env.verb: print("\nEnter micro_mbs()")
|
|
31
31
|
#
|
|
32
|
-
mbs = [ 'VAR', 'AFDMC', '
|
|
32
|
+
mbs = [ 'VAR', 'AFDMC', 'BHF2', 'BHF23', 'QMC', 'MBPT', 'NLEFT' ]
|
|
33
33
|
mbs_lower = [ item.lower() for item in mbs ]
|
|
34
34
|
#
|
|
35
35
|
if nuda.env.verb: print("Exit micro_mbs()")
|
|
@@ -44,7 +44,7 @@ def micro_models_mb( mb ):
|
|
|
44
44
|
:param mb: The mb approach for which there are parametrizations. \
|
|
45
45
|
They should be chosen among the following options: 'VAR', 'AFDMC', 'BHF', 'QMC', 'MBPT', 'NLEFT'.
|
|
46
46
|
:type mb: str.
|
|
47
|
-
:return: The list of parametrizations.
|
|
47
|
+
:return: The list of parametrizations.
|
|
48
48
|
|
|
49
49
|
These models are the following ones: \
|
|
50
50
|
If `mb` == 'VAR': \
|
|
@@ -55,18 +55,19 @@ def micro_models_mb( mb ):
|
|
|
55
55
|
'2012-AFDMC-NM-FIT-1', '2012-AFDMC-NM-FIT-2', '2012-AFDMC-NM-FIT-3', '2012-AFDMC-NM-FIT-4', \
|
|
56
56
|
'2012-AFDMC-NM-FIT-5', '2012-AFDMC-NM-FIT-6', '2012-AFDMC-NM-FIT-7', \
|
|
57
57
|
'2022-AFDMC-NM',
|
|
58
|
-
If `mb` == '
|
|
59
|
-
'2006-BHF-AM', \
|
|
58
|
+
If `mb` == 'BHF2': \
|
|
60
59
|
'2024-BHF-AM-2BF-Av8p', '2024-BHF-AM-2BF-Av18', '2024-BHF-AM-2BF-BONN', '2024-BHF-AM-2BF-CDBONN', \
|
|
61
60
|
'2024-BHF-AM-2BF-NSC97a', '2024-BHF-AM-2BF-NSC97b', '2024-BHF-AM-2BF-NSC97c', '2024-BHF-AM-2BF-NSC97d', \
|
|
62
61
|
'2024-BHF-AM-2BF-NSC97e', '2024-BHF-AM-2BF-NSC97f', '2024-BHF-AM-2BF-SSCV14',\
|
|
62
|
+
If `mb` == 'BHF23': \
|
|
63
|
+
'2006-BHF-AM-Av18', \
|
|
63
64
|
'2024-BHF-AM-23BF-Av8p', '2024-BHF-AM-23BF-Av18', '2024-BHF-AM-23BF-BONN', '2024-BHF-AM-23BF-CDBONN', \
|
|
64
65
|
'2024-BHF-AM-23BF-NSC97a', '2024-BHF-AM-23BF-NSC97b', '2024-BHF-AM-23BF-NSC97c', '2024-BHF-AM-23BF-NSC97d', \
|
|
65
66
|
'2024-BHF-AM-23BF-NSC97e', '2024-BHF-AM-23BF-NSC97f', '2024-BHF-AM-23BF-SSCV14',\
|
|
66
67
|
'2024-BHF-AM-23BFmicro-Av18', '2024-BHF-AM-23BFmicro-BONNB', '2024-BHF-AM-23BFmicro-NSC93',\
|
|
67
68
|
If `mb` == 'QMC': \
|
|
68
69
|
'2008-QMC-NM-swave', '2010-QMC-NM-AV4', '2009-DLQMC-NM', \
|
|
69
|
-
'2013-QMC-NM', '2014-AFQMC-NM', '2016-QMC-NM',
|
|
70
|
+
'2013-QMC-NM', '2014-AFQMC-NM', '2016-QMC-NM', \
|
|
70
71
|
'2018-QMC-NM', '2024-QMC-NM', \
|
|
71
72
|
If `mb` == 'MBPT': \
|
|
72
73
|
'2010-MBPT-NM', '2020-MBPT-AM', '2019-MBPT-AM-L59', '2019-MBPT-AM-L69'
|
|
@@ -84,19 +85,27 @@ def micro_models_mb( mb ):
|
|
|
84
85
|
'2012-AFDMC-NM-RES-5', '2012-AFDMC-NM-RES-6', '2012-AFDMC-NM-RES-7', \
|
|
85
86
|
'2012-AFDMC-NM-FIT-1', '2012-AFDMC-NM-FIT-2', '2012-AFDMC-NM-FIT-3', '2012-AFDMC-NM-FIT-4', \
|
|
86
87
|
'2012-AFDMC-NM-FIT-5', '2012-AFDMC-NM-FIT-6', '2012-AFDMC-NM-FIT-7', '2022-AFDMC-NM' ]
|
|
87
|
-
elif mb.lower() == '
|
|
88
|
-
models = [ '
|
|
88
|
+
elif mb.lower() == 'bhf2':
|
|
89
|
+
models = [ '2024-BHF-AM-2BF-Av18', '2024-BHF-AM-2BF-BONN', '2024-BHF-AM-2BF-CDBONN', \
|
|
89
90
|
'2024-BHF-AM-2BF-NSC97a', '2024-BHF-AM-2BF-NSC97b', '2024-BHF-AM-2BF-NSC97c', '2024-BHF-AM-2BF-NSC97d', \
|
|
90
|
-
'2024-BHF-AM-2BF-NSC97e', '2024-BHF-AM-2BF-NSC97f'
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
91
|
+
'2024-BHF-AM-2BF-NSC97e', '2024-BHF-AM-2BF-NSC97f' ]
|
|
92
|
+
#models = [ '2024-BHF-AM-2BF-Av8p', '2024-BHF-AM-2BF-Av18', '2024-BHF-AM-2BF-BONN', '2024-BHF-AM-2BF-CDBONN', \
|
|
93
|
+
# '2024-BHF-AM-2BF-NSC97a', '2024-BHF-AM-2BF-NSC97b', '2024-BHF-AM-2BF-NSC97c', '2024-BHF-AM-2BF-NSC97d', \
|
|
94
|
+
# '2024-BHF-AM-2BF-NSC97e', '2024-BHF-AM-2BF-NSC97f', '2024-BHF-AM-2BF-SSCV14' ]
|
|
95
|
+
elif mb.lower() == 'bhf23':
|
|
96
|
+
models = [ '2006-BHF-AM-Av18', '2024-BHF-AM-23BF-Av18', '2024-BHF-AM-23BF-BONN', \
|
|
97
|
+
'2024-BHF-AM-23BF-CDBONN', '2024-BHF-AM-23BF-NSC97a', '2024-BHF-AM-23BF-NSC97b', '2024-BHF-AM-23BF-NSC97c', \
|
|
98
|
+
'2024-BHF-AM-23BF-NSC97d', '2024-BHF-AM-23BF-NSC97e', '2024-BHF-AM-23BF-NSC97f' ]
|
|
99
|
+
#models = [ '2006-BHF-AM-Av18', '2024-BHF-AM-23BF-Av8p', '2024-BHF-AM-23BF-Av18', '2024-BHF-AM-23BF-BONN', \
|
|
100
|
+
# '2024-BHF-AM-23BF-CDBONN', '2024-BHF-AM-23BF-NSC97a', '2024-BHF-AM-23BF-NSC97b', '2024-BHF-AM-23BF-NSC97c', \
|
|
101
|
+
# '2024-BHF-AM-23BF-NSC97d', '2024-BHF-AM-23BF-NSC97e', '2024-BHF-AM-23BF-NSC97f', '2024-BHF-AM-23BF-SSCV14' ]
|
|
94
102
|
elif mb.lower() == 'qmc':
|
|
95
103
|
models = [ '2008-QMC-NM-swave', '2010-QMC-NM-AV4', '2009-DLQMC-NM', \
|
|
96
|
-
'2013-QMC-NM', '2014-AFQMC-NM', '2016-QMC-NM',
|
|
104
|
+
'2013-QMC-NM', '2014-AFQMC-NM', '2016-QMC-NM', \
|
|
97
105
|
'2018-QMC-NM', '2024-QMC-NM' ]
|
|
98
106
|
elif mb.lower() == 'mbpt':
|
|
99
|
-
models = [ '
|
|
107
|
+
models = [ '2016-MBPT-AM', '2019-MBPT-AM-L59', '2019-MBPT-AM-L69', '2020-MBPT-AM' ]
|
|
108
|
+
# '2010-MBPT-NM' is removed because they do not provide e2a, only pressure
|
|
100
109
|
elif mb.lower() == 'nleft':
|
|
101
110
|
models = [ '2024-NLEFT-AM' ]
|
|
102
111
|
#
|
|
@@ -178,7 +187,7 @@ def micro_models_old():
|
|
|
178
187
|
'2013-QMC-NM', '2014-AFQMC-NM', '2016-QMC-NM', '2016-MBPT-AM', \
|
|
179
188
|
'2018-QMC-NM', '2019-MBPT-AM-L59', '2019-MBPT-AM-L69', \
|
|
180
189
|
'2020-MBPT-AM', '2022-AFDMC-NM', '2024-NLEFT-AM', \
|
|
181
|
-
'2006-BHF-AM', \
|
|
190
|
+
'2006-BHF-AM-Av18', \
|
|
182
191
|
'2024-BHF-AM-2BF-Av8p', '2024-BHF-AM-2BF-Av18', '2024-BHF-AM-2BF-BONN', '2024-BHF-AM-2BF-CDBONN', \
|
|
183
192
|
'2024-BHF-AM-2BF-NSC97a', '2024-BHF-AM-2BF-NSC97b', '2024-BHF-AM-2BF-NSC97c', '2024-BHF-AM-2BF-NSC97d', \
|
|
184
193
|
'2024-BHF-AM-2BF-NSC97e', '2024-BHF-AM-2BF-NSC97f', '2024-BHF-AM-2BF-SSCV14',\
|
|
@@ -200,22 +209,21 @@ def micro_models_mb_matter( mb, matter ):
|
|
|
200
209
|
#
|
|
201
210
|
if nuda.env.verb: print("\nEnter micro_models_mb_matter()")
|
|
202
211
|
#
|
|
203
|
-
print('For mb (in
|
|
212
|
+
print('For mb (in '+matter+'):',mb)
|
|
204
213
|
#
|
|
205
|
-
models, models_lower =
|
|
214
|
+
models, models_lower = micro_models_mb( mb )
|
|
206
215
|
#
|
|
207
216
|
models2 = []
|
|
208
217
|
for j,model in enumerate(models):
|
|
209
|
-
if
|
|
218
|
+
if matter.upper() in model or 'AM' in model:
|
|
210
219
|
models2.append( model )
|
|
211
|
-
#print(' models:',model)
|
|
212
220
|
#
|
|
213
221
|
print('models2:',models2)
|
|
214
222
|
models2_lower = [ item.lower() for item in models2 ]
|
|
215
223
|
#
|
|
216
224
|
return models2, models2_lower
|
|
217
225
|
|
|
218
|
-
def
|
|
226
|
+
def micro_models_mb_SM_old( mb ):
|
|
219
227
|
"""
|
|
220
228
|
"""
|
|
221
229
|
#
|
|
@@ -236,7 +244,7 @@ def micro_models_mb_SM( mb ):
|
|
|
236
244
|
#
|
|
237
245
|
return models2, models2_lower
|
|
238
246
|
|
|
239
|
-
def
|
|
247
|
+
def micro_models_mb_NM_old( mb ):
|
|
240
248
|
"""
|
|
241
249
|
"""
|
|
242
250
|
#
|
|
@@ -387,6 +395,10 @@ class setupMicro():
|
|
|
387
395
|
print('setup_micro: -- Exit the code --')
|
|
388
396
|
exit()
|
|
389
397
|
#
|
|
398
|
+
# ==============================
|
|
399
|
+
# Read files associated to model
|
|
400
|
+
# ==============================
|
|
401
|
+
#
|
|
390
402
|
if model.lower() == '1981-var-am-fp':
|
|
391
403
|
#
|
|
392
404
|
self.flag_nm = True
|
|
@@ -403,7 +415,9 @@ class setupMicro():
|
|
|
403
415
|
self.label = 'FP-1981'
|
|
404
416
|
self.marker = 'o'
|
|
405
417
|
self.every = 1
|
|
406
|
-
|
|
418
|
+
self.e_err = False
|
|
419
|
+
self.p_err = False
|
|
420
|
+
self.linestyle = 'solid'
|
|
407
421
|
self.nm_den, self.nm_e2a = np.loadtxt( file_in1, usecols=(0,1), unpack = True )
|
|
408
422
|
self.sm_den, self.sm_e2a = np.loadtxt( file_in2, usecols=(0,1), unpack = True )
|
|
409
423
|
self.nm_e2v = self.nm_e2a * self.nm_den
|
|
@@ -431,7 +445,9 @@ class setupMicro():
|
|
|
431
445
|
self.label = 'APR-1998'
|
|
432
446
|
self.marker = '^'
|
|
433
447
|
self.every = 1
|
|
434
|
-
|
|
448
|
+
self.e_err = False
|
|
449
|
+
self.p_err = False
|
|
450
|
+
self.linestyle = 'solid'
|
|
435
451
|
self.nm_den, self.nm_e2a = np.loadtxt( file_in1, usecols=(0,1), unpack = True )
|
|
436
452
|
self.sm_den, self.sm_e2a = np.loadtxt( file_in2, usecols=(0,1), unpack = True )
|
|
437
453
|
self.nm_e2v = self.nm_e2a * self.nm_den
|
|
@@ -453,14 +469,19 @@ class setupMicro():
|
|
|
453
469
|
self.ref = 'Akmal, Pandharipande and Ravenhall, Phys. Rev. C 58, 1804 (1998)'
|
|
454
470
|
self.note = "Use interpolation functions suggested in APR paper."
|
|
455
471
|
self.label = 'APR-1998-Fit'
|
|
456
|
-
self.marker =
|
|
472
|
+
self.marker = '.'
|
|
457
473
|
self.every = 1
|
|
458
|
-
self.
|
|
474
|
+
self.e_err = False
|
|
475
|
+
self.p_err = False
|
|
476
|
+
self.linestyle = 'dashed'
|
|
459
477
|
# Define constants for APRfit and for A18+dv+UIX*
|
|
460
478
|
global p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21
|
|
461
479
|
( p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, p16, p17, p18, p19, p20, p21 ) = \
|
|
462
480
|
( 337.2, -382.0, 89.8, 0.457, -59.0, -19.1, 214.6, -384.0, 6.4, 69.0, -33.0, 0.35, 0.0, 0.0, 287.0, -1.54, 175.0, -1.45, 0.32, 0.195, 0.0 )
|
|
463
481
|
#
|
|
482
|
+
# density
|
|
483
|
+
#self.nm_den = self.den
|
|
484
|
+
#self.sm_den = self.den
|
|
464
485
|
# energy per unit volume
|
|
465
486
|
self.e2v = APRfit_compute( self.den, self.xpr )
|
|
466
487
|
# energy per particle
|
|
@@ -479,24 +500,25 @@ class setupMicro():
|
|
|
479
500
|
cs_pre = CubicSpline( self.den, self.pre )
|
|
480
501
|
self.cs2 = cs_pre( self.den, 1 ) / self.h2a
|
|
481
502
|
#
|
|
482
|
-
elif model.lower() == '2006-bhf-am':
|
|
503
|
+
elif model.lower() == '2006-bhf-am-av18':
|
|
483
504
|
#
|
|
484
505
|
self.flag_nm = True
|
|
485
506
|
self.flag_sm = True
|
|
486
507
|
self.flag_kf = False
|
|
487
508
|
self.flag_den = False
|
|
488
509
|
#
|
|
489
|
-
file_in1 = os.path.join(nuda.param.path_data,'matter/micro/2006-BHF/2006-BHF-E2A-NM.dat')
|
|
490
|
-
file_in2 = os.path.join(nuda.param.path_data,'matter/micro/2006-BHF/2006-BHF-E2A-SM.dat')
|
|
510
|
+
file_in1 = os.path.join(nuda.param.path_data,'matter/micro/2006-BHF/2006-BHF-Av18-E2A-NM.dat')
|
|
511
|
+
file_in2 = os.path.join(nuda.param.path_data,'matter/micro/2006-BHF/2006-BHF-Av18-E2A-SM.dat')
|
|
491
512
|
if nuda.env.verb: print('Reads file:',file_in1)
|
|
492
513
|
if nuda.env.verb: print('Reads file:',file_in2)
|
|
493
514
|
self.ref = 'L.G. Cao, U. Lombardo, C.W. Shen, N.V. Giai, Phys. Rev. C 73, 014313 (2006)'
|
|
494
515
|
self.note = ""
|
|
495
|
-
self.label = 'BHF-2006'
|
|
516
|
+
self.label = 'BHF-2006-23BF-Av18'
|
|
496
517
|
self.marker = 'o'
|
|
497
518
|
self.every = 1
|
|
498
|
-
|
|
499
|
-
self.
|
|
519
|
+
self.linestyle = 'solid'
|
|
520
|
+
self.e_err = False
|
|
521
|
+
self.p_err = False
|
|
500
522
|
#
|
|
501
523
|
self.nm_den, self.nm_e2a \
|
|
502
524
|
= np.loadtxt( file_in1, usecols=(0,1), unpack = True )
|
|
@@ -526,8 +548,9 @@ class setupMicro():
|
|
|
526
548
|
self.label = 'QMC-swave-2008'
|
|
527
549
|
self.marker = 'o'
|
|
528
550
|
self.every = 1
|
|
529
|
-
|
|
530
|
-
self.
|
|
551
|
+
self.linestyle = 'solid'
|
|
552
|
+
self.e_err = True
|
|
553
|
+
self.p_err = False
|
|
531
554
|
self.nm_kfn, gap2ef, gap2ef_err, e2effg, e2effg_err \
|
|
532
555
|
= np.loadtxt( file_in, usecols=(0,1,2,3,4), unpack = True )
|
|
533
556
|
self.nm_den = nuda.den_n( self.nm_kfn )
|
|
@@ -550,8 +573,9 @@ class setupMicro():
|
|
|
550
573
|
self.label = 'AFDMC-2009'
|
|
551
574
|
self.marker = 'o'
|
|
552
575
|
self.every = 1
|
|
553
|
-
|
|
554
|
-
self.
|
|
576
|
+
self.linestyle = 'solid'
|
|
577
|
+
self.e_err = True
|
|
578
|
+
self.p_err = False
|
|
555
579
|
self.nm_kfn, self.nm_e2a, self.nm_e2a_err \
|
|
556
580
|
= np.loadtxt( file_in, usecols=(0,1,2), unpack = True )
|
|
557
581
|
self.nm_den = nuda.den_n( self.nm_kfn )
|
|
@@ -573,8 +597,9 @@ class setupMicro():
|
|
|
573
597
|
self.label = 'dLQMC-2009'
|
|
574
598
|
self.marker = 'v'
|
|
575
599
|
self.every = 1
|
|
576
|
-
|
|
577
|
-
self.
|
|
600
|
+
self.linestyle = 'solid'
|
|
601
|
+
self.e_err = True
|
|
602
|
+
self.p_err = False
|
|
578
603
|
self.nm_kfn, gap2ef, gap2ef_err, e2effg, e2effg_err \
|
|
579
604
|
= np.loadtxt( file_in, usecols=(0,1,2,3,4), unpack = True )
|
|
580
605
|
self.nm_den = nuda.den_n( self.nm_kfn )
|
|
@@ -597,8 +622,9 @@ class setupMicro():
|
|
|
597
622
|
self.label = 'QMC-AV4-2008'
|
|
598
623
|
self.marker = 's'
|
|
599
624
|
self.every = 1
|
|
600
|
-
|
|
601
|
-
self.
|
|
625
|
+
self.e_err = True
|
|
626
|
+
self.p_err = False
|
|
627
|
+
self.linestyle = 'solid'
|
|
602
628
|
self.nm_kfn, gap2ef, gap2ef_err, e2effg, e2effg_err \
|
|
603
629
|
= np.loadtxt( file_in, usecols=(0,1,2,3,4), unpack = True )
|
|
604
630
|
self.nm_den = nuda.den_n( self.nm_kfn )
|
|
@@ -621,7 +647,9 @@ class setupMicro():
|
|
|
621
647
|
self.label = 'MBPT-2010'
|
|
622
648
|
self.marker = 's'
|
|
623
649
|
self.every = 1
|
|
624
|
-
|
|
650
|
+
self.e_err = False
|
|
651
|
+
self.p_err = False
|
|
652
|
+
self.linestyle = 'solid'
|
|
625
653
|
self.nm_den, self.nm_pre = np.loadtxt( file_in, usecols=(0,1), unpack = True )
|
|
626
654
|
self.nm_kfn = nuda.kf_n( self.nm_den )
|
|
627
655
|
#self.nm_pre_err = np.abs( 0.01 * self.nm_pre )
|
|
@@ -647,8 +675,13 @@ class setupMicro():
|
|
|
647
675
|
self.note = "We do not have the data for this model, but we have a fit of the data."
|
|
648
676
|
self.label = 'AFDMC-2012-'+str(k)
|
|
649
677
|
self.marker = 's'
|
|
650
|
-
self.every =
|
|
651
|
-
self.
|
|
678
|
+
self.every = 3
|
|
679
|
+
if k==1: self.every = 4
|
|
680
|
+
if k==7: self.every = 4
|
|
681
|
+
self.e_err = True
|
|
682
|
+
self.p_err = False
|
|
683
|
+
self.linestyle = 'solid'
|
|
684
|
+
#self.linestyle = 'None'
|
|
652
685
|
if k in [ 1, 7 ]:
|
|
653
686
|
self.nm_den, ETOT, ETOT_ERR = np.loadtxt( file_in, usecols=(0,1,2), unpack = True )
|
|
654
687
|
elif k in [ 2, 3, 4, 5, 6 ]:
|
|
@@ -682,7 +715,9 @@ class setupMicro():
|
|
|
682
715
|
self.label = 'AFDMC-2012-'+str(k)+'-FIT'
|
|
683
716
|
self.marker = 's'
|
|
684
717
|
self.every = 1
|
|
685
|
-
self.
|
|
718
|
+
self.e_err = True
|
|
719
|
+
self.p_err = False
|
|
720
|
+
self.linestyle = 'dashed'
|
|
686
721
|
ind, a, alfa, b, beta = np.loadtxt( file_in, usecols=(0,1,2,3,4), unpack = True )
|
|
687
722
|
#name = np.loadtxt( file_in, usecols=(5), unpack = True )
|
|
688
723
|
nmodel = np.size(alfa)
|
|
@@ -733,8 +768,9 @@ class setupMicro():
|
|
|
733
768
|
self.label = 'QMC-2013'
|
|
734
769
|
self.marker = 's'
|
|
735
770
|
self.every = 1
|
|
736
|
-
|
|
737
|
-
self.
|
|
771
|
+
self.linestyle = 'solid'
|
|
772
|
+
self.e_err = True
|
|
773
|
+
self.p_err = False
|
|
738
774
|
self.nm_den, self.nm_e2a_low, self.nm_e2a_up, self.nm_pre_low, self.nm_pre_up \
|
|
739
775
|
= np.loadtxt( file_in, usecols=(0,1,2,3,4), unpack = True )
|
|
740
776
|
self.nm_kfn = nuda.kf_n( self.nm_den )
|
|
@@ -772,7 +808,9 @@ class setupMicro():
|
|
|
772
808
|
self.label = 'AFQMC-2014'
|
|
773
809
|
self.marker = 's'
|
|
774
810
|
self.every = 1
|
|
775
|
-
|
|
811
|
+
self.e_err = False
|
|
812
|
+
self.p_err = False
|
|
813
|
+
self.linestyle = 'solid'
|
|
776
814
|
self.nm_den, self.nm_e2a_2bf, self.nm_e2a_23bf \
|
|
777
815
|
= np.loadtxt( file_in, usecols=(0,1,2), unpack = True )
|
|
778
816
|
self.nm_kfn = nuda.kf_n( self.nm_den )
|
|
@@ -795,8 +833,9 @@ class setupMicro():
|
|
|
795
833
|
self.note = ""
|
|
796
834
|
self.label = 'QMC-2016'
|
|
797
835
|
self.marker = 's'
|
|
798
|
-
|
|
799
|
-
self.
|
|
836
|
+
self.linestyle = 'solid'
|
|
837
|
+
self.e_err = True
|
|
838
|
+
self.p_err = False
|
|
800
839
|
self.every = 1
|
|
801
840
|
self.nm_den, self.nm_e2a_low, self.nm_e2a_up \
|
|
802
841
|
= np.loadtxt( file_in, usecols=(0,1,2), unpack = True )
|
|
@@ -817,8 +856,9 @@ class setupMicro():
|
|
|
817
856
|
self.note = ""
|
|
818
857
|
self.label = 'MBPT-2016'
|
|
819
858
|
self.marker = 's'
|
|
820
|
-
|
|
821
|
-
self.
|
|
859
|
+
self.linestyle = 'solid'
|
|
860
|
+
self.e_err = True
|
|
861
|
+
self.p_err = False
|
|
822
862
|
self.every = 4
|
|
823
863
|
# read the results for the 7 hamiltonians
|
|
824
864
|
length = np.zeros( (11), dtype=int )
|
|
@@ -893,8 +933,9 @@ class setupMicro():
|
|
|
893
933
|
self.label = 'QMC-2018'
|
|
894
934
|
self.marker = 's'
|
|
895
935
|
self.every = 2
|
|
896
|
-
|
|
897
|
-
self.
|
|
936
|
+
self.linestyle = 'solid'
|
|
937
|
+
self.e_err = True
|
|
938
|
+
self.p_err = False
|
|
898
939
|
self.nm_den, self.nm_e2a_low, self.nm_e2a_up, self.nm_e2a, self.nm_e2a_err \
|
|
899
940
|
= np.loadtxt( file_in, usecols=(0,1,2,3,4), unpack = True )
|
|
900
941
|
self.nm_kfn = nuda.kf_n( self.nm_den )
|
|
@@ -911,8 +952,8 @@ class setupMicro():
|
|
|
911
952
|
# here, the L59 case is compute alone, it would be interesting to compute the uncertainty
|
|
912
953
|
# in the previous MBPT calculation (based on H1-H7) adding this new calculation.
|
|
913
954
|
#
|
|
914
|
-
file_in1 = os.path.join(nuda.param.path_data,'matter/micro/
|
|
915
|
-
file_in2 = os.path.join(nuda.param.path_data,'matter/micro/
|
|
955
|
+
file_in1 = os.path.join(nuda.param.path_data,'matter/micro/2019-MBPT-SM-DHSL59.dat')
|
|
956
|
+
file_in2 = os.path.join(nuda.param.path_data,'matter/micro/2019-MBPT-NM-DHSL59.dat')
|
|
916
957
|
if nuda.env.verb: print('Reads file1:',file_in1)
|
|
917
958
|
if nuda.env.verb: print('Reads file2:',file_in2)
|
|
918
959
|
self.ref = 'C. Drischler, K. Hebeler, A. Schwenk, Phys. Rev. Lett. 122, 042501 (2019)'
|
|
@@ -920,7 +961,9 @@ class setupMicro():
|
|
|
920
961
|
self.label = 'MBPT-2019-L59'
|
|
921
962
|
self.marker = 's'
|
|
922
963
|
self.every = 2
|
|
923
|
-
|
|
964
|
+
self.e_err = False
|
|
965
|
+
self.p_err = False
|
|
966
|
+
self.linestyle = 'solid'
|
|
924
967
|
self.sm_kfn, self.sm_den, Kin, HF_tot, Scnd_tot, Trd_tot, Fth_tot, self.sm_e2a \
|
|
925
968
|
= np.loadtxt( file_in1, usecols = (0, 1, 2, 3, 4, 5, 6, 7), comments='#', unpack = True)
|
|
926
969
|
self.sm_e2a_err = np.abs( uncertainty_stat(self.sm_den,err='MBPT') * self.sm_e2a )
|
|
@@ -941,8 +984,8 @@ class setupMicro():
|
|
|
941
984
|
#
|
|
942
985
|
# same remarck as for L59
|
|
943
986
|
#
|
|
944
|
-
file_in1 = os.path.join(nuda.param.path_data,'matter/micro/
|
|
945
|
-
file_in2 = os.path.join(nuda.param.path_data,'matter/micro/
|
|
987
|
+
file_in1 = os.path.join(nuda.param.path_data,'matter/micro/2019-MBPT-SM-DHSL69.dat')
|
|
988
|
+
file_in2 = os.path.join(nuda.param.path_data,'matter/micro/2019-MBPT-NM-DHSL69.dat')
|
|
946
989
|
if nuda.env.verb: print('Reads file1:',file_in1)
|
|
947
990
|
if nuda.env.verb: print('Reads file2:',file_in2)
|
|
948
991
|
self.ref = 'C. Drischler, K. Hebeler, A. Schwenk, Phys. Rev. Lett. 122, 042501 (2019)'
|
|
@@ -950,7 +993,9 @@ class setupMicro():
|
|
|
950
993
|
self.label = 'MBPT-2019-L69'
|
|
951
994
|
self.marker = 's'
|
|
952
995
|
self.every = 2
|
|
953
|
-
|
|
996
|
+
self.e_err = False
|
|
997
|
+
self.p_err = False
|
|
998
|
+
self.linestyle = 'solid'
|
|
954
999
|
self.sm_kfn, self.sm_den, Kin, HF_tot, Scnd_tot, Trd_tot, Fth_tot, self.sm_e2a \
|
|
955
1000
|
= np.loadtxt( file_in1, usecols = (0, 1, 2, 3, 4, 5, 6, 7), comments='#', unpack = True)
|
|
956
1001
|
self.sm_e2a_err = np.abs( uncertainty_stat(self.sm_den,err='MBPT') * self.sm_e2a )
|
|
@@ -969,17 +1014,18 @@ class setupMicro():
|
|
|
969
1014
|
self.flag_kf = False
|
|
970
1015
|
self.flag_den = True
|
|
971
1016
|
#
|
|
972
|
-
file_in1 = os.path.join(nuda.param.path_data,'matter/micro/
|
|
973
|
-
file_in2 = os.path.join(nuda.param.path_data,'matter/micro/
|
|
1017
|
+
file_in1 = os.path.join(nuda.param.path_data,'matter/micro/2020-MBPT-SM.csv')
|
|
1018
|
+
file_in2 = os.path.join(nuda.param.path_data,'matter/micro/2020-MBPT-NM.csv')
|
|
974
1019
|
if nuda.env.verb: print('Reads file1:',file_in1)
|
|
975
1020
|
if nuda.env.verb: print('Reads file2:',file_in2)
|
|
976
1021
|
self.ref = 'C. Drischler, R.J. Furnstahl, J.A. Melendez, D.R. Phillips, Phys. Rev. Lett. 125(20), 202702 (2020).; C. Drischler, J. A. Melendez, R. J. Furnstahl, and D. R. Phillips, Phys. Rev. C 102, 054315'
|
|
977
1022
|
self.note = ""
|
|
978
1023
|
self.label = 'MBPT-2020'
|
|
979
|
-
self.marker = '
|
|
980
|
-
|
|
1024
|
+
self.marker = 'o'
|
|
1025
|
+
self.linestyle = 'solid'
|
|
981
1026
|
self.every = 6
|
|
982
|
-
self.
|
|
1027
|
+
self.e_err = True
|
|
1028
|
+
self.p_err = False
|
|
983
1029
|
self.sm_den, self.sm_e2a_lo, self.sm_e2a_lo_err, self.sm_e2a_nlo, self.sm_e2a_nlo_err, \
|
|
984
1030
|
self.sm_e2a_n2lo, self.sm_e2a_n2lo_err, self.sm_e2a_n3lo, self.sm_e2a_n3lo_err \
|
|
985
1031
|
= np.loadtxt( file_in1, usecols = (0, 1, 2, 3, 4, 5, 6, 7, 8), delimiter=',', comments='#', unpack = True)
|
|
@@ -1011,9 +1057,10 @@ class setupMicro():
|
|
|
1011
1057
|
self.label = 'AFDMC+corr.-2022'
|
|
1012
1058
|
self.linestyle = 'solid'
|
|
1013
1059
|
self.marker = 'o'
|
|
1014
|
-
|
|
1060
|
+
self.linestyle = 'solid'
|
|
1015
1061
|
self.every = 1
|
|
1016
|
-
self.
|
|
1062
|
+
self.e_err = True
|
|
1063
|
+
self.p_err = False
|
|
1017
1064
|
# read e2a
|
|
1018
1065
|
self.nm_kfn, e2effg, e2effg_err = np.loadtxt( file_in, usecols=(0,1,2), delimiter=',', comments='#', unpack = True )
|
|
1019
1066
|
self.nm_den = nuda.den_n( self.nm_kfn )
|
|
@@ -1041,9 +1088,10 @@ class setupMicro():
|
|
|
1041
1088
|
self.note = ""
|
|
1042
1089
|
self.label = 'NLEFT-2024'
|
|
1043
1090
|
self.marker = 's'
|
|
1044
|
-
|
|
1091
|
+
self.linestyle = 'solid'
|
|
1045
1092
|
self.every = 2
|
|
1046
|
-
self.
|
|
1093
|
+
self.e_err = True
|
|
1094
|
+
self.p_err = False
|
|
1047
1095
|
#
|
|
1048
1096
|
# Read SM results
|
|
1049
1097
|
#
|
|
@@ -1302,10 +1350,11 @@ class setupMicro():
|
|
|
1302
1350
|
if nuda.env.verb: print('Reads file:',file_in2)
|
|
1303
1351
|
self.ref = 'I. Vida\\~na, J. Margueron, H.J. Schulze, Universe 10, 5 (2024).'
|
|
1304
1352
|
self.note = ""
|
|
1305
|
-
self.marker = '
|
|
1306
|
-
|
|
1353
|
+
self.marker = 'o'
|
|
1354
|
+
self.linestyle = 'solid'
|
|
1307
1355
|
self.every = 2
|
|
1308
|
-
self.
|
|
1356
|
+
self.e_err = False
|
|
1357
|
+
self.p_err = False
|
|
1309
1358
|
#
|
|
1310
1359
|
self.sm_den, self.sm_vS0T0, self.sm_vS0T1, self.sm_vS1T0, self.sm_vS1T1, self.sm_vtot, self.sm_kin, self.sm_etot \
|
|
1311
1360
|
= np.loadtxt( file_in1, usecols = (0, 1, 2, 3, 4, 5, 6, 7), comments='#', unpack = True)
|
|
@@ -1340,8 +1389,9 @@ class setupMicro():
|
|
|
1340
1389
|
self.label = 'QMC-2024'
|
|
1341
1390
|
self.marker = 's'
|
|
1342
1391
|
self.every = 1
|
|
1343
|
-
|
|
1344
|
-
self.
|
|
1392
|
+
self.linestyle = 'solid'
|
|
1393
|
+
self.e_err = True
|
|
1394
|
+
self.p_err = False
|
|
1345
1395
|
self.nm_den, self.nm_e2a, self.nm_e2a_err_stat, self.nm_e2a_err_ekm, self.nm_e2a_err_gp \
|
|
1346
1396
|
= np.loadtxt( file_in, usecols=(0,1,2,3,4), unpack = True )
|
|
1347
1397
|
self.nm_kfn = nuda.kf_n( self.nm_den )
|
|
@@ -1349,16 +1399,26 @@ class setupMicro():
|
|
|
1349
1399
|
self.nm_e2v = self.nm_e2a * self.nm_den
|
|
1350
1400
|
self.nm_e2v_err = self.nm_e2a_err * self.nm_den
|
|
1351
1401
|
#
|
|
1402
|
+
# ==============================
|
|
1403
|
+
# END OF
|
|
1404
|
+
# Read files associated to model
|
|
1405
|
+
# ==============================
|
|
1406
|
+
#
|
|
1407
|
+
#
|
|
1408
|
+
# ==============================
|
|
1409
|
+
# Compute thermodynamic quantities
|
|
1410
|
+
# ==============================
|
|
1411
|
+
#
|
|
1352
1412
|
if self.flag_nm:
|
|
1353
1413
|
if self.flag_kf:
|
|
1354
1414
|
# pressure in NM
|
|
1355
1415
|
x = np.insert( self.nm_kfn, 0, 0.0 )
|
|
1356
1416
|
y = np.insert( self.nm_e2a, 0, 0.0 )
|
|
1357
1417
|
cs_nm_e2a = CubicSpline( x, y )
|
|
1358
|
-
self.nm_pre = np.array( nuda.cst.
|
|
1418
|
+
self.nm_pre = np.array( nuda.cst.third * self.nm_kfn * self.nm_den * cs_nm_e2a( self.nm_kfn, 1 ) )
|
|
1359
1419
|
y_err = np.insert( self.nm_e2a_err, 0, 0.0 )
|
|
1360
1420
|
cs_nm_e2a_err = CubicSpline( x, y_err )
|
|
1361
|
-
self.nm_pre_err = nuda.cst.
|
|
1421
|
+
self.nm_pre_err = nuda.cst.third * self.nm_kfn * self.nm_den * cs_nm_e2a_err( self.nm_kfn, 1 )
|
|
1362
1422
|
# chemical potential
|
|
1363
1423
|
self.nm_chempot = ( np.array(self.nm_pre) + np.array(self.nm_e2v) ) / np.array(self.nm_den)
|
|
1364
1424
|
self.nm_chempot_err = ( np.array(self.nm_pre_err) + np.array(self.nm_e2v_err) ) / np.array(self.nm_den)
|
|
@@ -1376,10 +1436,10 @@ class setupMicro():
|
|
|
1376
1436
|
x = np.insert( self.nm_den, 0, 0.0 )
|
|
1377
1437
|
y = np.insert( self.nm_e2a, 0, 0.0 )
|
|
1378
1438
|
cs_nm_e2a = CubicSpline( x, y )
|
|
1379
|
-
self.nm_pre = np.array( cs_nm_e2a( self.nm_den, 1 ) )
|
|
1439
|
+
self.nm_pre = np.array( self.nm_den**2 * cs_nm_e2a( self.nm_den, 1 ) )
|
|
1380
1440
|
y_err = np.insert( self.nm_e2a_err, 0, 0.0 )
|
|
1381
1441
|
cs_nm_e2a_err = CubicSpline( x, y_err )
|
|
1382
|
-
self.nm_pre_err = cs_nm_e2a_err( self.nm_den, 1 )
|
|
1442
|
+
self.nm_pre_err = self.nm_den**2 * cs_nm_e2a_err( self.nm_den, 1 )
|
|
1383
1443
|
#
|
|
1384
1444
|
# chemical potential
|
|
1385
1445
|
self.nm_chempot = ( np.array(self.nm_pre) + np.array(self.nm_e2v) ) / np.array(self.nm_den)
|
|
@@ -1400,10 +1460,10 @@ class setupMicro():
|
|
|
1400
1460
|
x = np.insert( self.sm_kfn, 0, 0.0 )
|
|
1401
1461
|
y = np.insert( self.sm_e2a, 0, 0.0 )
|
|
1402
1462
|
cs_sm_e2a = CubicSpline( x, y )
|
|
1403
|
-
self.sm_pre = np.array( nuda.cst.
|
|
1463
|
+
self.sm_pre = np.array( nuda.cst.third * self.sm_kfn * self.sm_den * cs_sm_e2a( self.sm_kfn, 1 ) )
|
|
1404
1464
|
y_err = np.insert( self.sm_e2a_err, 0, 0.0 )
|
|
1405
1465
|
cs_sm_e2a_err = CubicSpline( x, y_err )
|
|
1406
|
-
self.sm_pre_err = nuda.cst.
|
|
1466
|
+
self.sm_pre_err = nuda.cst.third * self.sm_kfn * self.sm_den * cs_sm_e2a_err( self.sm_kfn, 1 )
|
|
1407
1467
|
#
|
|
1408
1468
|
# chemical potential
|
|
1409
1469
|
self.sm_chempot = ( np.array(self.sm_pre) + np.array(self.sm_e2v) ) / np.array(self.sm_den)
|
|
@@ -1423,10 +1483,10 @@ class setupMicro():
|
|
|
1423
1483
|
x = np.insert( self.sm_den, 0, 0.0 )
|
|
1424
1484
|
y = np.insert( self.sm_e2a, 0, 0.0 )
|
|
1425
1485
|
cs_sm_e2a = CubicSpline( x, y )
|
|
1426
|
-
self.sm_pre = np.array( cs_sm_e2a( self.sm_den, 1 ) )
|
|
1486
|
+
self.sm_pre = np.array( self.sm_den**2 * cs_sm_e2a( self.sm_den, 1 ) )
|
|
1427
1487
|
y_err = np.insert( self.sm_e2a_err, 0, 0.0 )
|
|
1428
1488
|
cs_sm_e2a_err = CubicSpline( x, y_err )
|
|
1429
|
-
self.sm_pre_err = cs_sm_e2a_err( self.sm_den, 1 )
|
|
1489
|
+
self.sm_pre_err = self.sm_den**2 * cs_sm_e2a_err( self.sm_den, 1 )
|
|
1430
1490
|
#
|
|
1431
1491
|
# chemical potential
|
|
1432
1492
|
self.sm_chempot = ( np.array(self.sm_pre) + np.array(self.sm_e2v) ) / np.array(self.sm_den)
|
|
@@ -1442,6 +1502,11 @@ class setupMicro():
|
|
|
1442
1502
|
sm_cs2 = cs_sm_pre( self.sm_den, 1) / self.sm_h2a
|
|
1443
1503
|
#
|
|
1444
1504
|
#
|
|
1505
|
+
# ==============================
|
|
1506
|
+
# END OF
|
|
1507
|
+
# Compute thermodynamic quantities
|
|
1508
|
+
# ==============================
|
|
1509
|
+
#
|
|
1445
1510
|
self.den_unit = 'fm$^{-3}$'
|
|
1446
1511
|
self.kf_unit = 'fm$^{-1}$'
|
|
1447
1512
|
self.e2a_unit = 'MeV'
|
|
@@ -55,10 +55,13 @@ class setupMicroBand():
|
|
|
55
55
|
#
|
|
56
56
|
if matter.lower() == 'nm':
|
|
57
57
|
print('\nBand in NM')
|
|
58
|
+
xfac = 1.2
|
|
58
59
|
elif matter.lower() == 'sm':
|
|
59
60
|
print('\nBand in SM')
|
|
61
|
+
xfac = 1.8
|
|
60
62
|
elif matter.lower() == 'esym':
|
|
61
63
|
print('\nBand for Esym')
|
|
64
|
+
xfac = 1.4
|
|
62
65
|
#
|
|
63
66
|
self = setupMicroBand.init_self( self )
|
|
64
67
|
#
|
|
@@ -112,6 +115,7 @@ class setupMicroBand():
|
|
|
112
115
|
den_min_tmp = []; den_max_tmp = [];
|
|
113
116
|
for model in models:
|
|
114
117
|
mic = nuda.matter.setupMicro( model = model )
|
|
118
|
+
#?? esym = nuda.matter.setupMicroEsym( model = model )
|
|
115
119
|
if matter.lower() == 'nm':
|
|
116
120
|
nm_den_min = min( mic.nm_den )
|
|
117
121
|
nm_den_max = max( mic.nm_den )
|
|
@@ -166,6 +170,7 @@ class setupMicroBand():
|
|
|
166
170
|
if nuda.env.verb: print('model:',model)
|
|
167
171
|
# Load the results from model
|
|
168
172
|
mic = nuda.matter.setupMicro( model = model )
|
|
173
|
+
#?? esym = nuda.matter.setupMicroEsym( model = model )
|
|
169
174
|
# Prepare spline for E/A and E/A_err
|
|
170
175
|
if matter.lower() == 'nm':
|
|
171
176
|
cs_e2a = CubicSpline( mic.nm_den, mic.nm_e2a )
|
|
@@ -193,7 +198,7 @@ class setupMicroBand():
|
|
|
193
198
|
self.e2a.append( np.mean(mat[k,:]*e2a)/np.mean(mat[k,:]) )
|
|
194
199
|
self.e2a_std.append( np.mean(mat[k,:]*e2a**2)/np.mean(mat[k,:]) )
|
|
195
200
|
self.e2a = np.array(self.e2a, dtype=float )
|
|
196
|
-
self.e2a_std = np.sqrt( np.array(self.e2a_std, dtype=float ) - self.e2a**2 )
|
|
201
|
+
self.e2a_std = xfac * np.sqrt( np.array(self.e2a_std, dtype=float ) - self.e2a**2 )
|
|
197
202
|
#
|
|
198
203
|
if nuda.env.verb: print("Exit setupMicroBand()")
|
|
199
204
|
#
|
|
@@ -8,6 +8,15 @@ import random
|
|
|
8
8
|
|
|
9
9
|
import nucleardatapy as nuda
|
|
10
10
|
|
|
11
|
+
def effmass_emp( den , delta, mb = 'BHF' ):
|
|
12
|
+
if mb == 'BHF':
|
|
13
|
+
kfsat = 1.32
|
|
14
|
+
kfn = nuda.kf_n( nuda.cst.half * ( 1.0 + delta ) * den )
|
|
15
|
+
kfp = nuda.kf_n( nuda.cst.half * ( 1.0 - delta ) * den )
|
|
16
|
+
ms_n = 1.0 / ( 1.0 + 0.20 * (kfp/kfsat)**3.5 )
|
|
17
|
+
ms_p = 1.0 / ( 1.0 + 0.20 * (kfn/kfsat)**3.5 )
|
|
18
|
+
return ms_n, ms_p
|
|
19
|
+
|
|
11
20
|
def micro_effmass_models( matter = 'NM' ):
|
|
12
21
|
"""
|
|
13
22
|
Return a list with the name of the models available in this toolkit and \
|
|
@@ -24,7 +33,7 @@ def micro_effmass_models( matter = 'NM' ):
|
|
|
24
33
|
#
|
|
25
34
|
if nuda.env.verb: print("\nEnter micro_effmass_models()")
|
|
26
35
|
# '2008-AFDMC-NM',
|
|
27
|
-
models_all = [ '2008-BCS-NM', \
|
|
36
|
+
models_all = [ '2006-BHF-SM-Av18', '2006-BHF-AM-Av18', '2008-BCS-NM', \
|
|
28
37
|
'2017-MBPT-NM-GAP-EMG-450-500-N2LO', '2017-MBPT-NM-GAP-EMG-450-500-N3LO', '2017-MBPT-NM-GAP-EMG-450-700-N2LO', \
|
|
29
38
|
'2017-MBPT-NM-GAP-EMG-450-700-N3LO', '2017-MBPT-NM-GAP-EM-500-N2LO', '2017-MBPT-NM-GAP-EM-500-N3LO', \
|
|
30
39
|
'2022-AFDMC-NM' ]
|
|
@@ -85,7 +94,51 @@ class setupMicroEffmass():
|
|
|
85
94
|
print('setup_micro_effmass: -- Exit the code --')
|
|
86
95
|
exit()
|
|
87
96
|
#
|
|
88
|
-
if model.lower() == '
|
|
97
|
+
if model.lower() == '2006-bhf-sm-av18':
|
|
98
|
+
#
|
|
99
|
+
file_in = os.path.join(nuda.param.path_data,'matter/micro/2006-BHF/2006-BHF-Av18-effmass-SM.dat')
|
|
100
|
+
if nuda.env.verb: print('Reads file:',file_in)
|
|
101
|
+
self.ref = 'L.G. Cao, U. Lombardo, C.W. Shen, N.V. Giai, Phys. Rev. C 73, 014313 (2006)'
|
|
102
|
+
self.note = ""
|
|
103
|
+
self.label = 'BHF-2006'
|
|
104
|
+
self.marker = 'o'
|
|
105
|
+
self.every = 1
|
|
106
|
+
#self.linestyle = 'dotted'
|
|
107
|
+
self.err = False
|
|
108
|
+
self.nm_effmass_err = None
|
|
109
|
+
self.sm_den, self.sm_effmass \
|
|
110
|
+
= np.loadtxt( file_in, usecols=(0,1), unpack = True )
|
|
111
|
+
self.sm_kfn = nuda.kf_n( nuda.cst.half * self.sm_den )
|
|
112
|
+
#
|
|
113
|
+
elif model.lower() == '2006-bhf-am-av18':
|
|
114
|
+
#
|
|
115
|
+
file_in_00 = os.path.join(nuda.param.path_data,'matter/micro/2006-BHF/2006-BHF-Av18-effmass-SM.dat')
|
|
116
|
+
file_in_02 = os.path.join(nuda.param.path_data,'matter/micro/2006-BHF/2006-BHF-Av18-effmass-beta0.2.dat')
|
|
117
|
+
file_in_04 = os.path.join(nuda.param.path_data,'matter/micro/2006-BHF/2006-BHF-Av18-effmass-beta0.4.dat')
|
|
118
|
+
self.ref = 'L.G. Cao, U. Lombardo, C.W. Shen, N.V. Giai, Phys. Rev. C 73, 014313 (2006)'
|
|
119
|
+
self.note = ""
|
|
120
|
+
self.label = 'BHF-2006'
|
|
121
|
+
self.marker = 'o'
|
|
122
|
+
self.every = 1
|
|
123
|
+
#self.linestyle = 'dotted'
|
|
124
|
+
self.err = False
|
|
125
|
+
self.nm_effmass_err = None
|
|
126
|
+
self.sm_den, self.sm_effmass_p \
|
|
127
|
+
= np.loadtxt( file_in_00, usecols=(0,1), unpack = True )
|
|
128
|
+
self.sm_effmass_n = self.sm_effmass_p
|
|
129
|
+
self.sm_kfn = nuda.kf_n( nuda.cst.half * ( 1.0 + 0.0 ) * self.sm_den )
|
|
130
|
+
#
|
|
131
|
+
# asymmetric matter with delta = 0.2
|
|
132
|
+
self.am02_den, self.am02_effmass_p, self.am02_effmass_n \
|
|
133
|
+
= np.loadtxt( file_in_02, usecols=(0,1,2), unpack = True )
|
|
134
|
+
self.am02_kfn = nuda.kf_n( nuda.cst.half * ( 1.0 + 0.2 ) * self.am02_den )
|
|
135
|
+
#
|
|
136
|
+
# asymmetric matter with delta = 0.4
|
|
137
|
+
self.am04_den, self.am04_effmass_p, self.am04_effmass_n \
|
|
138
|
+
= np.loadtxt( file_in_04, usecols=(0,1,2), unpack = True )
|
|
139
|
+
self.am04_kfn = nuda.kf_n( nuda.cst.half * ( 1.0 + 0.4 ) * self.am04_den )
|
|
140
|
+
#
|
|
141
|
+
elif model.lower() == '2008-bcs-nm':
|
|
89
142
|
#
|
|
90
143
|
file_in = os.path.join(nuda.param.path_data,'matter/micro/2008-BCS-NM.dat')
|
|
91
144
|
if nuda.env.verb: print('Reads file:',file_in)
|