nucleardatapy 0.2.1__py3-none-any.whl → 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) 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 +363 -125
  9. nucleardatapy/data/astro/NICER/J0740+6620.dat +1 -0
  10. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-E2A-NM.dat +8 -8
  11. nucleardatapy/data/matter/nep/NEPESkyrme.dat +2 -3
  12. nucleardatapy/data/matter/nep/NEPGSkyrme.dat +7 -0
  13. nucleardatapy/data/matter/nep/NEPSkyrme.dat +4 -2
  14. nucleardatapy/data/matter/nep/NEPxEFT.dat +8 -0
  15. nucleardatapy/data/matter/nep/best67DDSkyrme.dat +28 -0
  16. nucleardatapy/data/matter/nep/best90DDSkyrme.dat +46 -0
  17. nucleardatapy/data/matter/nep/best95DDSkyrme.dat +54 -0
  18. nucleardatapy/data/matter/pheno/ESkyrme/BSk31-NM.dat +996 -996
  19. nucleardatapy/data/matter/pheno/ESkyrme/BSk31-SM.dat +991 -991
  20. nucleardatapy/data/matter/pheno/ESkyrme/BSkG4-NM.dat +1002 -0
  21. nucleardatapy/data/matter/pheno/ESkyrme/BSkG4-SM.dat +1002 -0
  22. nucleardatapy/data/matter/pheno/Skyrme/BSkG1-NM.dat +102 -0
  23. nucleardatapy/data/matter/pheno/Skyrme/BSkG1-SM.dat +102 -0
  24. nucleardatapy/data/matter/pheno/Skyrme/BSkG2-NM.dat +102 -0
  25. nucleardatapy/data/matter/pheno/Skyrme/BSkG2-SM.dat +102 -0
  26. nucleardatapy/env.py +1 -1
  27. nucleardatapy/eos/__init__.py +4 -3
  28. nucleardatapy/eos/setupCC.py +429 -0
  29. nucleardatapy/eos/setup_am.py +39 -14
  30. nucleardatapy/eos/setup_am_Beq.py +40 -15
  31. nucleardatapy/eos/setup_am_Leq.py +40 -15
  32. nucleardatapy/fig/__init__.py +24 -15
  33. nucleardatapy/fig/astro_setupGW_fig.py +5 -5
  34. nucleardatapy/fig/astro_setupMR_fig.py +12 -10
  35. nucleardatapy/fig/astro_setupMasses_fig.py +4 -4
  36. nucleardatapy/fig/astro_setupMtov_fig.py +4 -4
  37. nucleardatapy/fig/astro_setupMup_fig.py +5 -5
  38. nucleardatapy/fig/corr_setupEsymDen_fig.py +12 -5
  39. nucleardatapy/fig/corr_setupEsymLsym_fig.py +18 -5
  40. nucleardatapy/fig/corr_setupKsatQsat_fig.py +19 -15
  41. nucleardatapy/fig/crust_setupCrust_fig.py +5 -5
  42. nucleardatapy/fig/eos_setupAMBeq_fig.py +523 -66
  43. nucleardatapy/fig/eos_setupAMLeq_fig.py +18 -18
  44. nucleardatapy/fig/eos_setupAM_asy_lep_fig.py +364 -0
  45. nucleardatapy/fig/eos_setupAM_asy_nuc_fig.py +337 -0
  46. nucleardatapy/fig/eos_setupAM_asy_tot_fig.py +343 -0
  47. nucleardatapy/fig/eos_setupAM_fig.py +504 -0
  48. nucleardatapy/fig/eos_setupCC_fig.py +240 -0
  49. nucleardatapy/fig/hnuc_setupChart_fig.py +2 -2
  50. nucleardatapy/fig/hnuc_setupRE1LExp_fig.py +3 -3
  51. nucleardatapy/fig/matter_all_fig.py +954 -0
  52. nucleardatapy/fig/matter_setupCheck_fig.py +103 -0
  53. nucleardatapy/fig/matter_setupFFGLep_fig.py +70 -0
  54. nucleardatapy/fig/matter_setupFFGNuc_fig.py +267 -104
  55. nucleardatapy/fig/matter_setupHIC_fig.py +98 -58
  56. nucleardatapy/fig/matter_setupMicroEsym_fig.py +248 -63
  57. nucleardatapy/fig/matter_setupMicro_LP_fig.py +175 -78
  58. nucleardatapy/fig/matter_setupMicro_band_fig.py +115 -47
  59. nucleardatapy/fig/matter_setupMicro_effmass_fig.py +248 -73
  60. nucleardatapy/fig/matter_setupMicro_err_NM_fig.py +41 -18
  61. nucleardatapy/fig/matter_setupMicro_fig.py +299 -67
  62. nucleardatapy/fig/matter_setupMicro_gap_fig.py +219 -92
  63. nucleardatapy/fig/matter_setupNEPStats_fig.py +96 -0
  64. nucleardatapy/fig/matter_setupPhenoEsym_fig.py +193 -55
  65. nucleardatapy/fig/matter_setupPheno_fig.py +385 -88
  66. nucleardatapy/fig/nuc_setupBEExp_chart_fig.py +59 -48
  67. nucleardatapy/fig/nuc_setupBEExp_fig.py +48 -41
  68. nucleardatapy/fig/nuc_setupBETheo_fig.py +59 -31
  69. nucleardatapy/fig/nuc_setupISGMRExp_fig.py +5 -5
  70. nucleardatapy/fig/nuc_setupRchExp_fig.py +2 -2
  71. nucleardatapy/fig/nuc_setupRchTheo_fig.py +21 -20
  72. nucleardatapy/fig/nuc_setupRnpExp_fig.py +77 -109
  73. nucleardatapy/fig/nuc_setupRnpTheo_fig.py +92 -93
  74. nucleardatapy/hello.py +6 -0
  75. nucleardatapy/hnuc/setup_re1L_exp.py +6 -6
  76. nucleardatapy/hnuc/setup_re1Xi_exp.py +5 -5
  77. nucleardatapy/hnuc/setup_re2L_exp.py +6 -6
  78. nucleardatapy/matter/__init__.py +14 -14
  79. nucleardatapy/matter/setup_check.py +6 -6
  80. nucleardatapy/matter/setup_ffg.py +66 -39
  81. nucleardatapy/matter/setup_hic.py +91 -74
  82. nucleardatapy/matter/setup_micro.py +1623 -1009
  83. nucleardatapy/matter/setup_micro_band.py +6 -6
  84. nucleardatapy/matter/setup_micro_esym.py +11 -13
  85. nucleardatapy/matter/setup_micro_gap.py +24 -17
  86. nucleardatapy/matter/setup_micro_lp.py +2 -2
  87. nucleardatapy/matter/setup_nep.py +175 -92
  88. nucleardatapy/matter/{setup_nep_model_dist.py → setup_nep_stat_model.py} +13 -8
  89. nucleardatapy/matter/{setup_nep_dist.py → setup_nep_stat_models.py} +12 -8
  90. nucleardatapy/matter/setup_pheno.py +121 -45
  91. nucleardatapy/matter/setup_pheno_esym.py +8 -13
  92. nucleardatapy/nuc/setup_be_exp.py +304 -292
  93. nucleardatapy/nuc/setup_be_theo.py +273 -97
  94. nucleardatapy/nuc/setup_isgmr_exp.py +4 -4
  95. nucleardatapy/nuc/setup_rnp_exp.py +1 -0
  96. nucleardatapy/nuc/setup_rnp_theo.py +2 -1
  97. {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.0.dist-info}/METADATA +48 -16
  98. {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.0.dist-info}/RECORD +127 -120
  99. {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.0.dist-info}/WHEEL +1 -1
  100. tests/test_corr_setupKsatQsat.py +3 -1
  101. tests/test_matter_setupMicro.py +37 -10
  102. nucleardatapy/data/matter/pheno/ESkyrme/BSkG1-NM.dat +0 -1002
  103. nucleardatapy/data/matter/pheno/ESkyrme/BSkG1-SM.dat +0 -1002
  104. nucleardatapy/data/matter/pheno/ESkyrme/BSkG2-NM.dat +0 -1002
  105. nucleardatapy/data/matter/pheno/ESkyrme/BSkG2-SM.dat +0 -1002
  106. nucleardatapy/fig/eos_setupAM_e_asy_lep_fig.py +0 -125
  107. nucleardatapy/fig/eos_setupAM_e_asy_nuc_fig.py +0 -115
  108. nucleardatapy/fig/eos_setupAM_e_asy_tot_fig.py +0 -117
  109. nucleardatapy/fig/eos_setupAM_e_fig.py +0 -173
  110. nucleardatapy/fig/matter_ENM_fig.py +0 -128
  111. nucleardatapy/fig/matter_ESM_fig.py +0 -140
  112. nucleardatapy/fig/matter_Esym_fig.py +0 -134
  113. nucleardatapy/fig/matter_cs2_fig.py +0 -83
  114. nucleardatapy/fig/matter_preNM_fig.py +0 -146
  115. nucleardatapy/fig/matter_preSM_fig.py +0 -144
  116. nucleardatapy/fig/matter_setupNEPModelDist_fig.py +0 -68
  117. /nucleardatapy/data/LandauParameters/micro/{2006-IBHF-NM-AV18.dat → 2006-EBHF-NM-AV18.dat} +0 -0
  118. /nucleardatapy/data/LandauParameters/micro/{2006-IBHF-SM-AV18.dat → 2006-EBHF-SM-AV18.dat} +0 -0
  119. /nucleardatapy/data/crust/{2022-crustGMRS-BSK14.dat → 2022-GMRS-BSK14.dat} +0 -0
  120. /nucleardatapy/data/crust/{2022-crustGMRS-BSK16.dat → 2022-GMRS-BSK16.dat} +0 -0
  121. /nucleardatapy/data/crust/{2022-crustGMRS-DHSL59.dat → 2022-GMRS-DHSL59.dat} +0 -0
  122. /nucleardatapy/data/crust/{2022-crustGMRS-DHSL69.dat → 2022-GMRS-DHSL69.dat} +0 -0
  123. /nucleardatapy/data/crust/{2022-crustGMRS-F0.dat → 2022-GMRS-F0.dat} +0 -0
  124. /nucleardatapy/data/crust/{2022-crustGMRS-H1.dat → 2022-GMRS-H1.dat} +0 -0
  125. /nucleardatapy/data/crust/{2022-crustGMRS-H2.dat → 2022-GMRS-H2.dat} +0 -0
  126. /nucleardatapy/data/crust/{2022-crustGMRS-H3.dat → 2022-GMRS-H3.dat} +0 -0
  127. /nucleardatapy/data/crust/{2022-crustGMRS-H4.dat → 2022-GMRS-H4.dat} +0 -0
  128. /nucleardatapy/data/crust/{2022-crustGMRS-H5.dat → 2022-GMRS-H5.dat} +0 -0
  129. /nucleardatapy/data/crust/{2022-crustGMRS-H7.dat → 2022-GMRS-H7.dat} +0 -0
  130. /nucleardatapy/data/crust/{2022-crustGMRS-LNS5.dat → 2022-GMRS-LNS5.dat} +0 -0
  131. /nucleardatapy/data/crust/{2022-crustGMRS-RATP.dat → 2022-GMRS-RATP.dat} +0 -0
  132. /nucleardatapy/data/crust/{2022-crustGMRS-SGII.dat → 2022-GMRS-SGII.dat} +0 -0
  133. /nucleardatapy/data/crust/{2022-crustGMRS-SLY5.dat → 2022-GMRS-SLY5.dat} +0 -0
  134. /nucleardatapy/data/matter/micro/{2013-QMC-NM.dat → 2013-MBPT-NM.dat} +0 -0
  135. /nucleardatapy/data/{NeutronSkin/ddrhNskin-208Pb.dat → rnp/ddrhrnp-208Pb.dat} +0 -0
  136. /nucleardatapy/data/{NeutronSkin/ddrhNskin-48Ca.dat → rnp/ddrhrnp-48Ca.dat} +0 -0
  137. /nucleardatapy/data/{NeutronSkin/nlrhNskin-208Pb.dat → rnp/nlrhrnp-208Pb.dat} +0 -0
  138. /nucleardatapy/data/{NeutronSkin/nlrhNskin-48Ca.dat → rnp/nlrhrnp-48Ca.dat} +0 -0
  139. /nucleardatapy/data/{NeutronSkin/skyrmeNskin-208Pb.dat → rnp/skyrmernp-208Pb.dat} +0 -0
  140. /nucleardatapy/data/{NeutronSkin/skyrmeNskin-48Ca.dat → rnp/skyrmernp-48Ca.dat} +0 -0
  141. {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.0.dist-info}/licenses/LICENSE +0 -0
  142. {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.0.dist-info}/top_level.txt +0 -0
