nucleardatapy 0.2.0__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.
Files changed (165) hide show
  1. nucleardatapy/__init__.py +3 -1
  2. nucleardatapy/astro/setup_gw.py +18 -18
  3. nucleardatapy/astro/setup_mr.py +9 -1
  4. nucleardatapy/astro/setup_mup.py +10 -10
  5. nucleardatapy/corr/setup_EsymDen.py +0 -5
  6. nucleardatapy/corr/setup_EsymLsym.py +50 -17
  7. nucleardatapy/corr/setup_KsatQsat.py +170 -69
  8. nucleardatapy/crust/setup_crust.py +403 -120
  9. nucleardatapy/data/astro/NICER/J0740+6620.dat +1 -0
  10. nucleardatapy/data/crust/2018-PCPFDDG-BSK22.dat +83 -0
  11. nucleardatapy/data/crust/2018-PCPFDDG-BSK24.dat +74 -0
  12. nucleardatapy/data/crust/2018-PCPFDDG-BSK25.dat +130 -0
  13. nucleardatapy/data/crust/2018-PCPFDDG-BSK26.dat +81 -0
  14. nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-E2A-NM.dat → 2006-BHF-Av18-E2A-NM.dat} +8 -8
  15. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-effmass-SM.dat +11 -0
  16. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-effmass-beta0.2.dat +11 -0
  17. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-effmass-beta0.4.dat +11 -0
  18. nucleardatapy/data/matter/nep/NEPESkyrme.dat +2 -3
  19. nucleardatapy/data/matter/nep/NEPGSkyrme.dat +7 -0
  20. nucleardatapy/data/matter/nep/NEPSkyrme.dat +4 -2
  21. nucleardatapy/data/matter/nep/NEPxEFT.dat +8 -0
  22. nucleardatapy/data/matter/nep/best67DDSkyrme.dat +28 -0
  23. nucleardatapy/data/matter/nep/best90DDSkyrme.dat +46 -0
  24. nucleardatapy/data/matter/nep/best95DDSkyrme.dat +54 -0
  25. nucleardatapy/data/matter/pheno/ESkyrme/BSk31-NM.dat +996 -996
  26. nucleardatapy/data/matter/pheno/ESkyrme/BSk31-SM.dat +991 -991
  27. nucleardatapy/data/matter/pheno/ESkyrme/BSkG4-NM.dat +1002 -0
  28. nucleardatapy/data/matter/pheno/ESkyrme/BSkG4-SM.dat +1002 -0
  29. nucleardatapy/data/matter/pheno/Skyrme/BSkG1-NM.dat +102 -0
  30. nucleardatapy/data/matter/pheno/Skyrme/BSkG1-SM.dat +102 -0
  31. nucleardatapy/data/matter/pheno/Skyrme/BSkG2-NM.dat +102 -0
  32. nucleardatapy/data/matter/pheno/Skyrme/BSkG2-SM.dat +102 -0
  33. nucleardatapy/data/nuclei/masses/Theory/2023-BSkG3.txt +0 -4
  34. nucleardatapy/data/nuclei/masses/Theory/2025-BSkG4.txt +0 -1
  35. nucleardatapy/env.py +1 -1
  36. nucleardatapy/eos/__init__.py +4 -3
  37. nucleardatapy/eos/setupCC.py +429 -0
  38. nucleardatapy/eos/setup_am.py +71 -34
  39. nucleardatapy/eos/setup_am_Beq.py +48 -17
  40. nucleardatapy/eos/setup_am_Leq.py +81 -50
  41. nucleardatapy/fig/__init__.py +29 -7
  42. nucleardatapy/fig/astro_setupGW_fig.py +5 -5
  43. nucleardatapy/fig/astro_setupMR_fig.py +12 -10
  44. nucleardatapy/fig/astro_setupMasses_fig.py +4 -4
  45. nucleardatapy/fig/astro_setupMtov_fig.py +4 -4
  46. nucleardatapy/fig/astro_setupMup_fig.py +5 -5
  47. nucleardatapy/fig/corr_setupEsymDen_fig.py +12 -5
  48. nucleardatapy/fig/corr_setupEsymLsym_fig.py +18 -5
  49. nucleardatapy/fig/corr_setupKsatQsat_fig.py +19 -15
  50. nucleardatapy/fig/crust_setupCrust_fig.py +7 -7
  51. nucleardatapy/fig/eos_setupAMBeq_fig.py +1338 -64
  52. nucleardatapy/fig/eos_setupAMLeq_fig.py +200 -68
  53. nucleardatapy/fig/eos_setupAM_asy_lep_fig.py +364 -0
  54. nucleardatapy/fig/eos_setupAM_asy_nuc_fig.py +337 -0
  55. nucleardatapy/fig/eos_setupAM_asy_tot_fig.py +343 -0
  56. nucleardatapy/fig/eos_setupAM_fig.py +470 -47
  57. nucleardatapy/fig/eos_setupCC_fig.py +240 -0
  58. nucleardatapy/fig/hnuc_setupChart_fig.py +2 -2
  59. nucleardatapy/fig/hnuc_setupRE1LExp_fig.py +4 -4
  60. nucleardatapy/fig/matter_all_fig.py +954 -0
  61. nucleardatapy/fig/matter_setupCheck_fig.py +103 -0
  62. nucleardatapy/fig/matter_setupFFGLep_fig.py +70 -0
  63. nucleardatapy/fig/matter_setupFFGNuc_fig.py +268 -104
  64. nucleardatapy/fig/matter_setupHIC_fig.py +98 -58
  65. nucleardatapy/fig/matter_setupMicroEsym_fig.py +267 -51
  66. nucleardatapy/fig/matter_setupMicro_LP_fig.py +175 -78
  67. nucleardatapy/fig/matter_setupMicro_band_fig.py +116 -47
  68. nucleardatapy/fig/matter_setupMicro_effmass_fig.py +264 -34
  69. nucleardatapy/fig/matter_setupMicro_err_NM_fig.py +41 -18
  70. nucleardatapy/fig/matter_setupMicro_fig.py +332 -98
  71. nucleardatapy/fig/matter_setupMicro_gap_fig.py +219 -92
  72. nucleardatapy/fig/matter_setupNEPStats_fig.py +96 -0
  73. nucleardatapy/fig/matter_setupPhenoEsym_fig.py +201 -61
  74. nucleardatapy/fig/matter_setupPheno_fig.py +392 -85
  75. nucleardatapy/fig/nuc_setupBEExp_chart_fig.py +286 -0
  76. nucleardatapy/fig/nuc_setupBEExp_fig.py +232 -70
  77. nucleardatapy/fig/nuc_setupBETheo_fig.py +344 -0
  78. nucleardatapy/fig/nuc_setupISGMRExp_fig.py +59 -0
  79. nucleardatapy/fig/nuc_setupRchExp_fig.py +139 -0
  80. nucleardatapy/fig/nuc_setupRchTheo_fig.py +143 -0
  81. nucleardatapy/fig/nuc_setupRnpExp_fig.py +88 -0
  82. nucleardatapy/fig/nuc_setupRnpTheo_fig.py +133 -0
  83. nucleardatapy/hello.py +6 -0
  84. nucleardatapy/hnuc/__init__.py +3 -3
  85. nucleardatapy/hnuc/{setup_be1L_exp.py → setup_re1L_exp.py} +6 -6
  86. nucleardatapy/hnuc/{setup_be1Xi_exp.py → setup_re1Xi_exp.py} +5 -5
  87. nucleardatapy/hnuc/{setup_be2L_exp.py → setup_re2L_exp.py} +6 -6
  88. nucleardatapy/matter/__init__.py +14 -13
  89. nucleardatapy/matter/setup_check.py +97 -0
  90. nucleardatapy/matter/setup_ffg.py +72 -38
  91. nucleardatapy/matter/setup_hic.py +91 -74
  92. nucleardatapy/matter/setup_micro.py +1698 -1019
  93. nucleardatapy/matter/setup_micro_band.py +11 -6
  94. nucleardatapy/matter/setup_micro_effmass.py +55 -2
  95. nucleardatapy/matter/setup_micro_esym.py +39 -34
  96. nucleardatapy/matter/setup_micro_gap.py +26 -19
  97. nucleardatapy/matter/setup_micro_lp.py +20 -19
  98. nucleardatapy/matter/setup_nep.py +175 -92
  99. nucleardatapy/matter/{setup_nep_model_dist.py → setup_nep_stat_model.py} +13 -8
  100. nucleardatapy/matter/{setup_nep_dist.py → setup_nep_stat_models.py} +12 -8
  101. nucleardatapy/matter/setup_pheno.py +121 -45
  102. nucleardatapy/matter/setup_pheno_esym.py +14 -19
  103. nucleardatapy/nuc/__init__.py +2 -2
  104. nucleardatapy/nuc/setup_be_exp.py +345 -333
  105. nucleardatapy/nuc/setup_be_theo.py +366 -178
  106. nucleardatapy/nuc/setup_isgmr_exp.py +4 -4
  107. nucleardatapy/nuc/setup_rch_exp.py +49 -6
  108. nucleardatapy/nuc/setup_rch_theo.py +72 -3
  109. nucleardatapy/nuc/{setup_nskin_exp.py → setup_rnp_exp.py} +59 -65
  110. nucleardatapy/nuc/{setup_nskin_theo.py → setup_rnp_theo.py} +35 -39
  111. nucleardatapy-1.0.0.dist-info/METADATA +553 -0
  112. {nucleardatapy-0.2.0.dist-info → nucleardatapy-1.0.0.dist-info}/RECORD +156 -128
  113. {nucleardatapy-0.2.0.dist-info → nucleardatapy-1.0.0.dist-info}/WHEEL +1 -1
  114. tests/test_corr_setupKsatQsat.py +3 -1
  115. tests/test_matter_setupMicro.py +37 -10
  116. nucleardatapy/data/matter/pheno/ESkyrme/BSkG1-NM.dat +0 -1002
  117. nucleardatapy/data/matter/pheno/ESkyrme/BSkG1-SM.dat +0 -1002
  118. nucleardatapy/data/matter/pheno/ESkyrme/BSkG2-NM.dat +0 -1002
  119. nucleardatapy/data/matter/pheno/ESkyrme/BSkG2-SM.dat +0 -1002
  120. nucleardatapy/fig/matter_ENM_fig.py +0 -119
  121. nucleardatapy/fig/matter_ESM_fig.py +0 -119
  122. nucleardatapy/fig/matter_Esym_fig.py +0 -122
  123. nucleardatapy/fig/matter_setupNEPModelDist_fig.py +0 -68
  124. nucleardatapy-0.2.0.dist-info/METADATA +0 -115
  125. /nucleardatapy/data/LandauParameters/micro/{2006-IBHF-NM-AV18.dat → 2006-EBHF-NM-AV18.dat} +0 -0
  126. /nucleardatapy/data/LandauParameters/micro/{2006-IBHF-SM-AV18.dat → 2006-EBHF-SM-AV18.dat} +0 -0
  127. /nucleardatapy/data/crust/{2022-crustGMRS-BSK14.dat → 2022-GMRS-BSK14.dat} +0 -0
  128. /nucleardatapy/data/crust/{2022-crustGMRS-BSK16.dat → 2022-GMRS-BSK16.dat} +0 -0
  129. /nucleardatapy/data/crust/{2022-crustGMRS-DHSL59.dat → 2022-GMRS-DHSL59.dat} +0 -0
  130. /nucleardatapy/data/crust/{2022-crustGMRS-DHSL69.dat → 2022-GMRS-DHSL69.dat} +0 -0
  131. /nucleardatapy/data/crust/{2022-crustGMRS-F0.dat → 2022-GMRS-F0.dat} +0 -0
  132. /nucleardatapy/data/crust/{2022-crustGMRS-H1.dat → 2022-GMRS-H1.dat} +0 -0
  133. /nucleardatapy/data/crust/{2022-crustGMRS-H2.dat → 2022-GMRS-H2.dat} +0 -0
  134. /nucleardatapy/data/crust/{2022-crustGMRS-H3.dat → 2022-GMRS-H3.dat} +0 -0
  135. /nucleardatapy/data/crust/{2022-crustGMRS-H4.dat → 2022-GMRS-H4.dat} +0 -0
  136. /nucleardatapy/data/crust/{2022-crustGMRS-H5.dat → 2022-GMRS-H5.dat} +0 -0
  137. /nucleardatapy/data/crust/{2022-crustGMRS-H7.dat → 2022-GMRS-H7.dat} +0 -0
  138. /nucleardatapy/data/crust/{2022-crustGMRS-LNS5.dat → 2022-GMRS-LNS5.dat} +0 -0
  139. /nucleardatapy/data/crust/{2022-crustGMRS-RATP.dat → 2022-GMRS-RATP.dat} +0 -0
  140. /nucleardatapy/data/crust/{2022-crustGMRS-SGII.dat → 2022-GMRS-SGII.dat} +0 -0
  141. /nucleardatapy/data/crust/{2022-crustGMRS-SLY5.dat → 2022-GMRS-SLY5.dat} +0 -0
  142. /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-E2A-AM.dat → 2006-BHF-Av18-E2A-AM.dat} +0 -0
  143. /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-E2A-SM.dat → 2006-BHF-Av18-E2A-SM.dat} +0 -0
  144. /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-Esym2-SM.dat → 2006-BHF-Av18-Esym2-SM.dat} +0 -0
  145. /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-NM-FreeSpectrum.dat → 2006-BHF-Av18-GAP-NM-FreeSpectrum.dat} +0 -0
  146. /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-NM-SelfEnergy.dat → 2006-BHF-Av18-GAP-NM-SelfEnergy.dat} +0 -0
  147. /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-SM-FreeSpectrum.dat → 2006-BHF-Av18-GAP-SM-FreeSpectrum.dat} +0 -0
  148. /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-SM-SelfEnergy.dat → 2006-BHF-Av18-GAP-SM-SelfEnergy.dat} +0 -0
  149. /nucleardatapy/data/matter/micro/{2013-QMC-NM.dat → 2013-MBPT-NM.dat} +0 -0
  150. /nucleardatapy/data/matter/micro/{2020-MBPT-NM-DHSL59.dat → 2019-MBPT-NM-DHSL59.dat} +0 -0
  151. /nucleardatapy/data/matter/micro/{2020-MBPT-NM-DHSL69.dat → 2019-MBPT-NM-DHSL69.dat} +0 -0
  152. /nucleardatapy/data/matter/micro/{2020-MBPT-SM-DHSL59.dat → 2019-MBPT-SM-DHSL59.dat} +0 -0
  153. /nucleardatapy/data/matter/micro/{2020-MBPT-SM-DHSL69.dat → 2019-MBPT-SM-DHSL69.dat} +0 -0
  154. /nucleardatapy/data/matter/micro/{2023-MBPT-NM.csv → 2020-MBPT-NM.csv} +0 -0
  155. /nucleardatapy/data/matter/micro/{2023-MBPT-SM.csv → 2020-MBPT-SM.csv} +0 -0
  156. /nucleardatapy/data/nuclei/{nskin → rnp}/208Pb.dat +0 -0
  157. /nucleardatapy/data/nuclei/{nskin → rnp}/48Ca.dat +0 -0
  158. /nucleardatapy/data/{NeutronSkin/ddrhNskin-208Pb.dat → rnp/ddrhrnp-208Pb.dat} +0 -0
  159. /nucleardatapy/data/{NeutronSkin/ddrhNskin-48Ca.dat → rnp/ddrhrnp-48Ca.dat} +0 -0
  160. /nucleardatapy/data/{NeutronSkin/nlrhNskin-208Pb.dat → rnp/nlrhrnp-208Pb.dat} +0 -0
  161. /nucleardatapy/data/{NeutronSkin/nlrhNskin-48Ca.dat → rnp/nlrhrnp-48Ca.dat} +0 -0
  162. /nucleardatapy/data/{NeutronSkin/skyrmeNskin-208Pb.dat → rnp/skyrmernp-208Pb.dat} +0 -0
  163. /nucleardatapy/data/{NeutronSkin/skyrmeNskin-48Ca.dat → rnp/skyrmernp-48Ca.dat} +0 -0
  164. {nucleardatapy-0.2.0.dist-info → nucleardatapy-1.0.0.dist-info/licenses}/LICENSE +0 -0
  165. {nucleardatapy-0.2.0.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 module provides microscopic, phenomenological and experimental data constraints.
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 *
@@ -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/gw/GW170817.dat'
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/gw/GW190425.dat'
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.mchirp_sig_do = float(ele[3])
169
- self.q_do = float(ele[4])
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.lam_sig_do = float(ele[8])
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.mchirp_sig_do)
192
- print(" q_do, q_up: ",self.q_do, self.q_up)
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.lam_sig_do)
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.mchirp_sig_do}}}$ & $[{self.q_do}:{self.q_up}]$ & ${{{self.lam:.2f}}}^{{{+self.lam_sig_up}}}_{{{-self.lam_sig_do}}}$ & \cite{{{self.latexCite}}} \\\\")
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.mchirp_sig_do = None
240
- self.q_do = None
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.lambda_sig_do = None
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
- lamdo = gw.lam - 3*gw.lam_sig_do
282
+ lamlo = gw.lam - 3*gw.lam_sig_lo
283
283
  lamup = gw.lam + 3*gw.lam_sig_up
284
- if lamdo < lammin: lammin = lamdo
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.lam_sig_do)
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, sig_do ):
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 ) / sig_do
364
- norm = sig_do * fac
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
@@ -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:
@@ -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.sig_do = None
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.sig_do = float(ele[4])
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.sig_do)
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.sig_do}}}$ & \cite{{{self.latexCite}}} \\\\")
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
- mupdo = mup.mup - 3*mup.sig_do
231
+ muplo = mup.mup - 3*mup.sig_lo
232
232
  mupup = mup.mup + 3*mup.sig_up
233
- if mupdo < mupmin: mupmin = mupdo
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.sig_do)
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, sig_do ):
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 ) / sig_do
297
- norm = sig_do * fac
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-208PB', '2015-POL-120SN', \
16
- '2015-POL-68NI', '2017-UG', '2021-PREXII-Reed', \
17
- '2021-PREXII-Reinhard', '2023-PREXII+CREX-Zhang'; and \
18
- print them all on the prompt.
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-208PB', '2015-POL-120SN', '2015-POL-68NI', '2017-UG', \
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-208PB', '2015-POL-120SN', \
51
- '2015-POL-68NI', '2017-UG', '2021-PREXII-Reed', \
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
  #