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
|
@@ -2,13 +2,10 @@ import os
|
|
|
2
2
|
import sys
|
|
3
3
|
import math
|
|
4
4
|
import numpy as np # 1.15.0
|
|
5
|
-
|
|
6
|
-
#nucleardatapy_tk = os.getenv('NUCLEARDATAPY_TK')
|
|
7
|
-
#sys.path.insert(0, nucleardatapy_tk)
|
|
5
|
+
from scipy.interpolate import CubicSpline
|
|
8
6
|
|
|
9
7
|
import nucleardatapy as nuda
|
|
10
8
|
|
|
11
|
-
|
|
12
9
|
def crust_models():
|
|
13
10
|
"""
|
|
14
11
|
Return a list of the tables available in this toolkit for the experimental masses and
|
|
@@ -21,12 +18,13 @@ def crust_models():
|
|
|
21
18
|
#
|
|
22
19
|
if nuda.env.verb: print("\nEnter models_crust()")
|
|
23
20
|
#
|
|
24
|
-
models = [ '1973-Negele-Vautherin', '2018-PCPFDDG-BSK22',
|
|
21
|
+
models = [ '1973-Negele-Vautherin', '2018-PCPFDDG-BSK22', \
|
|
22
|
+
'2018-PCPFDDG-BSK24', '2018-PCPFDDG-BSK25', '2018-PCPFDDG-BSK26',\
|
|
25
23
|
'2020-MVCD-D1S', '2020-MVCD-D1M', '2020-MVCD-D1MS',\
|
|
26
|
-
'2022-
|
|
27
|
-
'2022-
|
|
28
|
-
'2022-
|
|
29
|
-
'2022-
|
|
24
|
+
'2022-GMRS-BSK14', '2022-GMRS-BSK16', '2022-GMRS-DHSL59', '2022-GMRS-DHSL69',\
|
|
25
|
+
'2022-GMRS-F0', '2022-GMRS-H1', '2022-GMRS-H2', '2022-GMRS-H3', \
|
|
26
|
+
'2022-GMRS-H4', '2022-GMRS-H5', '2022-GMRS-H7', '2022-GMRS-LNS5', \
|
|
27
|
+
'2022-GMRS-RATP', '2022-GMRS-SGII', '2022-GMRS-SLY5' ]
|
|
30
28
|
#
|
|
31
29
|
#print('crust models available in the toolkit:',models)
|
|
32
30
|
models_lower = [ item.lower() for item in models ]
|
|
@@ -77,8 +75,8 @@ class setupCrust():
|
|
|
77
75
|
self.linestyle = 'solid'
|
|
78
76
|
self.latexCite = 'JWNegele:1973'
|
|
79
77
|
self.ncl = 0.17 # in fm-3
|
|
80
|
-
self.den_cgs, self.N, self.Z, self.mu_n, self.mu_p, self.
|
|
81
|
-
self.
|
|
78
|
+
self.den_cgs, self.N, self.Z, self.mu_n, self.mu_p, self.den_f, self.xpn_bound, self.e2a_int2, \
|
|
79
|
+
self.e2a_int_f = np.loadtxt( file_in, usecols=(0,1,2,3,4,5,6,7,8), unpack = True )
|
|
82
80
|
self.den = self.den_cgs * 1.e-39 # in fm-3
|
|
83
81
|
self.N = np.array([ int(item) for item in self.N ])
|
|
84
82
|
self.Z = np.array([ int(item) for item in self.Z ])
|
|
@@ -91,12 +89,12 @@ class setupCrust():
|
|
|
91
89
|
self.xp_bound = self.Z_bound / self.A_bound
|
|
92
90
|
self.xn_bound = self.N_bound / self.A_bound
|
|
93
91
|
self.I_bound = ( self.N_bound - self.Z_bound ) / self.A_bound
|
|
94
|
-
self.
|
|
92
|
+
self.N_f = self.N - self.N_bound
|
|
95
93
|
# cluster volume and radius
|
|
96
94
|
self.Vcl = 2 * self.Z_bound / ( (1-self.I_bound) * self.ncl )
|
|
97
95
|
self.Rcl = ( 3 / ( 4 * nuda.cst.pi ) * self.Vcl )**nuda.cst.third
|
|
98
96
|
# unbound (gas) neutrons
|
|
99
|
-
self.VWS = self.Vcl + self.
|
|
97
|
+
self.VWS = self.Vcl + self.N_f / self.den_f
|
|
100
98
|
self.RWS = ( 3 / ( 4 * nuda.cst.pi ) * self.VWS )**nuda.cst.third
|
|
101
99
|
# volume fraction
|
|
102
100
|
self.u = self.Vcl / self.VWS
|
|
@@ -104,21 +102,48 @@ class setupCrust():
|
|
|
104
102
|
self.e2a_tot = self.e2a_int2 + nuda.cst.mnuc2
|
|
105
103
|
self.e2a_rm = self.xn * nuda.cst.mnc2 + self.xp * ( nuda.cst.mpc2 + nuda.cst.mec2 )
|
|
106
104
|
self.e2a_int = self.e2a_tot - self.e2a_rm
|
|
105
|
+
# NEP
|
|
106
|
+
self.nsat = 0.16
|
|
107
|
+
self.Esym = 32.0
|
|
108
|
+
self.Lsym = 50.0
|
|
109
|
+
self.Ksym = -100.0
|
|
110
|
+
self.Qsym = 500.0
|
|
107
111
|
#
|
|
108
112
|
elif '2020-mvcd' in model.lower():
|
|
109
113
|
#
|
|
110
|
-
# Note: N_bound or
|
|
114
|
+
# Note: N_bound or N_f cannot be determined from the tables (Jerome).
|
|
111
115
|
# It is right?
|
|
112
116
|
#
|
|
113
117
|
if model.lower()=='2020-mvcd-d1s':
|
|
114
118
|
file_in = nuda.param.path_data+'crust/2020-MVCD-D1S.dat'
|
|
115
119
|
self.label = 'MVCD-D1S-2020'
|
|
120
|
+
# NEP
|
|
121
|
+
self.nsat = 0.16
|
|
122
|
+
self.Esym = 32.0
|
|
123
|
+
self.Lsym = 50.0
|
|
124
|
+
self.Ksym = -100.0
|
|
125
|
+
self.Qsym = 500.0
|
|
126
|
+
#
|
|
116
127
|
elif model.lower()=='2020-mvcd-d1m':
|
|
117
128
|
file_in = nuda.param.path_data+'crust/2020-MVCD-D1M.dat'
|
|
118
129
|
self.label = 'MVCD-D1M-2020'
|
|
130
|
+
# NEP
|
|
131
|
+
self.nsat = 0.16
|
|
132
|
+
self.Esym = 32.0
|
|
133
|
+
self.Lsym = 50.0
|
|
134
|
+
self.Ksym = -100.0
|
|
135
|
+
self.Qsym = 500.0
|
|
136
|
+
#
|
|
119
137
|
elif model.lower()=='2020-mvcd-d1ms':
|
|
120
138
|
file_in = nuda.param.path_data+'crust/2020-MVCD-D1MS.dat'
|
|
121
139
|
self.label = 'MVCD-D1M$^*$-2020'
|
|
140
|
+
# NEP
|
|
141
|
+
self.nsat = 0.16
|
|
142
|
+
self.Esym = 32.0
|
|
143
|
+
self.Lsym = 50.0
|
|
144
|
+
self.Ksym = -100.0
|
|
145
|
+
self.Qsym = 500.0
|
|
146
|
+
#
|
|
122
147
|
if nuda.env.verb: print('Reads file:',file_in)
|
|
123
148
|
self.ref = 'C. Mondal, X. Viñas, M. Centelles, and J.N. De, Phys. Rev. C 102, 015802 (2020).'
|
|
124
149
|
self.note = "semiclassical variational Wigner-Kirkwood method along with shell and pairing corrections calculated with the Strutinsky integral method and the BCS approximation."
|
|
@@ -135,36 +160,91 @@ class setupCrust():
|
|
|
135
160
|
self.xn = self.N / self.A
|
|
136
161
|
#self.N_bound = [ int(item) for item in self.Z * self.xpn_bound ]
|
|
137
162
|
#self.xn_bound = self.N_bound / self.A
|
|
138
|
-
#self.
|
|
163
|
+
#self.N_f = self.N - self.N_bound
|
|
139
164
|
self.e2a_tot = self.e2a_int2 + nuda.cst.mnuc2_approx
|
|
140
165
|
self.e2a_rm = self.xn * nuda.cst.mnc2 + self.xp * ( nuda.cst.mpc2 + nuda.cst.mec2 )
|
|
141
166
|
self.e2a_int = self.e2a_tot - self.e2a_rm
|
|
142
167
|
#
|
|
143
|
-
#
|
|
144
168
|
elif '2018-pcpfddg' in model.lower():
|
|
145
169
|
#
|
|
146
|
-
# Note: N_bound or
|
|
170
|
+
# Note: N_bound or N_f cannot be determined from the tables (Jerome).
|
|
147
171
|
# It is right?
|
|
148
172
|
#
|
|
149
173
|
if model.lower()=='2018-pcpfddg-bsk22':
|
|
174
|
+
#
|
|
150
175
|
file_in = nuda.param.path_data+'crust/2018-PCPFDDG-BSK22.dat'
|
|
151
176
|
self.label = 'PCPFDDG-BSK22-2018'
|
|
177
|
+
# NEP
|
|
178
|
+
nep = nuda.matter.setupNEP( model = 'ESkyrme', param = 'BSk22' )
|
|
179
|
+
self.nsat = nep.nsat
|
|
180
|
+
self.Esym = nep.Esym
|
|
181
|
+
self.Lsym = nep.Lsym
|
|
182
|
+
self.Ksym = nep.Ksym
|
|
183
|
+
self.Qsym = nep.Qsym
|
|
184
|
+
#self.nsat = 0.16
|
|
185
|
+
#self.Esym = 32.0
|
|
186
|
+
#self.Lsym = 50.0
|
|
187
|
+
#self.Ksym = -100.0
|
|
188
|
+
#self.Qsym = 500.0
|
|
189
|
+
#
|
|
152
190
|
elif model.lower()=='2018-pcpfddg-bsk24':
|
|
191
|
+
#
|
|
153
192
|
file_in = nuda.param.path_data+'crust/2018-PCPFDDG-BSK24.dat'
|
|
154
193
|
self.label = 'PCPFDDG-BSK24-2018'
|
|
194
|
+
# NEP
|
|
195
|
+
nep = nuda.matter.setupNEP( model = 'ESkyrme', param = 'BSk24' )
|
|
196
|
+
self.nsat = nep.nsat
|
|
197
|
+
self.Esym = nep.Esym
|
|
198
|
+
self.Lsym = nep.Lsym
|
|
199
|
+
self.Ksym = nep.Ksym
|
|
200
|
+
self.Qsym = nep.Qsym
|
|
201
|
+
#self.nsat = 0.16
|
|
202
|
+
#self.Esym = 32.0
|
|
203
|
+
#self.Lsym = 50.0
|
|
204
|
+
#self.Ksym = -100.0
|
|
205
|
+
#self.Qsym = 500.0
|
|
206
|
+
#
|
|
155
207
|
elif model.lower()=='2018-pcpfddg-bsk25':
|
|
208
|
+
#
|
|
156
209
|
file_in = nuda.param.path_data+'crust/2018-PCPFDDG-BSK25.dat'
|
|
157
210
|
self.label = 'PCPFDDG-BSK25-2018'
|
|
211
|
+
# NEP
|
|
212
|
+
nep = nuda.matter.setupNEP( model = 'ESkyrme', param = 'BSk25' )
|
|
213
|
+
self.nsat = nep.nsat
|
|
214
|
+
self.Esym = nep.Esym
|
|
215
|
+
self.Lsym = nep.Lsym
|
|
216
|
+
self.Ksym = nep.Ksym
|
|
217
|
+
self.Qsym = nep.Qsym
|
|
218
|
+
#self.nsat = 0.16
|
|
219
|
+
#self.Esym = 32.0
|
|
220
|
+
#self.Lsym = 50.0
|
|
221
|
+
#self.Ksym = -100.0
|
|
222
|
+
#self.Qsym = 500.0
|
|
223
|
+
#
|
|
158
224
|
elif model.lower()=='2018-pcpfddg-bsk26':
|
|
225
|
+
#
|
|
159
226
|
file_in = nuda.param.path_data+'crust/2018-PCPFDDG-BSK26.dat'
|
|
160
227
|
self.label = 'PCPFDDG-BSK26-2018'
|
|
228
|
+
# NEP
|
|
229
|
+
nep = nuda.matter.setupNEP( model = 'ESkyrme', param = 'BSk26' )
|
|
230
|
+
self.nsat = nep.nsat
|
|
231
|
+
self.Esym = nep.Esym
|
|
232
|
+
self.Lsym = nep.Lsym
|
|
233
|
+
self.Ksym = nep.Ksym
|
|
234
|
+
self.Qsym = nep.Qsym
|
|
235
|
+
#self.nsat = 0.16
|
|
236
|
+
#self.Esym = 32.0
|
|
237
|
+
#self.Lsym = 50.0
|
|
238
|
+
#self.Ksym = -100.0
|
|
239
|
+
#self.Qsym = 500.0
|
|
240
|
+
#
|
|
161
241
|
if nuda.env.verb: print('Reads file:',file_in)
|
|
162
242
|
self.ref = 'Pearson J.M., Chamel N., Potekhin A.Y., Fantina, A.F., Ducoin C., Dutta A.K., Goriely S., MNRS 481, 2994 (2018).'
|
|
163
243
|
self.note = "4th-order Extended Thomas-Fermi (ETF) method with proton shell correction via the Strutinsky integral (SI) with Brussels-Montreal functionals."
|
|
164
244
|
self.linestyle = 'dashdot'
|
|
165
245
|
self.latexCite = 'MPearson:2018'
|
|
166
246
|
self.ncl = 0.16 # in fm-3
|
|
167
|
-
self.den, self.Z, self.xp, self.N, self.RWS, self.pre, self.e2a_etf, self.e2a_int, self.e2a_tot, self.mu_p, self.mu_n, self.mu_e, self.
|
|
247
|
+
self.den, self.Z, self.xp, self.N, self.RWS, self.pre, self.e2a_etf, self.e2a_int, self.e2a_tot, self.mu_p, self.mu_n, self.mu_e, self.den_f,self.Zcl, self.Ncl \
|
|
168
248
|
= np.loadtxt( file_in, usecols=(0,1,2,3,5,7,8,9,10,14,15,16,23,25,27), unpack = True )
|
|
169
249
|
self.den_cgs = self.den / 1.e-39 # in cm-3
|
|
170
250
|
self.N = np.array([ int(item) for item in self.N ])
|
|
@@ -179,16 +259,16 @@ class setupCrust():
|
|
|
179
259
|
self.xn_bound = self.N_bound / self.A_bound
|
|
180
260
|
#
|
|
181
261
|
#self.xn_bound = self.N_bound / self.A
|
|
182
|
-
#self.
|
|
262
|
+
#self.N_f = self.N - self.N_bound
|
|
183
263
|
#self.e2a_tot = self.e2a_int2 + nuda.cst.mnuc2_approx
|
|
184
264
|
self.e2a_rm = self.xn * nuda.cst.mnc2 + self.xp * ( nuda.cst.mpc2 + nuda.cst.mec2 )
|
|
185
265
|
#self.e2a_int = self.e2a_tot - self.e2a_rm
|
|
186
266
|
#
|
|
187
|
-
elif '2022-
|
|
188
|
-
#
|
|
267
|
+
elif '2022-gmrs' in model.lower():
|
|
189
268
|
#
|
|
190
|
-
if model.lower()=='2022-
|
|
191
|
-
|
|
269
|
+
if model.lower()=='2022-gmrs-bsk14':
|
|
270
|
+
#
|
|
271
|
+
file_in = nuda.param.path_data+'crust/2022-GMRS-BSK14.dat'
|
|
192
272
|
self.label = 'GMRS BSK14 2022'
|
|
193
273
|
# Outer-Inner Crust (OIC) Transition :
|
|
194
274
|
self.nb_oic = 2.5617840312066730E-004 # in fm-3
|
|
@@ -200,8 +280,17 @@ class setupCrust():
|
|
|
200
280
|
self.rho_cc = 15.799976089478367 # in MeV/fm3
|
|
201
281
|
self.pre_cc = 0.32687267610704895 # in MeV/fm3
|
|
202
282
|
self.mu_n_cc = 7.6209998100288209E-002 # in MeV
|
|
203
|
-
|
|
204
|
-
|
|
283
|
+
# NEP
|
|
284
|
+
nep = nuda.matter.setupNEP( model = 'Skyrme', param = 'BSk14' )
|
|
285
|
+
self.nsat = nep.nsat
|
|
286
|
+
self.Esym = nep.Esym
|
|
287
|
+
self.Lsym = nep.Lsym
|
|
288
|
+
self.Ksym = nep.Ksym
|
|
289
|
+
self.Qsym = nep.Qsym
|
|
290
|
+
#
|
|
291
|
+
elif model.lower()=='2022-gmrs-bsk16':
|
|
292
|
+
#
|
|
293
|
+
file_in = nuda.param.path_data+'crust/2022-GMRS-BSK16.dat'
|
|
205
294
|
self.label = 'GMRS BSK16 2022'
|
|
206
295
|
# Outer-Inner Crust (OIC) Transition :
|
|
207
296
|
self.nb_oic = 2.5282142292259004E-004 # in fm-3
|
|
@@ -213,34 +302,17 @@ class setupCrust():
|
|
|
213
302
|
self.rho_cc = 16.920900617363277 # in MeV/fm3
|
|
214
303
|
self.pre_cc = 0.36795626298336570 # in MeV/fm3
|
|
215
304
|
self.mu_n_cc = 8.4609997888086361E-002 # in MeV
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
self.
|
|
219
|
-
|
|
220
|
-
self.
|
|
221
|
-
self.
|
|
222
|
-
self.
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
self.pre_cc = 0.33617646422062142 # in MeV/fm3
|
|
228
|
-
self.mu_n_cc = 7.2109998203862921E-002 # in MeV
|
|
229
|
-
elif model.lower()=='2022-crustgmrs-dhsl69':
|
|
230
|
-
file_in = nuda.param.path_data+'crust/2022-crustGMRS-DHSL69.dat'
|
|
231
|
-
self.label = 'GMRS DHSL69 2022'
|
|
232
|
-
# Outer-Inner Crust (OIC) Transition :
|
|
233
|
-
self.nb_oic = 2.4301212474202996E-004 # in fm-3
|
|
234
|
-
self.rho_oic = 7.3077129271105594 # in MeV/fm3
|
|
235
|
-
self.pre_oic = 5.6022465054447420E-004 # in MeV/fm3
|
|
236
|
-
self.mu_n_oic = 2.5617840312066730E-004 # in MeV
|
|
237
|
-
# Crust-Core Transition:
|
|
238
|
-
self.nb_cc = 7.3209998176074584E-002 # in fm-3
|
|
239
|
-
self.rho_cc = 17.399615979167670 # in MeV/fm3
|
|
240
|
-
self.pre_cc = 0.38035277580973315 # in MeV/fm3
|
|
241
|
-
self.mu_n_cc = 7.3209998176074584E-002 # in MeV
|
|
242
|
-
elif model.lower()=='2022-crustgmrs-f0':
|
|
243
|
-
file_in = nuda.param.path_data+'crust/2022-crustGMRS-F0.dat'
|
|
305
|
+
# NEP
|
|
306
|
+
nep = nuda.matter.setupNEP( model = 'Skyrme', param = 'BSk16' )
|
|
307
|
+
self.nsat = nep.nsat
|
|
308
|
+
self.Esym = nep.Esym
|
|
309
|
+
self.Lsym = nep.Lsym
|
|
310
|
+
self.Ksym = nep.Ksym
|
|
311
|
+
self.Qsym = nep.Qsym
|
|
312
|
+
#
|
|
313
|
+
elif model.lower()=='2022-gmrs-f0':
|
|
314
|
+
#
|
|
315
|
+
file_in = nuda.param.path_data+'crust/2022-GMRS-F0.dat'
|
|
244
316
|
self.label = 'GMRS F0 2022'
|
|
245
317
|
# Outer-Inner Crust (OIC) Transition :
|
|
246
318
|
self.nb_oic = 2.4950843283419027E-004 # in fm-3
|
|
@@ -252,8 +324,105 @@ class setupCrust():
|
|
|
252
324
|
self.rho_cc = 18.078177464065167 # in MeV/fm3
|
|
253
325
|
self.pre_cc = 0.33181818756433845 # in MeV/fm3
|
|
254
326
|
self.mu_n_cc = 8.3309997920927123E-002 # in MeV
|
|
255
|
-
|
|
256
|
-
|
|
327
|
+
# NEP
|
|
328
|
+
nep = nuda.matter.setupNEP( model = 'Skyrme', param = 'F0' )
|
|
329
|
+
self.nsat = nep.nsat
|
|
330
|
+
self.Esym = nep.Esym
|
|
331
|
+
self.Lsym = nep.Lsym
|
|
332
|
+
self.Ksym = nep.Ksym
|
|
333
|
+
self.Qsym = nep.Qsym
|
|
334
|
+
#
|
|
335
|
+
elif model.lower()=='2022-gmrs-lns5':
|
|
336
|
+
#
|
|
337
|
+
file_in = nuda.param.path_data+'crust/2022-GMRS-LNS5.dat'
|
|
338
|
+
self.label = 'GMRS LNS5 2022'
|
|
339
|
+
# Outer-Inner Crust (OIC) Transition :
|
|
340
|
+
self.nb_oic = 2.6651916429173218E-004 # in fm-3
|
|
341
|
+
self.rho_oic = 7.2220830810240075 # in MeV/fm3
|
|
342
|
+
self.pre_oic = 5.3768304050759832E-004 # in MeV/fm3
|
|
343
|
+
self.mu_n_oic = 2.8095904260657669E-004 # in MeV
|
|
344
|
+
# Crust-Core Transition:
|
|
345
|
+
self.nb_cc = 7.0409998246808533E-002 # in fm-3
|
|
346
|
+
self.rho_cc = 14.391278079363289 # in MeV/fm3
|
|
347
|
+
self.pre_cc = 0.26627562388273884 # in MeV/fm3
|
|
348
|
+
self.mu_n_cc = 7.0409998246808533E-002 # in MeV
|
|
349
|
+
# NEP
|
|
350
|
+
nep = nuda.matter.setupNEP( model = 'Skyrme', param = 'LNS5' )
|
|
351
|
+
self.nsat = nep.nsat
|
|
352
|
+
self.Esym = nep.Esym
|
|
353
|
+
self.Lsym = nep.Lsym
|
|
354
|
+
self.Ksym = nep.Ksym
|
|
355
|
+
self.Qsym = nep.Qsym
|
|
356
|
+
#
|
|
357
|
+
elif model.lower()=='2022-gmrs-ratp':
|
|
358
|
+
#
|
|
359
|
+
file_in = nuda.param.path_data+'crust/2022-GMRS-RATP.dat'
|
|
360
|
+
self.label = 'GMRS RATP 2022'
|
|
361
|
+
# Outer-Inner Crust (OIC) Transition :
|
|
362
|
+
self.nb_oic = 2.5617840312066730E-004 # in fm-3
|
|
363
|
+
self.rho_oic = 7.1702995055472227 # in MeV/fm3
|
|
364
|
+
self.pre_oic = 5.1984846488072468E-004 # in MeV/fm3
|
|
365
|
+
self.mu_n_oic = 2.7005802403942604E-004 # in MeV
|
|
366
|
+
# Crust-Core Transition:
|
|
367
|
+
self.nb_cc = 8.6009997852719386E-002 # in fm-3
|
|
368
|
+
self.rho_cc = 16.557394274307612 # in MeV/fm3
|
|
369
|
+
self.pre_cc = 0.35277408994086884 # in MeV/fm3
|
|
370
|
+
self.mu_n_cc = 8.6009997852719386E-002 # in MeV
|
|
371
|
+
# NEP
|
|
372
|
+
nep = nuda.matter.setupNEP( model = 'Skyrme', param = 'RATP' )
|
|
373
|
+
self.nsat = nep.nsat
|
|
374
|
+
self.Esym = nep.Esym
|
|
375
|
+
self.Lsym = nep.Lsym
|
|
376
|
+
self.Ksym = nep.Ksym
|
|
377
|
+
self.Qsym = nep.Qsym
|
|
378
|
+
#
|
|
379
|
+
elif model.lower()=='2022-gmrs-sgii':
|
|
380
|
+
#
|
|
381
|
+
file_in = nuda.param.path_data+'crust/2022-GMRS-SGII.dat'
|
|
382
|
+
self.label = 'GMRS SGII 2022'
|
|
383
|
+
# Outer-Inner Crust (OIC) Transition :
|
|
384
|
+
self.nb_oic = 2.6651916429173218E-004 # in fm-3
|
|
385
|
+
self.rho_oic = 7.2454048591257214 # in MeV/fm3
|
|
386
|
+
self.pre_oic = 5.3291857700309511E-004 # in MeV/fm3
|
|
387
|
+
self.mu_n_oic = 2.8095904260657669E-004 # in MeV
|
|
388
|
+
# Crust-Core Transition:
|
|
389
|
+
self.nb_cc = 6.5309998375645370E-002 # in fm-3
|
|
390
|
+
self.rho_cc = 13.413876317015074 # in MeV/fm3
|
|
391
|
+
self.pre_cc = 0.20198467236572187 # in MeV/fm3
|
|
392
|
+
self.mu_n_cc = 6.5309998375645370E-002 # in MeV
|
|
393
|
+
# NEP
|
|
394
|
+
nep = nuda.matter.setupNEP( model = 'Skyrme', param = 'SGII' )
|
|
395
|
+
self.nsat = nep.nsat
|
|
396
|
+
self.Esym = nep.Esym
|
|
397
|
+
self.Lsym = nep.Lsym
|
|
398
|
+
self.Ksym = nep.Ksym
|
|
399
|
+
self.Qsym = nep.Qsym
|
|
400
|
+
#
|
|
401
|
+
elif model.lower()=='2022-gmrs-sly5':
|
|
402
|
+
#
|
|
403
|
+
file_in = nuda.param.path_data+'crust/2022-GMRS-SLY5.dat'
|
|
404
|
+
self.label = 'GMRS SLy5 2022'
|
|
405
|
+
# Outer-Inner Crust (OIC) Transition :
|
|
406
|
+
self.nb_oic = 2.4623885640591057E-004 # in fm-3
|
|
407
|
+
self.rho_oic = 7.0872886477160133 # in MeV/fm3
|
|
408
|
+
self.pre_oic = 5.1240271689332565E-004 # in MeV/fm3
|
|
409
|
+
self.mu_n_oic = 2.5957995753211628E-004 # in MeV
|
|
410
|
+
# Crust-Core Transition:
|
|
411
|
+
self.nb_cc = 7.6309998097761997E-002 # in fm-3
|
|
412
|
+
self.rho_cc = 17.103178025699933 # in MeV/fm3
|
|
413
|
+
self.pre_cc = 0.31728157118252842 # in MeV/fm3
|
|
414
|
+
self.mu_n_cc = 7.6309998097761997E-002 # in MeV
|
|
415
|
+
# NEP
|
|
416
|
+
nep = nuda.matter.setupNEP( model = 'Skyrme', param = 'SLY5' )
|
|
417
|
+
self.nsat = nep.nsat
|
|
418
|
+
self.Esym = nep.Esym
|
|
419
|
+
self.Lsym = nep.Lsym
|
|
420
|
+
self.Ksym = nep.Ksym
|
|
421
|
+
self.Qsym = nep.Qsym
|
|
422
|
+
#
|
|
423
|
+
elif model.lower()=='2022-gmrs-h1':
|
|
424
|
+
#
|
|
425
|
+
file_in = nuda.param.path_data+'crust/2022-GMRS-H1.dat'
|
|
257
426
|
self.label = 'GMRS H1 2022'
|
|
258
427
|
# Outer-Inner Crust (OIC) Transition :
|
|
259
428
|
self.nb_oic = 2.5957995753211628E-004 # in fm-3
|
|
@@ -265,8 +434,17 @@ class setupCrust():
|
|
|
265
434
|
self.rho_cc = 17.803660783830789 # in MeV/fm3
|
|
266
435
|
self.pre_cc = 0.48159809254574409 # in MeV/fm3
|
|
267
436
|
self.mu_n_cc = 9.5909997602624350E-002 # in MeV
|
|
268
|
-
|
|
269
|
-
|
|
437
|
+
# NEP
|
|
438
|
+
nep = nuda.matter.setupNEP( model = 'xEFT', param = 'H1MM' )
|
|
439
|
+
self.nsat = nep.nsat
|
|
440
|
+
self.Esym = nep.Esym
|
|
441
|
+
self.Lsym = nep.Lsym
|
|
442
|
+
self.Ksym = nep.Ksym
|
|
443
|
+
self.Qsym = nep.Qsym
|
|
444
|
+
#
|
|
445
|
+
elif model.lower()=='2022-gmrs-h2':
|
|
446
|
+
#
|
|
447
|
+
file_in = nuda.param.path_data+'crust/2022-GMRS-H2.dat'
|
|
270
448
|
self.label = 'GMRS H2 2022'
|
|
271
449
|
# Outer-Inner Crust (OIC) Transition :
|
|
272
450
|
self.nb_oic = 2.4301212474202996E-004 # in fm-3
|
|
@@ -278,8 +456,17 @@ class setupCrust():
|
|
|
278
456
|
self.rho_cc = 17.632170792314291 # in MeV/fm3
|
|
279
457
|
self.pre_cc = 0.48032175761400209 # in MeV/fm3
|
|
280
458
|
self.mu_n_cc = 9.2909997678410725E-002 # in MeV
|
|
281
|
-
|
|
282
|
-
|
|
459
|
+
# NEP
|
|
460
|
+
nep = nuda.matter.setupNEP( model = 'xEFT', param = 'H2MM' )
|
|
461
|
+
self.nsat = nep.nsat
|
|
462
|
+
self.Esym = nep.Esym
|
|
463
|
+
self.Lsym = nep.Lsym
|
|
464
|
+
self.Ksym = nep.Ksym
|
|
465
|
+
self.Qsym = nep.Qsym
|
|
466
|
+
#
|
|
467
|
+
elif model.lower()=='2022-gmrs-h3':
|
|
468
|
+
#
|
|
469
|
+
file_in = nuda.param.path_data+'crust/2022-GMRS-H3.dat'
|
|
283
470
|
self.label = 'GMRS H3 2022'
|
|
284
471
|
# Outer-Inner Crust (OIC) Transition :
|
|
285
472
|
self.nb_oic = 2.4623885640591057E-004 # in fm-3
|
|
@@ -291,8 +478,17 @@ class setupCrust():
|
|
|
291
478
|
self.rho_cc = 17.236262111228385 # in MeV/fm3
|
|
292
479
|
self.pre_cc = 0.40705940455120337 # in MeV/fm3
|
|
293
480
|
self.mu_n_cc = 8.4509997890612573E-002 # in MeV
|
|
294
|
-
|
|
295
|
-
|
|
481
|
+
# NEP
|
|
482
|
+
nep = nuda.matter.setupNEP( model = 'xEFT', param = 'H3MM' )
|
|
483
|
+
self.nsat = nep.nsat
|
|
484
|
+
self.Esym = nep.Esym
|
|
485
|
+
self.Lsym = nep.Lsym
|
|
486
|
+
self.Ksym = nep.Ksym
|
|
487
|
+
self.Qsym = nep.Qsym
|
|
488
|
+
#
|
|
489
|
+
elif model.lower()=='2022-gmrs-h4':
|
|
490
|
+
#
|
|
491
|
+
file_in = nuda.param.path_data+'crust/2022-GMRS-H4.dat'
|
|
296
492
|
self.label = 'GMRS H4 2022'
|
|
297
493
|
# Outer-Inner Crust (OIC) Transition :
|
|
298
494
|
self.nb_oic = 2.5282142292259004E-004 # in fm-3
|
|
@@ -304,8 +500,17 @@ class setupCrust():
|
|
|
304
500
|
self.rho_cc = 18.131463559875652 # in MeV/fm3
|
|
305
501
|
self.pre_cc = 0.47616516763123967 # in MeV/fm3
|
|
306
502
|
self.mu_n_cc = 9.0609997736513612E-002 # in MeV
|
|
307
|
-
|
|
308
|
-
|
|
503
|
+
# NEP
|
|
504
|
+
nep = nuda.matter.setupNEP( model = 'xEFT', param = 'H4MM' )
|
|
505
|
+
self.nsat = nep.nsat
|
|
506
|
+
self.Esym = nep.Esym
|
|
507
|
+
self.Lsym = nep.Lsym
|
|
508
|
+
self.Ksym = nep.Ksym
|
|
509
|
+
self.Qsym = nep.Qsym
|
|
510
|
+
#
|
|
511
|
+
elif model.lower()=='2022-gmrs-h5':
|
|
512
|
+
#
|
|
513
|
+
file_in = nuda.param.path_data+'crust/2022-GMRS-H5.dat'
|
|
309
514
|
self.label = 'GMRS H5 2022'
|
|
310
515
|
# Outer-Inner Crust (OIC) Transition :
|
|
311
516
|
self.nb_oic = 2.8468963604916567E-004 # in fm-3
|
|
@@ -317,8 +522,17 @@ class setupCrust():
|
|
|
317
522
|
self.rho_cc = 19.069132247958592 # in MeV/fm3
|
|
318
523
|
self.pre_cc = 0.46337573665856840 # in MeV/fm3
|
|
319
524
|
self.mu_n_cc = 8.7009997827457261E-002 # in MeV
|
|
320
|
-
|
|
321
|
-
|
|
525
|
+
# NEP
|
|
526
|
+
nep = nuda.matter.setupNEP( model = 'xEFT', param = 'H5MM' )
|
|
527
|
+
self.nsat = nep.nsat
|
|
528
|
+
self.Esym = nep.Esym
|
|
529
|
+
self.Lsym = nep.Lsym
|
|
530
|
+
self.Ksym = nep.Ksym
|
|
531
|
+
self.Qsym = nep.Qsym
|
|
532
|
+
#
|
|
533
|
+
elif model.lower()=='2022-gmrs-h7':
|
|
534
|
+
#
|
|
535
|
+
file_in = nuda.param.path_data+'crust/2022-GMRS-H7.dat'
|
|
322
536
|
self.label = 'GMRS H7 2022'
|
|
323
537
|
# Outer-Inner Crust (OIC) Transition :
|
|
324
538
|
self.nb_oic = 3.2914459584803760E-004 # in fm-3
|
|
@@ -330,64 +544,62 @@ class setupCrust():
|
|
|
330
544
|
self.rho_cc = 19.885261960955020 # in MeV/fm3
|
|
331
545
|
self.pre_cc = 0.48143960493062543 # in MeV/fm3
|
|
332
546
|
self.mu_n_cc = 8.3109997925979548E-002 # in MeV
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
self.
|
|
336
|
-
|
|
337
|
-
self.
|
|
338
|
-
self.
|
|
339
|
-
self.
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
self.
|
|
345
|
-
self.mu_n_cc = 7.0409998246808533E-002 # in MeV
|
|
346
|
-
elif model.lower()=='2022-crustgmrs-ratp':
|
|
347
|
-
file_in = nuda.param.path_data+'crust/2022-crustGMRS-RATP.dat'
|
|
348
|
-
self.label = 'GMRS RATP 2022'
|
|
349
|
-
# Outer-Inner Crust (OIC) Transition :
|
|
350
|
-
self.nb_oic = 2.5617840312066730E-004 # in fm-3
|
|
351
|
-
self.rho_oic = 7.1702995055472227 # in MeV/fm3
|
|
352
|
-
self.pre_oic = 5.1984846488072468E-004 # in MeV/fm3
|
|
353
|
-
self.mu_n_oic = 2.7005802403942604E-004 # in MeV
|
|
354
|
-
# Crust-Core Transition:
|
|
355
|
-
self.nb_cc = 8.6009997852719386E-002 # in fm-3
|
|
356
|
-
self.rho_cc = 16.557394274307612 # in MeV/fm3
|
|
357
|
-
self.pre_cc = 0.35277408994086884 # in MeV/fm3
|
|
358
|
-
self.mu_n_cc = 8.6009997852719386E-002 # in MeV
|
|
359
|
-
elif model.lower()=='2022-crustgmrs-sgii':
|
|
360
|
-
file_in = nuda.param.path_data+'crust/2022-crustGMRS-SGII.dat'
|
|
361
|
-
self.label = 'GMRS SGII 2022'
|
|
547
|
+
# NEP
|
|
548
|
+
nep = nuda.matter.setupNEP( model = 'xEFT', param = 'H7MM' )
|
|
549
|
+
self.nsat = nep.nsat
|
|
550
|
+
self.Esym = nep.Esym
|
|
551
|
+
self.Lsym = nep.Lsym
|
|
552
|
+
self.Ksym = nep.Ksym
|
|
553
|
+
self.Qsym = nep.Qsym
|
|
554
|
+
#
|
|
555
|
+
elif model.lower()=='2022-gmrs-dhsl59':
|
|
556
|
+
#
|
|
557
|
+
file_in = nuda.param.path_data+'crust/2022-GMRS-DHSL59.dat'
|
|
558
|
+
self.label = 'GMRS DHSL59 2022'
|
|
362
559
|
# Outer-Inner Crust (OIC) Transition :
|
|
363
560
|
self.nb_oic = 2.6651916429173218E-004 # in fm-3
|
|
364
|
-
self.rho_oic = 7.
|
|
365
|
-
self.pre_oic =
|
|
561
|
+
self.rho_oic = 7.7840639496076998 # in MeV/fm3
|
|
562
|
+
self.pre_oic = 6.3684106061817061E-004 # in MeV/fm3
|
|
366
563
|
self.mu_n_oic = 2.8095904260657669E-004 # in MeV
|
|
367
564
|
# Crust-Core Transition:
|
|
368
|
-
self.nb_cc =
|
|
369
|
-
self.rho_cc =
|
|
370
|
-
self.pre_cc = 0.
|
|
371
|
-
self.mu_n_cc =
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
self.
|
|
565
|
+
self.nb_cc = 7.2109998203862921E-002 # in fm-3
|
|
566
|
+
self.rho_cc = 17.733669529186933 # in MeV/fm3
|
|
567
|
+
self.pre_cc = 0.33617646422062142 # in MeV/fm3
|
|
568
|
+
self.mu_n_cc = 7.2109998203862921E-002 # in MeV
|
|
569
|
+
# NEP
|
|
570
|
+
self.nsat = 0.16
|
|
571
|
+
self.Esym = 32.0
|
|
572
|
+
self.Lsym = 59.0
|
|
573
|
+
self.Ksym = -100.0
|
|
574
|
+
self.Qsym = 500.0
|
|
575
|
+
#
|
|
576
|
+
elif model.lower()=='2022-gmrs-dhsl69':
|
|
577
|
+
#
|
|
578
|
+
file_in = nuda.param.path_data+'crust/2022-GMRS-DHSL69.dat'
|
|
579
|
+
self.label = 'GMRS DHSL69 2022'
|
|
375
580
|
# Outer-Inner Crust (OIC) Transition :
|
|
376
|
-
self.nb_oic = 2.
|
|
377
|
-
self.rho_oic = 7.
|
|
378
|
-
self.pre_oic = 5.
|
|
379
|
-
self.mu_n_oic = 2.
|
|
581
|
+
self.nb_oic = 2.4301212474202996E-004 # in fm-3
|
|
582
|
+
self.rho_oic = 7.3077129271105594 # in MeV/fm3
|
|
583
|
+
self.pre_oic = 5.6022465054447420E-004 # in MeV/fm3
|
|
584
|
+
self.mu_n_oic = 2.5617840312066730E-004 # in MeV
|
|
380
585
|
# Crust-Core Transition:
|
|
381
|
-
self.nb_cc = 7.
|
|
382
|
-
self.rho_cc = 17.
|
|
383
|
-
self.pre_cc = 0.
|
|
384
|
-
self.mu_n_cc = 7.
|
|
586
|
+
self.nb_cc = 7.3209998176074584E-002 # in fm-3
|
|
587
|
+
self.rho_cc = 17.399615979167670 # in MeV/fm3
|
|
588
|
+
self.pre_cc = 0.38035277580973315 # in MeV/fm3
|
|
589
|
+
self.mu_n_cc = 7.3209998176074584E-002 # in MeV
|
|
590
|
+
# NEP
|
|
591
|
+
self.nsat = 0.16
|
|
592
|
+
self.Esym = 32.0
|
|
593
|
+
self.Lsym = 69.0
|
|
594
|
+
self.Ksym = -100.0
|
|
595
|
+
self.Qsym = 500.0
|
|
596
|
+
#
|
|
385
597
|
if nuda.env.verb: print('Reads file:',file_in)
|
|
386
598
|
self.ref = 'G. Grams, J. Margueron, R. Somasundaram, and S. Reddy, EPJA 58, 56 (2022).'
|
|
387
599
|
self.note = "."
|
|
388
600
|
self.linestyle = 'dotted'
|
|
389
601
|
self.latexCite = 'GGrams:2022'
|
|
390
|
-
self.den, self.Acl, self.Zcl, self.ncl, self.xe, self.
|
|
602
|
+
self.den, self.Acl, self.Zcl, self.ncl, self.xe, self.den_f, self.VWS, self.e2a_int2, self.pre, self.mu_n, self.mu_p \
|
|
391
603
|
= np.loadtxt( file_in, usecols=(0,1,2,3,4,5,6,7,8,9,10), unpack = True )
|
|
392
604
|
self.den_cgs = self.den / 1.e-39 # in cm-3
|
|
393
605
|
# bound nucleons
|
|
@@ -404,11 +616,11 @@ class setupCrust():
|
|
|
404
616
|
self.u = self.Vcl / self.VWS
|
|
405
617
|
# unbound (gas) neutrons
|
|
406
618
|
self.RWS = ( 3 / ( 4 * nuda.cst.pi ) * self.VWS )**nuda.cst.third
|
|
407
|
-
self.
|
|
619
|
+
self.N_f = self.den_f * ( self.VWS - self.Vcl )
|
|
408
620
|
# total number of nucleons
|
|
409
621
|
self.Z = self.Z_bound
|
|
410
|
-
self.N = self.N_bound + self.
|
|
411
|
-
self.A = self.A_bound + self.
|
|
622
|
+
self.N = self.N_bound + self.N_f
|
|
623
|
+
self.A = self.A_bound + self.N_f
|
|
412
624
|
self.xn = self.N / self.A
|
|
413
625
|
self.xp = self.Z / self.A
|
|
414
626
|
# energy
|
|
@@ -417,6 +629,26 @@ class setupCrust():
|
|
|
417
629
|
self.e2a_int = self.e2a_tot - self.e2a_rm
|
|
418
630
|
# electrons
|
|
419
631
|
self.mu_e = self.mu_n - self.mu_p
|
|
632
|
+
#
|
|
633
|
+
#
|
|
634
|
+
# For all models:
|
|
635
|
+
#
|
|
636
|
+
self.eps_tot = self.e2a_tot * self.den
|
|
637
|
+
self.eps_rm = self.e2a_rm * self.den
|
|
638
|
+
self.eps_int = self.e2a_int * self.den
|
|
639
|
+
# compute the pressure from the derivative of the total energy per nucleon
|
|
640
|
+
x = np.insert(self.den, 0, 0.0)
|
|
641
|
+
y = np.insert(self.e2a_tot, 0, 0.0)
|
|
642
|
+
cs_e2a_tot = CubicSpline(x, y)
|
|
643
|
+
self.pre_tot = np.array( self.den**2 * cs_e2a_tot(self.den, 1) )
|
|
644
|
+
# enthalpy
|
|
645
|
+
self.h2a_tot = self.e2a_tot + self.pre_tot / self.den
|
|
646
|
+
# sound speed in the crust
|
|
647
|
+
x = np.insert(self.den, 0, 0.0)
|
|
648
|
+
y = np.insert(self.pre_tot, 0, 0.0)
|
|
649
|
+
cs_pre_tot = CubicSpline(x, y)
|
|
650
|
+
self.cs2_tot = cs_pre_tot(self.den, 1) / self.h2a_tot
|
|
651
|
+
self.cs2_tot = np.abs( self.cs2_tot ) # this shows that the second derivative is not well calculated
|
|
420
652
|
#
|
|
421
653
|
def print_outputs( self ):
|
|
422
654
|
"""
|
|
@@ -427,7 +659,7 @@ class setupCrust():
|
|
|
427
659
|
if nuda.env.verb: print("Enter print_outputs()")
|
|
428
660
|
#
|
|
429
661
|
print("- Print output:")
|
|
430
|
-
print("
|
|
662
|
+
print(" model:",self.model)
|
|
431
663
|
print(" ref: ",self.ref)
|
|
432
664
|
print(" label: ",self.label)
|
|
433
665
|
print(" note: ",self.note)
|
|
@@ -436,17 +668,17 @@ class setupCrust():
|
|
|
436
668
|
if self.Z is not None: print(f" Z: {self.Z}")
|
|
437
669
|
if self.N is not None: print(f" N: {self.N}")
|
|
438
670
|
if self.N_bound is not None: print(f" N_bound: {self.N_bound}")
|
|
439
|
-
if self.
|
|
671
|
+
if self.N_f is not None: print(f" N_f: {self.N_f}")
|
|
440
672
|
if self.mu_n is not None: print(f" mu_n(MeV): {self.mu_n}")
|
|
441
673
|
if self.mu_p is not None: print(f" mu_p(MeV): {self.mu_p}")
|
|
442
|
-
if self.
|
|
674
|
+
if self.den_f is not None: print(f" den_f(fm-3): {self.den_f}")
|
|
443
675
|
if self.RWS is not None: print(f" RWS(fm): {np.round(self.RWS,3)}")
|
|
444
676
|
if self.xpn_bound is not None: print(f" xpn_bound: {self.xpn_bound}")
|
|
445
677
|
if self.e2a_tot is not None: print(f" e2a_tot(MeV): {np.round(self.e2a_tot,3)}")
|
|
446
678
|
if self.e2a_rm is not None: print(f" e2a_rm(MeV): {np.round(self.e2a_rm,3)}")
|
|
447
679
|
if self.e2a_int2 is not None: print(f" e2a_int2(MeV): {np.round(self.e2a_int2,3)}")
|
|
448
680
|
if self.e2a_int is not None: print(f" e2a_int(MeV): {np.round(self.e2a_int,3)}")
|
|
449
|
-
if self.
|
|
681
|
+
if self.e2a_int_f is not None: print(f" e2a_int_f(MeV): {np.round(self.e2a_int_f,3)}")
|
|
450
682
|
#
|
|
451
683
|
if nuda.env.verb: print("Exit print_outputs()")
|
|
452
684
|
#
|
|
@@ -467,10 +699,10 @@ class setupCrust():
|
|
|
467
699
|
self.Z_bound = None
|
|
468
700
|
#: Attribute N_bound (number of neutrons in the cluster).
|
|
469
701
|
self.N_bound = None
|
|
470
|
-
#: Attribute
|
|
471
|
-
self.
|
|
472
|
-
#: Attribute
|
|
473
|
-
self.
|
|
702
|
+
#: Attribute N_f (number of free neutrons).
|
|
703
|
+
self.N_f = None
|
|
704
|
+
#: Attribute den_f (free neutron density).
|
|
705
|
+
self.den_f = None
|
|
474
706
|
#: Attribute A (total number of nucleons of the WS cell).
|
|
475
707
|
self.A = None
|
|
476
708
|
#: Attribute Z (total number of protons of the WS cell).
|
|
@@ -493,8 +725,6 @@ class setupCrust():
|
|
|
493
725
|
self.mu_n = None
|
|
494
726
|
#: Attribute the proton chemical potential (in MeV).
|
|
495
727
|
self.mu_p = None
|
|
496
|
-
#: Attribute the approximate density of neutron in the gas (in fm-3).
|
|
497
|
-
self.den_g = None
|
|
498
728
|
#: Attribute the radius of the cluster (in fm).
|
|
499
729
|
self.Rcl = None
|
|
500
730
|
#: Attribute the radius of the WS cell (in fm).
|
|
@@ -505,8 +735,16 @@ class setupCrust():
|
|
|
505
735
|
self.e2a_int2 = None
|
|
506
736
|
#: Attribute the internal energy (in MeV).
|
|
507
737
|
self.e2a_int = None
|
|
738
|
+
#: Attribute the total internal energy (in MeV).
|
|
739
|
+
self.e2a_tot = None
|
|
508
740
|
#: Attribute the internal energy of the gas component (in MeV).
|
|
509
|
-
self.
|
|
741
|
+
self.e2a_int_f = None
|
|
742
|
+
#: Attribute the rest mass energy density (in MeV fm3).
|
|
743
|
+
self.eps_rm = None
|
|
744
|
+
#: Attribute the internal energy density (in MeV fm3).
|
|
745
|
+
self.eps_int = None
|
|
746
|
+
#: Attribute the total energy density (in MeV fm3).
|
|
747
|
+
self.eps_tot = None
|
|
510
748
|
#
|
|
511
749
|
self.ref = None
|
|
512
750
|
self.note = None
|