@@ -24,17 +24,17 @@ def eos_setupAMBeq_e2a_nuc_fig( pname, micro_mbs, pheno_models, band ):
24
24
  #
25
25
  fig, axs = plt.subplots(1,2)
26
26
  fig.tight_layout() # Or equivalently, "plt.tight_layout()"
27
- fig.subplots_adjust(left=0.10, bottom=0.12, right=None, top=0.90, wspace=0.05, hspace=0.05 )
27
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.05 )
28
28
  #
29
- axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
30
- axs[0].set_ylabel(r'$E_\text{nuc}/A$')
31
- axs[0].set_xlim([0, 0.28])
29
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
30
+ axs[0].set_ylabel(r'$e_\text{nuc}^\text{int}$ (MeV)',fontsize='14')
31
+ axs[0].set_xlim([0, 0.33])
32
32
  axs[0].set_ylim([-2, 27])
33
33
  #axs[0].set_tick_params('y', right=True)
34
34
  #axs[0].set_tick_params('x', top=True)
35
35
  #
36
- axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
37
- axs[1].set_xlim([0, 0.28])
36
+ axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
37
+ axs[1].set_xlim([0, 0.33])
38
38
  axs[1].set_ylim([-2, 27])
39
39
  axs[1].tick_params('y', labelleft=False)
