nucleardatapy 0.2.1__py3-none-any.whl → 1.0.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 (172) hide show
  1. nucleardatapy/__init__.py +3 -1
  2. nucleardatapy/astro/setup_gw.py +18 -18
  3. nucleardatapy/astro/setup_mr.py +123 -33
  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/create_folder.py +2 -2
  9. nucleardatapy/crust/setup_crust.py +364 -126
  10. nucleardatapy/data/astro/HESS/J1731-347.dat +4 -0
  11. nucleardatapy/data/astro/NICER/J0030+0451.dat +6 -6
  12. nucleardatapy/data/astro/NICER/J0437-4715.dat +4 -3
  13. nucleardatapy/data/astro/NICER/J0614-3329.dat +4 -0
  14. nucleardatapy/data/astro/NICER/J0740+6620.dat +5 -4
  15. nucleardatapy/data/hnuclei/1991-2L-Yamamoto.csv +6 -0
  16. nucleardatapy/data/hnuclei/2013-2L-Ahn.csv +1 -1
  17. nucleardatapy/data/hnuclei/2019-2L-Ekawa.csv +7 -0
  18. nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-E2A-NM.dat +8 -8
  19. nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-414-E2A.dat +21 -0
  20. nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-414-TD.dat +22 -0
  21. nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-450-E2A.dat +20 -0
  22. nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-450-TD.dat +22 -0
  23. nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-500-E2A.dat +23 -0
  24. nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-500-TD.dat +22 -0
  25. nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-414-E2A.dat +15 -0
  26. nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-414-TD.dat +21 -0
  27. nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-450-E2A.dat +15 -0
  28. nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-450-TD.dat +21 -0
  29. nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-500-E2A.dat +20 -0
  30. nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-500-TD.dat +20 -0
  31. nucleardatapy/data/matter/micro/2024-ABI-NM-DeltaNNLO450.dat +28 -0
  32. nucleardatapy/data/matter/micro/2024-ABI-NM-DeltaNNLO500.dat +28 -0
  33. nucleardatapy/data/matter/micro/2024-ABI-NM-DeltaNNLOgo394.dat +28 -0
  34. nucleardatapy/data/matter/micro/2024-ABI-NM-DeltaNNLOgo450.dat +28 -0
  35. nucleardatapy/data/matter/micro/2024-ABI-NM-NNLOsat.dat +28 -0
  36. nucleardatapy/data/matter/micro/2024-ABI-SM-DeltaNNLO450.dat +28 -0
  37. nucleardatapy/data/matter/micro/2024-ABI-SM-DeltaNNLO500.dat +28 -0
  38. nucleardatapy/data/matter/micro/2024-ABI-SM-DeltaNNLOgo394.dat +28 -0
  39. nucleardatapy/data/matter/micro/2024-ABI-SM-DeltaNNLOgo450.dat +28 -0
  40. nucleardatapy/data/matter/micro/2024-ABI-SM-NNLOsat.dat +28 -0
  41. nucleardatapy/data/matter/nep/NEPESkyrme.dat +2 -3
  42. nucleardatapy/data/matter/nep/NEPGSkyrme.dat +7 -0
  43. nucleardatapy/data/matter/nep/NEPSkyrme.dat +4 -2
  44. nucleardatapy/data/matter/nep/NEPxEFT.dat +8 -0
  45. nucleardatapy/data/matter/nep/best67DDSkyrme.dat +28 -0
  46. nucleardatapy/data/matter/nep/best90DDSkyrme.dat +46 -0
  47. nucleardatapy/data/matter/nep/best95DDSkyrme.dat +54 -0
  48. nucleardatapy/data/matter/pheno/ESkyrme/BSk31-NM.dat +996 -996
  49. nucleardatapy/data/matter/pheno/ESkyrme/BSk31-SM.dat +991 -991
  50. nucleardatapy/data/matter/pheno/ESkyrme/BSkG4-NM.dat +1002 -0
  51. nucleardatapy/data/matter/pheno/ESkyrme/BSkG4-SM.dat +1002 -0
  52. nucleardatapy/data/matter/pheno/Skyrme/BSkG1-NM.dat +102 -0
  53. nucleardatapy/data/matter/pheno/Skyrme/BSkG1-SM.dat +102 -0
  54. nucleardatapy/data/matter/pheno/Skyrme/BSkG2-NM.dat +102 -0
  55. nucleardatapy/data/matter/pheno/Skyrme/BSkG2-SM.dat +102 -0
  56. nucleardatapy/env.py +1 -1
  57. nucleardatapy/eos/__init__.py +4 -3
  58. nucleardatapy/eos/setupCC.py +429 -0
  59. nucleardatapy/eos/setup_am.py +39 -14
  60. nucleardatapy/eos/setup_am_Beq.py +40 -15
  61. nucleardatapy/eos/setup_am_Leq.py +40 -15
  62. nucleardatapy/fig/__init__.py +24 -15
  63. nucleardatapy/fig/astro_setupGW_fig.py +9 -7
  64. nucleardatapy/fig/astro_setupMR_fig.py +26 -18
  65. nucleardatapy/fig/astro_setupMasses_fig.py +8 -6
  66. nucleardatapy/fig/astro_setupMtov_fig.py +10 -6
  67. nucleardatapy/fig/astro_setupMup_fig.py +9 -7
  68. nucleardatapy/fig/corr_setupEsymDen_fig.py +22 -9
  69. nucleardatapy/fig/corr_setupEsymLsym_fig.py +25 -8
  70. nucleardatapy/fig/corr_setupKsatQsat_fig.py +23 -17
  71. nucleardatapy/fig/crust_setupCrust_fig.py +11 -9
  72. nucleardatapy/fig/eos_setupAMBeq_fig.py +641 -156
  73. nucleardatapy/fig/eos_setupAMLeq_fig.py +53 -50
  74. nucleardatapy/fig/eos_setupAM_asy_lep_fig.py +373 -0
  75. nucleardatapy/fig/eos_setupAM_asy_nuc_fig.py +346 -0
  76. nucleardatapy/fig/eos_setupAM_asy_tot_fig.py +352 -0
  77. nucleardatapy/fig/eos_setupAM_fig.py +519 -0
  78. nucleardatapy/fig/eos_setupCC_fig.py +270 -0
  79. nucleardatapy/fig/hnuc_setupChart_fig.py +19 -16
  80. nucleardatapy/fig/hnuc_setupRE1LExp_fig.py +15 -5
  81. nucleardatapy/fig/matter_all_fig.py +971 -0
  82. nucleardatapy/fig/matter_setupCheck_fig.py +106 -0
  83. nucleardatapy/fig/matter_setupFFGLep_fig.py +74 -0
  84. nucleardatapy/fig/matter_setupFFGNuc_fig.py +286 -115
  85. nucleardatapy/fig/matter_setupHIC_fig.py +107 -67
  86. nucleardatapy/fig/matter_setupMicroEsym_fig.py +259 -73
  87. nucleardatapy/fig/matter_setupMicro_LP_fig.py +185 -82
  88. nucleardatapy/fig/matter_setupMicro_band_fig.py +126 -53
  89. nucleardatapy/fig/matter_setupMicro_effmass_fig.py +253 -77
  90. nucleardatapy/fig/matter_setupMicro_err_NM_fig.py +45 -20
  91. nucleardatapy/fig/matter_setupMicro_fig.py +317 -77
  92. nucleardatapy/fig/matter_setupMicro_gap_fig.py +237 -100
  93. nucleardatapy/fig/matter_setupNEPStats_fig.py +106 -0
  94. nucleardatapy/fig/matter_setupPhenoEsym_fig.py +204 -65
  95. nucleardatapy/fig/matter_setupPheno_fig.py +395 -93
  96. nucleardatapy/fig/nuc_setupBEExp_chart_fig.py +93 -73
  97. nucleardatapy/fig/nuc_setupBEExp_fig.py +97 -87
  98. nucleardatapy/fig/nuc_setupBETheo_fig.py +114 -81
  99. nucleardatapy/fig/nuc_setupISGMRExp_fig.py +12 -15
  100. nucleardatapy/fig/nuc_setupRchExp_fig.py +14 -22
  101. nucleardatapy/fig/nuc_setupRchTheo_fig.py +37 -40
  102. nucleardatapy/fig/nuc_setupRnpExp_fig.py +86 -106
  103. nucleardatapy/fig/nuc_setupRnpTheo_fig.py +105 -94
  104. nucleardatapy/hello.py +6 -0
  105. nucleardatapy/hnuc/setup_re1L_exp.py +6 -6
  106. nucleardatapy/hnuc/setup_re1Xi_exp.py +5 -5
  107. nucleardatapy/hnuc/setup_re2L_exp.py +36 -13
  108. nucleardatapy/matter/__init__.py +14 -14
  109. nucleardatapy/matter/setup_check.py +6 -6
  110. nucleardatapy/matter/setup_ffg.py +66 -39
  111. nucleardatapy/matter/setup_hic.py +91 -74
  112. nucleardatapy/matter/setup_micro.py +2033 -1007
  113. nucleardatapy/matter/setup_micro_band.py +6 -6
  114. nucleardatapy/matter/setup_micro_esym.py +56 -54
  115. nucleardatapy/matter/setup_micro_gap.py +24 -17
  116. nucleardatapy/matter/setup_micro_lp.py +2 -2
  117. nucleardatapy/matter/setup_nep.py +175 -92
  118. nucleardatapy/matter/{setup_nep_model_dist.py → setup_nep_stat_model.py} +13 -8
  119. nucleardatapy/matter/{setup_nep_dist.py → setup_nep_stat_models.py} +12 -8
  120. nucleardatapy/matter/setup_pheno.py +129 -49
  121. nucleardatapy/matter/setup_pheno_esym.py +22 -19
  122. nucleardatapy/nuc/setup_be_exp.py +306 -292
  123. nucleardatapy/nuc/setup_be_theo.py +288 -105
  124. nucleardatapy/nuc/setup_isgmr_exp.py +4 -4
  125. nucleardatapy/nuc/setup_rnp_exp.py +1 -0
  126. nucleardatapy/nuc/setup_rnp_theo.py +2 -1
  127. {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.1.dist-info}/METADATA +48 -16
  128. {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.1.dist-info}/RECORD +157 -124
  129. {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.1.dist-info}/WHEEL +1 -1
  130. tests/test_corr_setupKsatQsat.py +3 -1
  131. tests/test_matter_setupMicro.py +37 -10
  132. nucleardatapy/data/matter/pheno/ESkyrme/BSkG1-NM.dat +0 -1002
  133. nucleardatapy/data/matter/pheno/ESkyrme/BSkG1-SM.dat +0 -1002
  134. nucleardatapy/data/matter/pheno/ESkyrme/BSkG2-NM.dat +0 -1002
  135. nucleardatapy/data/matter/pheno/ESkyrme/BSkG2-SM.dat +0 -1002
  136. nucleardatapy/fig/eos_setupAM_e_asy_lep_fig.py +0 -125
  137. nucleardatapy/fig/eos_setupAM_e_asy_nuc_fig.py +0 -115
  138. nucleardatapy/fig/eos_setupAM_e_asy_tot_fig.py +0 -117
  139. nucleardatapy/fig/eos_setupAM_e_fig.py +0 -173
  140. nucleardatapy/fig/matter_ENM_fig.py +0 -128
  141. nucleardatapy/fig/matter_ESM_fig.py +0 -140
  142. nucleardatapy/fig/matter_Esym_fig.py +0 -134
  143. nucleardatapy/fig/matter_cs2_fig.py +0 -83
  144. nucleardatapy/fig/matter_preNM_fig.py +0 -146
  145. nucleardatapy/fig/matter_preSM_fig.py +0 -144
  146. nucleardatapy/fig/matter_setupNEPModelDist_fig.py +0 -68
  147. /nucleardatapy/data/LandauParameters/micro/{2006-IBHF-NM-AV18.dat → 2006-EBHF-NM-AV18.dat} +0 -0
  148. /nucleardatapy/data/LandauParameters/micro/{2006-IBHF-SM-AV18.dat → 2006-EBHF-SM-AV18.dat} +0 -0
  149. /nucleardatapy/data/crust/{2022-crustGMRS-BSK14.dat → 2022-GMRS-BSK14.dat} +0 -0
  150. /nucleardatapy/data/crust/{2022-crustGMRS-BSK16.dat → 2022-GMRS-BSK16.dat} +0 -0
  151. /nucleardatapy/data/crust/{2022-crustGMRS-DHSL59.dat → 2022-GMRS-DHSL59.dat} +0 -0
  152. /nucleardatapy/data/crust/{2022-crustGMRS-DHSL69.dat → 2022-GMRS-DHSL69.dat} +0 -0
  153. /nucleardatapy/data/crust/{2022-crustGMRS-F0.dat → 2022-GMRS-F0.dat} +0 -0
  154. /nucleardatapy/data/crust/{2022-crustGMRS-H1.dat → 2022-GMRS-H1.dat} +0 -0
  155. /nucleardatapy/data/crust/{2022-crustGMRS-H2.dat → 2022-GMRS-H2.dat} +0 -0
  156. /nucleardatapy/data/crust/{2022-crustGMRS-H3.dat → 2022-GMRS-H3.dat} +0 -0
  157. /nucleardatapy/data/crust/{2022-crustGMRS-H4.dat → 2022-GMRS-H4.dat} +0 -0
  158. /nucleardatapy/data/crust/{2022-crustGMRS-H5.dat → 2022-GMRS-H5.dat} +0 -0
  159. /nucleardatapy/data/crust/{2022-crustGMRS-H7.dat → 2022-GMRS-H7.dat} +0 -0
  160. /nucleardatapy/data/crust/{2022-crustGMRS-LNS5.dat → 2022-GMRS-LNS5.dat} +0 -0
  161. /nucleardatapy/data/crust/{2022-crustGMRS-RATP.dat → 2022-GMRS-RATP.dat} +0 -0
  162. /nucleardatapy/data/crust/{2022-crustGMRS-SGII.dat → 2022-GMRS-SGII.dat} +0 -0
  163. /nucleardatapy/data/crust/{2022-crustGMRS-SLY5.dat → 2022-GMRS-SLY5.dat} +0 -0
  164. /nucleardatapy/data/matter/micro/{2013-QMC-NM.dat → 2013-MBPT-NM.dat} +0 -0
  165. /nucleardatapy/data/{NeutronSkin/ddrhNskin-208Pb.dat → rnp/ddrhrnp-208Pb.dat} +0 -0
  166. /nucleardatapy/data/{NeutronSkin/ddrhNskin-48Ca.dat → rnp/ddrhrnp-48Ca.dat} +0 -0
  167. /nucleardatapy/data/{NeutronSkin/nlrhNskin-208Pb.dat → rnp/nlrhrnp-208Pb.dat} +0 -0
  168. /nucleardatapy/data/{NeutronSkin/nlrhNskin-48Ca.dat → rnp/nlrhrnp-48Ca.dat} +0 -0
  169. /nucleardatapy/data/{NeutronSkin/skyrmeNskin-208Pb.dat → rnp/skyrmernp-208Pb.dat} +0 -0
  170. /nucleardatapy/data/{NeutronSkin/skyrmeNskin-48Ca.dat → rnp/skyrmernp-48Ca.dat} +0 -0
  171. {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.1.dist-info}/licenses/LICENSE +0 -0
  172. {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.1.dist-info}/top_level.txt +0 -0
