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.
- nucleardatapy/__init__.py +3 -1
- nucleardatapy/astro/setup_gw.py +18 -18
- nucleardatapy/astro/setup_mr.py +123 -33
- 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/create_folder.py +2 -2
- nucleardatapy/crust/setup_crust.py +364 -126
- nucleardatapy/data/astro/HESS/J1731-347.dat +4 -0
- nucleardatapy/data/astro/NICER/J0030+0451.dat +6 -6
- nucleardatapy/data/astro/NICER/J0437-4715.dat +4 -3
- nucleardatapy/data/astro/NICER/J0614-3329.dat +4 -0
- nucleardatapy/data/astro/NICER/J0740+6620.dat +5 -4
- nucleardatapy/data/hnuclei/1991-2L-Yamamoto.csv +6 -0
- nucleardatapy/data/hnuclei/2013-2L-Ahn.csv +1 -1
- nucleardatapy/data/hnuclei/2019-2L-Ekawa.csv +7 -0
- nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-E2A-NM.dat +8 -8
- nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-414-E2A.dat +21 -0
- nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-414-TD.dat +22 -0
- nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-450-E2A.dat +20 -0
- nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-450-TD.dat +22 -0
- nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-500-E2A.dat +23 -0
- nucleardatapy/data/matter/micro/2020-SCGF-NM-N3LO-500-TD.dat +22 -0
- nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-414-E2A.dat +15 -0
- nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-414-TD.dat +21 -0
- nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-450-E2A.dat +15 -0
- nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-450-TD.dat +21 -0
- nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-500-E2A.dat +20 -0
- nucleardatapy/data/matter/micro/2020-SCGF-SM-N3LO-500-TD.dat +20 -0
- nucleardatapy/data/matter/micro/2024-ABI-NM-DeltaNNLO450.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-NM-DeltaNNLO500.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-NM-DeltaNNLOgo394.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-NM-DeltaNNLOgo450.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-NM-NNLOsat.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-SM-DeltaNNLO450.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-SM-DeltaNNLO500.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-SM-DeltaNNLOgo394.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-SM-DeltaNNLOgo450.dat +28 -0
- nucleardatapy/data/matter/micro/2024-ABI-SM-NNLOsat.dat +28 -0
- 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 +9 -7
- nucleardatapy/fig/astro_setupMR_fig.py +26 -18
- nucleardatapy/fig/astro_setupMasses_fig.py +8 -6
- nucleardatapy/fig/astro_setupMtov_fig.py +10 -6
- nucleardatapy/fig/astro_setupMup_fig.py +9 -7
- nucleardatapy/fig/corr_setupEsymDen_fig.py +22 -9
- nucleardatapy/fig/corr_setupEsymLsym_fig.py +25 -8
- nucleardatapy/fig/corr_setupKsatQsat_fig.py +23 -17
- nucleardatapy/fig/crust_setupCrust_fig.py +11 -9
- nucleardatapy/fig/eos_setupAMBeq_fig.py +641 -156
- nucleardatapy/fig/eos_setupAMLeq_fig.py +53 -50
- nucleardatapy/fig/eos_setupAM_asy_lep_fig.py +373 -0
- nucleardatapy/fig/eos_setupAM_asy_nuc_fig.py +346 -0
- nucleardatapy/fig/eos_setupAM_asy_tot_fig.py +352 -0
- nucleardatapy/fig/eos_setupAM_fig.py +519 -0
- nucleardatapy/fig/eos_setupCC_fig.py +270 -0
- nucleardatapy/fig/hnuc_setupChart_fig.py +19 -16
- nucleardatapy/fig/hnuc_setupRE1LExp_fig.py +15 -5
- nucleardatapy/fig/matter_all_fig.py +971 -0
- nucleardatapy/fig/matter_setupCheck_fig.py +106 -0
- nucleardatapy/fig/matter_setupFFGLep_fig.py +74 -0
- nucleardatapy/fig/matter_setupFFGNuc_fig.py +286 -115
- nucleardatapy/fig/matter_setupHIC_fig.py +107 -67
- nucleardatapy/fig/matter_setupMicroEsym_fig.py +259 -73
- nucleardatapy/fig/matter_setupMicro_LP_fig.py +185 -82
- nucleardatapy/fig/matter_setupMicro_band_fig.py +126 -53
- nucleardatapy/fig/matter_setupMicro_effmass_fig.py +253 -77
- nucleardatapy/fig/matter_setupMicro_err_NM_fig.py +45 -20
- nucleardatapy/fig/matter_setupMicro_fig.py +317 -77
- nucleardatapy/fig/matter_setupMicro_gap_fig.py +237 -100
- nucleardatapy/fig/matter_setupNEPStats_fig.py +106 -0
- nucleardatapy/fig/matter_setupPhenoEsym_fig.py +204 -65
- nucleardatapy/fig/matter_setupPheno_fig.py +395 -93
- nucleardatapy/fig/nuc_setupBEExp_chart_fig.py +93 -73
- nucleardatapy/fig/nuc_setupBEExp_fig.py +97 -87
- nucleardatapy/fig/nuc_setupBETheo_fig.py +114 -81
- nucleardatapy/fig/nuc_setupISGMRExp_fig.py +12 -15
- nucleardatapy/fig/nuc_setupRchExp_fig.py +14 -22
- nucleardatapy/fig/nuc_setupRchTheo_fig.py +37 -40
- nucleardatapy/fig/nuc_setupRnpExp_fig.py +86 -106
- nucleardatapy/fig/nuc_setupRnpTheo_fig.py +105 -94
- 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 +36 -13
- 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 +2033 -1007
- nucleardatapy/matter/setup_micro_band.py +6 -6
- nucleardatapy/matter/setup_micro_esym.py +56 -54
- 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 +129 -49
- nucleardatapy/matter/setup_pheno_esym.py +22 -19
- nucleardatapy/nuc/setup_be_exp.py +306 -292
- nucleardatapy/nuc/setup_be_theo.py +288 -105
- 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.1.dist-info}/METADATA +48 -16
- {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.1.dist-info}/RECORD +157 -124
- {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.1.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.1.dist-info}/licenses/LICENSE +0 -0
- {nucleardatapy-0.2.1.dist-info → nucleardatapy-1.0.1.dist-info}/top_level.txt +0 -0
|
@@ -5,13 +5,13 @@ from scipy.interpolate import CubicSpline
|
|
|
5
5
|
|
|
6
6
|
import nucleardatapy as nuda
|
|
7
7
|
|
|
8
|
-
class
|
|
8
|
+
class setupNEPStat_models():
|
|
9
9
|
"""
|
|
10
10
|
Instantiate the object with results based on phenomenological\
|
|
11
11
|
interactions and choosen by the toolkit practitioner. \
|
|
12
12
|
This choice is defined in the variables `model` and `param`.
|
|
13
13
|
|
|
14
|
-
:param model: Fix the name of model: 'Skyrme', 'NLRH', \
|
|
14
|
+
:param model: Fix the name of model: 'Skyrme', 'GSkyrme', 'NLRH', \
|
|
15
15
|
'DDRH', 'DDRHF'. Default value: 'Skyrme'.
|
|
16
16
|
:type model: str, optional.
|
|
17
17
|
:param param: Fix the parameterization associated to model. \
|
|
@@ -23,15 +23,15 @@ class setupNEPDist():
|
|
|
23
23
|
#
|
|
24
24
|
def __init__( self, models = [ 'Skyrme' ] ):
|
|
25
25
|
#
|
|
26
|
-
if nuda.env.verb: print("\nEnter
|
|
26
|
+
if nuda.env.verb: print("\nEnter setupNEPStat_models()")
|
|
27
27
|
#
|
|
28
28
|
#: Attribute model.
|
|
29
29
|
self.models = models
|
|
30
30
|
if nuda.env.verb: print("models:",models)
|
|
31
31
|
#
|
|
32
|
-
self =
|
|
32
|
+
self = setupNEPStat_models.init_self( self )
|
|
33
33
|
#
|
|
34
|
-
|
|
34
|
+
models_tmp, models_lower = nuda.matter.nep_models( )
|
|
35
35
|
#
|
|
36
36
|
for model in models:
|
|
37
37
|
#
|
|
@@ -41,7 +41,7 @@ class setupNEPDist():
|
|
|
41
41
|
print('-- Exit the code --')
|
|
42
42
|
exit()
|
|
43
43
|
#
|
|
44
|
-
dist = nuda.matter.
|
|
44
|
+
dist = nuda.matter.setupNEPStat_model( model )
|
|
45
45
|
#
|
|
46
46
|
if dist.nep:
|
|
47
47
|
if dist.params: self.params.extend( dist.params );
|
|
@@ -57,6 +57,7 @@ class setupNEPDist():
|
|
|
57
57
|
if dist.Zsym: self.Zsym.extend( dist.Zsym );
|
|
58
58
|
if dist.kappas: self.kappas.extend( dist.kappas );
|
|
59
59
|
if dist.kappav: self.kappav.extend( dist.kappav );
|
|
60
|
+
if dist.kappasat: self.kappasat.extend( dist.kappasat );
|
|
60
61
|
if dist.kappasym: self.kappasym.extend( dist.kappasym );
|
|
61
62
|
if dist.msat: self.msat.extend( dist.msat );
|
|
62
63
|
if dist.Dmsat: self.Dmsat.extend( dist.Dmsat );
|
|
@@ -72,6 +73,7 @@ class setupNEPDist():
|
|
|
72
73
|
self.Zsym = np.array( self.Zsym, dtype = float )
|
|
73
74
|
self.kappas = np.array( self.kappas, dtype = float )
|
|
74
75
|
self.kappav = np.array( self.kappav, dtype = float )
|
|
76
|
+
self.kappasat = np.array( self.kappasat, dtype = float )
|
|
75
77
|
self.kappasym = np.array( self.kappasym, dtype = float )
|
|
76
78
|
self.msat = np.array( self.msat, dtype = float )
|
|
77
79
|
self.Dmsat = np.array( self.Dmsat, dtype = float )
|
|
@@ -90,11 +92,12 @@ class setupNEPDist():
|
|
|
90
92
|
self.Zsym_mean = np.mean(self.Zsym); self.Zsym_std = np.std(self.Zsym)
|
|
91
93
|
self.kappas_mean = np.mean(self.kappas); self.kappas_std = np.std(self.kappas)
|
|
92
94
|
self.kappav_mean = np.mean(self.kappav); self.kappav_std = np.std(self.kappav)
|
|
95
|
+
self.kappasat_mean = np.mean(self.kappasat); self.kappasat_std = np.std(self.kappasat)
|
|
93
96
|
self.kappasym_mean = np.mean(self.kappasym); self.kappasym_std = np.std(self.kappasym)
|
|
94
97
|
self.msat_mean = np.mean(self.msat); self.msat_std = np.std(self.msat)
|
|
95
98
|
self.Dmsat_mean = np.mean(self.Dmsat); self.Dmsat_std = np.std(self.Dmsat)
|
|
96
99
|
#
|
|
97
|
-
if nuda.env.verb: print("Exit
|
|
100
|
+
if nuda.env.verb: print("Exit SetupNEPStat_models()")
|
|
98
101
|
#
|
|
99
102
|
def print_outputs( self ):
|
|
100
103
|
"""
|
|
@@ -132,6 +135,7 @@ class setupNEPDist():
|
|
|
132
135
|
print(f" Zsym_mean: {self.Zsym_mean:.0f} +- {self.Zsym_std:.0f}")
|
|
133
136
|
print(f" kappas_mean: {self.kappas_mean:.2f} +- {self.kappas_std:.2f}")
|
|
134
137
|
print(f" kappav_mean: {self.kappav_mean:.2f} +- {self.kappav_std:.2f}")
|
|
138
|
+
print(f" kappasat_mean: {self.kappasat_mean:.2f} +- {self.kappasat_std:.2f}")
|
|
135
139
|
print(f" kappasym_mean: {self.kappasym_mean:.2f} +- {self.kappasym_std:.2f}")
|
|
136
140
|
print(f" msat_mean: {self.msat_mean:.2f} +- {self.msat_std:.2f}")
|
|
137
141
|
print(f" Dmsat_mean: {self.Dmsat_mean:.2f} +- {self.Dmsat_std:.2f}")
|
|
@@ -179,7 +183,7 @@ class setupNEPDist():
|
|
|
179
183
|
self.params = []
|
|
180
184
|
self.nsat = []; self.Esat = []; self.Ksat = []; self.Qsat = []; self.Zsat = []
|
|
181
185
|
self.Esym = []; self.Lsym = []; self.Ksym = []; self.Qsym = []; self.Zsym = []
|
|
182
|
-
self.kappas = []; self.kappav = []; self.kappasym = []
|
|
186
|
+
self.kappas = []; self.kappav = []; self.kappasat = []; self.kappasym = []
|
|
183
187
|
self.msat = []; self.Dmsat = [];
|
|
184
188
|
#
|
|
185
189
|
if nuda.env.verb: print("Exit init_self()")
|
|
@@ -3,9 +3,6 @@ import sys
|
|
|
3
3
|
import numpy as np # 1.15.0
|
|
4
4
|
from scipy.interpolate import CubicSpline
|
|
5
5
|
|
|
6
|
-
#nucleardatapy_tk = os.getenv('NUCLEARDATAPY_TK')
|
|
7
|
-
#sys.path.insert(0, nucleardatapy_tk)
|
|
8
|
-
|
|
9
6
|
import nucleardatapy as nuda
|
|
10
7
|
|
|
11
8
|
def pheno_models():
|
|
@@ -18,7 +15,9 @@ def pheno_models():
|
|
|
18
15
|
#
|
|
19
16
|
if nuda.env.verb: print("\nEnter pheno_models()")
|
|
20
17
|
#
|
|
21
|
-
models = [ 'Skyrme', 'ESkyrme', 'Gogny', 'Fayans', 'NLRH', 'DDRH', 'DDRHF' ]
|
|
18
|
+
# models = [ 'Skyrme', 'ESkyrme', 'Gogny', 'Fayans', 'NLRH', 'DDRH', 'DDRHF' ]
|
|
19
|
+
models = [ 'Skyrme', 'ESkyrme', 'NLRH', 'DDRH', 'DDRHF' ]
|
|
20
|
+
|
|
22
21
|
#print('Phenomenological models available in the toolkit:',models)
|
|
23
22
|
models_lower = [ item.lower() for item in models ]
|
|
24
23
|
#
|
|
@@ -36,12 +35,12 @@ def pheno_params( model ):
|
|
|
36
35
|
:type model: str.
|
|
37
36
|
:return: The list of parametrizations. \
|
|
38
37
|
If `models` == 'Skyrme': 'BSK14', \
|
|
39
|
-
'BSK16', 'BSK17', 'BSK27', 'F-', 'F+', 'F0', 'FPL', 'LNS', 'LNS1', 'LNS5', \
|
|
38
|
+
'BSK16', 'BSK17', 'BSK27','BSkG1', 'BSkG2', 'F-', 'F+', 'F0', 'FPL', 'LNS', 'LNS1', 'LNS5', \
|
|
40
39
|
'NRAPR', 'RATP', 'SAMI', 'SGII', 'SIII', 'SKGSIGMA', 'SKI2', 'SKI4', 'SKMP', \
|
|
41
40
|
'SKMS', 'SKO', 'SKOP', 'SKP', 'SKRSIGMA', 'SKX', 'Skz2', 'SLY4', 'SLY5', \
|
|
42
41
|
'SLY230A', 'SLY230B', 'SV', 'T6', 'T44', 'UNEDF0', 'UNEDF1'. \
|
|
43
42
|
If `models` == 'ESkyrme': 'BSk22', 'BSk24', 'BSk25', 'BSk26', 'BSk31', 'BSk32', \
|
|
44
|
-
|
|
43
|
+
'BSkG3','BSkG4' . \
|
|
45
44
|
If `models` == 'Fayans': 'SLy4', 'SkM*', 'Fy(IVP)', 'Fy(Dr,HDB)', 'Fy(std)', \
|
|
46
45
|
'SV-min', 'SV-bas', 'SV-K218', 'SV-K226', 'SV-K241', 'SV-mas07', 'SV-mas08', 'SV-mas10',
|
|
47
46
|
'SV-sym28', 'SV-sym32', 'SV-sym34', 'SV-kap00', 'SV-kap20', 'SV-kap60'.
|
|
@@ -55,18 +54,16 @@ def pheno_params( model ):
|
|
|
55
54
|
#
|
|
56
55
|
#print('For model:',model)
|
|
57
56
|
if model.lower() == 'skyrme':
|
|
58
|
-
params = [ 'BSK14', 'BSK16', 'BSK17', 'BSK27', 'F-', \
|
|
57
|
+
params = [ 'BSK14', 'BSK16', 'BSK17', 'BSK27', 'BSkG1', 'BSkG2', 'F-', \
|
|
59
58
|
'F+', 'F0', 'FPL', 'LNS', 'LNS1', 'LNS5', 'NRAPR', 'RATP', \
|
|
60
59
|
'SAMI', 'SGII', 'SIII', 'SKGSIGMA', 'SKI2', 'SKI4', 'SKMP', \
|
|
61
60
|
'SKMS', 'SKO', 'SKOP', 'SKP', 'SKRSIGMA', 'SKX', 'Skz2', \
|
|
62
61
|
'SLY4', 'SLY5', 'SLY230A', 'SLY230B', 'SV', 'T6', 'T44', \
|
|
63
62
|
'UNEDF0', 'UNEDF1' ]
|
|
64
63
|
elif model.lower() == 'eskyrme':
|
|
65
|
-
params = [ 'BSk22', 'BSk24', 'BSk25', 'BSk26', 'BSk31', 'BSk32',
|
|
64
|
+
params = [ 'BSk22', 'BSk24', 'BSk25', 'BSk26', 'BSk31', 'BSk32', 'BSkG3','BSkG4' ]
|
|
66
65
|
elif model.lower() == 'fayans':
|
|
67
|
-
params = [ '
|
|
68
|
-
'SV-min', 'SV-bas', 'SV-K218', 'SV-K226', 'SV-K241', 'SV-mas07', 'SV-mas08', 'SV-mas10',\
|
|
69
|
-
'SV-sym28', 'SV-sym32', 'SV-sym34', 'SV-kap00', 'SV-kap20', 'SV-kap60' ]
|
|
66
|
+
params = [ 'Fy(IVP)', 'Fy(Dr,HDB)', 'Fy(std)' ]
|
|
70
67
|
elif model.lower() == 'gogny':
|
|
71
68
|
params = [ 'D1S', 'D1', 'D250', 'D260', 'D280', 'D300' ]
|
|
72
69
|
elif model.lower() == 'nlrh':
|
|
@@ -90,13 +87,17 @@ class setupPheno():
|
|
|
90
87
|
This choice is defined in the variables `model` and `param`.
|
|
91
88
|
|
|
92
89
|
If `models` == 'Skyrme', `param` can be: 'BSK14', \
|
|
93
|
-
'BSK16', 'BSK17', 'BSK27', 'F-', 'F+', 'F0', 'FPL', 'LNS', 'LNS1', 'LNS5', \
|
|
90
|
+
'BSK16', 'BSK17', 'BSK27', 'BSkG1', 'BSkG2','F-', 'F+', 'F0', 'FPL', 'LNS', 'LNS1', 'LNS5', \
|
|
94
91
|
'NRAPR', 'RATP', 'SAMI', 'SGII', 'SIII', 'SKGSIGMA', 'SKI2', 'SKI4', 'SKMP', \
|
|
95
92
|
'SKMS', 'SKO', 'SKOP', 'SKP', 'SKRSIGMA', 'SKX', 'Skz2', 'SLY4', 'SLY5', \
|
|
96
93
|
'SLY230A', 'SLY230B', 'SV', 'T6', 'T44', 'UNEDF0', 'UNEDF1'.
|
|
97
94
|
|
|
98
95
|
If `models` == 'ESkyrme', `param` can be: 'BSk22', 'BSk24', 'BSk25', \
|
|
99
|
-
'BSk26', 'BSk31', 'BSk32', '
|
|
96
|
+
'BSk26', 'BSk31', 'BSk32', 'BSkG3','BSkG4' .
|
|
97
|
+
|
|
98
|
+
If `models` == 'Fayans', `param` can be: 'Fy(IVP)', 'Fy(Dr,HDB)', 'Fy(std)' \
|
|
99
|
+
|
|
100
|
+
If `models` == 'Gogny', `param` can be: 'D1S', 'D1', 'D250', 'D260', 'D280', 'D300' \
|
|
100
101
|
|
|
101
102
|
If `models` == 'NLRH', `param` can be: 'NL-SH', 'NL3', 'NL3II', 'PK1', 'PK1R', 'TM1'.
|
|
102
103
|
|
|
@@ -139,6 +140,10 @@ class setupPheno():
|
|
|
139
140
|
#
|
|
140
141
|
params, params_lower = pheno_params( model = model )
|
|
141
142
|
#
|
|
143
|
+
self.nm_rmass = nuda.cst.mnc2
|
|
144
|
+
self.sm_rmass = 0.5 * ( nuda.cst.mnc2 + nuda.cst.mpc2 )
|
|
145
|
+
#self.rmass = (1.0-self.xpr) * nuda.cst.mnc2 + self.xpr * nuda.cst.mpc2
|
|
146
|
+
#
|
|
142
147
|
if param.lower() not in params_lower:
|
|
143
148
|
print('The param set ',param,' is not in the list of param.')
|
|
144
149
|
print('list of param:',params)
|
|
@@ -157,9 +162,36 @@ class setupPheno():
|
|
|
157
162
|
self.label = 'SKY-'+param
|
|
158
163
|
#: Attribute providing additional notes about the data.
|
|
159
164
|
self.note = "write here notes about this EOS."
|
|
160
|
-
self.sm_den, self.sm_kfn, self.
|
|
161
|
-
self.nm_den, self.nm_kfn, self.
|
|
165
|
+
self.sm_den, self.sm_kfn, self.sm_e2a_int, self.sm_pre, a, self.sm_cs2 = np.loadtxt( file_in1, usecols=(0,1,2,3,4,5), comments='#', unpack = True )
|
|
166
|
+
self.nm_den, self.nm_kfn, self.nm_e2a_int, self.nm_pre, a, self.nm_cs2 = np.loadtxt( file_in2, usecols=(0,1,2,3,4,5), comments='#', unpack = True )
|
|
167
|
+
self.sm_e2a = self.sm_rmass + self.sm_e2a_int
|
|
168
|
+
self.nm_e2a = self.nm_rmass + self.nm_e2a_int
|
|
169
|
+
self.sm_eps = self.sm_e2a * self.sm_den
|
|
170
|
+
self.nm_eps = self.nm_e2a * self.nm_den
|
|
162
171
|
self.sm_kf = self.sm_kfn
|
|
172
|
+
# pressure in SM
|
|
173
|
+
x = np.insert( self.sm_den, 0, 0.0 )
|
|
174
|
+
y = np.insert( self.sm_e2a_int, 0, 0.0 )
|
|
175
|
+
cs_sm_e2a = CubicSpline( x, y )
|
|
176
|
+
self.sm_pre = np.array( self.sm_den**2 * cs_sm_e2a( self.sm_den, 1) )
|
|
177
|
+
# pressure in NM
|
|
178
|
+
x = np.insert( self.nm_den, 0, 0.0 )
|
|
179
|
+
y = np.insert( self.nm_e2a_int, 0, 0.0 )
|
|
180
|
+
cs_nm_e2a = CubicSpline( x, y )
|
|
181
|
+
self.nm_pre = np.array( self.nm_den**2 * cs_nm_e2a( self.nm_den, 1) )
|
|
182
|
+
# enthalpy
|
|
183
|
+
self.sm_h2a = self.sm_e2a + self.sm_pre / self.sm_den
|
|
184
|
+
self.nm_h2a = self.nm_e2a + self.nm_pre / self.nm_den
|
|
185
|
+
# sound speed in SM
|
|
186
|
+
x = np.insert(self.sm_den, 0, 0.0)
|
|
187
|
+
y = np.insert(self.sm_pre, 0, 0.0)
|
|
188
|
+
cs_sm_pre = CubicSpline(x, y)
|
|
189
|
+
self.sm_cs2 = cs_sm_pre(self.sm_den, 1) / self.sm_h2a
|
|
190
|
+
# sound speed in NM
|
|
191
|
+
x = np.insert(self.nm_den, 0, 0.0)
|
|
192
|
+
y = np.insert(self.nm_pre, 0, 0.0)
|
|
193
|
+
cs_nm_pre = CubicSpline(x, y)
|
|
194
|
+
self.nm_cs2 = cs_nm_pre(self.nm_den, 1) / self.nm_h2a
|
|
163
195
|
#
|
|
164
196
|
#
|
|
165
197
|
elif model.lower() == 'eskyrme':
|
|
@@ -174,20 +206,25 @@ class setupPheno():
|
|
|
174
206
|
self.label = 'ESKY-'+param
|
|
175
207
|
#: Attribute providing additional notes about the data.
|
|
176
208
|
self.note = "write here notes about this EOS."
|
|
177
|
-
self.sm_den, self.
|
|
178
|
-
self.nm_den, self.
|
|
209
|
+
self.sm_den, self.sm_e2a_int, self.sm_pre = np.loadtxt( file_in1, usecols=(0,1,2), comments='#', unpack = True )
|
|
210
|
+
self.nm_den, self.nm_e2a_int, self.nm_pre = np.loadtxt( file_in2, usecols=(0,1,2), comments='#', unpack = True )
|
|
211
|
+
self.sm_e2a = self.sm_rmass + self.sm_e2a_int
|
|
212
|
+
self.nm_e2a = self.nm_rmass + self.nm_e2a_int
|
|
213
|
+
self.sm_eps = self.sm_e2a * self.sm_den
|
|
214
|
+
self.nm_eps = self.nm_e2a * self.nm_den
|
|
179
215
|
self.sm_kf = self.sm_kfn
|
|
180
216
|
self.sm_kfn = nuda.kf_n( nuda.cst.half * self.sm_den )
|
|
181
217
|
self.nm_kfn = nuda.kf_n( self.nm_den )
|
|
182
218
|
self.sm_kf = self.sm_kfn
|
|
183
219
|
# enthalpy
|
|
184
|
-
self.sm_h2a =
|
|
185
|
-
self.nm_h2a =
|
|
186
|
-
# sound speed
|
|
220
|
+
self.sm_h2a = self.sm_e2a + self.sm_pre / self.sm_den
|
|
221
|
+
self.nm_h2a = self.nm_e2a + self.nm_pre / self.nm_den
|
|
222
|
+
# sound speed in SM
|
|
187
223
|
x = np.insert( self.sm_den, 0, 0.0 )
|
|
188
224
|
y = np.insert( self.sm_pre, 0, 0.0 )
|
|
189
225
|
cs_sm_pre = CubicSpline( x, y )
|
|
190
226
|
self.sm_cs2 = cs_sm_pre( self.sm_den, 1) / self.sm_h2a
|
|
227
|
+
# sound speed in NM
|
|
191
228
|
x = np.insert( self.nm_den, 0, 0.0 )
|
|
192
229
|
y = np.insert( self.nm_pre, 0, 0.0 )
|
|
193
230
|
cs_nm_pre = CubicSpline( x, y )
|
|
@@ -214,9 +251,26 @@ class setupPheno():
|
|
|
214
251
|
#self.ref = ''
|
|
215
252
|
self.label = 'NLRH-'+param
|
|
216
253
|
self.note = "write here notes about this EOS."
|
|
217
|
-
self.sm_den, self.sm_kfn, self.
|
|
218
|
-
self.nm_den, self.nm_kfn, self.
|
|
254
|
+
self.sm_den, self.sm_kfn, self.sm_e2a_int, self.sm_pre, self.sm_cs2_data = np.loadtxt( file_in1, usecols=(0,1,2,3,4), comments='#', unpack = True )
|
|
255
|
+
self.nm_den, self.nm_kfn, self.nm_e2a_int, self.nm_pre, self.nm_cs2_data = np.loadtxt( file_in2, usecols=(0,1,2,3,4), comments='#', unpack = True )
|
|
256
|
+
self.sm_e2a = self.sm_rmass + self.sm_e2a_int
|
|
257
|
+
self.nm_e2a = self.nm_rmass + self.nm_e2a_int
|
|
258
|
+
self.sm_eps = self.sm_e2a * self.sm_den
|
|
259
|
+
self.nm_eps = self.nm_e2a * self.nm_den
|
|
219
260
|
self.sm_kf = self.sm_kfn
|
|
261
|
+
# enthalpy
|
|
262
|
+
self.sm_h2a = self.sm_e2a + self.sm_pre / self.sm_den
|
|
263
|
+
self.nm_h2a = self.nm_e2a + self.nm_pre / self.nm_den
|
|
264
|
+
# sound speed in SM
|
|
265
|
+
x = np.insert( self.sm_den, 0, 0.0 )
|
|
266
|
+
y = np.insert( self.sm_pre, 0, 0.0 )
|
|
267
|
+
cs_sm_pre = CubicSpline( x, y )
|
|
268
|
+
self.sm_cs2 = cs_sm_pre( self.sm_den, 1) / self.sm_h2a
|
|
269
|
+
# sound speed in NM
|
|
270
|
+
x = np.insert( self.nm_den, 0, 0.0 )
|
|
271
|
+
y = np.insert( self.nm_pre, 0, 0.0 )
|
|
272
|
+
cs_nm_pre = CubicSpline( x, y )
|
|
273
|
+
self.nm_cs2 = cs_nm_pre( self.nm_den, 1) / self.nm_h2a
|
|
220
274
|
#
|
|
221
275
|
elif model.lower() == 'ddrh':
|
|
222
276
|
#
|
|
@@ -226,10 +280,28 @@ class setupPheno():
|
|
|
226
280
|
if nuda.env.verb: print('Reads file2:',file_in2)
|
|
227
281
|
#self.ref = ''
|
|
228
282
|
self.label = 'DDRH-'+param
|
|
283
|
+
if param == "DDMEd": self.label = "DDRH-DDME$\\delta$"
|
|
229
284
|
self.note = "write here notes about this EOS."
|
|
230
|
-
self.sm_den, self.sm_kfn, self.
|
|
231
|
-
self.nm_den, self.nm_kfn, self.
|
|
285
|
+
self.sm_den, self.sm_kfn, self.sm_e2a_int, self.sm_pre, self.sm_cs2_data = np.loadtxt( file_in1, usecols=(0,1,2,3,4), comments='#', unpack = True )
|
|
286
|
+
self.nm_den, self.nm_kfn, self.nm_e2a_int, self.nm_pre, self.nm_cs2_data = np.loadtxt( file_in2, usecols=(0,1,2,3,4), comments='#', unpack = True )
|
|
287
|
+
self.sm_e2a = self.sm_rmass + self.sm_e2a_int
|
|
288
|
+
self.nm_e2a = self.nm_rmass + self.nm_e2a_int
|
|
289
|
+
self.sm_eps = self.sm_e2a * self.sm_den
|
|
290
|
+
self.nm_eps = self.nm_e2a * self.nm_den
|
|
232
291
|
self.sm_kf = self.sm_kfn
|
|
292
|
+
# enthalpy
|
|
293
|
+
self.sm_h2a = self.sm_e2a + self.sm_pre / self.sm_den
|
|
294
|
+
self.nm_h2a = self.nm_e2a + self.nm_pre / self.nm_den
|
|
295
|
+
# sound speed in SM
|
|
296
|
+
x = np.insert( self.sm_den, 0, 0.0 )
|
|
297
|
+
y = np.insert( self.sm_pre, 0, 0.0 )
|
|
298
|
+
cs_sm_pre = CubicSpline( x, y )
|
|
299
|
+
self.sm_cs2 = cs_sm_pre( self.sm_den, 1) / self.sm_h2a
|
|
300
|
+
# sound speed in NM
|
|
301
|
+
x = np.insert( self.nm_den, 0, 0.0 )
|
|
302
|
+
y = np.insert( self.nm_pre, 0, 0.0 )
|
|
303
|
+
cs_nm_pre = CubicSpline( x, y )
|
|
304
|
+
self.nm_cs2 = cs_nm_pre( self.nm_den, 1) / self.nm_h2a
|
|
233
305
|
#
|
|
234
306
|
elif model.lower() == 'ddrhf':
|
|
235
307
|
#
|
|
@@ -240,9 +312,26 @@ class setupPheno():
|
|
|
240
312
|
#self.ref = ''
|
|
241
313
|
self.label = 'DDRHF-'+param
|
|
242
314
|
self.note = "write here notes about this EOS."
|
|
243
|
-
self.sm_den, self.sm_kfn, self.
|
|
244
|
-
self.nm_den, self.nm_kfn, self.
|
|
315
|
+
self.sm_den, self.sm_kfn, self.sm_e2a_int, self.sm_pre, self.sm_cs2_data = np.loadtxt( file_in1, usecols=(0,1,2,3,4), comments='#', unpack = True )
|
|
316
|
+
self.nm_den, self.nm_kfn, self.nm_e2a_int, self.nm_pre, self.nm_cs2_data = np.loadtxt( file_in2, usecols=(0,1,2,3,4), comments='#', unpack = True )
|
|
317
|
+
self.sm_e2a = self.sm_rmass + self.sm_e2a_int
|
|
318
|
+
self.nm_e2a = self.nm_rmass + self.nm_e2a_int
|
|
319
|
+
self.sm_eps = self.sm_e2a * self.sm_den
|
|
320
|
+
self.nm_eps = self.nm_e2a * self.nm_den
|
|
245
321
|
self.sm_kf = self.sm_kfn
|
|
322
|
+
# enthalpy
|
|
323
|
+
self.sm_h2a = self.sm_e2a + self.sm_pre / self.sm_den
|
|
324
|
+
self.nm_h2a = self.nm_e2a + self.nm_pre / self.nm_den
|
|
325
|
+
# sound speed in SM
|
|
326
|
+
x = np.insert( self.sm_den, 0, 0.0 )
|
|
327
|
+
y = np.insert( self.sm_pre, 0, 0.0 )
|
|
328
|
+
cs_sm_pre = CubicSpline( x, y )
|
|
329
|
+
self.sm_cs2 = cs_sm_pre( self.sm_den, 1) / self.sm_h2a
|
|
330
|
+
# sound speed in NM
|
|
331
|
+
x = np.insert( self.nm_den, 0, 0.0 )
|
|
332
|
+
y = np.insert( self.nm_pre, 0, 0.0 )
|
|
333
|
+
cs_nm_pre = CubicSpline( x, y )
|
|
334
|
+
self.nm_cs2 = cs_nm_pre( self.nm_den, 1) / self.nm_h2a
|
|
246
335
|
#
|
|
247
336
|
self.den_unit = 'fm$^{-3}$'
|
|
248
337
|
self.kfn_unit = 'fm$^{-1}$'
|
|
@@ -269,9 +358,11 @@ class setupPheno():
|
|
|
269
358
|
if any(self.sm_den): print(f" sm_den: {np.round(self.sm_den,2)} in {self.den_unit}")
|
|
270
359
|
if any(self.sm_kfn): print(f" sm_kfn: {np.round(self.sm_kfn,2)} in {self.kfn_unit}")
|
|
271
360
|
if any(self.sm_e2a): print(f" sm_e2a: {np.round(self.sm_e2a,2)} in {self.e2a_unit}")
|
|
361
|
+
if any(self.sm_cs2): print(f" sm_cs2: {np.round(self.sm_cs2,2)}")
|
|
272
362
|
if any(self.nm_den): print(f" nm_den: {np.round(self.nm_den,2)} in {self.den_unit}")
|
|
273
363
|
if any(self.nm_kfn): print(f" nm_kfn: {np.round(self.nm_kfn,2)} in {self.kfn_unit}")
|
|
274
364
|
if any(self.nm_e2a): print(f" nm_e2a: {np.round(self.nm_e2a,2)} in {self.e2a_unit}")
|
|
365
|
+
if any(self.nm_cs2): print(f" nm_cs2: {np.round(self.nm_cs2,2)}")
|
|
275
366
|
if any(self.nm_gap): print(f" nm_gap: {np.round(self.nm_gap,2)} in {self.gap_unit}")
|
|
276
367
|
#
|
|
277
368
|
if nuda.env.verb: print("Exit print_outputs()")
|
|
@@ -306,6 +397,10 @@ class setupPheno():
|
|
|
306
397
|
self.sm_kfn = []
|
|
307
398
|
#: Attribute the symmetric matter Fermi momentum.
|
|
308
399
|
self.sm_kf = []
|
|
400
|
+
#: Attribute the neutron matter internal energy per particle.
|
|
401
|
+
self.nm_e2a_int = []
|
|
402
|
+
#: Attribute the symmetric matter internal energy per particle.
|
|
403
|
+
self.sm_e2a_int = []
|
|
309
404
|
#: Attribute the neutron matter energy per particle.
|
|
310
405
|
self.nm_e2a = []
|
|
311
406
|
#: Attribute the symmetric matter energy per particle.
|
|
@@ -318,6 +413,14 @@ class setupPheno():
|
|
|
318
413
|
self.nm_pre = []
|
|
319
414
|
#: Attribute the symmetric matter pressure.
|
|
320
415
|
self.sm_pre = []
|
|
416
|
+
#: Attribute the neutron matter enthalpy per particle.
|
|
417
|
+
self.nm_h2a = []
|
|
418
|
+
#: Attribute the symmetric matter enthalpy per particle.
|
|
419
|
+
self.sm_h2a = []
|
|
420
|
+
#: Attribute the symmetric matter enthalpy density.
|
|
421
|
+
self.sm_h2v = []
|
|
422
|
+
#: Attribute the neutron matter enthalpy density.
|
|
423
|
+
self.nm_h2v = []
|
|
321
424
|
#: Attribute the neutron matter sound speed (c_s/c)^2.
|
|
322
425
|
self.nm_cs2 = []
|
|
323
426
|
#: Attribute the symmetric matter sound speed (c_s/c)^2.
|
|
@@ -327,27 +430,4 @@ class setupPheno():
|
|
|
327
430
|
#
|
|
328
431
|
return self
|
|
329
432
|
|
|
330
|
-
def checkPheno(obj,band,matter):
|
|
331
|
-
'''
|
|
332
|
-
Check if the phenomenological EOS is inside the band.
|
|
333
|
-
Return True if inside the band, otherwise return False.
|
|
334
|
-
'''
|
|
335
|
-
if matter.lower() == 'nm':
|
|
336
|
-
x = np.insert( obj.nm_den, 0, 0.0 )
|
|
337
|
-
y = np.insert( obj.nm_e2a, 0, 0.0 )
|
|
338
|
-
elif matter.lower() == 'sm':
|
|
339
|
-
x = np.insert( obj.sm_den, 0, 0.0 )
|
|
340
|
-
y = np.insert( obj.sm_e2a, 0, 0.0 )
|
|
341
|
-
elif matter.lower() == 'esym':
|
|
342
|
-
x = np.insert( obj.den, 0, 0.0 )
|
|
343
|
-
y = np.insert( obj.esym, 0, 0.0 )
|
|
344
|
-
else:
|
|
345
|
-
print('checkPheno: issue with matter:',matter)
|
|
346
|
-
exit()
|
|
347
|
-
cs_e2a = CubicSpline( x, y )
|
|
348
|
-
flag = True
|
|
349
|
-
for ind,den in enumerate(band.den):
|
|
350
|
-
if abs(cs_e2a(den)-band.e2a[ind]) > band.e2a_std[ind]:
|
|
351
|
-
flag = False
|
|
352
|
-
return flag
|
|
353
433
|
|
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
import os
|
|
2
|
-
import sys
|
|
3
1
|
import math
|
|
4
2
|
import numpy as np # 1.15.0
|
|
5
3
|
from scipy.interpolate import CubicSpline
|
|
6
4
|
from scipy.optimize import curve_fit
|
|
7
5
|
import random
|
|
8
6
|
|
|
9
|
-
#nucleardatapy_tk = os.getenv('NUCLEARDATAPY_TK')
|
|
10
|
-
#sys.path.insert(0, nucleardatapy_tk)
|
|
11
|
-
|
|
12
7
|
import nucleardatapy as nuda
|
|
13
8
|
|
|
14
9
|
nsat = 0.16
|
|
@@ -59,14 +54,18 @@ def pheno_esym_params( model ):
|
|
|
59
54
|
#
|
|
60
55
|
#print('For model:',model)
|
|
61
56
|
if model.lower() == 'skyrme':
|
|
62
|
-
params = [ 'BSK14', 'BSK16', 'BSK17', 'BSK27', 'F-', \
|
|
57
|
+
params = [ 'BSK14', 'BSK16', 'BSK17', 'BSK27', 'BSkG1', 'BSkG2', 'F-', \
|
|
63
58
|
'F+', 'F0', 'FPL', 'LNS', 'LNS1', 'LNS5', 'NRAPR', 'RATP', \
|
|
64
59
|
'SAMI', 'SGII', 'SIII', 'SKGSIGMA', 'SKI2', 'SKI4', 'SKMP', \
|
|
65
60
|
'SKMS', 'SKO', 'SKOP', 'SKP', 'SKRSIGMA', 'SKX', 'Skz2', \
|
|
66
61
|
'SLY4', 'SLY5', 'SLY230A', 'SLY230B', 'SV', 'T6', 'T44', \
|
|
67
|
-
'UNEDF0', 'UNEDF1']
|
|
62
|
+
'UNEDF0', 'UNEDF1' ]
|
|
68
63
|
elif model.lower() == 'eskyrme':
|
|
69
|
-
params = [ 'BSk22', 'BSk24', 'BSk25', 'BSk26', 'BSk31', 'BSk32',
|
|
64
|
+
params = [ 'BSk22', 'BSk24', 'BSk25', 'BSk26', 'BSk31', 'BSk32', 'BSkG3','BSkG4' ]
|
|
65
|
+
elif model.lower() == 'fayans':
|
|
66
|
+
params = [ 'Fy(IVP)', 'Fy(Dr,HDB)', 'Fy(std)' ]
|
|
67
|
+
elif model.lower() == 'gogny':
|
|
68
|
+
params = [ 'D1S', 'D1', 'D250', 'D260', 'D280', 'D300' ]
|
|
70
69
|
elif model.lower() == 'nlrh':
|
|
71
70
|
params = [ 'NL-SH', 'NL3', 'NL3II', 'PK1', 'PK1R', 'TM1' ]
|
|
72
71
|
elif model.lower() == 'ddrh':
|
|
@@ -86,14 +85,18 @@ class setupPhenoEsym():
|
|
|
86
85
|
interactions and choosen by the toolkit practitioner. \
|
|
87
86
|
This choice is defined in the variables `model` and `param`.
|
|
88
87
|
|
|
89
|
-
If `models` == '
|
|
90
|
-
'BSK16', 'BSK17', 'BSK27', 'F-', 'F+', 'F0', 'FPL', 'LNS', 'LNS1', 'LNS5', \
|
|
88
|
+
If `models` == 'Skyrme', `param` can be: 'BSK14', \
|
|
89
|
+
'BSK16', 'BSK17', 'BSK27', 'BSkG1', 'BSkG2','F-', 'F+', 'F0', 'FPL', 'LNS', 'LNS1', 'LNS5', \
|
|
91
90
|
'NRAPR', 'RATP', 'SAMI', 'SGII', 'SIII', 'SKGSIGMA', 'SKI2', 'SKI4', 'SKMP', \
|
|
92
91
|
'SKMS', 'SKO', 'SKOP', 'SKP', 'SKRSIGMA', 'SKX', 'Skz2', 'SLY4', 'SLY5', \
|
|
93
92
|
'SLY230A', 'SLY230B', 'SV', 'T6', 'T44', 'UNEDF0', 'UNEDF1'.
|
|
94
93
|
|
|
95
94
|
If `models` == 'ESkyrme', `param` can be: 'BSk22', 'BSk24', 'BSk25', \
|
|
96
|
-
'BSk26', 'BSk31', 'BSk32', '
|
|
95
|
+
'BSk26', 'BSk31', 'BSk32', 'BSkG3','BSkG4' .
|
|
96
|
+
|
|
97
|
+
If `models` == 'Fayans', `param` can be: 'Fy(IVP)', 'Fy(Dr,HDB)', 'Fy(std)' \
|
|
98
|
+
|
|
99
|
+
If `models` == 'Gogny', `param` can be: 'D1S', 'D1', 'D250', 'D260', 'D280', 'D300' \
|
|
97
100
|
|
|
98
101
|
If `models` == 'NLRH', `param` can be: 'NL-SH', 'NL3', 'NL3II', 'PK1', 'PK1R', 'TM1'.
|
|
99
102
|
|
|
@@ -156,9 +159,9 @@ class setupPhenoEsym():
|
|
|
156
159
|
#
|
|
157
160
|
pheno = nuda.matter.setupPheno( model = model, param = param )
|
|
158
161
|
self.sm_den = pheno.sm_den
|
|
159
|
-
self.
|
|
162
|
+
self.sm_e2a_int = pheno.sm_e2a_int
|
|
160
163
|
self.nm_den = pheno.nm_den
|
|
161
|
-
self.
|
|
164
|
+
self.nm_e2a_int = pheno.nm_e2a_int
|
|
162
165
|
#pheno.print_outputs( )
|
|
163
166
|
#
|
|
164
167
|
# ===========================
|
|
@@ -173,12 +176,12 @@ class setupPhenoEsym():
|
|
|
173
176
|
#
|
|
174
177
|
# E/A in SM (cubic spline)
|
|
175
178
|
#
|
|
176
|
-
x = np.insert( self.sm_den, 0, 0.0 ); y = np.insert( self.
|
|
179
|
+
x = np.insert( self.sm_den, 0, 0.0 ); y = np.insert( self.sm_e2a_int, 0, 0.0 )
|
|
177
180
|
cs_sm_e2a = CubicSpline( x, y )
|
|
178
181
|
#
|
|
179
182
|
# E/A in NM (cubic spline)
|
|
180
183
|
#
|
|
181
|
-
x = np.insert( self.nm_den, 0, 0.0 ); y = np.insert( self.
|
|
184
|
+
x = np.insert( self.nm_den, 0, 0.0 ); y = np.insert( self.nm_e2a_int, 0, 0.0 )
|
|
182
185
|
cs_nm_e2a = CubicSpline( x, y )
|
|
183
186
|
#
|
|
184
187
|
# density for Esym (no extroplation, only interpolation)
|
|
@@ -192,16 +195,16 @@ class setupPhenoEsym():
|
|
|
192
195
|
#
|
|
193
196
|
# Symmetry energy for the densities defined in self.den
|
|
194
197
|
#
|
|
195
|
-
self.
|
|
196
|
-
self.
|
|
197
|
-
self.esym = self.
|
|
198
|
+
self.esym_sm_e2a_int = cs_sm_e2a( self.den )
|
|
199
|
+
self.esym_nm_e2a_int = cs_nm_e2a( self.den )
|
|
200
|
+
self.esym = self.esym_nm_e2a_int - self.esym_sm_e2a_int
|
|
198
201
|
self.esym_sm_pre = self.den**2 * cs_sm_e2a( self.den, 1 )
|
|
199
202
|
self.esym_sym_pre = self.den**2 * cs_nm_e2a( self.den, 1 ) - self.esym_sm_pre
|
|
200
203
|
#
|
|
201
204
|
self.den_unit = 'fm$^{-3}$'
|
|
202
205
|
self.kf_unit = 'fm$^{-1}$'
|
|
203
206
|
self.esym_unit = 'MeV'
|
|
204
|
-
self.
|
|
207
|
+
self.eps_unit = 'MeV fm$^{-3}$'
|
|
205
208
|
self.pre_unit = 'MeV fm$^{-3}$'
|
|
206
209
|
#
|
|
207
210
|
if nuda.env.verb: print("Exit SetupEOSPhenoEsym()")
|