40
40
  #
@@ -68,10 +68,10 @@ def eos_setupAMBeq_e2a_nuc_fig( pname, micro_mbs, pheno_models, band ):
68
68
  if micro.e2a_nuc is not None:
69
69
  print('model:',model)
70
70
  if mb in mb_check:
71
- axs[0].plot( micro.den, micro.e2a_nuc, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
71
+ axs[0].plot( micro.den, micro.e2a_int_nuc, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
72
72
  else:
73
73
  mb_check.append(mb)
74
- axs[0].plot( micro.den, micro.e2a_nuc, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
74
+ axs[0].plot( micro.den, micro.e2a_int_nuc, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
75
75
  # end of model
76
76
  # end of mb
77
77
  #
@@ -99,10 +99,10 @@ def eos_setupAMBeq_e2a_nuc_fig( pname, micro_mbs, pheno_models, band ):
99
99
  if pheno.e2a_nuc is not None:
100
100
  print('model:',model,' param:',param)
101
101
  if model in model_check:
102
- axs[1].plot( pheno.den, pheno.e2a_nuc, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
102
+ axs[1].plot( pheno.den, pheno.e2a_int_nuc, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
103
103
  else:
104
104
  model_check.append(model)
105
- axs[1].plot( pheno.den, pheno.e2a_nuc, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
105
+ axs[1].plot( pheno.den, pheno.e2a_int_nuc, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
106
106
  # end of param
107
107
  # end of model
108
108
  #
@@ -135,18 +135,18 @@ def eos_setupAMBeq_pre_nuc_fig( pname, micro_mbs, pheno_models, band ):
135
135
  #
136
136
  fig, axs = plt.subplots(1,2)
137
137
  fig.tight_layout() # Or equivalently, "plt.tight_layout()"
138
- fig.subplots_adjust(left=0.10, bottom=0.12, right=None, top=0.90, wspace=0.05, hspace=0.05 )
138
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.05 )
139
139
  #
140
- axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
141
- axs[0].set_ylabel(r'$P_\text{nuc}$ (fm$^{-3}$)')
140
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
141
+ axs[0].set_ylabel(r'$p_\text{nuc}$ (MeV fm$^{-3}$)',fontsize='14')
142
142
  axs[0].set_xlim([0, 0.35])
143
- axs[0].set_ylim([-2, 80])
143
+ axs[0].set_ylim([-2, 60])
144
144
  #axs[0].set_tick_params('y', right=True)
145
145
  #axs[0].set_tick_params('x', top=True)
146
146
  #
147
- axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
147
+ axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
148
148
  axs[1].set_xlim([0, 0.35])
149
- axs[1].set_ylim([-2, 80])
149
+ axs[1].set_ylim([-2, 60])
150
150
  axs[1].tick_params('y', labelleft=False)
151
151
  #
152
152
  mb_check = []
@@ -224,6 +224,116 @@ def eos_setupAMBeq_pre_nuc_fig( pname, micro_mbs, pheno_models, band ):
224
224
  plt.savefig(pname, dpi=200)
225
225
  plt.close()
226
226
 
227
+ def eos_setupAMBeq_cs2_nuc_fig( pname, micro_mbs, pheno_models, band ):
228
+ """
229
+ Plot nuclear chart (N versus Z).\
230
+ The plot is 1x2 with:\
231
+ [0]: nuclear chart.
232
+
233
+ :param pname: name of the figure (*.png)
234
+ :type pname: str.
235
+ :param table: table.
236
+ :type table: str.
237
+ :param version: version of table to run on.
238
+ :type version: str.
239
+ :param theo_tables: object instantiated on the reference band.
240
+ :type theo_tables: object.
241
+
242
+ """
243
+ #
244
+ print(f'Plot name: {pname}')
245
+ #
246
+ fig, axs = plt.subplots(1,2)
247
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
248
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.05 )
249
+ #
250
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
251
+ axs[0].set_ylabel(r'$c_\text{s,nuc}^2/c^2$',fontsize='14')
252
+ axs[0].set_xlim([0, 0.35])
253
+ axs[0].set_ylim([-0.05, 0.25])
254
+ #axs[0].set_tick_params('y', right=True)
255
+ #axs[0].set_tick_params('x', top=True)
256
+ #
257
+ axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
258
+ axs[1].set_xlim([0, 0.35])
259
+ axs[1].set_ylim([-0.05, 0.25])
260
+ axs[1].tick_params('y', labelleft=False)
261
+ #
262
+ mb_check = []
263
+ #
264
+ for kmb,mb in enumerate(micro_mbs):
265
+ #
266
+ print('mb:',mb,kmb)
267
+ #
268
+ models, models_lower = nuda.matter.micro_esym_models_mb( mb )
269
+ #
270
+ print('models:',models)
271
+ #
272
+ if mb == 'VAR':
273
+ models.remove('1998-VAR-AM-APR-fit')
274
+ models_lower.remove('1998-var-am-apr-fit')
275
+ #
276
+ for model in models:
277
+ #
278
+ micro = nuda.eos.setupAMBeq( model = model, kind = 'micro' )
279
+ if nuda.env.verb_output: micro.print_outputs( )
280
+ #
281
+ check = nuda.matter.setupCheck( eos = micro, band = band )
282
+ #
283
+ if check.isInside:
284
+ lstyle = 'solid'
285
+ else:
286
+ lstyle = 'dashed'
287
+ #continue
288
+ #
289
+ if micro.cs2_nuc is not None:
290
+ print('model:',model)
291
+ if mb in mb_check:
292
+ axs[0].plot( micro.den, micro.cs2_nuc, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
293
+ else:
294
+ mb_check.append(mb)
295
+ axs[0].plot( micro.den, micro.cs2_nuc, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
296
+ # end of model
297
+ # end of mb
298
+ axs[0].text(0.02,0.2,'microscopic models',fontsize='10')
299
+ #
300
+ model_check = []
301
+ #
302
+ for kmodel,model in enumerate(pheno_models):
303
+ #
304
+ params, params_lower = nuda.matter.pheno_esym_params( model = model )
305
+ #
306
+ for param in params:
307
+ #
308
+ pheno = nuda.eos.setupAMBeq( model = model, param = param, kind = 'pheno' )
309
+ if nuda.env.verb_output: pheno.print_outputs( )
310
+ #
311
+ check = nuda.matter.setupCheck( eos = pheno, band = band )
312
+ #
313
+ if check.isInside:
314
+ lstyle = 'solid'
315
+ else:
316
+ lstyle = 'dashed'
317
+ #continue
318
+ #
319
+ if pheno.cs2_nuc is not None:
320
+ print('model:',model,' param:',param)
321
+ if model in model_check:
322
+ axs[1].plot( pheno.den, pheno.cs2_nuc, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
323
+ else:
324
+ model_check.append(model)
325
+ axs[1].plot( pheno.den, pheno.cs2_nuc, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
326
+ # end of param
327
+ # end of model
328
+ #
329
+ axs[1].text(0.02,0.2,'phenomenological models',fontsize='10')
330
+ #
331
+ fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
332
+ #
333
+ if pname is not None:
334
+ plt.savefig(pname, dpi=200)
335
+ plt.close()
336
+
227
337
  def eos_setupAMBeq_e2a_lep_fig( pname, micro_mbs, pheno_models, band ):
228
338
  """
229
339
  Plot nuclear chart (N versus Z).\
@@ -245,17 +355,17 @@ def eos_setupAMBeq_e2a_lep_fig( pname, micro_mbs, pheno_models, band ):
245
355
  #
246
356
  fig, axs = plt.subplots(1,2)
247
357
  fig.tight_layout() # Or equivalently, "plt.tight_layout()"
248
- fig.subplots_adjust(left=0.10, bottom=0.12, right=None, top=0.90, wspace=0.05, hspace=0.05 )
358
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.05 )
249
359
  #
250
- axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
251
- axs[0].set_ylabel(r'$E_\text{lep}/A$')
252
- axs[0].set_xlim([0, 0.28])
360
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
361
+ axs[0].set_ylabel(r'$_\text{lep}^\text{int}$ (MeV)',fontsize='14')
362
+ axs[0].set_xlim([0, 0.33])
253
363
  axs[0].set_ylim([-2, 27])
254
364
  #axs[0].set_tick_params('y', right=True)
255
365
  #axs[0].set_tick_params('x', top=True)
256
366
  #
257
- axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
258
- axs[1].set_xlim([0, 0.28])
367
+ axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
368
+ axs[1].set_xlim([0, 0.33])
259
369
  axs[1].set_ylim([-2, 27])
260
370
  axs[1].tick_params('y', labelleft=False)
261
371
  #
@@ -358,18 +468,18 @@ def eos_setupAMBeq_pre_lep_fig( pname, micro_mbs, pheno_models, band ):
358
468
  #
359
469
  fig, axs = plt.subplots(1,2)
360
470
  fig.tight_layout() # Or equivalently, "plt.tight_layout()"
361
- fig.subplots_adjust(left=0.10, bottom=0.12, right=None, top=0.90, wspace=0.05, hspace=0.05 )
471
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.05 )
362
472
  #
363
- axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
364
- axs[0].set_ylabel(r'$P_\text{lep}$ (fm$^{-3}$)')
473
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
474
+ axs[0].set_ylabel(r'$p_\text{lep}$ (MeV fm$^{-3}$)',fontsize='14')
365
475
  axs[0].set_xlim([0, 0.35])
366
- axs[0].set_ylim([-2, 80])
476
+ axs[0].set_ylim([-2, 60])
367
477
  #axs[0].set_tick_params('y', right=True)
368
478
  #axs[0].set_tick_params('x', top=True)
369
479
  #
370
- axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
480
+ axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
371
481
  axs[1].set_xlim([0, 0.35])
372
- axs[1].set_ylim([-2, 80])
482
+ axs[1].set_ylim([-2, 60])
373
483
  axs[1].tick_params('y', labelleft=False)
374
484
  #
375
485
  mb_check = []
@@ -449,6 +559,119 @@ def eos_setupAMBeq_pre_lep_fig( pname, micro_mbs, pheno_models, band ):
449
559
  plt.savefig(pname, dpi=200)
450
560
  plt.close()
451
561
 
562
+ def eos_setupAMBeq_cs2_lep_fig( pname, micro_mbs, pheno_models, band ):
563
+ """
564
+ Plot nuclear chart (N versus Z).\
565
+ The plot is 1x2 with:\
566
+ [0]: nuclear chart.
567
+
568
+ :param pname: name of the figure (*.png)
569
+ :type pname: str.
570
+ :param table: table.
571
+ :type table: str.
572
+ :param version: version of table to run on.
573
+ :type version: str.
574
+ :param theo_tables: object instantiated on the reference band.
575
+ :type theo_tables: object.
576
+
577
+ """
578
+ #
579
+ print(f'Plot name: {pname}')
580
+ #
581
+ fig, axs = plt.subplots(1,2)
582
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
583
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.05 )
584
+ #
585
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
586
+ axs[0].set_ylabel(r'$c_\text{s,lep}^2/c^2$',fontsize='14')
587
+ axs[0].set_xlim([0, 0.35])
588
+ axs[0].set_ylim([0.2, 0.5])
589
+ #axs[0].set_tick_params('y', right=True)
590
+ #axs[0].set_tick_params('x', top=True)
591
+ #
592
+ axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
593
+ axs[1].set_xlim([0, 0.35])
594
+ axs[1].set_ylim([0.2, 0.5])
595
+ axs[1].tick_params('y', labelleft=False)
596
+ #
597
+ mb_check = []
598
+ #
599
+ for kmb,mb in enumerate(micro_mbs):
600
+ #
601
+ print('mb:',mb,kmb)
602
+ #
603
+ models, models_lower = nuda.matter.micro_esym_models_mb( mb )
604
+ #
605
+ print('models:',models)
606
+ #
607
+ if mb == 'VAR':
608
+ models.remove('1998-VAR-AM-APR-fit')
609
+ models_lower.remove('1998-var-am-apr-fit')
610
+ #
611
+ for model in models:
612
+ #
613
+ micro = nuda.eos.setupAMBeq( model = model, kind = 'micro' )
614
+ if nuda.env.verb_output: micro.print_outputs( )
615
+ #
616
+ check = nuda.matter.setupCheck( eos = micro, band = band )
617
+ #
618
+ if check.isInside:
619
+ lstyle = 'solid'
620
+ else:
621
+ lstyle = 'dashed'
622
+ #continue
623
+ #
624
+ #
625
+ if micro.cs2_lep is not None:
626
+ print('model:',model)
627
+ if mb in mb_check:
628
+ axs[0].plot( micro.den, micro.cs2_lep, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
629
+ else:
630
+ mb_check.append(mb)
631
+ axs[0].plot( micro.den, micro.cs2_lep, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
632
+ # end of model
633
+ # end of mb
634
+ #
635
+ axs[0].text(0.02,0.45,'microscopic models',fontsize='10')
636
+ #
637
+ model_check = []
638
+ #
639
+ for kmodel,model in enumerate(pheno_models):
640
+ #
641
+ params, params_lower = nuda.matter.pheno_esym_params( model = model )
642
+ #
643
+ for param in params:
644
+ #
645
+ pheno = nuda.eos.setupAMBeq( model = model, param = param, kind = 'pheno' )
646
+ #
647
+ check = nuda.matter.setupCheck( eos = pheno, band = band )
648
+ #
649
+ if check.isInside:
650
+ lstyle = 'solid'
651
+ else:
652
+ lstyle = 'dashed'
653
+ #continue
654
+ #
655
+ if micro.cs2_lep is not None:
656
+ print('model:',model,' param:',param)
657
+ if model in model_check:
658
+ axs[1].plot( pheno.den, pheno.cs2_lep, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
659
+ else:
660
+ model_check.append(model)
661
+ axs[1].plot( pheno.den, pheno.cs2_lep, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
662
+ if nuda.env.verb_output: pheno.print_outputs( )
663
+ # end of param
664
+ # end of model
665
+ #
666
+ axs[1].text(0.02,0.45,'phenomenological models',fontsize='10')
667
+ #
668
+ fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
669
+ #
670
+ if pname is not None:
671
+ plt.savefig(pname, dpi=200)
672
+ plt.close()
673
+
674
+
452
675
  def eos_setupAMBeq_e2a_tot_fig( pname, micro_mbs, pheno_models, band ):
453
676
  """
454
677
  Plot nuclear chart (N versus Z).\
@@ -470,17 +693,17 @@ def eos_setupAMBeq_e2a_tot_fig( pname, micro_mbs, pheno_models, band ):
470
693
  #
471
694
  fig, axs = plt.subplots(1,2)
472
695
  fig.tight_layout() # Or equivalently, "plt.tight_layout()"
473
- fig.subplots_adjust(left=0.10, bottom=0.12, right=None, top=0.90, wspace=0.05, hspace=0.05 )
696
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.05 )
474
697
  #
475
- axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
476
- axs[0].set_ylabel(r'$E_\text{tot}/A$')
477
- axs[0].set_xlim([0, 0.28])
698
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
699
+ axs[0].set_ylabel(r'$e_\text{tot}^\text{int}$ (MeV)',fontsize='14')
700
+ axs[0].set_xlim([0, 0.33])
478
701
  axs[0].set_ylim([-2, 27])
479
702
  #axs[0].set_tick_params('y', right=True)
480
703
  #axs[0].set_tick_params('x', top=True)
481
704
  #
482
- axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
483
- axs[1].set_xlim([0, 0.28])
705
+ axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
706
+ axs[1].set_xlim([0, 0.33])
484
707
  axs[1].set_ylim([-2, 27])
485
708
  axs[1].tick_params('y', labelleft=False)
486
709
  #
@@ -514,10 +737,10 @@ def eos_setupAMBeq_e2a_tot_fig( pname, micro_mbs, pheno_models, band ):
514
737
  if micro.e2a_tot is not None:
515
738
  print('model:',model)
516
739
  if mb in mb_check:
517
- axs[0].plot( micro.den, micro.e2a_tot, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
740
+ axs[0].plot( micro.den, micro.e2a_int_tot, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
518
741
  else:
519
742
  mb_check.append(mb)
520
- axs[0].plot( micro.den, micro.e2a_tot, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
743
+ axs[0].plot( micro.den, micro.e2a_int_tot, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
521
744
  # end of model
522
745
  # end of mb
523
746
  #
@@ -545,10 +768,10 @@ def eos_setupAMBeq_e2a_tot_fig( pname, micro_mbs, pheno_models, band ):
545
768
  if pheno.e2a_tot is not None:
546
769
  print('model:',model,' param:',param)
547
770
  if model in model_check:
548
- axs[1].plot( pheno.den, pheno.e2a_tot, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
771
+ axs[1].plot( pheno.den, pheno.e2a_int_tot, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
549
772
  else:
550
773
  model_check.append(model)
551
- axs[1].plot( pheno.den, pheno.e2a_tot, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
774
+ axs[1].plot( pheno.den, pheno.e2a_int_tot, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
552
775
  # end of param
553
776
  # end of model
554
777
  #
@@ -580,27 +803,27 @@ def eos_setupAMBeq_pre_tot_fig( pname, micro_mbs, pheno_models, band ):
580
803
  print(f'Plot name: {pname}')
581
804
  #
582
805
  p_den = 0.32
583
- p_cen = 20.0
584
- p_std = 11.0
806
+ p_cen = 23.0
807
+ p_std = 14.0
585
808
  p_micro_cen = 16.3
586
809
  p_micro_std = 3.0
587
- p_pheno_cen = 20.0
588
- p_pheno_std = 11.0
810
+ p_pheno_cen = 23.0
811
+ p_pheno_std = 14.0
589
812
  #
590
813
  fig, axs = plt.subplots(1,2)
591
814
  fig.tight_layout() # Or equivalently, "plt.tight_layout()"
592
- fig.subplots_adjust(left=0.10, bottom=0.12, right=None, top=0.90, wspace=0.05, hspace=0.05 )
815
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.05 )
593
816
  #
594
- axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
595
- axs[0].set_ylabel(r'$P_\text{tot}$ (fm$^{-3}$)')
817
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
818
+ axs[0].set_ylabel(r'$p_\text{tot}$ (MeV fm$^{-3}$)',fontsize='14')
596
819
  axs[0].set_xlim([0, 0.35])
597
- axs[0].set_ylim([-2, 80])
820
+ axs[0].set_ylim([-2, 60])
598
821
  #axs[0].set_tick_params('y', right=True)
599
822
  #axs[0].set_tick_params('x', top=True)
600
823
  #
601
- axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
824
+ axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
602
825
  axs[1].set_xlim([0, 0.35])
603
- axs[1].set_ylim([-2, 80])
826
+ axs[1].set_ylim([-2, 60])
604
827
  axs[1].tick_params('y', labelleft=False)
605
828
  #
606
829
  mb_check = []
@@ -684,6 +907,240 @@ def eos_setupAMBeq_pre_tot_fig( pname, micro_mbs, pheno_models, band ):
684
907
  plt.savefig(pname, dpi=200)
685
908
  plt.close()
686
909
 
910
+ def eos_setupAMBeq_cs2_tot_fig( pname, micro_mbs, pheno_models, band ):
911
+ """
912
+ Plot nuclear chart (N versus Z).\
913
+ The plot is 1x2 with:\
914
+ [0]: nuclear chart.
915
+
916
+ :param pname: name of the figure (*.png)
917
+ :type pname: str.
918
+ :param table: table.
919
+ :type table: str.
920
+ :param version: version of table to run on.
921
+ :type version: str.
922
+ :param theo_tables: object instantiated on the reference band.
923
+ :type theo_tables: object.
924
+
925
+ """
926
+ #
927
+ print(f'Plot name: {pname}')
928
+ #
929
+ fig, axs = plt.subplots(1,2)
930
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
931
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.05 )
932
+ #
933
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
934
+ axs[0].set_ylabel(r'$c_\text{s,tot}^2/c^2$',fontsize='14')
935
+ axs[0].set_xlim([0, 0.35])
936
+ axs[0].set_ylim([-0.05, 0.25])
937
+ #axs[0].set_tick_params('y', right=True)
938
+ #axs[0].set_tick_params('x', top=True)
939
+ #
940
+ axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
941
+ axs[1].set_xlim([0, 0.35])
942
+ axs[1].set_ylim([-0.05, 0.25])
943
+ axs[1].tick_params('y', labelleft=False)
944
+ #
945
+ mb_check = []
946
+ #
947
+ for kmb,mb in enumerate(micro_mbs):
948
+ #
949
+ print('mb:',mb,kmb)
950
+ #
951
+ models, models_lower = nuda.matter.micro_esym_models_mb( mb )
952
+ #
953
+ print('models:',models)
954
+ #
955
+ if mb == 'VAR':
956
+ models.remove('1998-VAR-AM-APR-fit')
957
+ models_lower.remove('1998-var-am-apr-fit')
958
+ #
959
+ for model in models:
960
+ #
961
+ micro = nuda.eos.setupAMBeq( model = model, kind = 'micro' )
962
+ if nuda.env.verb_output: micro.print_outputs( )
963
+ #
964
+ check = nuda.matter.setupCheck( eos = micro, band = band )
965
+ #
966
+ if check.isInside:
967
+ lstyle = 'solid'
968
+ else:
969
+ lstyle = 'dashed'
970
+ #continue
971
+ #
972
+ #
973
+ if micro.cs2_tot is not None:
974
+ print('model:',model)
975
+ if mb in mb_check:
976
+ axs[0].plot( micro.den, micro.cs2_tot, marker='o', linestyle=micro.linestyle, markevery=micro.every, color=nuda.param.col[kmb] )
977
+ else:
978
+ mb_check.append(mb)
979
+ axs[0].plot( micro.den, micro.cs2_tot, marker='o', linestyle=micro.linestyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
980
+ # end of model
981
+ # end of mb
982
+ axs[0].text(0.02,0.2,'microscopic models',fontsize='10')
983
+ #
984
+ model_check = []
985
+ #
986
+ for kmodel,model in enumerate(pheno_models):
987
+ #
988
+ params, params_lower = nuda.matter.pheno_esym_params( model = model )
989
+ #
990
+ for param in params:
991
+ #
992
+ pheno = nuda.eos.setupAMBeq( model = model, param = param, kind = 'pheno' )
993
+ if nuda.env.verb_output: pheno.print_outputs( )
994
+ #
995
+ check = nuda.matter.setupCheck( eos = pheno, band = band )
996
+ #
997
+ if check.isInside:
998
+ lstyle = 'solid'
999
+ else:
1000
+ lstyle = 'dashed'
1001
+ #continue
1002
+ #
1003
+ if pheno.cs2_tot is not None:
1004
+ print('model:',model,' param:',param)
1005
+ if model in model_check:
1006
+ axs[1].plot( pheno.den, pheno.cs2_tot, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
1007
+ else:
1008
+ model_check.append(model)
1009
+ axs[1].plot( pheno.den, pheno.cs2_tot, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
1010
+ # end of param
1011
+ # end of model
1012
+ axs[1].text(0.02,0.2,'phenomenological models',fontsize='10')
1013
+ #
1014
+ fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
1015
+ #
1016
+ if pname is not None:
1017
+ plt.savefig(pname, dpi=200)
1018
+ plt.close()
1019
+
1020
+ def eos_setupAMBeq_eos_fig( pname, micro_mbs, pheno_models, band ):
1021
+ """
1022
+ Plot nuclear chart (N versus Z).\
1023
+ The plot is 1x2 with:\
1024
+ [0]: nuclear chart.
1025
+
1026
+ :param pname: name of the figure (*.png)
1027
+ :type pname: str.
1028
+ :param table: table.
1029
+ :type table: str.
1030
+ :param version: version of table to run on.
1031
+ :type version: str.
1032
+ :param theo_tables: object instantiated on the reference band.
1033
+ :type theo_tables: object.
1034
+
1035
+ """
1036
+ #
1037
+ print(f'Plot name: {pname}')
1038
+ #
1039
+ p_den = 312.0
1040
+ p_cen = 12.5
1041
+ p_std = 11.0
1042
+ p_micro_cen = 14.0
1043
+ p_micro_std = 2.5
1044
+ p_pheno_cen = 12.5
1045
+ p_pheno_std = 11.0
1046
+ #
1047
+ fig, axs = plt.subplots(1,2)
1048
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
1049
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.05 )
1050
+ #
1051
+ axs[0].set_xlabel(r'$\epsilon_\text{tot}$ (MeV fm$^{-3}$)',fontsize='14')
1052
+ axs[0].set_ylabel(r'$p_\text{tot}$ (MeV fm$^{-3}$)',fontsize='14')
1053
+ axs[0].set_xlim([0, 350])
1054
+ axs[0].set_ylim([-2, 30])
1055
+ #axs[0].set_tick_params('y', right=True)
1056
+ #axs[0].set_tick_params('x', top=True)
1057
+ #
1058
+ axs[1].set_xlabel(r'$\epsilon_\text{tot}$ (MeV fm$^{-3}$)',fontsize='14')
1059
+ axs[1].set_xlim([0, 350])
1060
+ axs[1].set_ylim([-2, 30])
1061
+ axs[1].tick_params('y', labelleft=False)
1062
+ #
1063
+ mb_check = []
1064
+ #
1065
+ for kmb,mb in enumerate(micro_mbs):
1066
+ #
1067
+ print('mb:',mb,kmb)
1068
+ #
1069
+ models, models_lower = nuda.matter.micro_esym_models_mb( mb )
1070
+ #
1071
+ print('models:',models)
1072
+ #
1073
+ if mb == 'VAR':
1074
+ models.remove('1998-VAR-AM-APR-fit')
1075
+ models_lower.remove('1998-var-am-apr-fit')
1076
+ #
1077
+ for model in models:
1078
+ #
1079
+ micro = nuda.eos.setupAMBeq( model = model, kind = 'micro' )
1080
+ if nuda.env.verb_output: micro.print_outputs( )
1081
+ #
1082
+ check = nuda.matter.setupCheck( eos = micro, band = band )
1083
+ #
1084
+ if check.isInside:
1085
+ lstyle = 'solid'
1086
+ else:
1087
+ lstyle = 'dashed'
1088
+ #continue
1089
+ #
1090
+ #
1091
+ if micro.pre_tot is not None:
1092
+ print('model:',model)
1093
+ if mb in mb_check:
1094
+ axs[0].plot( micro.eps_tot, micro.pre_tot, marker='o', linestyle=micro.linestyle, markevery=micro.every, color=nuda.param.col[kmb] )
1095
+ else:
1096
+ mb_check.append(mb)
1097
+ axs[0].plot( micro.eps_tot, micro.pre_tot, marker='o', linestyle=micro.linestyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
1098
+ # end of model
1099
+ # end of mb
1100
+ #
1101
+ axs[0].errorbar( p_den, p_cen, yerr=p_std, color='k', linewidth = 3 )
1102
+ axs[0].errorbar( p_den+5.0, p_micro_cen, yerr=p_micro_std, color='r', linewidth = 3 )
1103
+ axs[0].text(10,20,'microscopic models',fontsize='10')
1104
+ #
1105
+ model_check = []
1106
+ #
1107
+ for kmodel,model in enumerate(pheno_models):
1108
+ #
1109
+ params, params_lower = nuda.matter.pheno_esym_params( model = model )
1110
+ #
1111
+ for param in params:
1112
+ #
1113
+ pheno = nuda.eos.setupAMBeq( model = model, param = param, kind = 'pheno' )
1114
+ if nuda.env.verb_output: pheno.print_outputs( )
1115
+ #
1116
+ check = nuda.matter.setupCheck( eos = pheno, band = band )
1117
+ #
1118
+ if check.isInside:
1119
+ lstyle = 'solid'
1120
+ else:
1121
+ lstyle = 'dashed'
1122
+ #continue
1123
+ #
1124
+ if pheno.pre_tot is not None:
1125
+ print('model:',model,' param:',param)
1126
+ if model in model_check:
1127
+ axs[1].plot( pheno.eps_tot, pheno.pre_tot, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
1128
+ else:
1129
+ model_check.append(model)
1130
+ axs[1].plot( pheno.eps_tot, pheno.pre_tot, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
1131
+ # end of param
1132
+ # end of model
1133
+ #
1134
+ axs[1].errorbar( p_den, p_cen, yerr=p_std, color='k', linewidth = 3 )
1135
+ axs[1].errorbar( p_den+5.0, p_pheno_cen, yerr=p_pheno_std, color='r', linewidth = 3 )
1136
+ axs[1].text(10,20,'phenomenological models',fontsize='10')
1137
+ #
1138
+ fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
1139
+ #
1140
+ if pname is not None:
1141
+ plt.savefig(pname, dpi=200)
1142
+ plt.close()
1143
+
687
1144
  def eos_setupAMBeq_xp_fig( pname, micro_mbs, pheno_models, band ):
688
1145
  """
689
1146
  Plot nuclear chart (N versus Z).\
@@ -705,18 +1162,18 @@ def eos_setupAMBeq_xp_fig( pname, micro_mbs, pheno_models, band ):
705
1162
  #
706
1163
  fig, axs = plt.subplots(1,2)
707
1164
  fig.tight_layout() # Or equivalently, "plt.tight_layout()"
708
- fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.90, wspace=0.05, hspace=0.3 )
1165
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.3 )
709
1166
  #
710
- axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
711
- axs[0].set_ylabel(r'proton fraction $x_p$')
712
- axs[0].set_xlim([0, 0.28])
1167
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
1168
+ axs[0].set_ylabel(r'proton fraction $x_p$',fontsize='14')
1169
+ axs[0].set_xlim([0, 0.33])
713
1170
  axs[0].set_ylim([0, 0.2])
714
1171
  #axs[0].set_tick_params('y', right=True)
715
1172
  #axs[0].set_tick_params('x', top=True)
716
1173
  #
717
- axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
1174
+ axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
718
1175
  #axs[1].set_ylabel(r'proton fraction $x_p$')
719
- axs[1].set_xlim([0, 0.28])
1176
+ axs[1].set_xlim([0, 0.33])
720
1177
  axs[1].set_ylim([0, 0.2])
721
1178
  #setp(axs[1].get_yticklabels(), visible=False)
722
1179
  axs[1].tick_params('y', labelleft=False)
@@ -818,16 +1275,16 @@ def eos_setupAMBeq_xe_fig( pname, micro_mbs, pheno_models, band ):
818
1275
  #
819
1276
  fig, axs = plt.subplots(1,2)
820
1277
  fig.tight_layout() # Or equivalently, "plt.tight_layout()"
821
- fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.90, wspace=0.05, hspace=0.3 )
1278
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.3 )
822
1279
  #
823
- axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
824
- axs[0].set_ylabel(r'electron fraction $x_e$')
825
- axs[0].set_xlim([0, 0.28])
1280
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
1281
+ axs[0].set_ylabel(r'electron fraction $x_e$',fontsize='14')
1282
+ axs[0].set_xlim([0, 0.33])
826
1283
  axs[0].set_ylim([0, 0.2])
827
1284
  #
828
- axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
1285
+ axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
829
1286
  #axs[1].set_ylabel(r'electron fraction $x_e$')
830
- axs[1].set_xlim([0, 0.28])
1287
+ axs[1].set_xlim([0, 0.33])
831
1288
  axs[1].set_ylim([0, 0.2])
832
1289
  axs[1].tick_params('y', labelleft=False)
833
1290
  #
@@ -930,16 +1387,16 @@ def eos_setupAMBeq_xmu_fig( pname, micro_mbs, pheno_models, band ):
930
1387
  #
931
1388
  fig, axs = plt.subplots(1,2)
932
1389
  fig.tight_layout() # Or equivalently, "plt.tight_layout()"
933
- fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.90, wspace=0.05, hspace=0.3 )
1390
+ fig.subplots_adjust(left=0.12, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.3 )
934
1391
  #
935
- axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
936
- axs[0].set_ylabel(r'muon fraction $x_\mu$')
937
- axs[0].set_xlim([0, 0.28])
1392
+ axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
1393
+ axs[0].set_ylabel(r'muon fraction $x_\mu$',fontsize='14')
1394
+ axs[0].set_xlim([0, 0.33])
938
1395
  axs[0].set_ylim([0, 0.2])
939
1396
  #
940
- axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
1397
+ axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
941
1398
  #axs[1].set_ylabel(r'muon fraction $x_\mu$')
942
- axs[1].set_xlim([0, 0.28])
1399
+ axs[1].set_xlim([0, 0.33])
943
1400
  axs[1].set_ylim([0, 0.2])
944
1401
  axs[1].tick_params('y', labelleft=False)
945
1402
  #