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
@@ -0,0 +1,106 @@
1
+ import numpy as np
2
+ import matplotlib.pyplot as plt
3
+
4
+ import nucleardatapy as nuda
5
+
6
+ def matter_setupCheck_fig( pname, mb, models, band, matter ):
7
+ """
8
+ Check E/A from models in `models` and show the reference band.
9
+
10
+ The plot is 1x1 with:
11
+
12
+ [0]: E/A versus den.
13
+
14
+ :param pname: name of the figure (*.png)
15
+ :type pname: str.
16
+ :param mb: many-body (mb) approach considered.
17
+ :type mb: str.
18
+ :param models: models to run on.
19
+ :type models: array of str.
20
+ :param band: object instantiated on the reference band.
21
+ :type band: object.
22
+ :param matter: can be 'SM' or 'NM'.
23
+ :type matter: str.
24
+
25
+ """
26
+ #
27
+ print(f'Plot name: {pname}')
28
+ matter = band.matter
29
+ #
30
+ fig, axs = plt.subplots(1,1)
31
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
32
+ fig.subplots_adjust(left=0.10, bottom=0.12, right=0.95, top=0.85, wspace=0.05, hspace=0.05 )
33
+ #
34
+ axs.set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
35
+ axs.set_xlim([0, 0.33])
36
+ if matter.lower() == 'nm':
37
+ axs.set_ylabel(r'$E_\text{NM}^\text{int}/A$ (MeV)')
38
+ axs.set_ylim([0, 30])
39
+ delta = 1.0
40
+ elif matter.lower() == 'sm':
41
+ axs.set_ylabel(r'$E_\text{SM}^\text{int}/A$ (MeV)')
42
+ axs.set_ylim([-20, 10])
43
+ delta = 0.0
44
+ #
45
+ for model in models:
46
+ #
47
+ mic = nuda.matter.setupMicro( model = model, var2 = delta )
48
+ if nuda.env.verb_output: mic.print_outputs( )
49
+ #
50
+ print('model:',model,' delta:',delta)
51
+ #
52
+ check = nuda.matter.setupCheck( eos = mic, band = band )
53
+ #
54
+ if check.isInside:
55
+ lstyle = 'solid'
56
+ else:
57
+ lstyle = 'dashed'
58
+ #
59
+ if mic.e_err:
60
+ #
61
+ print('=> model (with err):',model,mic.e_err)
62
+ if 'NLEFT' in model:
63
+ #
64
+ print(' => model (NLEFT):',model)
65
+ if matter.lower() == 'nm':
66
+ axs.errorbar( mic.nm_den, mic.nm_e2adata_int, yerr=mic.nm_e2adata_err, linestyle = 'dotted', markevery=mic.every, linewidth = 1, alpha=0.6 )
67
+ axs.fill_between( mic.nm_den, y1=(mic.nm_e2a_int-mic.nm_e2a_err), y2=(mic.nm_e2a_int+mic.nm_e2a_err), alpha=0.3 )
68
+ elif matter.lower() == 'sm':
69
+ axs.errorbar( mic.sm_den, mic.sm_e2adata_int, yerr=mic.sm_e2adata_err, linestyle = 'dotted', markevery=mic.every, linewidth = 1, alpha=0.6 )
70
+ axs.fill_between( mic.sm_den, y1=(mic.sm_e2a_int-mic.sm_e2a_err), y2=(mic.sm_e2a_int+mic.sm_e2a_err), alpha=0.3 )
71
+ #
72
+ if mic.marker:
73
+ #
74
+ print('with marker:',mic.marker)
75
+ if matter.lower() == 'nm':
76
+ axs.errorbar( mic.nm_den, mic.nm_e2a_int, yerr=mic.nm_e2a_err, marker=mic.marker, markevery=mic.every, linestyle=lstyle, label=mic.label, errorevery=mic.every )
77
+ elif matter.lower() == 'sm':
78
+ axs.errorbar( mic.sm_den, mic.sm_e2a_int, yerr=mic.sm_e2a_err, marker=mic.marker, markevery=mic.every, linestyle=lstyle, label=mic.label, errorevery=mic.every )
79
+ #
80
+ else:
81
+ #
82
+ print('with no marker:',mic.marker)
83
+ if matter.lower() == 'nm':
84
+ axs.errorbar( mic.nm_den, mic.nm_e2a_int, yerr=mic.nm_e2a_err, marker=mic.marker, markevery=mic.every, linestyle=lstyle, label=mic.label, errorevery=mic.every )
85
+ elif matter.lower() == 'sm':
86
+ axs.errorbar( mic.sm_den, mic.sm_e2a_int, yerr=mic.sm_e2a_err, marker=mic.marker, markevery=mic.every, linestyle=lstyle, label=mic.label, errorevery=mic.every )
87
+ else:
88
+ print('=> model (no err):',model,mic.e_err)
89
+ if 'fit' in model:
90
+ axs.plot( mic.den, mic.e2a_int, marker=mic.marker, linestyle=lstyle, markevery=mic.every, label=mic.label )
91
+ else:
92
+ if matter.lower() == 'nm':
93
+ axs.plot( mic.nm_den, mic.nm_e2a_int, marker=mic.marker, linestyle=lstyle, markevery=mic.every, label=mic.label )
94
+ elif matter.lower() == 'sm':
95
+ axs.plot( mic.sm_den, mic.sm_e2a_int, marker=mic.marker, linestyle=lstyle, markevery=mic.every, label=mic.label )
96
+ #
97
+ axs.fill_between( band.den, y1=(band.e2a_int-band.e2a_std), y2=(band.e2a_int+band.e2a_std), color=band.color, alpha=band.alpha, visible=True )
98
+ axs.plot( band.den, (band.e2a_int-band.e2a_std), color='k', linestyle='dashed' )
99
+ axs.plot( band.den, (band.e2a_int+band.e2a_std), color='k', linestyle='dashed' )
100
+ #
101
+ fig.legend(loc='upper left',bbox_to_anchor=(0.1,1.0),fontsize='8',ncol=3,frameon=False)
102
+ #
103
+ if pname is not None:
104
+ plt.savefig(pname, dpi=300)
105
+ plt.close()
106
+ #
@@ -0,0 +1,74 @@
1
+ import numpy as np
2
+ import matplotlib as mpl
3
+ import matplotlib.pyplot as plt
4
+ import nucleardatapy as nuda
5
+
6
+ mpl.use("Agg") # Use a non-interactive backend
7
+
8
+ def matter_setupFFGLep_fig( pname, den_el=None, den_mu1=None, den_mu2=None, den_mu3=None ):
9
+ """
10
+ Plot leptonic FFG energy per particle E/A and pressure in NM and SM.
11
+
12
+ The plot is 2x1 with:
13
+
14
+ [0]: E/A versus den. [1]: pre versus den.
15
+
16
+ :param pname: name of the figure (*.png)
17
+ :type pname: str.
18
+ :param den_el: electron densities.
19
+ :type den_el: float or numpy vector of real numbers.
20
+ :param den_mu1: muon densities (set 1).
21
+ :type den_mu1: float or numpy vector of real numbers.
22
+ :param den_mu2: muon densities (set 2).
23
+ :type den_mu2: float or numpy vector of real numbers.
24
+ :param den_mu3: muon densities (set 3).
25
+ :type den_mu3: float or numpy vector of real numbers.
26
+ """
27
+ #
28
+ print(f"Plot name: {pname}")
29
+ #
30
+ if den_el is None: den_el=np.linspace(0.01, 0.1, num=20)
31
+ if den_mu1 is None: den_mu1 = 0.1*np.linspace(0.01, 0.1, num=20)
32
+ if den_mu2 is None: den_mu2 = 0.2*np.linspace(0.01, 0.1, num=20)
33
+ if den_mu3 is None: den_mu3 = 0.5*np.linspace(0.01, 0.1, num=20)
34
+ #
35
+ fig, axs = plt.subplots(2, 1)
36
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
37
+ fig.subplots_adjust( left=0.12, bottom=0.12, right=None, top=0.9, wspace=0.05, hspace=0.05 )
38
+ #
39
+ axs[0].set_ylabel(r"$e^\text{FFG}$ (MeV)", fontsize="14")
40
+ axs[0].set_xlim([0, 0.1])
41
+ axs[0].set_ylim([0, 200])
42
+ axs[0].tick_params("x", labelbottom=False)
43
+ #
44
+ axs[1].set_xlabel(r"$n_\text{el}$ (fm$^{-3}$)", fontsize="14")
45
+ axs[1].set_ylabel(r"$p^\text{FFG}$ (MeV fm$^{-3}$)", fontsize="14")
46
+ axs[1].set_xlim([0, 0.1])
47
+ axs[1].set_ylim([-0.01, 6])
48
+ #
49
+ lep1 = nuda.matter.setupFFGLep( den_el=den_el, den_mu=den_mu1 )
50
+ lep2 = nuda.matter.setupFFGLep( den_el=den_el, den_mu=den_mu2 )
51
+ lep3 = nuda.matter.setupFFGLep( den_el=den_el, den_mu=den_mu3 )
52
+ #
53
+ if any(lep1.e2n_el):
54
+ print(r"plot $\delta=0$ (SM)")
55
+ axs[0].plot( lep1.den_el, lep1.e2n_el, linestyle="solid", color=nuda.param.col[0], label='electrons' )
56
+ axs[0].plot( lep1.den_el, lep1.e2n_mu, linestyle="dashed", color=nuda.param.col[1], label='muons (10%)' )
57
+ axs[0].plot( lep1.den_el, lep2.e2n_mu, linestyle="dashed", color=nuda.param.col[2], label='muons (20%)' )
58
+ axs[0].plot( lep1.den_el, lep3.e2n_mu, linestyle="dashed", color=nuda.param.col[3], label='muons (50%)' )
59
+ axs[1].plot( lep1.den_el, lep1.pre_el, linestyle="solid", color=nuda.param.col[0] )
60
+ axs[1].plot( lep1.den_el, lep1.pre_mu, linestyle="dashed", color=nuda.param.col[1] )
61
+ axs[1].plot( lep1.den_el, lep2.pre_mu, linestyle="dashed", color=nuda.param.col[2] )
62
+ axs[1].plot( lep1.den_el, lep3.pre_mu, linestyle="dashed", color=nuda.param.col[3] )
63
+ if nuda.env.verb_output: lep.print_outputs()
64
+ #
65
+ #axs[0, 0].text(0.2, 16, r"$m=$" + str(mss[0]) + "$m_N$", rotation=8)
66
+ #axs[0, 0].text(0.2, 32, r"$m=$" + str(mss[1]) + "$m_N$", rotation=13)
67
+ #axs[0, 0].text(0.2, 50, r"$m=$" + str(mss[2]) + "$m_N$", rotation=20)
68
+ axs[0].legend(loc='lower right',fontsize='10')
69
+ #fig.legend( loc="upper left", bbox_to_anchor=(0.2, 0.97), fontsize="6", ncol=4, frameon=False )
70
+ #
71
+ if pname is not None:
72
+ plt.savefig(pname, dpi=300)
73
+ plt.close()
74
+ #
@@ -1,173 +1,344 @@
1
-
2
1
  import numpy as np