@@ -3,12 +3,19 @@ import matplotlib.pyplot as plt
3
3
 
4
4
  import nucleardatapy as nuda
5
5
 
6
- def matter_setupMicro_LP_fig( pname, models, matter = 'SM', ell = 0 ):
6
+ def matter_setupMicro_LP_fig( pname, models, matter="SM", ell=0 ):
7
7
  """
8
- Plot nucleonic energy per particle E/A in matter.\
9
- The plot is 2x2 with:\
10
- [0,0]: E/A versus den. [0,1]: E/A versus kfn.\
11
- [1,0]: E/E_NRFFG versus den. [1,1]: E/E_NRFFG versus kfn.\
8
+ Plot nucleonic energy per particle E/A in matter.
9
+
10
+ The plot is 2x2 in SM with:
11
+
12
+ [0,0]: F_ell versus den. [0,1]: G_ell versus den.
13
+
14
+ [1,0]: F'_ell' versus den. [1,1]: G'_ell versus den.
15
+
16
+ Or the plot is 2x1 in NM with:
17
+
18
+ [0]: F_ell versus den. [1]: G_ell versus den.
12
19
 
13
20
  :param pname: name of the figure (*.png)
14
21
  :type pname: str.
@@ -21,89 +28,185 @@ def matter_setupMicro_LP_fig( pname, models, matter = 'SM', ell = 0 ):
21
28
 
22
29
  """
