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.
Files changed (88) hide show
  1. nucleardatapy/crust/setup_crust.py +46 -1
  2. nucleardatapy/data/crust/2018-PCPFDDG-BSK22.dat +83 -0
  3. nucleardatapy/data/crust/2018-PCPFDDG-BSK24.dat +74 -0
  4. nucleardatapy/data/crust/2018-PCPFDDG-BSK25.dat +130 -0
  5. nucleardatapy/data/crust/2018-PCPFDDG-BSK26.dat +81 -0
  6. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-effmass-SM.dat +11 -0
  7. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-effmass-beta0.2.dat +11 -0
  8. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-effmass-beta0.4.dat +11 -0
  9. nucleardatapy/data/nuclei/masses/Theory/2023-BSkG3.txt +0 -4
  10. nucleardatapy/data/nuclei/masses/Theory/2025-BSkG4.txt +0 -1
  11. nucleardatapy/eos/setup_am.py +43 -31
  12. nucleardatapy/eos/setup_am_Beq.py +18 -12
  13. nucleardatapy/eos/setup_am_Leq.py +53 -47
  14. nucleardatapy/fig/__init__.py +15 -2
  15. nucleardatapy/fig/crust_setupCrust_fig.py +3 -3
  16. nucleardatapy/fig/eos_setupAMBeq_fig.py +866 -49
  17. nucleardatapy/fig/eos_setupAMLeq_fig.py +185 -53
  18. nucleardatapy/fig/eos_setupAM_e_asy_lep_fig.py +125 -0
  19. nucleardatapy/fig/eos_setupAM_e_asy_nuc_fig.py +115 -0
  20. nucleardatapy/fig/eos_setupAM_e_asy_tot_fig.py +117 -0
  21. nucleardatapy/fig/eos_setupAM_e_fig.py +173 -0
  22. nucleardatapy/fig/hnuc_setupRE1LExp_fig.py +1 -1
  23. nucleardatapy/fig/matter_ENM_fig.py +50 -41
  24. nucleardatapy/fig/matter_ESM_fig.py +60 -39
  25. nucleardatapy/fig/matter_Esym_fig.py +48 -36
  26. nucleardatapy/fig/matter_cs2_fig.py +83 -0
  27. nucleardatapy/fig/matter_preNM_fig.py +146 -0
  28. nucleardatapy/fig/matter_preSM_fig.py +144 -0
  29. nucleardatapy/fig/matter_setupFFGNuc_fig.py +2 -1
  30. nucleardatapy/fig/matter_setupMicroEsym_fig.py +50 -19
  31. nucleardatapy/fig/matter_setupMicro_band_fig.py +1 -0
  32. nucleardatapy/fig/matter_setupMicro_effmass_fig.py +59 -4
  33. nucleardatapy/fig/matter_setupMicro_fig.py +81 -79
  34. nucleardatapy/fig/matter_setupPhenoEsym_fig.py +28 -26
  35. nucleardatapy/fig/matter_setupPheno_fig.py +34 -24
  36. nucleardatapy/fig/nuc_setupBEExp_chart_fig.py +275 -0
  37. nucleardatapy/fig/nuc_setupBEExp_fig.py +225 -70
  38. nucleardatapy/fig/nuc_setupBETheo_fig.py +316 -0
  39. nucleardatapy/fig/nuc_setupISGMRExp_fig.py +59 -0
  40. nucleardatapy/fig/nuc_setupRchExp_fig.py +139 -0
  41. nucleardatapy/fig/nuc_setupRchTheo_fig.py +142 -0
  42. nucleardatapy/fig/nuc_setupRnpExp_fig.py +120 -0
  43. nucleardatapy/fig/nuc_setupRnpTheo_fig.py +134 -0
  44. nucleardatapy/hnuc/__init__.py +3 -3
  45. nucleardatapy/matter/__init__.py +1 -0
  46. nucleardatapy/matter/setup_check.py +97 -0
  47. nucleardatapy/matter/setup_ffg.py +15 -8
  48. nucleardatapy/matter/setup_micro.py +144 -79
  49. nucleardatapy/matter/setup_micro_band.py +6 -1
  50. nucleardatapy/matter/setup_micro_effmass.py +55 -2
  51. nucleardatapy/matter/setup_micro_esym.py +37 -30
  52. nucleardatapy/matter/setup_micro_gap.py +3 -3
  53. nucleardatapy/matter/setup_micro_lp.py +18 -17
  54. nucleardatapy/matter/setup_pheno.py +2 -2
  55. nucleardatapy/matter/setup_pheno_esym.py +13 -13
  56. nucleardatapy/nuc/__init__.py +2 -2
  57. nucleardatapy/nuc/setup_be_exp.py +90 -90
  58. nucleardatapy/nuc/setup_be_theo.py +112 -100
  59. nucleardatapy/nuc/setup_rch_exp.py +49 -6
  60. nucleardatapy/nuc/setup_rch_theo.py +72 -3
  61. nucleardatapy/nuc/{setup_nskin_exp.py → setup_rnp_exp.py} +58 -65
  62. nucleardatapy/nuc/{setup_nskin_theo.py → setup_rnp_theo.py} +34 -39
  63. nucleardatapy-0.2.1.dist-info/METADATA +521 -0
  64. {nucleardatapy-0.2.0.dist-info → nucleardatapy-0.2.1.dist-info}/RECORD +86 -65
  65. {nucleardatapy-0.2.0.dist-info → nucleardatapy-0.2.1.dist-info}/WHEEL +1 -1
  66. nucleardatapy/fig/eos_setupAM_fig.py +0 -81
  67. nucleardatapy-0.2.0.dist-info/METADATA +0 -115
  68. /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-E2A-AM.dat → 2006-BHF-Av18-E2A-AM.dat} +0 -0
  69. /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-E2A-NM.dat → 2006-BHF-Av18-E2A-NM.dat} +0 -0
  70. /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-E2A-SM.dat → 2006-BHF-Av18-E2A-SM.dat} +0 -0
  71. /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-Esym2-SM.dat → 2006-BHF-Av18-Esym2-SM.dat} +0 -0
  72. /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-NM-FreeSpectrum.dat → 2006-BHF-Av18-GAP-NM-FreeSpectrum.dat} +0 -0
  73. /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-NM-SelfEnergy.dat → 2006-BHF-Av18-GAP-NM-SelfEnergy.dat} +0 -0
  74. /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-SM-FreeSpectrum.dat → 2006-BHF-Av18-GAP-SM-FreeSpectrum.dat} +0 -0
  75. /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-SM-SelfEnergy.dat → 2006-BHF-Av18-GAP-SM-SelfEnergy.dat} +0 -0
  76. /nucleardatapy/data/matter/micro/{2020-MBPT-NM-DHSL59.dat → 2019-MBPT-NM-DHSL59.dat} +0 -0
  77. /nucleardatapy/data/matter/micro/{2020-MBPT-NM-DHSL69.dat → 2019-MBPT-NM-DHSL69.dat} +0 -0
  78. /nucleardatapy/data/matter/micro/{2020-MBPT-SM-DHSL59.dat → 2019-MBPT-SM-DHSL59.dat} +0 -0
  79. /nucleardatapy/data/matter/micro/{2020-MBPT-SM-DHSL69.dat → 2019-MBPT-SM-DHSL69.dat} +0 -0
  80. /nucleardatapy/data/matter/micro/{2023-MBPT-NM.csv → 2020-MBPT-NM.csv} +0 -0
  81. /nucleardatapy/data/matter/micro/{2023-MBPT-SM.csv → 2020-MBPT-SM.csv} +0 -0
  82. /nucleardatapy/data/nuclei/{nskin → rnp}/208Pb.dat +0 -0
  83. /nucleardatapy/data/nuclei/{nskin → rnp}/48Ca.dat +0 -0
  84. /nucleardatapy/hnuc/{setup_be1L_exp.py → setup_re1L_exp.py} +0 -0
  85. /nucleardatapy/hnuc/{setup_be1Xi_exp.py → setup_re1Xi_exp.py} +0 -0
  86. /nucleardatapy/hnuc/{setup_be2L_exp.py → setup_re2L_exp.py} +0 -0
  87. {nucleardatapy-0.2.0.dist-info → nucleardatapy-0.2.1.dist-info/licenses}/LICENSE +0 -0
  88. {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', 'BHF', 'QMC', 'MBPT', 'NLEFT' ]
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` == 'BHF': \
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', '2016-MBPT-AM', \
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() == 'bhf':
88
- models = [ '2006-BHF-AM', '2024-BHF-AM-2BF-Av8p', '2024-BHF-AM-2BF-Av18', '2024-BHF-AM-2BF-BONN', '2024-BHF-AM-2BF-CDBONN', \
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', '2024-BHF-AM-2BF-SSCV14',\
91
- '2024-BHF-AM-23BF-Av8p', '2024-BHF-AM-23BF-Av18', '2024-BHF-AM-23BF-BONN', '2024-BHF-AM-23BF-CDBONN', \
92
- '2024-BHF-AM-23BF-NSC97a', '2024-BHF-AM-23BF-NSC97b', '2024-BHF-AM-23BF-NSC97c', '2024-BHF-AM-23BF-NSC97d', \
93
- '2024-BHF-AM-23BF-NSC97e', '2024-BHF-AM-23BF-NSC97f', '2024-BHF-AM-23BF-SSCV14' ]
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', '2016-MBPT-AM', \
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 = [ '2010-MBPT-NM', '2016-MBPT-AM', '2019-MBPT-AM-L59', '2019-MBPT-AM-L69', '2020-MBPT-AM' ]
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 SM):',mb)
212
+ print('For mb (in '+matter+'):',mb)
204
213
  #
205
- models, models_lower = micro_models()
214
+ models, models_lower = micro_models_mb( mb )
206
215
  #
207
216
  models2 = []
208
217
  for j,model in enumerate(models):
209
- if mb in model and '2BF' not in model and ( matter.upper() in model or 'AM' in model ):
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 micro_models_mb_SM( mb ):
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 micro_models_mb_NM( mb ):
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
- #self.linestyle = 'dashed'
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
- #self.linestyle = 'dashed'
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 = None
472
+ self.marker = '.'
457
473
  self.every = 1
458
- self.linestyle = 'solid'
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
- #self.linestyle = 'solid'
499
- self.err = True
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
- #self.linestyle = 'solid'
530
- self.err = True
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
- #self.linestyle = 'solid'
554
- self.err = True
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
- #self.linestyle = 'solid'
577
- self.err = True
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
- #self.linestyle = 'solid'
601
- self.err = True
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
- #self.linestyle = 'solid'
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 = 1
651
- self.linestyle = 'None'
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.linestyle = 'solid'
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
- #self.linestyle = 'solid'
737
- self.err = True
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
- #self.linestyle = 'solid'
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
- #self.linestyle = 'solid'
799
- self.err = True
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
- #self.linestyle = 'solid'
821
- self.err = True
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
- #self.linestyle = 'solid'
897
- self.err = True
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/2020-MBPT-SM-DHSL59.dat')
915
- file_in2 = os.path.join(nuda.param.path_data,'matter/micro/2020-MBPT-NM-DHSL59.dat')
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
- #self.linestyle = 'solid'
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/2020-MBPT-SM-DHSL69.dat')
945
- file_in2 = os.path.join(nuda.param.path_data,'matter/micro/2020-MBPT-NM-DHSL69.dat')
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
- #self.linestyle = 'solid'
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/2023-MBPT-SM.csv')
973
- file_in2 = os.path.join(nuda.param.path_data,'matter/micro/2023-MBPT-NM.csv')
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 = 's'
980
- #self.linestyle = 'solid'
1024
+ self.marker = 'o'
1025
+ self.linestyle = 'solid'
981
1026
  self.every = 6
982
- self.err = True
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
- #self.linestyle = 'solid'
1060
+ self.linestyle = 'solid'
1015
1061
  self.every = 1
1016
- self.err = True
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
- #self.linestyle = 'solid'
1091
+ self.linestyle = 'solid'
1045
1092
  self.every = 2
1046
- self.err = True
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 = 's'
1306
- #self.linestyle = 'solid'
1353
+ self.marker = 'o'
1354
+ self.linestyle = 'solid'
1307
1355
  self.every = 2
1308
- self.err = False
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
- #self.linestyle = 'solid'
1344
- self.err = True
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.three * self.nm_kfn * self.nm_den * cs_nm_e2a( self.nm_kfn, 1 ) )
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.three * self.nm_kfn * self.nm_den * cs_nm_e2a_err( self.nm_kfn, 1 )
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.three * self.sm_kfn * self.sm_den * cs_sm_e2a( self.sm_kfn, 1 ) )
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.three * self.sm_kfn * self.sm_den * cs_sm_e2a_err( self.sm_kfn, 1 )
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() == '2008-bcs-nm':
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)