3
2
  import matplotlib as mpl
4
3
  import matplotlib.pyplot as plt
5
- mpl.use("Agg") # Use a non-interactive backend
6
4
  import nucleardatapy as nuda
7
5
 
8
- def matter_setupFFGNuc_EP_fig( pname, mss = [ 1.0 ], den = np.linspace(0.01,0.35,10), kfn = np.linspace(0.5,2.0,10) ):
6
+ mpl.use("Agg") # Use a non-interactive backend
7
+
8
+ def matter_setupFFGNuc_EP_fig( pname, mss=[1.0], den=np.linspace(0.01, 0.35, 10), kf=np.linspace(0.5, 2.0, 10) ):
9
9
  """
10
- Plot nucleonic FFG energy per particle E/A and pressure in NM and SM.\
11
- The plot is 2x2 with:\
12
- [0,0]: E/A versus den. [0,1]: E/A versus kfn.\
13
- [1,0]: pre versus den. [1,1]: pre versus kfn.\
10
+ Plot nucleonic FFG energy per particle and pressure in NM and SM.
11
+
12
+ The plot is 2x2 with:
13
+
14
+ [0,0]: E/A versus den. [0,1]: E/A versus kfn.
15
+
16
+ [1,0]: pre versus den. [1,1]: pre versus kfn.
14
17
 
15
18
  :param pname: name of the figure (*.png)
16
19
  :type pname: str.
17
- :param den: density.
20
+ :param mss: effective mass/bare mass of the nucleons.
21
+ :type mss: float or numpy vector of real numbers.
22
+ :param den: densities.
18
23
  :type den: float or numpy vector of real numbers.
19
- :param kfn: neutron Fermi momentum.
20
- :type kfn: float or numpy vector of real numbers.
24
+ :param kf: Fermi momenta.
25
+ :type kf: float or numpy vector of real numbers.
21
26
 
22
27
  """