23
30
  #
24
- print(f'Plot name: {pname}')
31
+ print(f"Plot name: {pname}")
25
32
  #
26
- if matter.lower() == 'sm':
27
- fig, axs = plt.subplots(2,2)
28
- fig.subplots_adjust(left=0.12, bottom=0.12, right=0.98, top=0.98, wspace=0.15, hspace=0.05 )
29
- elif matter.lower() == 'nm':
30
- fig, axs = plt.subplots(1,2)
31
- fig.subplots_adjust(left=0.12, bottom=0.12, right=0.98, top=0.98, wspace=0.15, hspace=0.3 )
33
+ if matter.lower() == "sm":
34
+ fig, axs = plt.subplots(2, 2)
35
+ fig.subplots_adjust( left=0.12, bottom=0.12, right=0.98, top=0.98, wspace=0.15, hspace=0.05 )
36
+ elif matter.lower() == "nm":
37
+ fig, axs = plt.subplots(1, 2)
38
+ fig.subplots_adjust( left=0.12, bottom=0.12, right=0.98, top=0.98, wspace=0.15, hspace=0.05 )
32
39
  else:
33
- print('matter_setupMicro_LP_fig: issue with matter:',matter)
34
- print('matter_setupMicro_LP_fig: --- exit() ---')
35
- exit()
40
+ print("matter_setupMicro_LP_fig: issue with matter:", matter)
41
+ print("matter_setupMicro_LP_fig: --- exit() ---")
42
+ exit()
36
43
  #
