nucleardatapy 0.2.0__py3-none-any.whl → 0.2.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- nucleardatapy/crust/setup_crust.py +46 -1
- nucleardatapy/data/crust/2018-PCPFDDG-BSK22.dat +83 -0
- nucleardatapy/data/crust/2018-PCPFDDG-BSK24.dat +74 -0
- nucleardatapy/data/crust/2018-PCPFDDG-BSK25.dat +130 -0
- nucleardatapy/data/crust/2018-PCPFDDG-BSK26.dat +81 -0
- nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-effmass-SM.dat +11 -0
- nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-effmass-beta0.2.dat +11 -0
- nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-effmass-beta0.4.dat +11 -0
- nucleardatapy/data/nuclei/masses/Theory/2023-BSkG3.txt +0 -4
- nucleardatapy/data/nuclei/masses/Theory/2025-BSkG4.txt +0 -1
- nucleardatapy/eos/setup_am.py +43 -31
- nucleardatapy/eos/setup_am_Beq.py +18 -12
- nucleardatapy/eos/setup_am_Leq.py +53 -47
- nucleardatapy/fig/__init__.py +15 -2
- nucleardatapy/fig/crust_setupCrust_fig.py +3 -3
- nucleardatapy/fig/eos_setupAMBeq_fig.py +866 -49
- nucleardatapy/fig/eos_setupAMLeq_fig.py +185 -53
- nucleardatapy/fig/eos_setupAM_e_asy_lep_fig.py +125 -0
- nucleardatapy/fig/eos_setupAM_e_asy_nuc_fig.py +115 -0
- nucleardatapy/fig/eos_setupAM_e_asy_tot_fig.py +117 -0
- nucleardatapy/fig/eos_setupAM_e_fig.py +173 -0
- nucleardatapy/fig/hnuc_setupRE1LExp_fig.py +1 -1
- nucleardatapy/fig/matter_ENM_fig.py +50 -41
- nucleardatapy/fig/matter_ESM_fig.py +60 -39
- nucleardatapy/fig/matter_Esym_fig.py +48 -36
- nucleardatapy/fig/matter_cs2_fig.py +83 -0
- nucleardatapy/fig/matter_preNM_fig.py +146 -0
- nucleardatapy/fig/matter_preSM_fig.py +144 -0
- nucleardatapy/fig/matter_setupFFGNuc_fig.py +2 -1
- nucleardatapy/fig/matter_setupMicroEsym_fig.py +50 -19
- nucleardatapy/fig/matter_setupMicro_band_fig.py +1 -0
- nucleardatapy/fig/matter_setupMicro_effmass_fig.py +59 -4
- nucleardatapy/fig/matter_setupMicro_fig.py +81 -79
- nucleardatapy/fig/matter_setupPhenoEsym_fig.py +28 -26
- nucleardatapy/fig/matter_setupPheno_fig.py +34 -24
- nucleardatapy/fig/nuc_setupBEExp_chart_fig.py +275 -0
- nucleardatapy/fig/nuc_setupBEExp_fig.py +225 -70
- nucleardatapy/fig/nuc_setupBETheo_fig.py +316 -0
- nucleardatapy/fig/nuc_setupISGMRExp_fig.py +59 -0
- nucleardatapy/fig/nuc_setupRchExp_fig.py +139 -0
- nucleardatapy/fig/nuc_setupRchTheo_fig.py +142 -0
- nucleardatapy/fig/nuc_setupRnpExp_fig.py +120 -0
- nucleardatapy/fig/nuc_setupRnpTheo_fig.py +134 -0
- nucleardatapy/hnuc/__init__.py +3 -3
- nucleardatapy/matter/__init__.py +1 -0
- nucleardatapy/matter/setup_check.py +97 -0
- nucleardatapy/matter/setup_ffg.py +15 -8
- nucleardatapy/matter/setup_micro.py +144 -79
- nucleardatapy/matter/setup_micro_band.py +6 -1
- nucleardatapy/matter/setup_micro_effmass.py +55 -2
- nucleardatapy/matter/setup_micro_esym.py +37 -30
- nucleardatapy/matter/setup_micro_gap.py +3 -3
- nucleardatapy/matter/setup_micro_lp.py +18 -17
- nucleardatapy/matter/setup_pheno.py +2 -2
- nucleardatapy/matter/setup_pheno_esym.py +13 -13
- nucleardatapy/nuc/__init__.py +2 -2
- nucleardatapy/nuc/setup_be_exp.py +90 -90
- nucleardatapy/nuc/setup_be_theo.py +112 -100
- nucleardatapy/nuc/setup_rch_exp.py +49 -6
- nucleardatapy/nuc/setup_rch_theo.py +72 -3
- nucleardatapy/nuc/{setup_nskin_exp.py → setup_rnp_exp.py} +58 -65
- nucleardatapy/nuc/{setup_nskin_theo.py → setup_rnp_theo.py} +34 -39
- nucleardatapy-0.2.1.dist-info/METADATA +521 -0
- {nucleardatapy-0.2.0.dist-info → nucleardatapy-0.2.1.dist-info}/RECORD +86 -65
- {nucleardatapy-0.2.0.dist-info → nucleardatapy-0.2.1.dist-info}/WHEEL +1 -1
- nucleardatapy/fig/eos_setupAM_fig.py +0 -81
- nucleardatapy-0.2.0.dist-info/METADATA +0 -115
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-E2A-AM.dat → 2006-BHF-Av18-E2A-AM.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-E2A-NM.dat → 2006-BHF-Av18-E2A-NM.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-E2A-SM.dat → 2006-BHF-Av18-E2A-SM.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-Esym2-SM.dat → 2006-BHF-Av18-Esym2-SM.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-NM-FreeSpectrum.dat → 2006-BHF-Av18-GAP-NM-FreeSpectrum.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-NM-SelfEnergy.dat → 2006-BHF-Av18-GAP-NM-SelfEnergy.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-SM-FreeSpectrum.dat → 2006-BHF-Av18-GAP-SM-FreeSpectrum.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-SM-SelfEnergy.dat → 2006-BHF-Av18-GAP-SM-SelfEnergy.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2020-MBPT-NM-DHSL59.dat → 2019-MBPT-NM-DHSL59.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2020-MBPT-NM-DHSL69.dat → 2019-MBPT-NM-DHSL69.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2020-MBPT-SM-DHSL59.dat → 2019-MBPT-SM-DHSL59.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2020-MBPT-SM-DHSL69.dat → 2019-MBPT-SM-DHSL69.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2023-MBPT-NM.csv → 2020-MBPT-NM.csv} +0 -0
- /nucleardatapy/data/matter/micro/{2023-MBPT-SM.csv → 2020-MBPT-SM.csv} +0 -0
- /nucleardatapy/data/nuclei/{nskin → rnp}/208Pb.dat +0 -0
- /nucleardatapy/data/nuclei/{nskin → rnp}/48Ca.dat +0 -0
- /nucleardatapy/hnuc/{setup_be1L_exp.py → setup_re1L_exp.py} +0 -0
- /nucleardatapy/hnuc/{setup_be1Xi_exp.py → setup_re1Xi_exp.py} +0 -0
- /nucleardatapy/hnuc/{setup_be2L_exp.py → setup_re2L_exp.py} +0 -0
- {nucleardatapy-0.2.0.dist-info → nucleardatapy-0.2.1.dist-info/licenses}/LICENSE +0 -0
- {nucleardatapy-0.2.0.dist-info → nucleardatapy-0.2.1.dist-info}/top_level.txt +0 -0
|
@@ -3,7 +3,7 @@ import matplotlib.pyplot as plt
|
|
|
3
3
|
|
|
4
4
|
import nucleardatapy as nuda
|
|
5
5
|
|
|
6
|
-
def
|
|
6
|
+
def eos_setupAMBeq_e2a_nuc_fig( pname, micro_mbs, pheno_models, band ):
|
|
7
7
|
"""
|
|
8
8
|
Plot nuclear chart (N versus Z).\
|
|
9
9
|
The plot is 1x2 with:\
|
|
@@ -24,7 +24,688 @@ def eos_setupAMBeq_xp_fig( pname, models_micro, models_pheno ):
|
|
|
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.
|
|
27
|
+
fig.subplots_adjust(left=0.10, bottom=0.12, right=None, top=0.90, wspace=0.05, hspace=0.05 )
|
|
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])
|
|
32
|
+
axs[0].set_ylim([-2, 27])
|
|
33
|
+
#axs[0].set_tick_params('y', right=True)
|
|
34
|
+
#axs[0].set_tick_params('x', top=True)
|
|
35
|
+
#
|
|
36
|
+
axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
|
|
37
|
+
axs[1].set_xlim([0, 0.28])
|
|
38
|
+
axs[1].set_ylim([-2, 27])
|
|
39
|
+
axs[1].tick_params('y', labelleft=False)
|
|
40
|
+
#
|
|
41
|
+
mb_check = []
|
|
42
|
+
#
|
|
43
|
+
for kmb,mb in enumerate(micro_mbs):
|
|
44
|
+
#
|
|
45
|
+
print('mb:',mb,kmb)
|
|
46
|
+
#
|
|
47
|
+
models, models_lower = nuda.matter.micro_esym_models_mb( mb )
|
|
48
|
+
#
|
|
49
|
+
print('models:',models)
|
|
50
|
+
#
|
|
51
|
+
if mb == 'VAR':
|
|
52
|
+
models.remove('1998-VAR-AM-APR-fit')
|
|
53
|
+
models_lower.remove('1998-var-am-apr-fit')
|
|
54
|
+
#
|
|
55
|
+
for model in models:
|
|
56
|
+
#
|
|
57
|
+
micro = nuda.eos.setupAMBeq( model = model, kind = 'micro' )
|
|
58
|
+
if nuda.env.verb_output: micro.print_outputs( )
|
|
59
|
+
#
|
|
60
|
+
check = nuda.matter.setupCheck( eos = micro, band = band )
|
|
61
|
+
#
|
|
62
|
+
if check.isInside:
|
|
63
|
+
lstyle = 'solid'
|
|
64
|
+
else:
|
|
65
|
+
lstyle = 'dashed'
|
|
66
|
+
#continue
|
|
67
|
+
#
|
|
68
|
+
if micro.e2a_nuc is not None:
|
|
69
|
+
print('model:',model)
|
|
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] )
|
|
72
|
+
else:
|
|
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] )
|
|
75
|
+
# end of model
|
|
76
|
+
# end of mb
|
|
77
|
+
#
|
|
78
|
+
axs[0].text(0.02,20,'microscopic models',fontsize='10')
|
|
79
|
+
#
|
|
80
|
+
model_check = []
|
|
81
|
+
#
|
|
82
|
+
for kmodel,model in enumerate(pheno_models):
|
|
83
|
+
#
|
|
84
|
+
params, params_lower = nuda.matter.pheno_esym_params( model = model )
|
|
85
|
+
#
|
|
86
|
+
for param in params:
|
|
87
|
+
#
|
|
88
|
+
pheno = nuda.eos.setupAMBeq( model = model, param = param, kind = 'pheno' )
|
|
89
|
+
if nuda.env.verb_output: pheno.print_outputs( )
|
|
90
|
+
#
|
|
91
|
+
check = nuda.matter.setupCheck( eos = pheno, band = band )
|
|
92
|
+
#
|
|
93
|
+
if check.isInside:
|
|
94
|
+
lstyle = 'solid'
|
|
95
|
+
else:
|
|
96
|
+
lstyle = 'dashed'
|
|
97
|
+
#continue
|
|
98
|
+
#
|
|
99
|
+
if pheno.e2a_nuc is not None:
|
|
100
|
+
print('model:',model,' param:',param)
|
|
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] )
|
|
103
|
+
else:
|
|
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] )
|
|
106
|
+
# end of param
|
|
107
|
+
# end of model
|
|
108
|
+
#
|
|
109
|
+
axs[1].text(0.02,20,'phenomenological models',fontsize='10')
|
|
110
|
+
#
|
|
111
|
+
fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
|
|
112
|
+
#
|
|
113
|
+
if pname is not None:
|
|
114
|
+
plt.savefig(pname, dpi=200)
|
|
115
|
+
plt.close()
|
|
116
|
+
|
|
117
|
+
def eos_setupAMBeq_pre_nuc_fig( pname, micro_mbs, pheno_models, band ):
|
|
118
|
+
"""
|
|
119
|
+
Plot nuclear chart (N versus Z).\
|
|
120
|
+
The plot is 1x2 with:\
|
|
121
|
+
[0]: nuclear chart.
|
|
122
|
+
|
|
123
|
+
:param pname: name of the figure (*.png)
|
|
124
|
+
:type pname: str.
|
|
125
|
+
:param table: table.
|
|
126
|
+
:type table: str.
|
|
127
|
+
:param version: version of table to run on.
|
|
128
|
+
:type version: str.
|
|
129
|
+
:param theo_tables: object instantiated on the reference band.
|
|
130
|
+
:type theo_tables: object.
|
|
131
|
+
|
|
132
|
+
"""
|
|
133
|
+
#
|
|
134
|
+
print(f'Plot name: {pname}')
|
|
135
|
+
#
|
|
136
|
+
fig, axs = plt.subplots(1,2)
|
|
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 )
|
|
139
|
+
#
|
|
140
|
+
axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
|
|
141
|
+
axs[0].set_ylabel(r'$P_\text{nuc}$ (fm$^{-3}$)')
|
|
142
|
+
axs[0].set_xlim([0, 0.35])
|
|
143
|
+
axs[0].set_ylim([-2, 80])
|
|
144
|
+
#axs[0].set_tick_params('y', right=True)
|
|
145
|
+
#axs[0].set_tick_params('x', top=True)
|
|
146
|
+
#
|
|
147
|
+
axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
|
|
148
|
+
axs[1].set_xlim([0, 0.35])
|
|
149
|
+
axs[1].set_ylim([-2, 80])
|
|
150
|
+
axs[1].tick_params('y', labelleft=False)
|
|
151
|
+
#
|
|
152
|
+
mb_check = []
|
|
153
|
+
#
|
|
154
|
+
for kmb,mb in enumerate(micro_mbs):
|
|
155
|
+
#
|
|
156
|
+
print('mb:',mb,kmb)
|
|
157
|
+
#
|
|
158
|
+
models, models_lower = nuda.matter.micro_esym_models_mb( mb )
|
|
159
|
+
#
|
|
160
|
+
print('models:',models)
|
|
161
|
+
#
|
|
162
|
+
if mb == 'VAR':
|
|
163
|
+
models.remove('1998-VAR-AM-APR-fit')
|
|
164
|
+
models_lower.remove('1998-var-am-apr-fit')
|
|
165
|
+
#
|
|
166
|
+
for model in models:
|
|
167
|
+
#
|
|
168
|
+
micro = nuda.eos.setupAMBeq( model = model, kind = 'micro' )
|
|
169
|
+
if nuda.env.verb_output: micro.print_outputs( )
|
|
170
|
+
#
|
|
171
|
+
check = nuda.matter.setupCheck( eos = micro, band = band )
|
|
172
|
+
#
|
|
173
|
+
if check.isInside:
|
|
174
|
+
lstyle = 'solid'
|
|
175
|
+
else:
|
|
176
|
+
lstyle = 'dashed'
|
|
177
|
+
#continue
|
|
178
|
+
#
|
|
179
|
+
if micro.pre_nuc is not None:
|
|
180
|
+
print('model:',model)
|
|
181
|
+
if mb in mb_check:
|
|
182
|
+
axs[0].plot( micro.den, micro.pre_nuc, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
183
|
+
else:
|
|
184
|
+
mb_check.append(mb)
|
|
185
|
+
axs[0].plot( micro.den, micro.pre_nuc, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
186
|
+
# end of model
|
|
187
|
+
# end of mb
|
|
188
|
+
axs[0].text(0.02,20,'microscopic models',fontsize='10')
|
|
189
|
+
#
|
|
190
|
+
model_check = []
|
|
191
|
+
#
|
|
192
|
+
for kmodel,model in enumerate(pheno_models):
|
|
193
|
+
#
|
|
194
|
+
params, params_lower = nuda.matter.pheno_esym_params( model = model )
|
|
195
|
+
#
|
|
196
|
+
for param in params:
|
|
197
|
+
#
|
|
198
|
+
pheno = nuda.eos.setupAMBeq( model = model, param = param, kind = 'pheno' )
|
|
199
|
+
if nuda.env.verb_output: pheno.print_outputs( )
|
|
200
|
+
#
|
|
201
|
+
check = nuda.matter.setupCheck( eos = pheno, band = band )
|
|
202
|
+
#
|
|
203
|
+
if check.isInside:
|
|
204
|
+
lstyle = 'solid'
|
|
205
|
+
else:
|
|
206
|
+
lstyle = 'dashed'
|
|
207
|
+
#continue
|
|
208
|
+
#
|
|
209
|
+
if pheno.pre_nuc is not None:
|
|
210
|
+
print('model:',model,' param:',param)
|
|
211
|
+
if model in model_check:
|
|
212
|
+
axs[1].plot( pheno.den, pheno.pre_nuc, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
213
|
+
else:
|
|
214
|
+
model_check.append(model)
|
|
215
|
+
axs[1].plot( pheno.den, pheno.pre_nuc, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
216
|
+
# end of param
|
|
217
|
+
# end of model
|
|
218
|
+
#
|
|
219
|
+
axs[1].text(0.02,20,'phenomenological models',fontsize='10')
|
|
220
|
+
#
|
|
221
|
+
fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
|
|
222
|
+
#
|
|
223
|
+
if pname is not None:
|
|
224
|
+
plt.savefig(pname, dpi=200)
|
|
225
|
+
plt.close()
|
|
226
|
+
|
|
227
|
+
def eos_setupAMBeq_e2a_lep_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.10, bottom=0.12, right=None, top=0.90, wspace=0.05, hspace=0.05 )
|
|
249
|
+
#
|
|
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])
|
|
253
|
+
axs[0].set_ylim([-2, 27])
|
|
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}$)')
|
|
258
|
+
axs[1].set_xlim([0, 0.28])
|
|
259
|
+
axs[1].set_ylim([-2, 27])
|
|
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
|
+
#
|
|
290
|
+
if micro.e2a_lep is not None:
|
|
291
|
+
print('model:',model)
|
|
292
|
+
if mb in mb_check:
|
|
293
|
+
axs[0].plot( micro.den, micro.e2a_lep, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
294
|
+
else:
|
|
295
|
+
mb_check.append(mb)
|
|
296
|
+
axs[0].plot( micro.den, micro.e2a_lep, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
297
|
+
# end of model
|
|
298
|
+
# end of mb
|
|
299
|
+
#
|
|
300
|
+
axs[0].text(0.02,20,'microscopic models',fontsize='10')
|
|
301
|
+
#
|
|
302
|
+
model_check = []
|
|
303
|
+
#
|
|
304
|
+
for kmodel,model in enumerate(pheno_models):
|
|
305
|
+
#
|
|
306
|
+
params, params_lower = nuda.matter.pheno_esym_params( model = model )
|
|
307
|
+
#
|
|
308
|
+
for param in params:
|
|
309
|
+
#
|
|
310
|
+
pheno = nuda.eos.setupAMBeq( model = model, param = param, kind = 'pheno' )
|
|
311
|
+
if nuda.env.verb_output: pheno.print_outputs( )
|
|
312
|
+
#
|
|
313
|
+
check = nuda.matter.setupCheck( eos = pheno, band = band )
|
|
314
|
+
#
|
|
315
|
+
if check.isInside:
|
|
316
|
+
lstyle = 'solid'
|
|
317
|
+
else:
|
|
318
|
+
lstyle = 'dashed'
|
|
319
|
+
#continue
|
|
320
|
+
#
|
|
321
|
+
if pheno.e2a_lep is not None:
|
|
322
|
+
print('model:',model,' param:',param)
|
|
323
|
+
#micro.label=None
|
|
324
|
+
if model in model_check:
|
|
325
|
+
axs[1].plot( pheno.den, pheno.e2a_lep, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
326
|
+
else:
|
|
327
|
+
model_check.append(model)
|
|
328
|
+
axs[1].plot( pheno.den, pheno.e2a_lep, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
329
|
+
# end of param
|
|
330
|
+
# end of model
|
|
331
|
+
#
|
|
332
|
+
axs[1].text(0.02,20,'phenomenological models',fontsize='10')
|
|
333
|
+
#
|
|
334
|
+
fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
|
|
335
|
+
#
|
|
336
|
+
if pname is not None:
|
|
337
|
+
plt.savefig(pname, dpi=200)
|
|
338
|
+
plt.close()
|
|
339
|
+
|
|
340
|
+
def eos_setupAMBeq_pre_lep_fig( pname, micro_mbs, pheno_models, band ):
|
|
341
|
+
"""
|
|
342
|
+
Plot nuclear chart (N versus Z).\
|
|
343
|
+
The plot is 1x2 with:\
|
|
344
|
+
[0]: nuclear chart.
|
|
345
|
+
|
|
346
|
+
:param pname: name of the figure (*.png)
|
|
347
|
+
:type pname: str.
|
|
348
|
+
:param table: table.
|
|
349
|
+
:type table: str.
|
|
350
|
+
:param version: version of table to run on.
|
|
351
|
+
:type version: str.
|
|
352
|
+
:param theo_tables: object instantiated on the reference band.
|
|
353
|
+
:type theo_tables: object.
|
|
354
|
+
|
|
355
|
+
"""
|
|
356
|
+
#
|
|
357
|
+
print(f'Plot name: {pname}')
|
|
358
|
+
#
|
|
359
|
+
fig, axs = plt.subplots(1,2)
|
|
360
|
+
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 )
|
|
362
|
+
#
|
|
363
|
+
axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
|
|
364
|
+
axs[0].set_ylabel(r'$P_\text{lep}$ (fm$^{-3}$)')
|
|
365
|
+
axs[0].set_xlim([0, 0.35])
|
|
366
|
+
axs[0].set_ylim([-2, 80])
|
|
367
|
+
#axs[0].set_tick_params('y', right=True)
|
|
368
|
+
#axs[0].set_tick_params('x', top=True)
|
|
369
|
+
#
|
|
370
|
+
axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
|
|
371
|
+
axs[1].set_xlim([0, 0.35])
|
|
372
|
+
axs[1].set_ylim([-2, 80])
|
|
373
|
+
axs[1].tick_params('y', labelleft=False)
|
|
374
|
+
#
|
|
375
|
+
mb_check = []
|
|
376
|
+
#
|
|
377
|
+
for kmb,mb in enumerate(micro_mbs):
|
|
378
|
+
#
|
|
379
|
+
print('mb:',mb,kmb)
|
|
380
|
+
#
|
|
381
|
+
models, models_lower = nuda.matter.micro_esym_models_mb( mb )
|
|
382
|
+
#
|
|
383
|
+
print('models:',models)
|
|
384
|
+
#
|
|
385
|
+
if mb == 'VAR':
|
|
386
|
+
models.remove('1998-VAR-AM-APR-fit')
|
|
387
|
+
models_lower.remove('1998-var-am-apr-fit')
|
|
388
|
+
#
|
|
389
|
+
for model in models:
|
|
390
|
+
#
|
|
391
|
+
micro = nuda.eos.setupAMBeq( model = model, kind = 'micro' )
|
|
392
|
+
if nuda.env.verb_output: micro.print_outputs( )
|
|
393
|
+
#
|
|
394
|
+
check = nuda.matter.setupCheck( eos = micro, band = band )
|
|
395
|
+
#
|
|
396
|
+
if check.isInside:
|
|
397
|
+
lstyle = 'solid'
|
|
398
|
+
else:
|
|
399
|
+
lstyle = 'dashed'
|
|
400
|
+
#continue
|
|
401
|
+
#
|
|
402
|
+
#
|
|
403
|
+
if micro.pre_lep is not None:
|
|
404
|
+
print('model:',model)
|
|
405
|
+
if mb in mb_check:
|
|
406
|
+
axs[0].plot( micro.den, micro.pre_lep, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
407
|
+
else:
|
|
408
|
+
mb_check.append(mb)
|
|
409
|
+
axs[0].plot( micro.den, micro.pre_lep, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
410
|
+
# end of model
|
|
411
|
+
# end of mb
|
|
412
|
+
#
|
|
413
|
+
axs[0].text(0.02,20,'microscopic models',fontsize='10')
|
|
414
|
+
#
|
|
415
|
+
model_check = []
|
|
416
|
+
#
|
|
417
|
+
for kmodel,model in enumerate(pheno_models):
|
|
418
|
+
#
|
|
419
|
+
params, params_lower = nuda.matter.pheno_esym_params( model = model )
|
|
420
|
+
#
|
|
421
|
+
for param in params:
|
|
422
|
+
#
|
|
423
|
+
pheno = nuda.eos.setupAMBeq( model = model, param = param, kind = 'pheno' )
|
|
424
|
+
#
|
|
425
|
+
check = nuda.matter.setupCheck( eos = pheno, band = band )
|
|
426
|
+
#
|
|
427
|
+
if check.isInside:
|
|
428
|
+
lstyle = 'solid'
|
|
429
|
+
else:
|
|
430
|
+
lstyle = 'dashed'
|
|
431
|
+
#continue
|
|
432
|
+
#
|
|
433
|
+
if micro.pre_lep is not None:
|
|
434
|
+
print('model:',model,' param:',param)
|
|
435
|
+
if model in model_check:
|
|
436
|
+
axs[1].plot( pheno.den, pheno.pre_lep, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
437
|
+
else:
|
|
438
|
+
model_check.append(model)
|
|
439
|
+
axs[1].plot( pheno.den, pheno.pre_lep, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
440
|
+
if nuda.env.verb_output: pheno.print_outputs( )
|
|
441
|
+
# end of param
|
|
442
|
+
# end of model
|
|
443
|
+
#
|
|
444
|
+
axs[1].text(0.02,20,'phenomenological models',fontsize='10')
|
|
445
|
+
#
|
|
446
|
+
fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
|
|
447
|
+
#
|
|
448
|
+
if pname is not None:
|
|
449
|
+
plt.savefig(pname, dpi=200)
|
|
450
|
+
plt.close()
|
|
451
|
+
|
|
452
|
+
def eos_setupAMBeq_e2a_tot_fig( pname, micro_mbs, pheno_models, band ):
|
|
453
|
+
"""
|
|
454
|
+
Plot nuclear chart (N versus Z).\
|
|
455
|
+
The plot is 1x2 with:\
|
|
456
|
+
[0]: nuclear chart.
|
|
457
|
+
|
|
458
|
+
:param pname: name of the figure (*.png)
|
|
459
|
+
:type pname: str.
|
|
460
|
+
:param table: table.
|
|
461
|
+
:type table: str.
|
|
462
|
+
:param version: version of table to run on.
|
|
463
|
+
:type version: str.
|
|
464
|
+
:param theo_tables: object instantiated on the reference band.
|
|
465
|
+
:type theo_tables: object.
|
|
466
|
+
|
|
467
|
+
"""
|
|
468
|
+
#
|
|
469
|
+
print(f'Plot name: {pname}')
|
|
470
|
+
#
|
|
471
|
+
fig, axs = plt.subplots(1,2)
|
|
472
|
+
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 )
|
|
474
|
+
#
|
|
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])
|
|
478
|
+
axs[0].set_ylim([-2, 27])
|
|
479
|
+
#axs[0].set_tick_params('y', right=True)
|
|
480
|
+
#axs[0].set_tick_params('x', top=True)
|
|
481
|
+
#
|
|
482
|
+
axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
|
|
483
|
+
axs[1].set_xlim([0, 0.28])
|
|
484
|
+
axs[1].set_ylim([-2, 27])
|
|
485
|
+
axs[1].tick_params('y', labelleft=False)
|
|
486
|
+
#
|
|
487
|
+
mb_check = []
|
|
488
|
+
#
|
|
489
|
+
for kmb,mb in enumerate(micro_mbs):
|
|
490
|
+
#
|
|
491
|
+
print('mb:',mb,kmb)
|
|
492
|
+
#
|
|
493
|
+
models, models_lower = nuda.matter.micro_esym_models_mb( mb )
|
|
494
|
+
#
|
|
495
|
+
print('models:',models)
|
|
496
|
+
#
|
|
497
|
+
if mb == 'VAR':
|
|
498
|
+
models.remove('1998-VAR-AM-APR-fit')
|
|
499
|
+
models_lower.remove('1998-var-am-apr-fit')
|
|
500
|
+
#
|
|
501
|
+
for model in models:
|
|
502
|
+
#
|
|
503
|
+
micro = nuda.eos.setupAMBeq( model = model, kind = 'micro' )
|
|
504
|
+
if nuda.env.verb_output: micro.print_outputs( )
|
|
505
|
+
#
|
|
506
|
+
check = nuda.matter.setupCheck( eos = micro, band = band )
|
|
507
|
+
#
|
|
508
|
+
if check.isInside:
|
|
509
|
+
lstyle = 'solid'
|
|
510
|
+
else:
|
|
511
|
+
lstyle = 'dashed'
|
|
512
|
+
#continue
|
|
513
|
+
#
|
|
514
|
+
if micro.e2a_tot is not None:
|
|
515
|
+
print('model:',model)
|
|
516
|
+
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] )
|
|
518
|
+
else:
|
|
519
|
+
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] )
|
|
521
|
+
# end of model
|
|
522
|
+
# end of mb
|
|
523
|
+
#
|
|
524
|
+
axs[0].text(0.02,20,'microscopic models',fontsize='10')
|
|
525
|
+
#
|
|
526
|
+
model_check = []
|
|
527
|
+
#
|
|
528
|
+
for kmodel,model in enumerate(pheno_models):
|
|
529
|
+
#
|
|
530
|
+
params, params_lower = nuda.matter.pheno_esym_params( model = model )
|
|
531
|
+
#
|
|
532
|
+
for param in params:
|
|
533
|
+
#
|
|
534
|
+
pheno = nuda.eos.setupAMBeq( model = model, param = param, kind = 'pheno' )
|
|
535
|
+
if nuda.env.verb_output: pheno.print_outputs( )
|
|
536
|
+
#
|
|
537
|
+
check = nuda.matter.setupCheck( eos = pheno, band = band )
|
|
538
|
+
#
|
|
539
|
+
if check.isInside:
|
|
540
|
+
lstyle = 'solid'
|
|
541
|
+
else:
|
|
542
|
+
lstyle = 'dashed'
|
|
543
|
+
#continue
|
|
544
|
+
#
|
|
545
|
+
if pheno.e2a_tot is not None:
|
|
546
|
+
print('model:',model,' param:',param)
|
|
547
|
+
if model in model_check:
|
|
548
|
+
axs[1].plot( pheno.den, pheno.e2a_tot, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
549
|
+
else:
|
|
550
|
+
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] )
|
|
552
|
+
# end of param
|
|
553
|
+
# end of model
|
|
554
|
+
#
|
|
555
|
+
axs[1].text(0.02,20,'phenomenological models',fontsize='10')
|
|
556
|
+
#
|
|
557
|
+
fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
|
|
558
|
+
#
|
|
559
|
+
if pname is not None:
|
|
560
|
+
plt.savefig(pname, dpi=200)
|
|
561
|
+
plt.close()
|
|
562
|
+
|
|
563
|
+
def eos_setupAMBeq_pre_tot_fig( pname, micro_mbs, pheno_models, band ):
|
|
564
|
+
"""
|
|
565
|
+
Plot nuclear chart (N versus Z).\
|
|
566
|
+
The plot is 1x2 with:\
|
|
567
|
+
[0]: nuclear chart.
|
|
568
|
+
|
|
569
|
+
:param pname: name of the figure (*.png)
|
|
570
|
+
:type pname: str.
|
|
571
|
+
:param table: table.
|
|
572
|
+
:type table: str.
|
|
573
|
+
:param version: version of table to run on.
|
|
574
|
+
:type version: str.
|
|
575
|
+
:param theo_tables: object instantiated on the reference band.
|
|
576
|
+
:type theo_tables: object.
|
|
577
|
+
|
|
578
|
+
"""
|
|
579
|
+
#
|
|
580
|
+
print(f'Plot name: {pname}')
|
|
581
|
+
#
|
|
582
|
+
p_den = 0.32
|
|
583
|
+
p_cen = 20.0
|
|
584
|
+
p_std = 11.0
|
|
585
|
+
p_micro_cen = 16.3
|
|
586
|
+
p_micro_std = 3.0
|
|
587
|
+
p_pheno_cen = 20.0
|
|
588
|
+
p_pheno_std = 11.0
|
|
589
|
+
#
|
|
590
|
+
fig, axs = plt.subplots(1,2)
|
|
591
|
+
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 )
|
|
593
|
+
#
|
|
594
|
+
axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
|
|
595
|
+
axs[0].set_ylabel(r'$P_\text{tot}$ (fm$^{-3}$)')
|
|
596
|
+
axs[0].set_xlim([0, 0.35])
|
|
597
|
+
axs[0].set_ylim([-2, 80])
|
|
598
|
+
#axs[0].set_tick_params('y', right=True)
|
|
599
|
+
#axs[0].set_tick_params('x', top=True)
|
|
600
|
+
#
|
|
601
|
+
axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
|
|
602
|
+
axs[1].set_xlim([0, 0.35])
|
|
603
|
+
axs[1].set_ylim([-2, 80])
|
|
604
|
+
axs[1].tick_params('y', labelleft=False)
|
|
605
|
+
#
|
|
606
|
+
mb_check = []
|
|
607
|
+
#
|
|
608
|
+
for kmb,mb in enumerate(micro_mbs):
|
|
609
|
+
#
|
|
610
|
+
print('mb:',mb,kmb)
|
|
611
|
+
#
|
|
612
|
+
models, models_lower = nuda.matter.micro_esym_models_mb( mb )
|
|
613
|
+
#
|
|
614
|
+
print('models:',models)
|
|
615
|
+
#
|
|
616
|
+
if mb == 'VAR':
|
|
617
|
+
models.remove('1998-VAR-AM-APR-fit')
|
|
618
|
+
models_lower.remove('1998-var-am-apr-fit')
|
|
619
|
+
#
|
|
620
|
+
for model in models:
|
|
621
|
+
#
|
|
622
|
+
micro = nuda.eos.setupAMBeq( model = model, kind = 'micro' )
|
|
623
|
+
if nuda.env.verb_output: micro.print_outputs( )
|
|
624
|
+
#
|
|
625
|
+
check = nuda.matter.setupCheck( eos = micro, band = band )
|
|
626
|
+
#
|
|
627
|
+
if check.isInside:
|
|
628
|
+
lstyle = 'solid'
|
|
629
|
+
else:
|
|
630
|
+
lstyle = 'dashed'
|
|
631
|
+
#continue
|
|
632
|
+
#
|
|
633
|
+
#
|
|
634
|
+
if micro.pre_tot is not None:
|
|
635
|
+
print('model:',model)
|
|
636
|
+
if mb in mb_check:
|
|
637
|
+
axs[0].plot( micro.den, micro.pre_tot, marker='o', linestyle=micro.linestyle, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
638
|
+
else:
|
|
639
|
+
mb_check.append(mb)
|
|
640
|
+
axs[0].plot( micro.den, micro.pre_tot, marker='o', linestyle=micro.linestyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
641
|
+
# end of model
|
|
642
|
+
# end of mb
|
|
643
|
+
#
|
|
644
|
+
axs[0].errorbar( p_den, p_cen, yerr=p_std, color='k' )
|
|
645
|
+
axs[0].errorbar( p_den+0.005, p_micro_cen, yerr=p_micro_std, color='r' )
|
|
646
|
+
axs[0].text(0.02,20,'microscopic models',fontsize='10')
|
|
647
|
+
#
|
|
648
|
+
model_check = []
|
|
649
|
+
#
|
|
650
|
+
for kmodel,model in enumerate(pheno_models):
|
|
651
|
+
#
|
|
652
|
+
params, params_lower = nuda.matter.pheno_esym_params( model = model )
|
|
653
|
+
#
|
|
654
|
+
for param in params:
|
|
655
|
+
#
|
|
656
|
+
pheno = nuda.eos.setupAMBeq( model = model, param = param, kind = 'pheno' )
|
|
657
|
+
if nuda.env.verb_output: pheno.print_outputs( )
|
|
658
|
+
#
|
|
659
|
+
check = nuda.matter.setupCheck( eos = pheno, band = band )
|
|
660
|
+
#
|
|
661
|
+
if check.isInside:
|
|
662
|
+
lstyle = 'solid'
|
|
663
|
+
else:
|
|
664
|
+
lstyle = 'dashed'
|
|
665
|
+
#continue
|
|
666
|
+
#
|
|
667
|
+
if pheno.pre_tot is not None:
|
|
668
|
+
print('model:',model,' param:',param)
|
|
669
|
+
if model in model_check:
|
|
670
|
+
axs[1].plot( pheno.den, pheno.pre_tot, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
671
|
+
else:
|
|
672
|
+
model_check.append(model)
|
|
673
|
+
axs[1].plot( pheno.den, pheno.pre_tot, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
674
|
+
# end of param
|
|
675
|
+
# end of model
|
|
676
|
+
#
|
|
677
|
+
axs[1].errorbar( p_den, p_cen, yerr=p_std, color='k' )
|
|
678
|
+
axs[1].errorbar( p_den+0.005, p_pheno_cen, yerr=p_pheno_std, color='r' )
|
|
679
|
+
axs[1].text(0.02,20,'phenomenological models',fontsize='10')
|
|
680
|
+
#
|
|
681
|
+
fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
|
|
682
|
+
#
|
|
683
|
+
if pname is not None:
|
|
684
|
+
plt.savefig(pname, dpi=200)
|
|
685
|
+
plt.close()
|
|
686
|
+
|
|
687
|
+
def eos_setupAMBeq_xp_fig( pname, micro_mbs, pheno_models, band ):
|
|
688
|
+
"""
|
|
689
|
+
Plot nuclear chart (N versus Z).\
|
|
690
|
+
The plot is 1x2 with:\
|
|
691
|
+
[0]: nuclear chart.
|
|
692
|
+
|
|
693
|
+
:param pname: name of the figure (*.png)
|
|
694
|
+
:type pname: str.
|
|
695
|
+
:param table: table.
|
|
696
|
+
:type table: str.
|
|
697
|
+
:param version: version of table to run on.
|
|
698
|
+
:type version: str.
|
|
699
|
+
:param theo_tables: object instantiated on the reference band.
|
|
700
|
+
:type theo_tables: object.
|
|
701
|
+
|
|
702
|
+
"""
|
|
703
|
+
#
|
|
704
|
+
print(f'Plot name: {pname}')
|
|
705
|
+
#
|
|
706
|
+
fig, axs = plt.subplots(1,2)
|
|
707
|
+
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 )
|
|
28
709
|
#
|
|
29
710
|
axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
|
|
30
711
|
axs[0].set_ylabel(r'proton fraction $x_p$')
|
|
@@ -40,42 +721,83 @@ def eos_setupAMBeq_xp_fig( pname, models_micro, models_pheno ):
|
|
|
40
721
|
#setp(axs[1].get_yticklabels(), visible=False)
|
|
41
722
|
axs[1].tick_params('y', labelleft=False)
|
|
42
723
|
#
|
|
43
|
-
|
|
724
|
+
mb_check = []
|
|
725
|
+
#
|
|
726
|
+
for kmb,mb in enumerate(micro_mbs):
|
|
727
|
+
#
|
|
728
|
+
print('mb:',mb,kmb)
|
|
729
|
+
#
|
|
730
|
+
models, models_lower = nuda.matter.micro_esym_models_mb( mb )
|
|
731
|
+
#
|
|
732
|
+
print('models:',models)
|
|
44
733
|
#
|
|
45
|
-
|
|
46
|
-
|
|
734
|
+
if mb == 'VAR':
|
|
735
|
+
models.remove('1998-VAR-AM-APR-fit')
|
|
736
|
+
models_lower.remove('1998-var-am-apr-fit')
|
|
47
737
|
#
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
738
|
+
for model in models:
|
|
739
|
+
#
|
|
740
|
+
micro = nuda.eos.setupAMBeq( model = model, kind = 'micro' )
|
|
741
|
+
if nuda.env.verb_output: micro.print_outputs( )
|
|
742
|
+
#
|
|
743
|
+
check = nuda.matter.setupCheck( eos = micro, band = band )
|
|
744
|
+
#
|
|
745
|
+
if check.isInside:
|
|
746
|
+
lstyle = 'solid'
|
|
747
|
+
else:
|
|
748
|
+
lstyle = 'dashed'
|
|
749
|
+
#continue
|
|
750
|
+
#
|
|
751
|
+
if micro.x_p is not None:
|
|
752
|
+
print('model:',model)
|
|
753
|
+
if mb in mb_check:
|
|
754
|
+
axs[0].plot( micro.den, micro.x_p, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
755
|
+
else:
|
|
756
|
+
mb_check.append(mb)
|
|
757
|
+
axs[0].plot( micro.den, micro.x_p, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
758
|
+
# end of model
|
|
759
|
+
# end of mb
|
|
760
|
+
#
|
|
51
761
|
axs[0].text(0.02,0.18,'microscopic models',fontsize='10')
|
|
52
|
-
#axs[0].legend(loc='upper left',fontsize='8', ncol=3)
|
|
53
762
|
#
|
|
54
|
-
|
|
763
|
+
model_check = []
|
|
764
|
+
#
|
|
765
|
+
for kmodel,model in enumerate(pheno_models):
|
|
55
766
|
#
|
|
56
767
|
params, params_lower = nuda.matter.pheno_esym_params( model = model )
|
|
57
768
|
#
|
|
58
769
|
for param in params:
|
|
59
770
|
#
|
|
60
|
-
|
|
61
|
-
|
|
771
|
+
pheno = nuda.eos.setupAMBeq( model = model, param = param, kind = 'pheno' )
|
|
772
|
+
#
|
|
773
|
+
check = nuda.matter.setupCheck( eos = pheno, band = band )
|
|
774
|
+
#
|
|
775
|
+
if check.isInside:
|
|
776
|
+
lstyle = 'solid'
|
|
777
|
+
else:
|
|
778
|
+
lstyle = 'dashed'
|
|
779
|
+
#continue
|
|
780
|
+
#
|
|
781
|
+
if pheno.x_p is not None:
|
|
62
782
|
print('model:',model,' param:',param)
|
|
63
|
-
|
|
64
|
-
|
|
783
|
+
if model in model_check:
|
|
784
|
+
axs[1].plot( pheno.den, pheno.x_p, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
785
|
+
else:
|
|
786
|
+
model_check.append(model)
|
|
787
|
+
axs[1].plot( pheno.den, pheno.x_p, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
65
788
|
if nuda.env.verb_output: pheno.print_outputs( )
|
|
789
|
+
# end of param
|
|
790
|
+
# end of model
|
|
66
791
|
#
|
|
67
|
-
#axs[1].fill_between( band.den, y1=(band.e2a-band.e2a_std), y2=(band.e2a+band.e2a_std), color=band.color, alpha=band.alpha, visible=True )
|
|
68
|
-
#axs[1].plot( band.den, (band.e2a-band.e2a_std), color='k', linestyle='dashed' )
|
|
69
|
-
#axs[1].plot( band.den, (band.e2a+band.e2a_std), color='k', linestyle='dashed' )
|
|
70
792
|
axs[1].text(0.02,0.18,'phenomenological models',fontsize='10')
|
|
71
|
-
#
|
|
72
|
-
|
|
793
|
+
#
|
|
794
|
+
fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
|
|
73
795
|
#
|
|
74
796
|
if pname is not None:
|
|
75
797
|
plt.savefig(pname, dpi=200)
|
|
76
798
|
plt.close()
|
|
77
799
|
|
|
78
|
-
def eos_setupAMBeq_xe_fig( pname,
|
|
800
|
+
def eos_setupAMBeq_xe_fig( pname, micro_mbs, pheno_models, band ):
|
|
79
801
|
"""
|
|
80
802
|
Plot nuclear chart (N versus Z).\
|
|
81
803
|
The plot is 1x2 with:\
|
|
@@ -96,7 +818,7 @@ def eos_setupAMBeq_xe_fig( pname, models_micro, models_pheno ):
|
|
|
96
818
|
#
|
|
97
819
|
fig, axs = plt.subplots(1,2)
|
|
98
820
|
fig.tight_layout() # Or equivalently, "plt.tight_layout()"
|
|
99
|
-
fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.
|
|
821
|
+
fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.90, wspace=0.05, hspace=0.3 )
|
|
100
822
|
#
|
|
101
823
|
axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
|
|
102
824
|
axs[0].set_ylabel(r'electron fraction $x_e$')
|
|
@@ -109,37 +831,85 @@ def eos_setupAMBeq_xe_fig( pname, models_micro, models_pheno ):
|
|
|
109
831
|
axs[1].set_ylim([0, 0.2])
|
|
110
832
|
axs[1].tick_params('y', labelleft=False)
|
|
111
833
|
#
|
|
112
|
-
|
|
834
|
+
mb_check = []
|
|
835
|
+
#
|
|
836
|
+
for kmb,mb in enumerate(micro_mbs):
|
|
837
|
+
#
|
|
838
|
+
print('mb:',mb,kmb)
|
|
113
839
|
#
|
|
114
|
-
|
|
115
|
-
if nuda.env.verb_output: beta.print_outputs( )
|
|
840
|
+
models, models_lower = nuda.matter.micro_esym_models_mb( mb )
|
|
116
841
|
#
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
842
|
+
print('models:',models)
|
|
843
|
+
#
|
|
844
|
+
if mb == 'VAR':
|
|
845
|
+
models.remove('1998-VAR-AM-APR-fit')
|
|
846
|
+
models_lower.remove('1998-var-am-apr-fit')
|
|
847
|
+
#
|
|
848
|
+
for model in models:
|
|
849
|
+
#
|
|
850
|
+
micro = nuda.eos.setupAMBeq( model = model, kind = 'micro' )
|
|
851
|
+
if nuda.env.verb_output: micro.print_outputs( )
|
|
852
|
+
#
|
|
853
|
+
check = nuda.matter.setupCheck( eos = micro, band = band )
|
|
854
|
+
#
|
|
855
|
+
if check.isInside:
|
|
856
|
+
lstyle = 'solid'
|
|
857
|
+
else:
|
|
858
|
+
lstyle = 'dashed'
|
|
859
|
+
#continue
|
|
860
|
+
#
|
|
861
|
+
#
|
|
862
|
+
if micro.x_el is not None:
|
|
863
|
+
print('model:',model)
|
|
864
|
+
if mb in mb_check:
|
|
865
|
+
axs[0].plot( micro.den, micro.x_el, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
866
|
+
else:
|
|
867
|
+
mb_check.append(mb)
|
|
868
|
+
axs[0].plot( micro.den, micro.x_el, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
869
|
+
# end of model
|
|
870
|
+
# end of mb
|
|
871
|
+
#
|
|
120
872
|
axs[0].text(0.02,0.18,'microscopic models',fontsize='10')
|
|
121
|
-
#axs[0].legend(loc='upper left',fontsize='8', ncol=3)
|
|
122
873
|
#
|
|
123
|
-
|
|
874
|
+
model_check = []
|
|
875
|
+
#
|
|
876
|
+
for kmodel,model in enumerate(pheno_models):
|
|
124
877
|
#
|
|
125
878
|
params, params_lower = nuda.matter.pheno_esym_params( model = model )
|
|
126
879
|
#
|
|
127
880
|
for param in params:
|
|
128
881
|
#
|
|
129
|
-
|
|
130
|
-
if beta.esym is not None:
|
|
131
|
-
print('model:',model,' param:',param)
|
|
132
|
-
#beta.label=None
|
|
133
|
-
axs[1].plot( beta.den, beta.x_el, linestyle=beta.linestyle, label=beta.label, markevery=beta.every )
|
|
882
|
+
pheno = nuda.eos.setupAMBeq( model = model, param = param, kind = 'pheno' )
|
|
134
883
|
if nuda.env.verb_output: pheno.print_outputs( )
|
|
884
|
+
#
|
|
885
|
+
check = nuda.matter.setupCheck( eos = pheno, band = band )
|
|
886
|
+
#
|
|
887
|
+
if check.isInside:
|
|
888
|
+
lstyle = 'solid'
|
|
889
|
+
else:
|
|
890
|
+
lstyle = 'dashed'
|
|
891
|
+
#continue
|
|
892
|
+
#
|
|
893
|
+
if pheno.x_el is not None:
|
|
894
|
+
print('model:',model,' param:',param)
|
|
895
|
+
#micro.label=None
|
|
896
|
+
if model in model_check:
|
|
897
|
+
axs[1].plot( pheno.den, pheno.x_el, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
898
|
+
else:
|
|
899
|
+
model_check.append(model)
|
|
900
|
+
axs[1].plot( pheno.den, pheno.x_el, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
901
|
+
# end of param
|
|
902
|
+
# end of model
|
|
135
903
|
#
|
|
136
904
|
axs[1].text(0.02,0.18,'phenomenological models',fontsize='10')
|
|
137
905
|
#
|
|
906
|
+
fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
|
|
907
|
+
#
|
|
138
908
|
if pname is not None:
|
|
139
909
|
plt.savefig(pname, dpi=200)
|
|
140
910
|
plt.close()
|
|
141
911
|
|
|
142
|
-
def eos_setupAMBeq_xmu_fig( pname,
|
|
912
|
+
def eos_setupAMBeq_xmu_fig( pname, micro_mbs, pheno_models, band ):
|
|
143
913
|
"""
|
|
144
914
|
Plot nuclear chart (N versus Z).\
|
|
145
915
|
The plot is 1x2 with:\
|
|
@@ -160,7 +930,7 @@ def eos_setupAMBeq_xmu_fig( pname, models_micro, models_pheno ):
|
|
|
160
930
|
#
|
|
161
931
|
fig, axs = plt.subplots(1,2)
|
|
162
932
|
fig.tight_layout() # Or equivalently, "plt.tight_layout()"
|
|
163
|
-
fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.
|
|
933
|
+
fig.subplots_adjust(left=0.12, bottom=0.12, right=None, top=0.90, wspace=0.05, hspace=0.3 )
|
|
164
934
|
#
|
|
165
935
|
axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)')
|
|
166
936
|
axs[0].set_ylabel(r'muon fraction $x_\mu$')
|
|
@@ -173,32 +943,79 @@ def eos_setupAMBeq_xmu_fig( pname, models_micro, models_pheno ):
|
|
|
173
943
|
axs[1].set_ylim([0, 0.2])
|
|
174
944
|
axs[1].tick_params('y', labelleft=False)
|
|
175
945
|
#
|
|
176
|
-
|
|
946
|
+
mb_check = []
|
|
947
|
+
#
|
|
948
|
+
for kmb,mb in enumerate(micro_mbs):
|
|
949
|
+
#
|
|
950
|
+
print('mb:',mb,kmb)
|
|
951
|
+
#
|
|
952
|
+
models, models_lower = nuda.matter.micro_esym_models_mb( mb )
|
|
177
953
|
#
|
|
178
|
-
|
|
179
|
-
if nuda.env.verb_output: beta.print_outputs( )
|
|
954
|
+
print('models:',models)
|
|
180
955
|
#
|
|
181
|
-
if
|
|
182
|
-
|
|
183
|
-
|
|
956
|
+
if mb == 'VAR':
|
|
957
|
+
models.remove('1998-VAR-AM-APR-fit')
|
|
958
|
+
models_lower.remove('1998-var-am-apr-fit')
|
|
959
|
+
#
|
|
960
|
+
for model in models:
|
|
961
|
+
#
|
|
962
|
+
micro = nuda.eos.setupAMBeq( model = model, kind = 'micro' )
|
|
963
|
+
if nuda.env.verb_output: micro.print_outputs( )
|
|
964
|
+
#
|
|
965
|
+
check = nuda.matter.setupCheck( eos = micro, band = band )
|
|
966
|
+
#
|
|
967
|
+
if check.isInside:
|
|
968
|
+
lstyle = 'solid'
|
|
969
|
+
else:
|
|
970
|
+
lstyle = 'dashed'
|
|
971
|
+
#continue
|
|
972
|
+
#
|
|
973
|
+
if micro.x_mu is not None:
|
|
974
|
+
print('model:',model)
|
|
975
|
+
if mb in mb_check:
|
|
976
|
+
axs[0].plot( micro.den, micro.x_mu, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
977
|
+
else:
|
|
978
|
+
mb_check.append(mb)
|
|
979
|
+
axs[0].plot( micro.den, micro.x_mu, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
980
|
+
# end of model
|
|
981
|
+
# end of mb
|
|
982
|
+
#
|
|
184
983
|
axs[0].text(0.02,0.18,'microscopic models',fontsize='10')
|
|
185
|
-
#axs[0].legend(loc='upper left',fontsize='8', ncol=3)
|
|
186
984
|
#
|
|
187
|
-
|
|
985
|
+
model_check = []
|
|
986
|
+
#
|
|
987
|
+
for kmodel,model in enumerate(pheno_models):
|
|
188
988
|
#
|
|
189
989
|
params, params_lower = nuda.matter.pheno_esym_params( model = model )
|
|
190
990
|
#
|
|
191
991
|
for param in params:
|
|
192
992
|
#
|
|
193
|
-
|
|
194
|
-
|
|
993
|
+
pheno = nuda.eos.setupAMBeq( model = model, param = param, kind = 'pheno' )
|
|
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.x_mu is not None:
|
|
195
1004
|
print('model:',model,' param:',param)
|
|
196
|
-
|
|
197
|
-
|
|
1005
|
+
if model in model_check:
|
|
1006
|
+
axs[1].plot( pheno.den, pheno.x_mu, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
1007
|
+
else:
|
|
1008
|
+
model_check.append(model)
|
|
1009
|
+
axs[1].plot( pheno.den, pheno.x_mu, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
198
1010
|
if nuda.env.verb_output: pheno.print_outputs( )
|
|
1011
|
+
# end of param
|
|
1012
|
+
# end of model
|
|
199
1013
|
#
|
|
200
1014
|
axs[1].text(0.02,0.18,'phenomenological models',fontsize='10')
|
|
201
1015
|
#
|
|
1016
|
+
fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
|
|
1017
|
+
#
|
|
202
1018
|
if pname is not None:
|
|
203
1019
|
plt.savefig(pname, dpi=200)
|
|
204
|
-
plt.close()
|
|
1020
|
+
plt.close()
|
|
1021
|
+
#
|