23
28
  #
24
- print(f'Plot name: {pname}')
29
+ print(f"Plot name: {pname}")
25
30
  #
26
- denkfn = nuda.matter.den( kfn )
31
+ denkf = nuda.matter.den(kf)
27
32
  delta0 = np.zeros(den.size)
28
33
  delta1 = np.ones(den.size)
29
34
  #
30
- fig, axs = plt.subplots(2,2)
31
- fig.tight_layout() # Or equivalently, "plt.tight_layout()"
32
- fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.9, wspace=0.05, hspace=0.05 )
33
- #
34
- axs[0,0].set_ylabel(r'$e_\text{FFG,int}$')
35
- axs[0,0].set_xlim([0, 0.33])
36
- axs[0,0].set_ylim([0, 100])
37
- axs[0,0].tick_params('x', labelbottom=False)
38
- #
39
- axs[1,0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
40
- axs[1,0].set_ylabel(r'$p_\text{FFG}$ (MeV fm$^{-3}$)')
41
- axs[1,0].set_xlim([0, 0.33])
42
- axs[1,0].set_ylim([0, 23])
43
- #
44
- #axs[0,1].set_ylabel(r'$\Delta/E_F$')
45
- axs[0,1].set_xlim([0.5, 2.0])
46
- axs[0,1].set_ylim([0, 100])
47
- axs[0,1].tick_params('y', labelleft=False)
48
- axs[0,1].tick_params('x', labelbottom=False)
49
- #
50
- axs[1,1].set_xlabel(r'$k_{F_n}$ (fm$^{-1}$)')
51
- #axs[1,1].set_ylabel(r'$\Delta$ (MeV)')
52
- axs[1,1].set_xlim([0.5, 2.0])
53
- axs[1,1].set_ylim([0, 23])
54
- axs[1,1].tick_params('y', labelleft=False)
55
- #
56
- for ims,ms in enumerate(mss):
57
- ffg0 = nuda.matter.setupFFGNuc( den, delta0, ms )
58
- ffg0kf = nuda.matter.setupFFGNuc( denkfn, delta0, ms )
59
- ffg1 = nuda.matter.setupFFGNuc( den, delta1, ms )
60
- ffg1kf = nuda.matter.setupFFGNuc( denkfn, delta1, ms )
35
+ fig, axs = plt.subplots(2, 2)
36
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
37
+ fig.subplots_adjust( left=0.12, bottom=0.12, right=None, top=0.9, wspace=0.05, hspace=0.05 )
38
+ #
39
+ axs[0, 0].set_ylabel(r"$e^\text{FFG}_\text{int}$ (MeV)")
40
+ axs[0, 0].set_xlim([0, 0.33])
41
+ axs[0, 0].set_ylim([0, 100])
42
+ axs[0, 0].tick_params("x", labelbottom=False)
43
+ #
44
+ axs[1, 0].set_xlabel(r"$n_\text{nuc}$ (fm$^{-3}$)")
45
+ axs[1, 0].set_ylabel(r"$p^\text{FFG}$ (MeV fm$^{-3}$)")
46
+ axs[1, 0].set_xlim([0, 0.33])
47
+ axs[1, 0].set_ylim([0, 23])
48
+ #
49
+ # axs[0,1].set_ylabel(r'$\Delta/E_F$')
50
+ #axs[0, 1].set_xlim([0.5, 2.0])
51
+ #axs[0, 1].set_ylim([0, 100])
52
+ axs[0, 1].tick_params("y", labelleft=False)
53
+ axs[0, 1].tick_params("x", labelbottom=False)
54
+ #
55
+ axs[1, 1].set_xlabel(r"$k_{F}$ (fm$^{-1}$)")
56
+ # axs[1,1].set_ylabel(r'$\Delta$ (MeV)')
57
+ #axs[1, 1].set_xlim([0.5, 2.0])
58
+ #axs[1, 1].set_ylim([0, 23])
59
+ axs[1, 1].tick_params("y", labelleft=False)
60
+ #
61
+ for ims, ms in enumerate(mss):
62
+ ffg0 = nuda.matter.setupFFGNuc(den, delta0, ms)
63
+ ffg0kf = nuda.matter.setupFFGNuc(denkf, delta0, ms)
64
+ ffg1 = nuda.matter.setupFFGNuc(den, delta1, ms)
65
+ ffg1kf = nuda.matter.setupFFGNuc(denkf, delta1, ms)
61
66
  #
62
- if any(ffg0.e2a_int_nr):
63
- print(r'plot $\delta=0$ (SM)')
67
+ if any(ffg0.e2a_int_nr):
68
+ print(r"plot $\delta=0$ (SM)")
64
69
  if ims == 0:
65
- axs[0,0].plot( ffg0.den, ffg0.e2a_int, linestyle='solid', color=nuda.param.col[0], label=ffg0.label )
66
- axs[0,0].plot( ffg0.den, ffg0.e2a_int_nr, linestyle='None', marker='o', color=nuda.param.col[0], label='NR'+ffg0.label )
70
+ axs[0, 0].plot(
71
+ ffg0.den,
72
+ ffg0.e2a_int,
73
+ linestyle="solid",
74
+ color=nuda.param.col[0],
75
+ label=ffg0.label,
76
+ )
77
+ axs[0, 0].plot(
78
+ ffg0.den,
79
+ ffg0.e2a_int_nr,
80
+ linestyle="None",
81
+ marker="o",
82
+ color=nuda.param.col[0],
83
+ label="NR" + ffg0.label,
84
+ )
67
85
  else:
68
- axs[0,0].plot( ffg0.den, ffg0.e2a_int, linestyle='solid', color=nuda.param.col[0] )
69
- axs[0,0].plot( ffg0.den, ffg0.e2a_int_nr, linestyle='None', marker='o', color=nuda.param.col[0] )
70
- axs[1,0].plot( ffg0.den, ffg0.pre, linestyle='solid', color=nuda.param.col[0] )
71
- axs[1,0].plot( ffg0.den, ffg0.pre_nr, linestyle='None', marker='o', color=nuda.param.col[0] )
72
- axs[0,1].plot( ffg0kf.kf_n, ffg0kf.e2a_int, linestyle='solid', color=nuda.param.col[0] )
73
- axs[0,1].plot( ffg0kf.kf_n, ffg0kf.e2a_int_nr, linestyle='None', marker='o', color=nuda.param.col[0] )
74
- axs[1,1].plot( ffg0kf.kf_n, ffg0kf.pre, linestyle='solid', color=nuda.param.col[0] )
75
- axs[1,1].plot( ffg0kf.kf_n, ffg0kf.pre_nr, linestyle='None', marker='o', color=nuda.param.col[0] )
76
- if nuda.env.verb_output: ffg0.print_outputs( )
77
- if any(ffg1.e2a_int_nr):
78
- print(r'plot $\delta=1$ (NM)')
86
+ axs[0, 0].plot(
87
+ ffg0.den, ffg0.e2a_int, linestyle="solid", color=nuda.param.col[0]
88
+ )
89
+ axs[0, 0].plot(
90
+ ffg0.den,
91
+ ffg0.e2a_int_nr,
92
+ linestyle="None",
93
+ marker="o",
94
+ color=nuda.param.col[0],
95
+ )
96
+ axs[1, 0].plot(
97
+ ffg0.den, ffg0.pre, linestyle="solid", color=nuda.param.col[0]
98
+ )
99
+ axs[1, 0].plot(
100
+ ffg0.den,
101
+ ffg0.pre_nr,
102
+ linestyle="None",
103
+ marker="o",
104
+ color=nuda.param.col[0],
105
+ )
106
+ axs[0, 1].plot(
107
+ ffg0kf.kf_nuc, ffg0kf.e2a_int, linestyle="solid", color=nuda.param.col[0]
108
+ )
109
+ axs[0, 1].plot(
110
+ ffg0kf.kf_nuc,
111
+ ffg0kf.e2a_int_nr,
112
+ linestyle="None",
113
+ marker="o",
114
+ color=nuda.param.col[0],
115
+ )
116
+ axs[1, 1].plot(
117
+ ffg0kf.kf_nuc, ffg0kf.pre, linestyle="solid", color=nuda.param.col[0]
118
+ )
119
+ axs[1, 1].plot(
120
+ ffg0kf.kf_nuc,
121
+ ffg0kf.pre_nr,
122
+ linestyle="None",
123
+ marker="o",
124
+ color=nuda.param.col[0],
125
+ )
126
+ if nuda.env.verb_output:
127
+ ffg0.print_outputs()
128
+ if any(ffg1.e2a_int_nr):
129
+ print(r"plot $\delta=1$ (NM)")
79
130
  if ims == 0:
80
- axs[0,0].plot( ffg1.den, ffg1.e2a_int, linestyle='dashed', color=nuda.param.col[1], label=ffg1.label )
81
- axs[0,0].plot( ffg1.den, ffg1.e2a_int_nr, linestyle='None', marker='o', color=nuda.param.col[1], label='NR'+ffg1.label )
131
+ axs[0, 0].plot(
132
+ ffg1.den,
133
+ ffg1.e2a_int,
134
+ linestyle="dashed",
135
+ color=nuda.param.col[1],
136
+ label=ffg1.label,
137
+ )
138
+ axs[0, 0].plot(
139
+ ffg1.den,
140
+ ffg1.e2a_int_nr,
141
+ linestyle="None",
142
+ marker="o",
143
+ color=nuda.param.col[1],
144
+ label="NR" + ffg1.label,
145
+ )
82
146
  else:
83
- axs[0,0].plot( ffg1.den, ffg1.e2a_int, linestyle='dashed', color=nuda.param.col[1] )
84
- axs[0,0].plot( ffg1.den, ffg1.e2a_int_nr, linestyle='None', marker='o', color=nuda.param.col[1] )
85
- axs[1,0].plot( ffg1.den, ffg1.pre, linestyle='dashed', color=nuda.param.col[1] )
86
- axs[1,0].plot( ffg1.den, ffg1.pre_nr, linestyle='None', marker='o', color=nuda.param.col[1] )
87
- axs[0,1].plot( ffg1kf.kf_n, ffg1kf.e2a_int, linestyle='dashed', color=nuda.param.col[1] )
88
- axs[0,1].plot( ffg1kf.kf_n, ffg1kf.e2a_int_nr, linestyle='None', marker='o', color=nuda.param.col[1] )
89
- axs[1,1].plot( ffg1kf.kf_n, ffg1kf.pre, linestyle='dashed', color=nuda.param.col[1] )
90
- axs[1,1].plot( ffg1kf.kf_n, ffg1kf.pre_nr, linestyle='None', marker='o', color=nuda.param.col[1] )
91
- if nuda.env.verb_output: ffg1.print_outputs( )
147
+ axs[0, 0].plot(
148
+ ffg1.den, ffg1.e2a_int, linestyle="dashed", color=nuda.param.col[1]
149
+ )
150
+ axs[0, 0].plot(
151
+ ffg1.den,
152
+ ffg1.e2a_int_nr,
153
+ linestyle="None",
154
+ marker="o",
155
+ color=nuda.param.col[1],
156
+ )
157
+ axs[1, 0].plot(
158
+ ffg1.den, ffg1.pre, linestyle="dashed", color=nuda.param.col[1]
159
+ )
160
+ axs[1, 0].plot(
161
+ ffg1.den,
162
+ ffg1.pre_nr,
163
+ linestyle="None",
164
+ marker="o",
165
+ color=nuda.param.col[1],
166
+ )
167
+ axs[0, 1].plot(
168
+ ffg1kf.kf_nuc, ffg1kf.e2a_int, linestyle="dashed", color=nuda.param.col[1]
169
+ )
170
+ axs[0, 1].plot(
171
+ ffg1kf.kf_nuc,
172
+ ffg1kf.e2a_int_nr,
173
+ linestyle="None",
174
+ marker="o",
175
+ color=nuda.param.col[1],
176
+ )
177
+ axs[1, 1].plot(
178
+ ffg1kf.kf_nuc, ffg1kf.pre, linestyle="dashed", color=nuda.param.col[1]
179
+ )
180
+ axs[1, 1].plot(
181
+ ffg1kf.kf_nuc,
182
+ ffg1kf.pre_nr,
183
+ linestyle="None",
184
+ marker="o",
185
+ color=nuda.param.col[1],
186
+ )
187
+ if nuda.env.verb_output:
188
+ ffg1.print_outputs()
92
189
  #
93
- axs[0,0].text(0.2,16,r'$m^*/m=$'+str(mss[0]),rotation=8)
94
- axs[0,0].text(0.2,32,r'$m^*/m=$'+str(mss[1]),rotation=13)
95
- axs[0,0].text(0.2,50,r'$m^*/m=$'+str(mss[2]),rotation=20)
96
- #axs[1,0].legend(loc='upper right',fontsize='xx-small')
97
- fig.legend(loc='upper left',bbox_to_anchor=(0.2,0.97),fontsize='6',ncol=4,frameon=False)
190
+ axs[0, 0].text(0.2, 16, r"$m=$" + str(mss[0]) + "$m_N$", rotation=8)
191
+ axs[0, 0].text(0.2, 32, r"$m=$" + str(mss[1]) + "$m_N$", rotation=13)
192
+ axs[0, 0].text(0.2, 50, r"$m=$" + str(mss[2]) + "$m_N$", rotation=20)
193
+ # axs[1,0].legend(loc='upper right',fontsize='xx-small')
194
+ fig.legend(
195
+ loc="upper left",
196
+ bbox_to_anchor=(0.2, 0.97),
197
+ fontsize="6",
198
+ ncol=4,
199
+ frameon=False,
200
+ )
98
201
  #
99
- if pname is not None:
202
+ if pname is not None:
100
203
  plt.savefig(pname, dpi=300)
101
204
  plt.close()
102
205
  #
103
206
 
104
- def matter_setupFFGNuc_EOS_fig( pname, mss = [ 1.0 ], den = np.linspace(0.01,0.35,10) ):
207
+
208
+ def matter_setupFFGNuc_EOS_fig(pname, mss=[1.0], den=np.linspace(0.01, 0.35, 10)):
105
209
  """
106
- Plot nucleonic FFG EOS in NM and SM.\
107
- The plot is 1x2 with:\
108
- [0]: EOS (pre) versus energy density rho.\
109
- [1]: Sound speed c_s^2 versus energy density rho.\
210
+ Plot nucleonic FFG EOS in NM and SM.
211
+
212
+ The plot is 2x1 with:
213
+
214
+ [0]: EOS (pre) versus energy density rho.
215
+
216
+ [1]: Sound speed c_s^2 versus energy density rho.
110
217
 
111
218
  :param pname: name of the figure (*.png)
112
219
  :type pname: str.
220
+ :param mss: effective mass/bare mass of the nucleons.
221
+ :type mss: float or numpy vector of real numbers.
113
222
  :param den: density.
114
223
  :type den: float or numpy vector of real numbers.
115
224
 
116
225
  """
117
226
  #
118
- print(f'Plot name: {pname}')
227
+ print(f"Plot name: {pname}")
119
228
  #
120
229
  delta0 = np.zeros(den.size)
121
230
  delta1 = np.ones(den.size)
122
231
  #
123
- fig, axs = plt.subplots(2,1)
124
- fig.tight_layout() # Or equivalently, "plt.tight_layout()"
125
- fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.9, wspace=0.05, hspace=0.05 )
232
+ fig, axs = plt.subplots(2, 1)
233
+ fig.tight_layout() # Or equivalently, "plt.tight_layout()"
234
+ fig.subplots_adjust( left=0.12, bottom=0.12, right=None, top=0.9, wspace=0.05, hspace=0.05 )
126
235
  #