37
44
  #
38
- if matter.lower() == 'sm':
39
- axs[0,0].set_xlim([0, 2.0])
40
- axs[0,0].set_ylim([-2.1, 1.6])
41
- if ell == 0: axs[0,0].set_ylabel(r'$F_0$')
42
- if ell == 1: axs[0,0].set_ylabel(r'$F_1$')
43
- axs[0,0].tick_params('x', labelbottom=False)
44
- if ell == 0: axs[0,1].set_ylabel(r'$G_0$')
45
- if ell == 1: axs[0,1].set_ylabel(r'$G_1$')
46
- axs[0,1].set_xlim([0, 2.0])
47
- axs[0,1].set_ylim([-2.1, 1.6])
48
- axs[0,1].tick_params('x', labelbottom=False)
49
- axs[0,1].tick_params('y', labelleft=False)
50
- if ell == 0: axs[1,0].set_ylabel(r'$F_0^\prime$')
51
- if ell == 1: axs[1,0].set_ylabel(r'$F_1^\prime$')
52
- axs[1,0].set_xlabel(r'$k_F$ (fm$^{-1}$)')
53
- axs[1,0].set_xlim([0, 2.0])
54
- axs[1,0].set_ylim([-2.1, 1.6])
55
- if ell == 0: axs[1,1].set_ylabel(r'$G_0^\prime$')
56
- if ell == 1: axs[1,1].set_ylabel(r'$G_1^\prime$')
57
- axs[1,1].set_xlabel(r'$k_F$ (fm$^{-1}$)')
58
- axs[1,1].set_xlim([0, 2.0])
59
- axs[1,1].set_ylim([-2.1, 1.6])
60
- axs[1,1].tick_params('y', labelleft=False)
61
- elif matter.lower() == 'nm':
62
- if ell == 0: axs[0].set_ylabel(r'$F_0$')
63
- if ell == 1: axs[0].set_ylabel(r'$F_1$')
64
- axs[0].set_xlabel(r'$k_{F_n}$ (fm$^{-1}$)')
65
- axs[0].set_xlim([0, 2.0])
66
- axs[0].set_ylim([-1.1, 1.1])
67
- if ell == 0: axs[1].set_ylabel(r'$G_0$')
68
- if ell == 1: axs[1].set_ylabel(r'$G_1$')
69
- axs[1].set_xlabel(r'$k_{F_n}$ (fm$^{-1}$)')
70
- axs[1].set_xlim([0, 2.0])
71
- axs[1].set_ylim([-1.1, 1.1])
72
- axs[1].tick_params('y', labelleft=False)
45
+ if matter.lower() == "sm":
46
+ axs[0, 0].set_xlim([0, 2.0])
47
+ axs[0, 0].set_ylim([-2.1, 1.6])
48
+ if ell == 0:
49
+ axs[0, 0].set_ylabel(r"$F_0$", fontsize='14')
50
+ if ell == 1:
51
+ axs[0, 0].set_ylabel(r"$F_1$", fontsize='14')
52
+ axs[0, 0].tick_params("x", labelbottom=False)
53
+ if ell == 0:
54
+ axs[0, 1].set_ylabel(r"$G_0$", fontsize='14')
55
+ if ell == 1:
56
+ axs[0, 1].set_ylabel(r"$G_1$", fontsize='14')
57
+ axs[0, 1].set_xlim([0, 2.0])
58
+ axs[0, 1].set_ylim([-2.1, 1.6])
59
+ axs[0, 1].tick_params("x", labelbottom=False)
60
+ axs[0, 1].tick_params("y", labelleft=False)
61
+ if ell == 0:
62
+ axs[1, 0].set_ylabel(r"$F_0^\prime$", fontsize='14')
63
+ if ell == 1:
64
+ axs[1, 0].set_ylabel(r"$F_1^\prime$", fontsize='14')
65
+ axs[1, 0].set_xlabel(r"$k_{F}$ (fm$^{-1}$)", fontsize='14')
66
+ axs[1, 0].set_xlim([0, 2.0])
67
+ axs[1, 0].set_ylim([-1.1, 2.6])
68
+ if ell == 0:
69
+ axs[1, 1].set_ylabel(r"$G_0^\prime$", fontsize='14')
70
+ if ell == 1:
71
+ axs[1, 1].set_ylabel(r"$G_1^\prime$", fontsize='14')
72
+ axs[1, 1].set_xlabel(r"$k_{F}$ (fm$^{-1}$)", fontsize='14')
73
+ axs[1, 1].set_xlim([0, 2.0])
74
+ axs[1, 1].set_ylim([-1.1, 2.6])
75
+ axs[1, 1].tick_params("y", labelleft=False)
76
+ elif matter.lower() == "nm":
77
+ if ell == 0:
78
+ axs[0].set_ylabel(r"$F_0$", fontsize='14')
79
+ if ell == 1:
80
+ axs[0].set_ylabel(r"$F_1$", fontsize='14')
81
+ axs[0].set_xlabel(r"$k_{F}$ (fm$^{-1}$)", fontsize='14')
82
+ axs[0].set_xlim([0, 2.0])
83
+ axs[0].set_ylim([-1.1, 1.1])
84
+ if ell == 0:
85
+ axs[1].set_ylabel(r"$G_0$", fontsize='14')
86
+ if ell == 1:
87
+ axs[1].set_ylabel(r"$G_1$", fontsize='14')
88
+ axs[1].set_xlabel(r"$k_{F}$ (fm$^{-1}$)", fontsize='14')
89
+ axs[1].set_xlim([0, 2.0])
90
+ axs[1].set_ylim([-1.1, 1.1])
91
+ axs[1].tick_params("y", labelleft=False)
73
92
  #
