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
|
@@ -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():
|
|
@@ -36,12 +33,12 @@ def pheno_params( model ):
|
|
|
36
33
|
:type model: str.
|
|
37
34
|
:return: The list of parametrizations. \
|
|
38
35
|
If `models` == 'Skyrme': 'BSK14', \
|
|
39
|
-
'BSK16', 'BSK17', 'BSK27', 'F-', 'F+', 'F0', 'FPL', 'LNS', 'LNS1', 'LNS5', \
|
|
36
|
+
'BSK16', 'BSK17', 'BSK27','BSkG1', 'BSkG2', 'F-', 'F+', 'F0', 'FPL', 'LNS', 'LNS1', 'LNS5', \
|
|
40
37
|
'NRAPR', 'RATP', 'SAMI', 'SGII', 'SIII', 'SKGSIGMA', 'SKI2', 'SKI4', 'SKMP', \
|
|
41
38
|
'SKMS', 'SKO', 'SKOP', 'SKP', 'SKRSIGMA', 'SKX', 'Skz2', 'SLY4', 'SLY5', \
|
|
42
39
|
'SLY230A', 'SLY230B', 'SV', 'T6', 'T44', 'UNEDF0', 'UNEDF1'. \
|
|
43
40
|
If `models` == 'ESkyrme': 'BSk22', 'BSk24', 'BSk25', 'BSk26', 'BSk31', 'BSk32', \
|
|
44
|
-
|
|
41
|
+
'BSkG3','BSkG4' . \
|
|
45
42
|
If `models` == 'Fayans': 'SLy4', 'SkM*', 'Fy(IVP)', 'Fy(Dr,HDB)', 'Fy(std)', \
|
|
46
43
|
'SV-min', 'SV-bas', 'SV-K218', 'SV-K226', 'SV-K241', 'SV-mas07', 'SV-mas08', 'SV-mas10',
|
|
47
44
|
'SV-sym28', 'SV-sym32', 'SV-sym34', 'SV-kap00', 'SV-kap20', 'SV-kap60'.
|
|
@@ -55,14 +52,14 @@ def pheno_params( model ):
|
|
|
55
52
|
#
|
|
56
53
|
#print('For model:',model)
|
|
57
54
|
if model.lower() == 'skyrme':
|
|
58
|
-
params = [ 'BSK14', 'BSK16', 'BSK17', 'BSK27', 'F-', \
|
|
55
|
+
params = [ 'BSK14', 'BSK16', 'BSK17', 'BSK27', 'BSkG1', 'BSkG2','F-', \
|
|
59
56
|
'F+', 'F0', 'FPL', 'LNS', 'LNS1', 'LNS5', 'NRAPR', 'RATP', \
|
|
60
57
|
'SAMI', 'SGII', 'SIII', 'SKGSIGMA', 'SKI2', 'SKI4', 'SKMP', \
|
|
61
58
|
'SKMS', 'SKO', 'SKOP', 'SKP', 'SKRSIGMA', 'SKX', 'Skz2', \
|
|
62
59
|
'SLY4', 'SLY5', 'SLY230A', 'SLY230B', 'SV', 'T6', 'T44', \
|
|
63
60
|
'UNEDF0', 'UNEDF1' ]
|
|
64
61
|
elif model.lower() == 'eskyrme':
|
|
65
|
-
params = [ 'BSk22', 'BSk24', 'BSk25', 'BSk26', 'BSk31', 'BSk32',
|
|
62
|
+
params = [ 'BSk22', 'BSk24', 'BSk25', 'BSk26', 'BSk31', 'BSk32', 'BSkG3','BSkG4' ]
|
|
66
63
|
elif model.lower() == 'fayans':
|
|
67
64
|
params = [ 'SLy4', 'SkM*', 'Fy(IVP)', 'Fy(Dr,HDB)', 'Fy(std)', \
|
|
68
65
|
'SV-min', 'SV-bas', 'SV-K218', 'SV-K226', 'SV-K241', 'SV-mas07', 'SV-mas08', 'SV-mas10',\
|
|
@@ -90,13 +87,13 @@ 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' .
|
|
100
97
|
|
|
101
98
|
If `models` == 'NLRH', `param` can be: 'NL-SH', 'NL3', 'NL3II', 'PK1', 'PK1R', 'TM1'.
|
|
102
99
|
|
|
@@ -139,6 +136,10 @@ class setupPheno():
|
|
|
139
136
|
#
|
|
140
137
|
params, params_lower = pheno_params( model = model )
|
|
141
138
|
#
|
|
139
|
+
self.nm_rmass = nuda.cst.mnc2
|
|
140
|
+
self.sm_rmass = 0.5 * ( nuda.cst.mnc2 + nuda.cst.mpc2 )
|
|
141
|
+
#self.rmass = (1.0-self.xpr) * nuda.cst.mnc2 + self.xpr * nuda.cst.mpc2
|
|
142
|
+
#
|
|
142
143
|
if param.lower() not in params_lower:
|
|
143
144
|
print('The param set ',param,' is not in the list of param.')
|
|
144
145
|
print('list of param:',params)
|
|
@@ -157,9 +158,36 @@ class setupPheno():
|
|
|
157
158
|
self.label = 'SKY-'+param
|
|
158
159
|
#: Attribute providing additional notes about the data.
|
|
159
160
|
self.note = "write here notes about this EOS."
|
|
160
|
-
self.sm_den, self.sm_kfn, self.
|
|
161
|
-
self.nm_den, self.nm_kfn, self.
|
|
161
|
+
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 )
|
|
162
|
+
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 )
|
|
163
|
+
self.sm_e2a = self.sm_rmass + self.sm_e2a_int
|
|
164
|
+
self.nm_e2a = self.nm_rmass + self.nm_e2a_int
|
|
165
|
+
self.sm_eps = self.sm_e2a * self.sm_den
|
|
166
|
+
self.nm_eps = self.nm_e2a * self.nm_den
|
|
162
167
|
self.sm_kf = self.sm_kfn
|
|
168
|
+
# pressure in SM
|
|
169
|
+
x = np.insert( self.sm_den, 0, 0.0 )
|
|
170
|
+
y = np.insert( self.sm_e2a_int, 0, 0.0 )
|
|
171
|
+
cs_sm_e2a = CubicSpline( x, y )
|
|
172
|
+
self.sm_pre = np.array( self.sm_den**2 * cs_sm_e2a( self.sm_den, 1) )
|
|
173
|
+
# pressure in NM
|
|
174
|
+
x = np.insert( self.nm_den, 0, 0.0 )
|
|
175
|
+
y = np.insert( self.nm_e2a_int, 0, 0.0 )
|
|
176
|
+
cs_nm_e2a = CubicSpline( x, y )
|
|
177
|
+
self.nm_pre = np.array( self.nm_den**2 * cs_nm_e2a( self.nm_den, 1) )
|
|
178
|
+
# enthalpy
|
|
179
|
+
self.sm_h2a = self.sm_e2a + self.sm_pre / self.sm_den
|
|
180
|
+
self.nm_h2a = self.nm_e2a + self.nm_pre / self.nm_den
|
|
181
|
+
# sound speed in SM
|
|
182
|
+
x = np.insert(self.sm_den, 0, 0.0)
|
|
183
|
+
y = np.insert(self.sm_pre, 0, 0.0)
|
|
184
|
+
cs_sm_pre = CubicSpline(x, y)
|
|
185
|
+
self.sm_cs2 = cs_sm_pre(self.sm_den, 1) / self.sm_h2a
|
|
186
|
+
# sound speed in NM
|
|
187
|
+
x = np.insert(self.nm_den, 0, 0.0)
|
|
188
|
+
y = np.insert(self.nm_pre, 0, 0.0)
|
|
189
|
+
cs_nm_pre = CubicSpline(x, y)
|
|
190
|
+
self.nm_cs2 = cs_nm_pre(self.nm_den, 1) / self.nm_h2a
|
|
163
191
|
#
|
|
164
192
|
#
|
|
165
193
|
elif model.lower() == 'eskyrme':
|
|
@@ -174,20 +202,25 @@ class setupPheno():
|
|
|
174
202
|
self.label = 'ESKY-'+param
|
|
175
203
|
#: Attribute providing additional notes about the data.
|
|
176
204
|
self.note = "write here notes about this EOS."
|
|
177
|
-
self.sm_den, self.
|
|
178
|
-
self.nm_den, self.
|
|
205
|
+
self.sm_den, self.sm_e2a_int, self.sm_pre = np.loadtxt( file_in1, usecols=(0,1,2), comments='#', unpack = True )
|
|
206
|
+
self.nm_den, self.nm_e2a_int, self.nm_pre = np.loadtxt( file_in2, usecols=(0,1,2), comments='#', unpack = True )
|
|
207
|
+
self.sm_e2a = self.sm_rmass + self.sm_e2a_int
|
|
208
|
+
self.nm_e2a = self.nm_rmass + self.nm_e2a_int
|
|
209
|
+
self.sm_eps = self.sm_e2a * self.sm_den
|
|
210
|
+
self.nm_eps = self.nm_e2a * self.nm_den
|
|
179
211
|
self.sm_kf = self.sm_kfn
|
|
180
212
|
self.sm_kfn = nuda.kf_n( nuda.cst.half * self.sm_den )
|
|
181
213
|
self.nm_kfn = nuda.kf_n( self.nm_den )
|
|
182
214
|
self.sm_kf = self.sm_kfn
|
|
183
215
|
# enthalpy
|
|
184
|
-
self.sm_h2a =
|
|
185
|
-
self.nm_h2a =
|
|
186
|
-
# sound speed
|
|
216
|
+
self.sm_h2a = self.sm_e2a + self.sm_pre / self.sm_den
|
|
217
|
+
self.nm_h2a = self.nm_e2a + self.nm_pre / self.nm_den
|
|
218
|
+
# sound speed in SM
|
|
187
219
|
x = np.insert( self.sm_den, 0, 0.0 )
|
|
188
220
|
y = np.insert( self.sm_pre, 0, 0.0 )
|
|
189
221
|
cs_sm_pre = CubicSpline( x, y )
|
|
190
222
|
self.sm_cs2 = cs_sm_pre( self.sm_den, 1) / self.sm_h2a
|
|
223
|
+
# sound speed in NM
|
|
191
224
|
x = np.insert( self.nm_den, 0, 0.0 )
|
|
192
225
|
y = np.insert( self.nm_pre, 0, 0.0 )
|
|
193
226
|
cs_nm_pre = CubicSpline( x, y )
|
|
@@ -214,9 +247,26 @@ class setupPheno():
|
|
|
214
247
|
#self.ref = ''
|
|
215
248
|
self.label = 'NLRH-'+param
|
|
216
249
|
self.note = "write here notes about this EOS."
|
|
217
|
-
self.sm_den, self.sm_kfn, self.
|
|
218
|
-
self.nm_den, self.nm_kfn, self.
|
|
250
|
+
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 )
|
|
251
|
+
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 )
|
|
252
|
+
self.sm_e2a = self.sm_rmass + self.sm_e2a_int
|
|
253
|
+
self.nm_e2a = self.nm_rmass + self.nm_e2a_int
|
|
254
|
+
self.sm_eps = self.sm_e2a * self.sm_den
|
|
255
|
+
self.nm_eps = self.nm_e2a * self.nm_den
|
|
219
256
|
self.sm_kf = self.sm_kfn
|
|
257
|
+
# enthalpy
|
|
258
|
+
self.sm_h2a = self.sm_e2a + self.sm_pre / self.sm_den
|
|
259
|
+
self.nm_h2a = self.nm_e2a + self.nm_pre / self.nm_den
|
|
260
|
+
# sound speed in SM
|
|
261
|
+
x = np.insert( self.sm_den, 0, 0.0 )
|
|
262
|
+
y = np.insert( self.sm_pre, 0, 0.0 )
|
|
263
|
+
cs_sm_pre = CubicSpline( x, y )
|
|
264
|
+
self.sm_cs2 = cs_sm_pre( self.sm_den, 1) / self.sm_h2a
|
|
265
|
+
# sound speed in NM
|
|
266
|
+
x = np.insert( self.nm_den, 0, 0.0 )
|
|
267
|
+
y = np.insert( self.nm_pre, 0, 0.0 )
|
|
268
|
+
cs_nm_pre = CubicSpline( x, y )
|
|
269
|
+
self.nm_cs2 = cs_nm_pre( self.nm_den, 1) / self.nm_h2a
|
|
220
270
|
#
|
|
221
271
|
elif model.lower() == 'ddrh':
|
|
222
272
|
#
|
|
@@ -226,10 +276,28 @@ class setupPheno():
|
|
|
226
276
|
if nuda.env.verb: print('Reads file2:',file_in2)
|
|
227
277
|
#self.ref = ''
|
|
228
278
|
self.label = 'DDRH-'+param
|
|
279
|
+
if param == "DDMEd": self.label = "DDRH-DDME$\\delta$"
|
|
229
280
|
self.note = "write here notes about this EOS."
|
|
230
|
-
self.sm_den, self.sm_kfn, self.
|
|
231
|
-
self.nm_den, self.nm_kfn, self.
|
|
281
|
+
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 )
|
|
282
|
+
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 )
|
|
283
|
+
self.sm_e2a = self.sm_rmass + self.sm_e2a_int
|
|
284
|
+
self.nm_e2a = self.nm_rmass + self.nm_e2a_int
|
|
285
|
+
self.sm_eps = self.sm_e2a * self.sm_den
|
|
286
|
+
self.nm_eps = self.nm_e2a * self.nm_den
|
|
232
287
|
self.sm_kf = self.sm_kfn
|
|
288
|
+
# enthalpy
|
|
289
|
+
self.sm_h2a = self.sm_e2a + self.sm_pre / self.sm_den
|
|
290
|
+
self.nm_h2a = self.nm_e2a + self.nm_pre / self.nm_den
|
|
291
|
+
# sound speed in SM
|
|
292
|
+
x = np.insert( self.sm_den, 0, 0.0 )
|
|
293
|
+
y = np.insert( self.sm_pre, 0, 0.0 )
|
|
294
|
+
cs_sm_pre = CubicSpline( x, y )
|
|
295
|
+
self.sm_cs2 = cs_sm_pre( self.sm_den, 1) / self.sm_h2a
|
|
296
|
+
# sound speed in NM
|
|
297
|
+
x = np.insert( self.nm_den, 0, 0.0 )
|
|
298
|
+
y = np.insert( self.nm_pre, 0, 0.0 )
|
|
299
|
+
cs_nm_pre = CubicSpline( x, y )
|
|
300
|
+
self.nm_cs2 = cs_nm_pre( self.nm_den, 1) / self.nm_h2a
|
|
233
301
|
#
|
|
234
302
|
elif model.lower() == 'ddrhf':
|
|
235
303
|
#
|
|
@@ -240,9 +308,26 @@ class setupPheno():
|
|
|
240
308
|
#self.ref = ''
|
|
241
309
|
self.label = 'DDRHF-'+param
|
|
242
310
|
self.note = "write here notes about this EOS."
|
|
243
|
-
self.sm_den, self.sm_kfn, self.
|
|
244
|
-
self.nm_den, self.nm_kfn, self.
|
|
311
|
+
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 )
|
|
312
|
+
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 )
|
|
313
|
+
self.sm_e2a = self.sm_rmass + self.sm_e2a_int
|
|
314
|
+
self.nm_e2a = self.nm_rmass + self.nm_e2a_int
|
|
315
|
+
self.sm_eps = self.sm_e2a * self.sm_den
|
|
316
|
+
self.nm_eps = self.nm_e2a * self.nm_den
|
|
245
317
|
self.sm_kf = self.sm_kfn
|
|
318
|
+
# enthalpy
|
|
319
|
+
self.sm_h2a = self.sm_e2a + self.sm_pre / self.sm_den
|
|
320
|
+
self.nm_h2a = self.nm_e2a + self.nm_pre / self.nm_den
|
|
321
|
+
# sound speed in SM
|
|
322
|
+
x = np.insert( self.sm_den, 0, 0.0 )
|
|
323
|
+
y = np.insert( self.sm_pre, 0, 0.0 )
|
|
324
|
+
cs_sm_pre = CubicSpline( x, y )
|
|
325
|
+
self.sm_cs2 = cs_sm_pre( self.sm_den, 1) / self.sm_h2a
|
|
326
|
+
# sound speed in NM
|
|
327
|
+
x = np.insert( self.nm_den, 0, 0.0 )
|
|
328
|
+
y = np.insert( self.nm_pre, 0, 0.0 )
|
|
329
|
+
cs_nm_pre = CubicSpline( x, y )
|
|
330
|
+
self.nm_cs2 = cs_nm_pre( self.nm_den, 1) / self.nm_h2a
|
|
246
331
|
#
|
|
247
332
|
self.den_unit = 'fm$^{-3}$'
|
|
248
333
|
self.kfn_unit = 'fm$^{-1}$'
|
|
@@ -269,9 +354,11 @@ class setupPheno():
|
|
|
269
354
|
if any(self.sm_den): print(f" sm_den: {np.round(self.sm_den,2)} in {self.den_unit}")
|
|
270
355
|
if any(self.sm_kfn): print(f" sm_kfn: {np.round(self.sm_kfn,2)} in {self.kfn_unit}")
|
|
271
356
|
if any(self.sm_e2a): print(f" sm_e2a: {np.round(self.sm_e2a,2)} in {self.e2a_unit}")
|
|
357
|
+
if any(self.sm_cs2): print(f" sm_cs2: {np.round(self.sm_cs2,2)}")
|
|
272
358
|
if any(self.nm_den): print(f" nm_den: {np.round(self.nm_den,2)} in {self.den_unit}")
|
|
273
359
|
if any(self.nm_kfn): print(f" nm_kfn: {np.round(self.nm_kfn,2)} in {self.kfn_unit}")
|
|
274
360
|
if any(self.nm_e2a): print(f" nm_e2a: {np.round(self.nm_e2a,2)} in {self.e2a_unit}")
|
|
361
|
+
if any(self.nm_cs2): print(f" nm_cs2: {np.round(self.nm_cs2,2)}")
|
|
275
362
|
if any(self.nm_gap): print(f" nm_gap: {np.round(self.nm_gap,2)} in {self.gap_unit}")
|
|
276
363
|
#
|
|
277
364
|
if nuda.env.verb: print("Exit print_outputs()")
|
|
@@ -306,6 +393,10 @@ class setupPheno():
|
|
|
306
393
|
self.sm_kfn = []
|
|
307
394
|
#: Attribute the symmetric matter Fermi momentum.
|
|
308
395
|
self.sm_kf = []
|
|
396
|
+
#: Attribute the neutron matter internal energy per particle.
|
|
397
|
+
self.nm_e2a_int = []
|
|
398
|
+
#: Attribute the symmetric matter internal energy per particle.
|
|
399
|
+
self.sm_e2a_int = []
|
|
309
400
|
#: Attribute the neutron matter energy per particle.
|
|
310
401
|
self.nm_e2a = []
|
|
311
402
|
#: Attribute the symmetric matter energy per particle.
|
|
@@ -318,6 +409,14 @@ class setupPheno():
|
|
|
318
409
|
self.nm_pre = []
|
|
319
410
|
#: Attribute the symmetric matter pressure.
|
|
320
411
|
self.sm_pre = []
|
|
412
|
+
#: Attribute the neutron matter enthalpy per particle.
|
|
413
|
+
self.nm_h2a = []
|
|
414
|
+
#: Attribute the symmetric matter enthalpy per particle.
|
|
415
|
+
self.sm_h2a = []
|
|
416
|
+
#: Attribute the symmetric matter enthalpy density.
|
|
417
|
+
self.sm_h2v = []
|
|
418
|
+
#: Attribute the neutron matter enthalpy density.
|
|
419
|
+
self.nm_h2v = []
|
|
321
420
|
#: Attribute the neutron matter sound speed (c_s/c)^2.
|
|
322
421
|
self.nm_cs2 = []
|
|
323
422
|
#: Attribute the symmetric matter sound speed (c_s/c)^2.
|
|
@@ -327,27 +426,4 @@ class setupPheno():
|
|
|
327
426
|
#
|
|
328
427
|
return self
|
|
329
428
|
|
|
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
429
|
|
|
@@ -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
|
|
@@ -156,9 +151,9 @@ class setupPhenoEsym():
|
|
|
156
151
|
#
|
|
157
152
|
pheno = nuda.matter.setupPheno( model = model, param = param )
|
|
158
153
|
self.sm_den = pheno.sm_den
|
|
159
|
-
self.
|
|
154
|
+
self.sm_e2a_int = pheno.sm_e2a_int
|
|
160
155
|
self.nm_den = pheno.nm_den
|
|
161
|
-
self.
|
|
156
|
+
self.nm_e2a_int = pheno.nm_e2a_int
|
|
162
157
|
#pheno.print_outputs( )
|
|
163
158
|
#
|
|
164
159
|
# ===========================
|
|
@@ -173,12 +168,12 @@ class setupPhenoEsym():
|
|
|
173
168
|
#
|
|
174
169
|
# E/A in SM (cubic spline)
|
|
175
170
|
#
|
|
176
|
-
x = np.insert( self.sm_den, 0, 0.0 ); y = np.insert( self.
|
|
171
|
+
x = np.insert( self.sm_den, 0, 0.0 ); y = np.insert( self.sm_e2a_int, 0, 0.0 )
|
|
177
172
|
cs_sm_e2a = CubicSpline( x, y )
|
|
178
173
|
#
|
|
179
174
|
# E/A in NM (cubic spline)
|
|
180
175
|
#
|
|
181
|
-
x = np.insert( self.nm_den, 0, 0.0 ); y = np.insert( self.
|
|
176
|
+
x = np.insert( self.nm_den, 0, 0.0 ); y = np.insert( self.nm_e2a_int, 0, 0.0 )
|
|
182
177
|
cs_nm_e2a = CubicSpline( x, y )
|
|
183
178
|
#
|
|
184
179
|
# density for Esym (no extroplation, only interpolation)
|
|
@@ -192,16 +187,16 @@ class setupPhenoEsym():
|
|
|
192
187
|
#
|
|
193
188
|
# Symmetry energy for the densities defined in self.den
|
|
194
189
|
#
|
|
195
|
-
self.
|
|
196
|
-
self.
|
|
197
|
-
self.esym = self.
|
|
190
|
+
self.esym_sm_e2a_int = cs_sm_e2a( self.den )
|
|
191
|
+
self.esym_nm_e2a_int = cs_nm_e2a( self.den )
|
|
192
|
+
self.esym = self.esym_nm_e2a_int - self.esym_sm_e2a_int
|
|
198
193
|
self.esym_sm_pre = self.den**2 * cs_sm_e2a( self.den, 1 )
|
|
199
194
|
self.esym_sym_pre = self.den**2 * cs_nm_e2a( self.den, 1 ) - self.esym_sm_pre
|
|
200
195
|
#
|
|
201
196
|
self.den_unit = 'fm$^{-3}$'
|
|
202
197
|
self.kf_unit = 'fm$^{-1}$'
|
|
203
198
|
self.esym_unit = 'MeV'
|
|
204
|
-
self.
|
|
199
|
+
self.eps_unit = 'MeV fm$^{-3}$'
|
|
205
200
|
self.pre_unit = 'MeV fm$^{-3}$'
|
|
206
201
|
#
|
|
207
202
|
if nuda.env.verb: print("Exit SetupEOSPhenoEsym()")
|