127
- axs[0].set_ylabel(r'$p_\text{FFG}$')
236
+ axs[0].set_ylabel(r"$p^\text{FFG}$ (MeV fm$^{-3}$)", fontsize="14")
128
237
  axs[0].set_xlim([0, 360])
129
238
  axs[0].set_ylim([0, 20])
130
- axs[0].tick_params('x', labelbottom=False)
239
+ axs[0].tick_params("x", labelbottom=False)
131
240
  #
132
- axs[1].set_xlabel(r'$\rho$ (MeV fm$^{-3}$)')
133
- axs[1].set_ylabel(r'$c_\text{s,FFG}^2$')
241
+ axs[1].set_xlabel(r"$\epsilon^\text{FFG}$ (MeV fm$^{-3}$)", fontsize="14")
242
+ axs[1].set_ylabel(r"$(c^\text{FFG}_\text{s}/c)^2$", fontsize="14")
134
243
  axs[1].set_xlim([0, 360])
135
244
  axs[1].set_ylim([0, 0.28])
136
245
  #
137
- for ims,ms in enumerate(mss):
138
- ffg0 = nuda.matter.setupFFGNuc( den, delta0, ms )
139
- ffg1 = nuda.matter.setupFFGNuc( den, delta1, ms )
246
+ for ims, ms in enumerate(mss):
247
+ ffg0 = nuda.matter.setupFFGNuc(den, delta0, ms)
248
+ ffg1 = nuda.matter.setupFFGNuc(den, delta1, ms)
140
249
  #