74
93
  for model in models:
94
+ #
95
+ mic = nuda.matter.setupMicroLP(model=model)
96
+ #
97
+ if matter in model:
98
+ print("\nmodel:", model, "\n")
99
+ if mic.err:
100
+ if matter.lower() == "sm" and mic.sm_LP["F"][ell] is not None:
101
+ axs[0, 0].errorbar(
102
+ mic.sm_kfn,
103
+ mic.sm_LP["F"][ell],
104
+ yerr=mic.sm_LP_F_err[ell],
105
+ marker=mic.marker,
106
+ linestyle="none",
107
+ label=mic.label,
108
+ )
109
+ axs[0, 1].errorbar(
110
+ mic.sm_kfn,
111
+ mic.sm_LP["G"][ell],
112
+ yerr=mic.sm_LP_G_err[ell],
113
+ marker=mic.marker,
114
+ linestyle="none",
115
+ label=mic.label,
116
+ )
117
+ axs[1, 0].errorbar(
118
+ mic.sm_kfn,
119
+ mic.sm_LP["Fp"][ell],
120
+ yerr=mic.sm_LP_Fp_err[ell],
121
+ marker=mic.marker,
122
+ linestyle="none",
123
+ label=mic.label,
124
+ )
125
+ axs[1, 1].errorbar(
126
+ mic.sm_kfn,
127
+ mic.sm_LP["Gp"][ell],
128
+ yerr=mic.sm_LP_Gp_err[ell],
129
+ marker=mic.marker,
130
+ linestyle="none",
131
+ label=mic.label,
132
+ )
133
+ elif matter.lower() == "nm" and mic.nm_LP["F"][ell] is not None:
134
+ axs[0].errorbar(
135
+ mic.nm_kfn,
136
+ mic.nm_LP["F"][ell],
137
+ marker=mic.marker,
138
+ linestyle="none",
139
+ label=mic.label,
140
+ )
141
+ axs[1].errorbar(
142
+ mic.nm_kfn,
143
+ mic.nm_LP["G"][ell],
144
+ marker=mic.marker,
145
+ linestyle="none",
146
+ label=mic.label,
147
+ )
148
+ else:
149
+ if matter.lower() == "sm" and mic.sm_LP["F"][ell] is not None:
150
+ axs[0, 0].plot(
151
+ mic.sm_kfn,
152
+ mic.sm_LP["F"][ell],
153
+ marker=mic.marker,
154
+ linestyle=mic.linestyle,
155
+ markevery=mic.every,
156
+ label=mic.label,
157
+ )
158
+ axs[0, 1].plot(
159
+ mic.sm_kfn,
160
+ mic.sm_LP["G"][ell],
161
+ marker=mic.marker,
162
+ linestyle=mic.linestyle,
163
+ markevery=mic.every,
164
+ label=mic.label,
165
+ )
166
+ axs[1, 0].plot(
167
+ mic.sm_kfn,
168
+ mic.sm_LP["Fp"][ell],
169
+ marker=mic.marker,
170
+ linestyle=mic.linestyle,
171
+ markevery=mic.every,
172
+ label=mic.label,
173
+ )
174
+ axs[1, 1].plot(
175
+ mic.sm_kfn,
176
+ mic.sm_LP["Gp"][ell],
177
+ marker=mic.marker,
178
+ linestyle=mic.linestyle,
179
+ markevery=mic.every,
180
+ label=mic.label,
181
+ )
182
+ elif matter.lower() == "nm" and mic.nm_LP["F"][ell] is not None:
183
+ axs[0].plot(
184
+ mic.nm_kfn,
185
+ mic.nm_LP["F"][ell],
186
+ marker=mic.marker,
187
+ linestyle=mic.linestyle,
188
+ markevery=mic.every,
189
+ label=mic.label,
190
+ )
191
+ axs[1].plot(
192
+ mic.nm_kfn,
193
+ mic.nm_LP["G"][ell],
194
+ marker=mic.marker,
195
+ linestyle=mic.linestyle,
196
+ markevery=mic.every,
197
+ label=mic.label,
198
+ )
199
+ #
200
+ if nuda.env.verb_output:
201
+ mic.print_outputs()
202
+ #
75
203
  #
