nucleardatapy 0.2.1__py3-none-any.whl → 1.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- nucleardatapy/__init__.py +3 -1
- nucleardatapy/astro/setup_gw.py +18 -18
- nucleardatapy/astro/setup_mr.py +9 -1
- nucleardatapy/astro/setup_mup.py +10 -10
- nucleardatapy/corr/setup_EsymDen.py +0 -5
- nucleardatapy/corr/setup_EsymLsym.py +50 -17
- nucleardatapy/corr/setup_KsatQsat.py +170 -69
- nucleardatapy/crust/setup_crust.py +363 -125
- nucleardatapy/data/astro/NICER/J0740+6620.dat +1 -0
- nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-E2A-NM.dat +8 -8
- nucleardatapy/data/matter/nep/NEPESkyrme.dat +2 -3
- nucleardatapy/data/matter/nep/NEPGSkyrme.dat +7 -0
- nucleardatapy/data/matter/nep/NEPSkyrme.dat +4 -2
- nucleardatapy/data/matter/nep/NEPxEFT.dat +8 -0
- nucleardatapy/data/matter/nep/best67DDSkyrme.dat +28 -0
- nucleardatapy/data/matter/nep/best90DDSkyrme.dat +46 -0
- nucleardatapy/data/matter/nep/best95DDSkyrme.dat +54 -0
- nucleardatapy/data/matter/pheno/ESkyrme/BSk31-NM.dat +996 -996
- nucleardatapy/data/matter/pheno/ESkyrme/BSk31-SM.dat +991 -991
- nucleardatapy/data/matter/pheno/ESkyrme/BSkG4-NM.dat +1002 -0
- nucleardatapy/data/matter/pheno/ESkyrme/BSkG4-SM.dat +1002 -0
- nucleardatapy/data/matter/pheno/Skyrme/BSkG1-NM.dat +102 -0
- nucleardatapy/data/matter/pheno/Skyrme/BSkG1-SM.dat +102 -0
- nucleardatapy/data/matter/pheno/Skyrme/BSkG2-NM.dat +102 -0
- nucleardatapy/data/matter/pheno/Skyrme/BSkG2-SM.dat +102 -0
- nucleardatapy/env.py +1 -1
- nucleardatapy/eos/__init__.py +4 -3
- nucleardatapy/eos/setupCC.py +429 -0
- nucleardatapy/eos/setup_am.py +39 -14
- nucleardatapy/eos/setup_am_Beq.py +40 -15
- nucleardatapy/eos/setup_am_Leq.py +40 -15
- nucleardatapy/fig/__init__.py +24 -15
- nucleardatapy/fig/astro_setupGW_fig.py +5 -5
- nucleardatapy/fig/astro_setupMR_fig.py +12 -10
- nucleardatapy/fig/astro_setupMasses_fig.py +4 -4
- nucleardatapy/fig/astro_setupMtov_fig.py +4 -4
- nucleardatapy/fig/astro_setupMup_fig.py +5 -5
- nucleardatapy/fig/corr_setupEsymDen_fig.py +12 -5
- nucleardatapy/fig/corr_setupEsymLsym_fig.py +18 -5
- nucleardatapy/fig/corr_setupKsatQsat_fig.py +19 -15
- nucleardatapy/fig/crust_setupCrust_fig.py +5 -5
- nucleardatapy/fig/eos_setupAMBeq_fig.py +523 -66
- nucleardatapy/fig/eos_setupAMLeq_fig.py +18 -18
- nucleardatapy/fig/eos_setupAM_asy_lep_fig.py +364 -0
- nucleardatapy/fig/eos_setupAM_asy_nuc_fig.py +337 -0
- nucleardatapy/fig/eos_setupAM_asy_tot_fig.py +343 -0
- nucleardatapy/fig/eos_setupAM_fig.py +504 -0
- nucleardatapy/fig/eos_setupCC_fig.py +240 -0
- nucleardatapy/fig/hnuc_setupChart_fig.py +2 -2
- nucleardatapy/fig/hnuc_setupRE1LExp_fig.py +3 -3
- nucleardatapy/fig/matter_all_fig.py +954 -0
- nucleardatapy/fig/matter_setupCheck_fig.py +103 -0
- nucleardatapy/fig/matter_setupFFGLep_fig.py +70 -0
- nucleardatapy/fig/matter_setupFFGNuc_fig.py +267 -104
- nucleardatapy/fig/matter_setupHIC_fig.py +98 -58
- nucleardatapy/fig/matter_setupMicroEsym_fig.py +248 -63
- nucleardatapy/fig/matter_setupMicro_LP_fig.py +175 -78
- nucleardatapy/fig/matter_setupMicro_band_fig.py +115 -47
- nucleardatapy/fig/matter_setupMicro_effmass_fig.py +248 -73
- nucleardatapy/fig/matter_setupMicro_err_NM_fig.py +41 -18
- nucleardatapy/fig/matter_setupMicro_fig.py +299 -67
- nucleardatapy/fig/matter_setupMicro_gap_fig.py +219 -92
- nucleardatapy/fig/matter_setupNEPStats_fig.py +96 -0
- nucleardatapy/fig/matter_setupPhenoEsym_fig.py +193 -55
- nucleardatapy/fig/matter_setupPheno_fig.py +385 -88
- nucleardatapy/fig/nuc_setupBEExp_chart_fig.py +59 -48
- nucleardatapy/fig/nuc_setupBEExp_fig.py +48 -41
- nucleardatapy/fig/nuc_setupBETheo_fig.py +59 -31
- nucleardatapy/fig/nuc_setupISGMRExp_fig.py +5 -5
- nucleardatapy/fig/nuc_setupRchExp_fig.py +2 -2
- nucleardatapy/fig/nuc_setupRchTheo_fig.py +21 -20
- nucleardatapy/fig/nuc_setupRnpExp_fig.py +77 -109
- nucleardatapy/fig/nuc_setupRnpTheo_fig.py +92 -93
- nucleardatapy/hello.py +6 -0
- nucleardatapy/hnuc/setup_re1L_exp.py +6 -6
- nucleardatapy/hnuc/setup_re1Xi_exp.py +5 -5
- nucleardatapy/hnuc/setup_re2L_exp.py +6 -6
- nucleardatapy/matter/__init__.py +14 -14
- nucleardatapy/matter/setup_check.py +6 -6
- nucleardatapy/matter/setup_ffg.py +66 -39
- nucleardatapy/matter/setup_hic.py +91 -74
- nucleardatapy/matter/setup_micro.py +1623 -1009
- nucleardatapy/matter/setup_micro_band.py +6 -6
- nucleardatapy/matter/setup_micro_esym.py +11 -13
- nucleardatapy/matter/setup_micro_gap.py +24 -17
- nucleardatapy/matter/setup_micro_lp.py +2 -2
- nucleardatapy/matter/setup_nep.py +175 -92
- nucleardatapy/matter/{setup_nep_model_dist.py → setup_nep_stat_model.py} +13 -8
- nucleardatapy/matter/{setup_nep_dist.py → setup_nep_stat_models.py} +12 -8
- nucleardatapy/matter/setup_pheno.py +121 -45
- nucleardatapy/matter/setup_pheno_esym.py +8 -13
- nucleardatapy/nuc/setup_be_exp.py +304 -292
- nucleardatapy/nuc/setup_be_theo.py +273 -97
- nucleardatapy/nuc/setup_isgmr_exp.py +4 -4
- nucleardatapy/nuc/setup_rnp_exp.py +1 -0
- nucleardatapy/nuc/setup_rnp_theo.py +2 -1
- {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.0.dist-info}/METADATA +48 -16
- {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.0.dist-info}/RECORD +127 -120
- {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.0.dist-info}/WHEEL +1 -1
- tests/test_corr_setupKsatQsat.py +3 -1
- tests/test_matter_setupMicro.py +37 -10
- nucleardatapy/data/matter/pheno/ESkyrme/BSkG1-NM.dat +0 -1002
- nucleardatapy/data/matter/pheno/ESkyrme/BSkG1-SM.dat +0 -1002
- nucleardatapy/data/matter/pheno/ESkyrme/BSkG2-NM.dat +0 -1002
- nucleardatapy/data/matter/pheno/ESkyrme/BSkG2-SM.dat +0 -1002
- nucleardatapy/fig/eos_setupAM_e_asy_lep_fig.py +0 -125
- nucleardatapy/fig/eos_setupAM_e_asy_nuc_fig.py +0 -115
- nucleardatapy/fig/eos_setupAM_e_asy_tot_fig.py +0 -117
- nucleardatapy/fig/eos_setupAM_e_fig.py +0 -173
- nucleardatapy/fig/matter_ENM_fig.py +0 -128
- nucleardatapy/fig/matter_ESM_fig.py +0 -140
- nucleardatapy/fig/matter_Esym_fig.py +0 -134
- nucleardatapy/fig/matter_cs2_fig.py +0 -83
- nucleardatapy/fig/matter_preNM_fig.py +0 -146
- nucleardatapy/fig/matter_preSM_fig.py +0 -144
- nucleardatapy/fig/matter_setupNEPModelDist_fig.py +0 -68
- /nucleardatapy/data/LandauParameters/micro/{2006-IBHF-NM-AV18.dat → 2006-EBHF-NM-AV18.dat} +0 -0
- /nucleardatapy/data/LandauParameters/micro/{2006-IBHF-SM-AV18.dat → 2006-EBHF-SM-AV18.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-BSK14.dat → 2022-GMRS-BSK14.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-BSK16.dat → 2022-GMRS-BSK16.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-DHSL59.dat → 2022-GMRS-DHSL59.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-DHSL69.dat → 2022-GMRS-DHSL69.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-F0.dat → 2022-GMRS-F0.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-H1.dat → 2022-GMRS-H1.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-H2.dat → 2022-GMRS-H2.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-H3.dat → 2022-GMRS-H3.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-H4.dat → 2022-GMRS-H4.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-H5.dat → 2022-GMRS-H5.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-H7.dat → 2022-GMRS-H7.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-LNS5.dat → 2022-GMRS-LNS5.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-RATP.dat → 2022-GMRS-RATP.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-SGII.dat → 2022-GMRS-SGII.dat} +0 -0
- /nucleardatapy/data/crust/{2022-crustGMRS-SLY5.dat → 2022-GMRS-SLY5.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2013-QMC-NM.dat → 2013-MBPT-NM.dat} +0 -0
- /nucleardatapy/data/{NeutronSkin/ddrhNskin-208Pb.dat → rnp/ddrhrnp-208Pb.dat} +0 -0
- /nucleardatapy/data/{NeutronSkin/ddrhNskin-48Ca.dat → rnp/ddrhrnp-48Ca.dat} +0 -0
- /nucleardatapy/data/{NeutronSkin/nlrhNskin-208Pb.dat → rnp/nlrhrnp-208Pb.dat} +0 -0
- /nucleardatapy/data/{NeutronSkin/nlrhNskin-48Ca.dat → rnp/nlrhrnp-48Ca.dat} +0 -0
- /nucleardatapy/data/{NeutronSkin/skyrmeNskin-208Pb.dat → rnp/skyrmernp-208Pb.dat} +0 -0
- /nucleardatapy/data/{NeutronSkin/skyrmeNskin-48Ca.dat → rnp/skyrmernp-48Ca.dat} +0 -0
- {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.0.dist-info}/licenses/LICENSE +0 -0
- {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
import numpy as np
|
|
2
|
+
import matplotlib.pyplot as plt
|
|
3
|
+
|
|
4
|
+
import nucleardatapy as nuda
|
|
5
|
+
|
|
6
|
+
def eos_setupAM_e2a_asy_nuc_fig( pname, micro_mbs, pheno_models, asy, band ):
|
|
7
|
+
"""
|
|
8
|
+
Plot nuclear chart (N versus Z).\
|
|
9
|
+
The plot is 1x2 with:\
|
|
10
|
+
[0]: nuclear chart.
|
|
11
|
+
|
|
12
|
+
:param pname: name of the figure (*.png)
|
|
13
|
+
:type pname: str.
|
|
14
|
+
:param table: table.
|
|
15
|
+
:type table: str.
|
|
16
|
+
:param version: version of table to run on.
|
|
17
|
+
:type version: str.
|
|
18
|
+
:param theo_tables: object instantiated on the reference band.
|
|
19
|
+
:type theo_tables: object.
|
|
20
|
+
|
|
21
|
+
"""
|
|
22
|
+
#
|
|
23
|
+
print(f'Plot name: {pname}')
|
|
24
|
+
#
|
|
25
|
+
fig, axs = plt.subplots(1,2)
|
|
26
|
+
#fig.tight_layout() # Or equivalently, "plt.tight_layout()"
|
|
27
|
+
fig.subplots_adjust(left=0.10, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.3 )
|
|
28
|
+
#
|
|
29
|
+
axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
|
|
30
|
+
axs[0].set_ylabel(r'$e_\text{nuc}^\text{int}$ (MeV)',fontsize='14')
|
|
31
|
+
axs[0].set_xlim([0, 0.33])
|
|
32
|
+
axs[0].set_ylim([-10, 35])
|
|
33
|
+
#
|
|
34
|
+
axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
|
|
35
|
+
#axs[1].set_ylabel(r'$E/A$')
|
|
36
|
+
axs[1].set_xlim([0, 0.33])
|
|
37
|
+
axs[1].set_ylim([-10, 35])
|
|
38
|
+
axs[1].tick_params('y', labelleft=False)
|
|
39
|
+
#
|
|
40
|
+
mb_check = []
|
|
41
|
+
#
|
|
42
|
+
for kmb,mb in enumerate(micro_mbs):
|
|
43
|
+
#
|
|
44
|
+
print('mb:',mb,kmb)
|
|
45
|
+
#
|
|
46
|
+
models, models_lower = nuda.matter.micro_esym_models_mb( mb )
|
|
47
|
+
#
|
|
48
|
+
print('models:',models)
|
|
49
|
+
#
|
|
50
|
+
if mb == 'VAR':
|
|
51
|
+
models.remove('1998-VAR-AM-APR-fit')
|
|
52
|
+
models_lower.remove('1998-var-am-apr-fit')
|
|
53
|
+
#
|
|
54
|
+
for model in models:
|
|
55
|
+
#
|
|
56
|
+
micro = nuda.eos.setupAM( model = model, kind = 'micro', asy = asy )
|
|
57
|
+
if nuda.env.verb_output: micro.print_outputs( )
|
|
58
|
+
#
|
|
59
|
+
check = nuda.matter.setupCheck( eos = micro, band = band )
|
|
60
|
+
#
|
|
61
|
+
if check.isInside:
|
|
62
|
+
lstyle = 'solid'
|
|
63
|
+
else:
|
|
64
|
+
lstyle = 'dashed'
|
|
65
|
+
#continue
|
|
66
|
+
#
|
|
67
|
+
if micro.e2a_int_nuc is not None:
|
|
68
|
+
if mb in mb_check:
|
|
69
|
+
axs[0].plot( micro.den, micro.e2a_int_nuc, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
70
|
+
else:
|
|
71
|
+
mb_check.append(mb)
|
|
72
|
+
axs[0].plot( micro.den, micro.e2a_int_nuc, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
73
|
+
# end of model
|
|
74
|
+
# end of mb
|
|
75
|
+
axs[0].text(0.02,-8,'microscopic models',fontsize='10')
|
|
76
|
+
axs[0].text(0.02,-9.5,r'for $\delta=$'+str(asy),fontsize='10')
|
|
77
|
+
#
|
|
78
|
+
model_check = []
|
|
79
|
+
#
|
|
80
|
+
for kmodel,model in enumerate(pheno_models):
|
|
81
|
+
#
|
|
82
|
+
params, params_lower = nuda.matter.pheno_esym_params( model = model )
|
|
83
|
+
#
|
|
84
|
+
for param in params:
|
|
85
|
+
#
|
|
86
|
+
pheno = nuda.eos.setupAM( model = model, param = param, kind = 'pheno', asy = asy )
|
|
87
|
+
if nuda.env.verb_output: pheno.print_outputs( )
|
|
88
|
+
#
|
|
89
|
+
check = nuda.matter.setupCheck( eos = pheno, band = band )
|
|
90
|
+
#
|
|
91
|
+
if check.isInside:
|
|
92
|
+
lstyle = 'solid'
|
|
93
|
+
else:
|
|
94
|
+
lstyle = 'dashed'
|
|
95
|
+
#continue
|
|
96
|
+
#
|
|
97
|
+
if pheno.e2a_int_nuc is not None:
|
|
98
|
+
print('model:',model,' param:',param)
|
|
99
|
+
if model in model_check:
|
|
100
|
+
axs[1].plot( pheno.den, pheno.e2a_int_nuc, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
101
|
+
else:
|
|
102
|
+
model_check.append(model)
|
|
103
|
+
axs[1].plot( pheno.den, pheno.e2a_int_nuc, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
104
|
+
# end of param
|
|
105
|
+
# end of model
|
|
106
|
+
#
|
|
107
|
+
axs[1].text(0.02,-8,'phenomenological models',fontsize='10')
|
|
108
|
+
axs[1].text(0.02,-9.5,r'for $\delta=$'+str(asy),fontsize='10')
|
|
109
|
+
#
|
|
110
|
+
fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
|
|
111
|
+
#
|
|
112
|
+
if pname is not None:
|
|
113
|
+
plt.savefig(pname, dpi=200)
|
|
114
|
+
plt.close()
|
|
115
|
+
#
|
|
116
|
+
|
|
117
|
+
def eos_setupAM_pre_asy_nuc_fig( pname, micro_mbs, pheno_models, asy, 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=0.95, top=0.90, wspace=0.05, hspace=0.3 )
|
|
139
|
+
#
|
|
140
|
+
axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
|
|
141
|
+
axs[0].set_ylabel(r'$p_\text{nuc}$ (MeV fm$^{-3}$)',fontsize='14')
|
|
142
|
+
axs[0].set_xlim([0, 0.33])
|
|
143
|
+
axs[0].set_ylim([-10, 35])
|
|
144
|
+
#
|
|
145
|
+
axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
|
|
146
|
+
#axs[1].set_ylabel(r'$E/A$')
|
|
147
|
+
axs[1].set_xlim([0, 0.33])
|
|
148
|
+
axs[1].set_ylim([-10, 35])
|
|
149
|
+
axs[1].tick_params('y', labelleft=False)
|
|
150
|
+
#
|
|
151
|
+
mb_check = []
|
|
152
|
+
#
|
|
153
|
+
for kmb,mb in enumerate(micro_mbs):
|
|
154
|
+
#
|
|
155
|
+
print('mb:',mb,kmb)
|
|
156
|
+
#
|
|
157
|
+
models, models_lower = nuda.matter.micro_esym_models_mb( mb )
|
|
158
|
+
#
|
|
159
|
+
print('models:',models)
|
|
160
|
+
#
|
|
161
|
+
if mb == 'VAR':
|
|
162
|
+
models.remove('1998-VAR-AM-APR-fit')
|
|
163
|
+
models_lower.remove('1998-var-am-apr-fit')
|
|
164
|
+
#
|
|
165
|
+
for model in models:
|
|
166
|
+
#
|
|
167
|
+
micro = nuda.eos.setupAM( model = model, kind = 'micro', asy = asy )
|
|
168
|
+
if nuda.env.verb_output: micro.print_outputs( )
|
|
169
|
+
#
|
|
170
|
+
check = nuda.matter.setupCheck( eos = micro, band = band )
|
|
171
|
+
#
|
|
172
|
+
if check.isInside:
|
|
173
|
+
lstyle = 'solid'
|
|
174
|
+
else:
|
|
175
|
+
lstyle = 'dashed'
|
|
176
|
+
#continue
|
|
177
|
+
#
|
|
178
|
+
if micro.pre_nuc is not None:
|
|
179
|
+
if mb in mb_check:
|
|
180
|
+
axs[0].plot( micro.den, micro.pre_nuc, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
181
|
+
else:
|
|
182
|
+
mb_check.append(mb)
|
|
183
|
+
axs[0].plot( micro.den, micro.pre_nuc, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
184
|
+
# end of model
|
|
185
|
+
# end of mb
|
|
186
|
+
axs[0].text(0.02,-8,'microscopic models',fontsize='10')
|
|
187
|
+
axs[0].text(0.02,-9.5,r'for $\delta=$'+str(asy),fontsize='10')
|
|
188
|
+
#
|
|
189
|
+
model_check = []
|
|
190
|
+
#
|
|
191
|
+
for kmodel,model in enumerate(pheno_models):
|
|
192
|
+
#
|
|
193
|
+
params, params_lower = nuda.matter.pheno_esym_params( model = model )
|
|
194
|
+
#
|
|
195
|
+
for param in params:
|
|
196
|
+
#
|
|
197
|
+
pheno = nuda.eos.setupAM( model = model, param = param, kind = 'pheno', asy = asy )
|
|
198
|
+
if nuda.env.verb_output: pheno.print_outputs( )
|
|
199
|
+
#
|
|
200
|
+
check = nuda.matter.setupCheck( eos = pheno, band = band )
|
|
201
|
+
#
|
|
202
|
+
if check.isInside:
|
|
203
|
+
lstyle = 'solid'
|
|
204
|
+
else:
|
|
205
|
+
lstyle = 'dashed'
|
|
206
|
+
#continue
|
|
207
|
+
#
|
|
208
|
+
if pheno.pre_nuc is not None:
|
|
209
|
+
print('model:',model,' param:',param)
|
|
210
|
+
if model in model_check:
|
|
211
|
+
axs[1].plot( pheno.den, pheno.pre_nuc, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
212
|
+
else:
|
|
213
|
+
model_check.append(model)
|
|
214
|
+
axs[1].plot( pheno.den, pheno.pre_nuc, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
215
|
+
# end of param
|
|
216
|
+
# end of model
|
|
217
|
+
#
|
|
218
|
+
axs[1].text(0.02,-8,'phenomenological models',fontsize='10')
|
|
219
|
+
axs[1].text(0.02,-9.5,r'for $\delta=$'+str(asy),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
|
+
|
|
228
|
+
def eos_setupAM_cs2_asy_nuc_fig( pname, micro_mbs, pheno_models, asy, band ):
|
|
229
|
+
"""
|
|
230
|
+
Plot nuclear chart (N versus Z).\
|
|
231
|
+
The plot is 1x2 with:\
|
|
232
|
+
[0]: nuclear chart.
|
|
233
|
+
|
|
234
|
+
:param pname: name of the figure (*.png)
|
|
235
|
+
:type pname: str.
|
|
236
|
+
:param table: table.
|
|
237
|
+
:type table: str.
|
|
238
|
+
:param version: version of table to run on.
|
|
239
|
+
:type version: str.
|
|
240
|
+
:param theo_tables: object instantiated on the reference band.
|
|
241
|
+
:type theo_tables: object.
|
|
242
|
+
|
|
243
|
+
"""
|
|
244
|
+
#
|
|
245
|
+
print(f'Plot name: {pname}')
|
|
246
|
+
#
|
|
247
|
+
fig, axs = plt.subplots(1,2)
|
|
248
|
+
#fig.tight_layout() # Or equivalently, "plt.tight_layout()"
|
|
249
|
+
fig.subplots_adjust(left=0.10, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.3 )
|
|
250
|
+
#
|
|
251
|
+
axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
|
|
252
|
+
axs[0].set_ylabel(r'$c_\text{s,nuc}^2/c^2$',fontsize='14')
|
|
253
|
+
axs[0].set_xlim([0, 0.33])
|
|
254
|
+
axs[0].set_ylim([-0.05, 0.25])
|
|
255
|
+
#
|
|
256
|
+
axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
|
|
257
|
+
#axs[1].set_ylabel(r'$E/A$')
|
|
258
|
+
axs[1].set_xlim([0, 0.33])
|
|
259
|
+
axs[1].set_ylim([-0.05, 0.25])
|
|
260
|
+
axs[1].tick_params('y', labelleft=False)
|
|
261
|
+
#
|
|
262
|
+
mb_check = []
|
|
263
|
+
#
|
|
264
|
+
for kmb,mb in enumerate(micro_mbs):
|
|
265
|
+
#
|
|
266
|
+
print('mb:',mb,kmb)
|
|
267
|
+
#
|
|
268
|
+
models, models_lower = nuda.matter.micro_esym_models_mb( mb )
|
|
269
|
+
#
|
|
270
|
+
print('models:',models)
|
|
271
|
+
#
|
|
272
|
+
if mb == 'VAR':
|
|
273
|
+
models.remove('1998-VAR-AM-APR-fit')
|
|
274
|
+
models_lower.remove('1998-var-am-apr-fit')
|
|
275
|
+
#
|
|
276
|
+
for model in models:
|
|
277
|
+
#
|
|
278
|
+
micro = nuda.eos.setupAM( model = model, kind = 'micro', asy = asy )
|
|
279
|
+
if nuda.env.verb_output: micro.print_outputs( )
|
|
280
|
+
#
|
|
281
|
+
check = nuda.matter.setupCheck( eos = micro, band = band )
|
|
282
|
+
#
|
|
283
|
+
if check.isInside:
|
|
284
|
+
lstyle = 'solid'
|
|
285
|
+
else:
|
|
286
|
+
lstyle = 'dashed'
|
|
287
|
+
#continue
|
|
288
|
+
#
|
|
289
|
+
if micro.cs2_nuc is not None:
|
|
290
|
+
if mb in mb_check:
|
|
291
|
+
axs[0].plot( micro.den, micro.cs2_nuc, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
292
|
+
else:
|
|
293
|
+
mb_check.append(mb)
|
|
294
|
+
axs[0].plot( micro.den, micro.cs2_nuc, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
295
|
+
# end of model
|
|
296
|
+
# end of mb
|
|
297
|
+
axs[0].text(0.02,-8,'microscopic models',fontsize='10')
|
|
298
|
+
axs[0].text(0.02,-9.5,r'for $\delta=$'+str(asy),fontsize='10')
|
|
299
|
+
#
|
|
300
|
+
model_check = []
|
|
301
|
+
#
|
|
302
|
+
for kmodel,model in enumerate(pheno_models):
|
|
303
|
+
#
|
|
304
|
+
params, params_lower = nuda.matter.pheno_esym_params( model = model )
|
|
305
|
+
#
|
|
306
|
+
for param in params:
|
|
307
|
+
#
|
|
308
|
+
pheno = nuda.eos.setupAM( model = model, param = param, kind = 'pheno', asy = asy )
|
|
309
|
+
if nuda.env.verb_output: pheno.print_outputs( )
|
|
310
|
+
#
|
|
311
|
+
check = nuda.matter.setupCheck( eos = pheno, band = band )
|
|
312
|
+
#
|
|
313
|
+
if check.isInside:
|
|
314
|
+
lstyle = 'solid'
|
|
315
|
+
else:
|
|
316
|
+
lstyle = 'dashed'
|
|
317
|
+
#continue
|
|
318
|
+
#
|
|
319
|
+
if pheno.cs2_nuc is not None:
|
|
320
|
+
print('model:',model,' param:',param)
|
|
321
|
+
if model in model_check:
|
|
322
|
+
axs[1].plot( pheno.den, pheno.cs2_nuc, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
323
|
+
else:
|
|
324
|
+
model_check.append(model)
|
|
325
|
+
axs[1].plot( pheno.den, pheno.cs2_nuc, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
326
|
+
# end of param
|
|
327
|
+
# end of model
|
|
328
|
+
#
|
|
329
|
+
axs[1].text(0.02,-8,'phenomenological models',fontsize='10')
|
|
330
|
+
axs[1].text(0.02,-9.5,r'for $\delta=$'+str(asy),fontsize='10')
|
|
331
|
+
#
|
|
332
|
+
fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
|
|
333
|
+
#
|
|
334
|
+
if pname is not None:
|
|
335
|
+
plt.savefig(pname, dpi=200)
|
|
336
|
+
plt.close()
|
|
337
|
+
#
|
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
import numpy as np
|
|
2
|
+
import matplotlib.pyplot as plt
|
|
3
|
+
|
|
4
|
+
import nucleardatapy as nuda
|
|
5
|
+
|
|
6
|
+
def eos_setupAM_e2a_asy_tot_fig( pname, micro_mbs, pheno_models, asy, band ):
|
|
7
|
+
"""
|
|
8
|
+
Plot nuclear chart (N versus Z).\
|
|
9
|
+
The plot is 1x2 with:\
|
|
10
|
+
[0]: nuclear chart.
|
|
11
|
+
|
|
12
|
+
:param pname: name of the figure (*.png)
|
|
13
|
+
:type pname: str.
|
|
14
|
+
:param table: table.
|
|
15
|
+
:type table: str.
|
|
16
|
+
:param version: version of table to run on.
|
|
17
|
+
:type version: str.
|
|
18
|
+
:param theo_tables: object instantiated on the reference band.
|
|
19
|
+
:type theo_tables: object.
|
|
20
|
+
|
|
21
|
+
"""
|
|
22
|
+
#
|
|
23
|
+
print(f'Plot name: {pname}')
|
|
24
|
+
#
|
|
25
|
+
fig, axs = plt.subplots(1,2)
|
|
26
|
+
fig.subplots_adjust(left=0.10, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.3 )
|
|
27
|
+
#
|
|
28
|
+
axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
|
|
29
|
+
axs[0].set_ylabel(r'$e_\text{tot}^\text{int}$ (MeV)',fontsize='14')
|
|
30
|
+
axs[0].set_xlim([0, 0.33])
|
|
31
|
+
axs[0].set_ylim([-10, 35])
|
|
32
|
+
#
|
|
33
|
+
axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
|
|
34
|
+
#axs[1].set_ylabel(r'$E/A$')
|
|
35
|
+
axs[1].set_xlim([0, 0.33])
|
|
36
|
+
axs[1].set_ylim([-10, 35])
|
|
37
|
+
axs[1].tick_params('y', labelleft=False)
|
|
38
|
+
#
|
|
39
|
+
mb_check = []
|
|
40
|
+
#
|
|
41
|
+
for kmb,mb in enumerate(micro_mbs):
|
|
42
|
+
#
|
|
43
|
+
print('mb:',mb,kmb)
|
|
44
|
+
#
|
|
45
|
+
models, models_lower = nuda.matter.micro_esym_models_mb( mb )
|
|
46
|
+
#
|
|
47
|
+
print('models:',models)
|
|
48
|
+
#
|
|
49
|
+
if mb == 'VAR':
|
|
50
|
+
models.remove('1998-VAR-AM-APR-fit')
|
|
51
|
+
models_lower.remove('1998-var-am-apr-fit')
|
|
52
|
+
#
|
|
53
|
+
for model in models:
|
|
54
|
+
#
|
|
55
|
+
micro = nuda.eos.setupAM( model = model, kind = 'micro', asy = asy )
|
|
56
|
+
if nuda.env.verb_output: micro.print_outputs( )
|
|
57
|
+
#
|
|
58
|
+
check = nuda.matter.setupCheck( eos = micro, band = band )
|
|
59
|
+
#
|
|
60
|
+
if check.isInside:
|
|
61
|
+
lstyle = 'solid'
|
|
62
|
+
else:
|
|
63
|
+
lstyle = 'dashed'
|
|
64
|
+
#continue
|
|
65
|
+
#
|
|
66
|
+
if micro.e2a_int_tot is not None:
|
|
67
|
+
print('model:',model)
|
|
68
|
+
if mb in mb_check:
|
|
69
|
+
axs[0].plot( micro.den, micro.e2a_int_tot, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
70
|
+
else:
|
|
71
|
+
mb_check.append(mb)
|
|
72
|
+
axs[0].plot( micro.den, micro.e2a_int_tot, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
73
|
+
# end of model
|
|
74
|
+
# end of mb
|
|
75
|
+
#
|
|
76
|
+
axs[0].text(0.02,-8,'microscopic models',fontsize='10')
|
|
77
|
+
axs[0].text(0.02,-9.5,r'for $\delta=$'+str(asy),fontsize='10')
|
|
78
|
+
#
|
|
79
|
+
model_check = []
|
|
80
|
+
#
|
|
81
|
+
for kmodel,model in enumerate(pheno_models):
|
|
82
|
+
#
|
|
83
|
+
params, params_lower = nuda.matter.pheno_esym_params( model = model )
|
|
84
|
+
#
|
|
85
|
+
for param in params:
|
|
86
|
+
#
|
|
87
|
+
pheno = nuda.eos.setupAM( model = model, param = param, kind = 'pheno', asy = asy )
|
|
88
|
+
if nuda.env.verb_output: pheno.print_outputs( )
|
|
89
|
+
#
|
|
90
|
+
check = nuda.matter.setupCheck( eos = pheno, band = band )
|
|
91
|
+
#
|
|
92
|
+
if check.isInside:
|
|
93
|
+
lstyle = 'solid'
|
|
94
|
+
else:
|
|
95
|
+
lstyle = 'dashed'
|
|
96
|
+
#continue
|
|
97
|
+
#
|
|
98
|
+
if pheno.e2a_int_tot is not None:
|
|
99
|
+
print('model:',model,' param:',param)
|
|
100
|
+
#beta.label=None
|
|
101
|
+
if model in model_check:
|
|
102
|
+
axs[1].plot( pheno.den, pheno.e2a_int_tot, 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_int_tot, 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,-8,'phenomenological models',fontsize='10')
|
|
110
|
+
axs[1].text(0.02,-9.5,r'for $\delta=$'+str(asy),fontsize='10')
|
|
111
|
+
#
|
|
112
|
+
fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
|
|
113
|
+
#
|
|
114
|
+
if pname is not None:
|
|
115
|
+
plt.savefig(pname, dpi=200)
|
|
116
|
+
plt.close()
|
|
117
|
+
#
|
|
118
|
+
|
|
119
|
+
def eos_setupAM_pre_asy_tot_fig( pname, micro_mbs, pheno_models, asy, band ):
|
|
120
|
+
"""
|
|
121
|
+
Plot nuclear chart (N versus Z).\
|
|
122
|
+
The plot is 1x2 with:\
|
|
123
|
+
[0]: nuclear chart.
|
|
124
|
+
|
|
125
|
+
:param pname: name of the figure (*.png)
|
|
126
|
+
:type pname: str.
|
|
127
|
+
:param table: table.
|
|
128
|
+
:type table: str.
|
|
129
|
+
:param version: version of table to run on.
|
|
130
|
+
:type version: str.
|
|
131
|
+
:param theo_tables: object instantiated on the reference band.
|
|
132
|
+
:type theo_tables: object.
|
|
133
|
+
|
|
134
|
+
"""
|
|
135
|
+
#
|
|
136
|
+
print(f'Plot name: {pname}')
|
|
137
|
+
#
|
|
138
|
+
fig, axs = plt.subplots(1,2)
|
|
139
|
+
fig.subplots_adjust(left=0.10, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.3 )
|
|
140
|
+
#
|
|
141
|
+
axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
|
|
142
|
+
axs[0].set_ylabel(r'$p_\text{tot}$ (MeV fm$^{-3}$)',fontsize='14')
|
|
143
|
+
axs[0].set_xlim([0, 0.33])
|
|
144
|
+
axs[0].set_ylim([-10, 35])
|
|
145
|
+
#
|
|
146
|
+
axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
|
|
147
|
+
#axs[1].set_ylabel(r'$E/A$')
|
|
148
|
+
axs[1].set_xlim([0, 0.33])
|
|
149
|
+
axs[1].set_ylim([-10, 35])
|
|
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.setupAM( model = model, kind = 'micro', asy = asy )
|
|
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_tot is not None:
|
|
180
|
+
print('model:',model)
|
|
181
|
+
if mb in mb_check:
|
|
182
|
+
axs[0].plot( micro.den, micro.pre_tot, 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_tot, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
186
|
+
# end of model
|
|
187
|
+
# end of mb
|
|
188
|
+
#
|
|
189
|
+
axs[0].text(0.02,-8,'microscopic models',fontsize='10')
|
|
190
|
+
axs[0].text(0.02,-9.5,r'for $\delta=$'+str(asy),fontsize='10')
|
|
191
|
+
#
|
|
192
|
+
model_check = []
|
|
193
|
+
#
|
|
194
|
+
for kmodel,model in enumerate(pheno_models):
|
|
195
|
+
#
|
|
196
|
+
params, params_lower = nuda.matter.pheno_esym_params( model = model )
|
|
197
|
+
#
|
|
198
|
+
for param in params:
|
|
199
|
+
#
|
|
200
|
+
pheno = nuda.eos.setupAM( model = model, param = param, kind = 'pheno', asy = asy )
|
|
201
|
+
if nuda.env.verb_output: pheno.print_outputs( )
|
|
202
|
+
#
|
|
203
|
+
check = nuda.matter.setupCheck( eos = pheno, band = band )
|
|
204
|
+
#
|
|
205
|
+
if check.isInside:
|
|
206
|
+
lstyle = 'solid'
|
|
207
|
+
else:
|
|
208
|
+
lstyle = 'dashed'
|
|
209
|
+
#continue
|
|
210
|
+
#
|
|
211
|
+
if pheno.pre_tot is not None:
|
|
212
|
+
print('model:',model,' param:',param)
|
|
213
|
+
#beta.label=None
|
|
214
|
+
if model in model_check:
|
|
215
|
+
axs[1].plot( pheno.den, pheno.pre_tot, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
216
|
+
else:
|
|
217
|
+
model_check.append(model)
|
|
218
|
+
axs[1].plot( pheno.den, pheno.pre_tot, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
219
|
+
# end of param
|
|
220
|
+
# end of model
|
|
221
|
+
#
|
|
222
|
+
axs[1].text(0.02,-8,'phenomenological models',fontsize='10')
|
|
223
|
+
axs[1].text(0.02,-9.5,r'for $\delta=$'+str(asy),fontsize='10')
|
|
224
|
+
#
|
|
225
|
+
fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
|
|
226
|
+
#
|
|
227
|
+
if pname is not None:
|
|
228
|
+
plt.savefig(pname, dpi=200)
|
|
229
|
+
plt.close()
|
|
230
|
+
#
|
|
231
|
+
|
|
232
|
+
def eos_setupAM_cs2_asy_tot_fig( pname, micro_mbs, pheno_models, asy, band ):
|
|
233
|
+
"""
|
|
234
|
+
Plot nuclear chart (N versus Z).\
|
|
235
|
+
The plot is 1x2 with:\
|
|
236
|
+
[0]: nuclear chart.
|
|
237
|
+
|
|
238
|
+
:param pname: name of the figure (*.png)
|
|
239
|
+
:type pname: str.
|
|
240
|
+
:param table: table.
|
|
241
|
+
:type table: str.
|
|
242
|
+
:param version: version of table to run on.
|
|
243
|
+
:type version: str.
|
|
244
|
+
:param theo_tables: object instantiated on the reference band.
|
|
245
|
+
:type theo_tables: object.
|
|
246
|
+
|
|
247
|
+
"""
|
|
248
|
+
#
|
|
249
|
+
print(f'Plot name: {pname}')
|
|
250
|
+
#
|
|
251
|
+
fig, axs = plt.subplots(1,2)
|
|
252
|
+
fig.subplots_adjust(left=0.10, bottom=0.12, right=0.95, top=0.90, wspace=0.05, hspace=0.3 )
|
|
253
|
+
#
|
|
254
|
+
axs[0].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
|
|
255
|
+
axs[0].set_ylabel(r'$c_\text{s,tot}^2/c^2$',fontsize='14')
|
|
256
|
+
axs[0].set_xlim([0, 0.33])
|
|
257
|
+
axs[0].set_ylim([-0.05, 0.25])
|
|
258
|
+
#
|
|
259
|
+
axs[1].set_xlabel(r'$n_\text{nuc}$ (fm$^{-3}$)',fontsize='14')
|
|
260
|
+
#axs[1].set_ylabel(r'$E/A$')
|
|
261
|
+
axs[1].set_xlim([0, 0.33])
|
|
262
|
+
axs[1].set_ylim([-0.05, 0.25])
|
|
263
|
+
axs[1].tick_params('y', labelleft=False)
|
|
264
|
+
#
|
|
265
|
+
mb_check = []
|
|
266
|
+
#
|
|
267
|
+
for kmb,mb in enumerate(micro_mbs):
|
|
268
|
+
#
|
|
269
|
+
print('mb:',mb,kmb)
|
|
270
|
+
#
|
|
271
|
+
models, models_lower = nuda.matter.micro_esym_models_mb( mb )
|
|
272
|
+
#
|
|
273
|
+
print('models:',models)
|
|
274
|
+
#
|
|
275
|
+
if mb == 'VAR':
|
|
276
|
+
models.remove('1998-VAR-AM-APR-fit')
|
|
277
|
+
models_lower.remove('1998-var-am-apr-fit')
|
|
278
|
+
#
|
|
279
|
+
for model in models:
|
|
280
|
+
#
|
|
281
|
+
micro = nuda.eos.setupAM( model = model, kind = 'micro', asy = asy )
|
|
282
|
+
if nuda.env.verb_output: micro.print_outputs( )
|
|
283
|
+
#
|
|
284
|
+
check = nuda.matter.setupCheck( eos = micro, band = band )
|
|
285
|
+
#
|
|
286
|
+
if check.isInside:
|
|
287
|
+
lstyle = 'solid'
|
|
288
|
+
else:
|
|
289
|
+
lstyle = 'dashed'
|
|
290
|
+
#continue
|
|
291
|
+
#
|
|
292
|
+
if micro.cs2_tot is not None:
|
|
293
|
+
print('model:',model)
|
|
294
|
+
if mb in mb_check:
|
|
295
|
+
axs[0].plot( micro.den, micro.cs2_tot, marker='o', linestyle=lstyle, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
296
|
+
else:
|
|
297
|
+
mb_check.append(mb)
|
|
298
|
+
axs[0].plot( micro.den, micro.cs2_tot, marker='o', linestyle=lstyle, label=mb, markevery=micro.every, color=nuda.param.col[kmb] )
|
|
299
|
+
# end of model
|
|
300
|
+
# end of mb
|
|
301
|
+
#
|
|
302
|
+
axs[0].text(0.02,-8,'microscopic models',fontsize='10')
|
|
303
|
+
axs[0].text(0.02,-9.5,r'for $\delta=$'+str(asy),fontsize='10')
|
|
304
|
+
#
|
|
305
|
+
model_check = []
|
|
306
|
+
#
|
|
307
|
+
for kmodel,model in enumerate(pheno_models):
|
|
308
|
+
#
|
|
309
|
+
params, params_lower = nuda.matter.pheno_esym_params( model = model )
|
|
310
|
+
#
|
|
311
|
+
for param in params:
|
|
312
|
+
#
|
|
313
|
+
pheno = nuda.eos.setupAM( model = model, param = param, kind = 'pheno', asy = asy )
|
|
314
|
+
if nuda.env.verb_output: pheno.print_outputs( )
|
|
315
|
+
#
|
|
316
|
+
check = nuda.matter.setupCheck( eos = pheno, band = band )
|
|
317
|
+
#
|
|
318
|
+
if check.isInside:
|
|
319
|
+
lstyle = 'solid'
|
|
320
|
+
else:
|
|
321
|
+
lstyle = 'dashed'
|
|
322
|
+
#continue
|
|
323
|
+
#
|
|
324
|
+
if pheno.cs2_tot is not None:
|
|
325
|
+
print('model:',model,' param:',param)
|
|
326
|
+
#beta.label=None
|
|
327
|
+
if model in model_check:
|
|
328
|
+
axs[1].plot( pheno.den, pheno.cs2_tot, linestyle=lstyle, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
329
|
+
else:
|
|
330
|
+
model_check.append(model)
|
|
331
|
+
axs[1].plot( pheno.den, pheno.cs2_tot, linestyle=lstyle, label=model, markevery=pheno.every, color=nuda.param.col[kmodel] )
|
|
332
|
+
# end of param
|
|
333
|
+
# end of model
|
|
334
|
+
#
|
|
335
|
+
axs[1].text(0.02,-8,'phenomenological models',fontsize='10')
|
|
336
|
+
axs[1].text(0.02,-9.5,r'for $\delta=$'+str(asy),fontsize='10')
|
|
337
|
+
#
|
|
338
|
+
fig.legend(loc='upper left',bbox_to_anchor=(0.15,1.0),columnspacing=2,fontsize='8',ncol=5,frameon=False)
|
|
339
|
+
#
|
|
340
|
+
if pname is not None:
|
|
341
|
+
plt.savefig(pname, dpi=200)
|
|
342
|
+
plt.close()
|
|
343
|
+
#
|