141
- if any(ffg0.e2a_int_nr):
142
- print(r'plot $\delta=0$ (SM)')
250
+ if any(ffg0.e2a_int_nr):
251
+ print(r"plot $\delta=0$ (SM)")
143
252
  if ims == 0:
144
- axs[0].plot( ffg0.e2v, ffg0.pre, linestyle='solid', color=nuda.param.col[0], label=ffg0.label )
145
- axs[0].plot( ffg0.e2v, ffg0.pre_nr, linestyle='None', marker='o', color=nuda.param.col[0], label='NR'+ffg0.label )
253
+ axs[0].plot(
254
+ ffg0.eps,
255
+ ffg0.pre,
256
+ linestyle="solid",
257
+ color=nuda.param.col[0],
258
+ label=ffg0.label,
259
+ )
260
+ axs[0].plot(
261
+ ffg0.eps,
262
+ ffg0.pre_nr,
263
+ linestyle="None",
264
+ marker="o",
265
+ color=nuda.param.col[0],
266
+ label="NR" + ffg0.label,
267
+ )
146
268
  else:
147
- axs[0].plot( ffg0.e2v, ffg0.pre, linestyle='solid', color=nuda.param.col[0] )
148
- axs[0].plot( ffg0.e2v, ffg0.pre_nr, linestyle='None', marker='o', color=nuda.param.col[0] )
149
- axs[1].plot( ffg0.e2v, ffg0.cs2, linestyle='solid', color=nuda.param.col[0] )
150
- axs[1].plot( ffg0.e2v, ffg0.cs2_nr, linestyle='None', marker='o', color=nuda.param.col[0] )
151
- if nuda.env.verb_output: ffg0.print_outputs( )
152
- if any(ffg1.e2a_int_nr):
153
- print(r'plot $\delta=1$ (NM)')
269
+ axs[0].plot(
270
+ ffg0.eps, ffg0.pre, linestyle="solid", color=nuda.param.col[0]
271
+ )
272
+ axs[0].plot(
273
+ ffg0.eps,
274
+ ffg0.pre_nr,
275
+ linestyle="None",
276
+ marker="o",
277
+ color=nuda.param.col[0],
278
+ )
279
+ axs[1].plot(ffg0.eps, ffg0.cs2, linestyle="solid", color=nuda.param.col[0])
280
+ axs[1].plot(
281
+ ffg0.eps,
282
+ ffg0.cs2_nr,
283
+ linestyle="None",
284
+ marker="o",
285
+ color=nuda.param.col[0],
286
+ )
287
+ if nuda.env.verb_output:
288
+ ffg0.print_outputs()
289
+ if any(ffg1.e2a_int_nr):
290
+ print(r"plot $\delta=1$ (NM)")
154
291
  if ims == 0:
155
- axs[0].plot( ffg1.e2v, ffg1.pre, linestyle='dashed', color=nuda.param.col[1], label=ffg1.label )
156
- axs[0].plot( ffg1.e2v, ffg1.pre_nr, linestyle='None', marker='o', color=nuda.param.col[1], label='NR'+ffg1.label )
292
+ axs[0].plot(
293
+ ffg1.eps,
294
+ ffg1.pre,
295
+ linestyle="dashed",
296
+ color=nuda.param.col[1],
297
+ label=ffg1.label,
298
+ )
299
+ axs[0].plot(
300
+ ffg1.eps,
301
+ ffg1.pre_nr,
302
+ linestyle="None",
303
+ marker="o",
304
+ color=nuda.param.col[1],
305
+ label="NR" + ffg1.label,
306
+ )
157
307
  else:
158
- axs[0].plot( ffg1.e2v, ffg1.pre, linestyle='dashed', color=nuda.param.col[1] )
159
- axs[0].plot( ffg1.e2v, ffg1.pre_nr, linestyle='None', marker='o', color=nuda.param.col[1] )
160
- axs[1].plot( ffg1.e2v, ffg1.cs2, linestyle='dashed', color=nuda.param.col[1] )
161
- axs[1].plot( ffg1.e2v, ffg1.cs2_nr, linestyle='None', marker='o', color=nuda.param.col[1] )
162
- if nuda.env.verb_output: ffg1.print_outputs( )
308
+ axs[0].plot(
309
+ ffg1.eps, ffg1.pre, linestyle="dashed", color=nuda.param.col[1]
310
+ )
311
+ axs[0].plot(
312
+ ffg1.eps,
313
+ ffg1.pre_nr,
314
+ linestyle="None",
315
+ marker="o",
316
+ color=nuda.param.col[1],
317
+ )
318
+ axs[1].plot(ffg1.eps, ffg1.cs2, linestyle="dashed", color=nuda.param.col[1])
319
+ axs[1].plot(
320
+ ffg1.eps,
321
+ ffg1.cs2_nr,
322
+ linestyle="None",
323
+ marker="o",
324
+ color=nuda.param.col[1],
325
+ )
326
+ if nuda.env.verb_output:
327
+ ffg1.print_outputs()
163
328
  #