76
- mic = nuda.matter.setupMicroLP( model = model )
77
- if matter in model:
78
- print('\nmodel:',model,'\n')
79
- if mic.err:
80
- if matter.lower() == 'sm' and mic.sm_kfn is not None:
81
- axs[0,0].errorbar( mic.sm_kfn, mic.sm_LP['F'][ell], yerr=mic.sm_LP_F_err[ell], marker=mic.marker, linestyle='none', label=mic.label )
82
- axs[0,1].errorbar( mic.sm_kfn, mic.sm_LP['G'][ell], yerr=mic.sm_LP_G_err[ell], marker=mic.marker, linestyle='none', label=mic.label )
83
- axs[1,0].errorbar( mic.sm_kfn, mic.sm_LP['Fp'][ell], yerr=mic.sm_LP_Fp_err[ell], marker=mic.marker, linestyle='none', label=mic.label )
84
- axs[1,1].errorbar( mic.sm_kfn, mic.sm_LP['Gp'][ell], yerr=mic.sm_LP_Gp_err[ell], marker=mic.marker, linestyle='none', label=mic.label )
85
- elif matter.lower() == 'nm' and mic.nm_kfn is not None:
86
- axs[0].errorbar( mic.nm_kfn, mic.nm_LP['F'][ell], marker=mic.marker, linestyle='none', label=mic.label )
87
- axs[1].errorbar( mic.nm_kfn, mic.nm_LP['G'][ell], marker=mic.marker, linestyle='none', label=mic.label )
88
- else:
89
- if matter.lower() == 'sm' and mic.sm_kfn is not None:
90
- axs[0,0].plot( mic.sm_kfn, mic.sm_LP['F'][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label )
91
- axs[0,1].plot( mic.sm_kfn, mic.sm_LP['G'][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label )
92
- axs[1,0].plot( mic.sm_kfn, mic.sm_LP['Fp'][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label )
93
- axs[1,1].plot( mic.sm_kfn, mic.sm_LP['Gp'][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label )
94
- elif matter.lower() == 'nm' and mic.nm_kfn is not None:
95
- axs[0].plot( mic.nm_kfn, mic.nm_LP['F'][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label )
96
- axs[1].plot( mic.nm_kfn, mic.nm_LP['G'][ell], marker=mic.marker, linestyle=mic.linestyle, markevery=mic.every, label=mic.label )
97
- #
98
- if nuda.env.verb_output: mic.print_outputs( )
99
- #
100
- #
101
- if matter.lower() == 'sm':
102
- axs[1,0].legend(loc='lower left',fontsize='6', ncol=2)
103
- elif matter.lower() == 'nm':
104
- axs[0].legend(loc='upper left',fontsize='8', ncol=1)
204
+ if matter.lower() == "sm":
205
+ axs[1, 0].legend(loc="upper left", fontsize="6", ncol=2)
206
+ elif matter.lower() == "nm":
207
+ axs[0].legend(loc="upper left", fontsize="8", ncol=1)
105
208
  #
106
209
  if pname is not None:
107
- plt.savefig(pname, dpi=300)
108
- plt.close()
109
- #
210
+ plt.savefig(pname, dpi=300)
211
+ plt.close()
212
+ #
@@ -3,84 +3,157 @@ import matplotlib.pyplot as plt
3
3
 
4
4
  import nucleardatapy as nuda
5
5
 
6
- def matter_setupMicro_band_fig( pname, models, den, matter ):
6
+
7
+ def matter_setupMicro_band_fig(pname, models, den, matter):
7
8
  """
8
- Plot the correlation between Esym and Lsym.\
9
- The plot is 1x1 with:\
10
- [0]: Esym - Lsym correlation plot
9
+ Plot the reference band together with the models on wich it is constructed.
10
+
11
+ The plot is 1x2 with:
12
+
13
+ [0]: E versus den. [1]: E/EFFG versus den.
11
14
 
12
15
  :param pname: name of the figure (*.png)
13
16
  :type pname: str.
14
- :param constraints: list of constraints to run on.
15
- :type constraints: array of str.
16
-
17
+ :param models: list of models to run on.
18
+ :type models: array of str.
19
+ :param den: numpy array with densities to define the reference band.
20
+ :type den: array of reals.
21
+ :param matter: chose between 'SM', 'NM' or 'Esym'.
22
+ :type matter: str.
17
23
  """
18
24
  #
19
- print(f'Plot name: {pname}')
25
+ print(f"Plot name: {pname}")
20
26
  #
21
- #den = 0.03*np.arange(13)
27
+ # den = 0.03*np.arange(13)
22
28
  #
23
- fig, axs = plt.subplots(1,2)
24
- fig.tight_layout() # Or equivalently, "plt.tight_layout()"
25
- fig.subplots_adjust(left=0.15, bottom=0.12, right=None, top=0.98, wspace=0.38, hspace=0.3 )
29
+ fig, axs = plt.subplots(1, 2)
30
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
31
+ fig.subplots_adjust( left=0.15, bottom=0.12, right=0.95, top=0.98, wspace=0.38, hspace=0.3 )
26
32
  #
27
- axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
33
+ axs[0].set_xlabel(r"$n_\text{nuc}$ (fm$^{-3}$)", fontsize="14")
28
34
  axs[0].set_xlim([0, 0.2])
29
35
  #
30
- axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
36
+ axs[1].set_xlabel(r"$n_\text{nuc}$ (fm$^{-3}$)", fontsize="14")
31
37
  axs[1].set_xlim([0, 0.2])
32
38
  #
33
- if matter.lower() == 'nm':
34
- axs[0].set_ylabel(r'$E_\text{NM}$',fontsize='14')
35
- axs[1].set_ylabel(r'$E_\text{NM}/E_\text{NM,NRFFG}$',fontsize='14')
39
+ if matter.lower() == "nm":
40
+ axs[0].set_ylabel(r"$E_\text{int,NM}$", fontsize="14")
41
+ axs[1].set_ylabel(r"$E_\text{int,NM}/E_\text{int,NM}^\text{NR FFG}$", fontsize="14")
36
42
  axs[0].set_ylim([0, 20])
37
43
  axs[1].set_ylim([0.2, 0.9])
38
- elif matter.lower() == 'sm':
39
- axs[0].set_ylabel(r'$E_\text{SM}$',fontsize='14')
40
- axs[1].set_ylabel(r'$E_\text{SM}/E_\text{SM,NRFFG}$',fontsize='14')
44
+ elif matter.lower() == "sm":
45
+ axs[0].set_ylabel(r"$E_\text{int,SM}$", fontsize="14")
46
+ axs[1].set_ylabel(r"$E_\text{int,SM}/E_\text{int,SM}^\text{NR FFG}$", fontsize="14")
41
47
  axs[0].set_ylim([-20, 0])
42
48
  axs[1].set_ylim([-1.0, 0.0])
43
- elif matter.lower() == 'esym':
44
- axs[0].set_ylabel(r'$E_\text{sym}$',fontsize='14')
45
- axs[1].set_ylabel(r'$E_\text{sym}/E_\text{sym,NRFFG}$',fontsize='14')
49
+ elif matter.lower() == "esym":
50
+ axs[0].set_ylabel(r"$E_\text{sym}$", fontsize="14")
51
+ axs[1].set_ylabel(r"$E_\text{sym}/E_\text{sym}^\text{NR FFG}$", fontsize="14")
46
52
  axs[0].set_ylim([0, 50])
47
53
  axs[1].set_ylim([1.5, 2.8])
48
54
  #
49
55
  for model in models:
50
56
  #
51
- mic = nuda.matter.setupMicro( model = model )
52
- if nuda.env.verb_output: mic.print_outputs( )
57
+ mic = nuda.matter.setupMicro(model=model)
58
+ if nuda.env.verb_output:
59
+ mic.print_outputs()
53
60
  #
54
- if mic.nm_e2a is not None:
55
- print('model:',model)
56
- if matter.lower() == 'nm':
57
- axs[0].errorbar( mic.nm_den, mic.nm_e2a, yerr= mic.nm_e2a_err, linestyle=mic.linestyle, label=mic.label, errorevery=mic.every )
58
- axs[1].errorbar( mic.nm_den, mic.nm_e2a/nuda.effg_nr(mic.nm_kfn), yerr= mic.nm_e2a_err/nuda.effg_nr(mic.nm_kfn), linestyle=mic.linestyle, label=mic.label, errorevery=mic.every )
59
- elif matter.lower() == 'sm':
60
- axs[0].errorbar( mic.sm_den, mic.sm_e2a, yerr= mic.sm_e2a_err, linestyle=mic.linestyle, label=mic.label, errorevery=mic.every )
61
- axs[1].errorbar( mic.sm_den, mic.sm_e2a/nuda.effg_nr(mic.sm_kfn), yerr= mic.sm_e2a_err/nuda.effg_nr(mic.sm_kfn), linestyle=mic.linestyle, label=mic.label, errorevery=mic.every )
62
- elif matter.lower() == 'esym':
63
- esym = nuda.matter.setupMicroEsym( model = model )
64
- axs[0].errorbar( esym.den, esym.esym, yerr= esym.esym_err, linestyle=esym.linestyle, label=esym.label, errorevery=esym.every )
65
- axs[1].errorbar( esym.den, esym.esym/nuda.esymffg_nr(esym.kf), yerr= esym.esym_err/nuda.esymffg_nr(esym.kf), linestyle=esym.linestyle, label=esym.label, errorevery=esym.every )
61
+ if mic.nm_e2a_int is not None:
62
+ print("model:", model)
63
+ if matter.lower() == "nm":
64
+ axs[0].errorbar(
65
+ mic.nm_den,
66
+ mic.nm_e2a_int,
67
+ yerr=mic.nm_e2a_err,
68
+ linestyle=mic.linestyle,
69
+ label=mic.label,
70
+ errorevery=mic.every,
71
+ )
72
+ axs[1].errorbar(
73
+ mic.nm_den,
74
+ mic.nm_e2a_int / nuda.effg_nr(mic.nm_kfn),
75
+ yerr=mic.nm_e2a_err / nuda.effg_nr(mic.nm_kfn),
76
+ linestyle=mic.linestyle,
77
+ label=mic.label,
78
+ errorevery=mic.every,
79
+ )
80
+ elif matter.lower() == "sm":
81
+ axs[0].errorbar(
82
+ mic.sm_den,
83
+ mic.sm_e2a_int,
84
+ yerr=mic.sm_e2a_err,
85
+ linestyle=mic.linestyle,
86
+ label=mic.label,
87
+ errorevery=mic.every,
88
+ )
89
+ axs[1].errorbar(
90
+ mic.sm_den,
91
+ mic.sm_e2a_int / nuda.effg_nr(mic.sm_kfn),
92
+ yerr=mic.sm_e2a_err / nuda.effg_nr(mic.sm_kfn),
93
+ linestyle=mic.linestyle,
94
+ label=mic.label,
95
+ errorevery=mic.every,
96
+ )
97
+ elif matter.lower() == "esym":
98
+ esym = nuda.matter.setupMicroEsym(model=model)
99
+ axs[0].errorbar(
100
+ esym.den,
101
+ esym.esym,
102
+ yerr=esym.esym_err,
103
+ linestyle=esym.linestyle,
104
+ label=esym.label,
105
+ errorevery=esym.every,
106
+ )
107
+ axs[1].errorbar(
108
+ esym.den,
109
+ esym.esym / nuda.esymffg_nr(esym.kf),
110
+ yerr=esym.esym_err / nuda.esymffg_nr(esym.kf),
111
+ linestyle=esym.linestyle,
112
+ label=esym.label,
113
+ errorevery=esym.every,
114
+ )
66
115
  #
67
- band = nuda.matter.setupMicroBand( models, den=den, matter=matter )
116
+ band = nuda.matter.setupMicroBand(models, den=den, matter=matter)
68
117
  #
69
- axs[0].fill_between( band.den, y1=band.e2a-band.e2a_std, y2=band.e2a+band.e2a_std, color=band.color, alpha=band.alpha )
70
- if matter.lower() == 'nm':
71
- axs[1].fill_between( band.den, y1=(band.e2a-band.e2a_std)/nuda.effg_nr(band.kfn), y2=(band.e2a+band.e2a_std)/nuda.effg_nr(band.kfn), color=band.color, alpha=band.alpha )
72
- elif matter.lower() == 'sm':
73
- axs[1].fill_between( band.den, y1=(band.e2a-band.e2a_std)/nuda.effg_nr(band.kf), y2=(band.e2a+band.e2a_std)/nuda.effg_nr(band.kf), color=band.color, alpha=band.alpha )
74
- elif matter.lower() == 'esym':
75
- axs[1].fill_between( band.den, y1=(band.e2a-band.e2a_std)/nuda.esymffg_nr(band.kf), y2=(band.e2a+band.e2a_std)/nuda.esymffg_nr(band.kf), color=band.color, alpha=band.alpha )
118
+ axs[0].fill_between(
119
+ band.den,
120
+ y1=band.e2a_int - band.e2a_std,
121
+ y2=band.e2a_int + band.e2a_std,
122
+ color=band.color,
123
+ alpha=band.alpha,
124
+ )
125
+ if matter.lower() == "nm":
126
+ axs[1].fill_between(
127
+ band.den,
128
+ y1=(band.e2a_int - band.e2a_std) / nuda.effg_nr(band.kfn),
129
+ y2=(band.e2a_int + band.e2a_std) / nuda.effg_nr(band.kfn),
130
+ color=band.color,
131
+ alpha=band.alpha,
132
+ )
133
+ elif matter.lower() == "sm":
134
+ axs[1].fill_between(
135
+ band.den,
136
+ y1=(band.e2a_int - band.e2a_std) / nuda.effg_nr(band.kf),
137
+ y2=(band.e2a_int + band.e2a_std) / nuda.effg_nr(band.kf),
138
+ color=band.color,
139
+ alpha=band.alpha,
140
+ )
141
+ elif matter.lower() == "esym":
142
+ axs[1].fill_between(
143
+ band.den,
144
+ y1=(band.e2a_int - band.e2a_std) / nuda.esymffg_nr(band.kf),
145
+ y2=(band.e2a_int + band.e2a_std) / nuda.esymffg_nr(band.kf),
146
+ color=band.color,
147
+ alpha=band.alpha,
148
+ )
76
149
  #
77
- if matter.lower() == 'nm':
78
- axs[1].legend(loc='upper left',fontsize='12', ncol=1)
79
- elif matter.lower() == 'sm':
80
- axs[1].legend(loc='upper left',fontsize='12', ncol=1)
81
- elif matter.lower() == 'esym':
82
- axs[0].legend(loc='upper left',fontsize='12', ncol=1)
150
+ if matter.lower() == "nm":
151
+ axs[1].legend(loc="upper left", fontsize="12", ncol=1)
152
+ elif matter.lower() == "sm":
153
+ axs[1].legend(loc="upper left", fontsize="12", ncol=1)
154
+ elif matter.lower() == "esym":
155
+ axs[0].legend(loc="upper left", fontsize="12", ncol=1)
83
156
  #
84
157
  if pname is not None:
85
- plt.savefig(pname, dpi=200)
86
- plt.close()
158
+ plt.savefig(pname, dpi=200)
159
+ plt.close()