164
- axs[1].text(300,0.07,r'$m^*/m=$'+str(mss[0]),rotation=3)
165
- axs[1].text(240,0.12,r'$m^*/m=$'+str(mss[1]),rotation=4)
166
- axs[1].text(180,0.2,r'$m^*/m=$'+str(mss[2]),rotation=5)
167
- #axs[1,0].legend(loc='upper right',fontsize='xx-small')
168
- fig.legend(loc='upper left',bbox_to_anchor=(0.15,0.97),fontsize='8',ncol=4,frameon=False)
329
+ axs[1].text(300, 0.07, r"$m=$" + str(mss[0]) + "$m_N$", rotation=3)
330
+ axs[1].text(240, 0.12, r"$m=$" + str(mss[1]) + "$m_N$", rotation=4)
331
+ axs[1].text(180, 0.20, r"$m=$" + str(mss[2]) + "$m_N$", rotation=5)
332
+ # axs[1,0].legend(loc='upper right',fontsize='xx-small')
333
+ fig.legend(
334
+ loc="upper left",
335
+ bbox_to_anchor=(0.15, 0.97),
336
+ fontsize="8",
337
+ ncol=4,
338
+ frameon=False,
339
+ )
169
340
  #
170
- if pname is not None:
341
+ if pname is not None:
171
342
  plt.savefig(pname, dpi=300)
172
343
  plt.close()
173
344
  #