nucleardatapy 0.2.0__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 +403 -120
- nucleardatapy/data/astro/NICER/J0740+6620.dat +1 -0
- nucleardatapy/data/crust/2018-PCPFDDG-BSK22.dat +83 -0
- nucleardatapy/data/crust/2018-PCPFDDG-BSK24.dat +74 -0
- nucleardatapy/data/crust/2018-PCPFDDG-BSK25.dat +130 -0
- nucleardatapy/data/crust/2018-PCPFDDG-BSK26.dat +81 -0
- nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-E2A-NM.dat → 2006-BHF-Av18-E2A-NM.dat} +8 -8
- nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-effmass-SM.dat +11 -0
- nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-effmass-beta0.2.dat +11 -0
- nucleardatapy/data/matter/micro/2006-BHF/2006-BHF-Av18-effmass-beta0.4.dat +11 -0
- nucleardatapy/data/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/data/nuclei/masses/Theory/2023-BSkG3.txt +0 -4
- nucleardatapy/data/nuclei/masses/Theory/2025-BSkG4.txt +0 -1
- nucleardatapy/env.py +1 -1
- nucleardatapy/eos/__init__.py +4 -3
- nucleardatapy/eos/setupCC.py +429 -0
- nucleardatapy/eos/setup_am.py +71 -34
- nucleardatapy/eos/setup_am_Beq.py +48 -17
- nucleardatapy/eos/setup_am_Leq.py +81 -50
- nucleardatapy/fig/__init__.py +29 -7
- 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 +7 -7
- nucleardatapy/fig/eos_setupAMBeq_fig.py +1338 -64
- nucleardatapy/fig/eos_setupAMLeq_fig.py +200 -68
- 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 +470 -47
- nucleardatapy/fig/eos_setupCC_fig.py +240 -0
- nucleardatapy/fig/hnuc_setupChart_fig.py +2 -2
- nucleardatapy/fig/hnuc_setupRE1LExp_fig.py +4 -4
- 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 +268 -104
- nucleardatapy/fig/matter_setupHIC_fig.py +98 -58
- nucleardatapy/fig/matter_setupMicroEsym_fig.py +267 -51
- nucleardatapy/fig/matter_setupMicro_LP_fig.py +175 -78
- nucleardatapy/fig/matter_setupMicro_band_fig.py +116 -47
- nucleardatapy/fig/matter_setupMicro_effmass_fig.py +264 -34
- nucleardatapy/fig/matter_setupMicro_err_NM_fig.py +41 -18
- nucleardatapy/fig/matter_setupMicro_fig.py +332 -98
- nucleardatapy/fig/matter_setupMicro_gap_fig.py +219 -92
- nucleardatapy/fig/matter_setupNEPStats_fig.py +96 -0
- nucleardatapy/fig/matter_setupPhenoEsym_fig.py +201 -61
- nucleardatapy/fig/matter_setupPheno_fig.py +392 -85
- nucleardatapy/fig/nuc_setupBEExp_chart_fig.py +286 -0
- nucleardatapy/fig/nuc_setupBEExp_fig.py +232 -70
- nucleardatapy/fig/nuc_setupBETheo_fig.py +344 -0
- nucleardatapy/fig/nuc_setupISGMRExp_fig.py +59 -0
- nucleardatapy/fig/nuc_setupRchExp_fig.py +139 -0
- nucleardatapy/fig/nuc_setupRchTheo_fig.py +143 -0
- nucleardatapy/fig/nuc_setupRnpExp_fig.py +88 -0
- nucleardatapy/fig/nuc_setupRnpTheo_fig.py +133 -0
- nucleardatapy/hello.py +6 -0
- nucleardatapy/hnuc/__init__.py +3 -3
- nucleardatapy/hnuc/{setup_be1L_exp.py → setup_re1L_exp.py} +6 -6
- nucleardatapy/hnuc/{setup_be1Xi_exp.py → setup_re1Xi_exp.py} +5 -5
- nucleardatapy/hnuc/{setup_be2L_exp.py → setup_re2L_exp.py} +6 -6
- nucleardatapy/matter/__init__.py +14 -13
- nucleardatapy/matter/setup_check.py +97 -0
- nucleardatapy/matter/setup_ffg.py +72 -38
- nucleardatapy/matter/setup_hic.py +91 -74
- nucleardatapy/matter/setup_micro.py +1698 -1019
- nucleardatapy/matter/setup_micro_band.py +11 -6
- nucleardatapy/matter/setup_micro_effmass.py +55 -2
- nucleardatapy/matter/setup_micro_esym.py +39 -34
- nucleardatapy/matter/setup_micro_gap.py +26 -19
- nucleardatapy/matter/setup_micro_lp.py +20 -19
- 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 +14 -19
- nucleardatapy/nuc/__init__.py +2 -2
- nucleardatapy/nuc/setup_be_exp.py +345 -333
- nucleardatapy/nuc/setup_be_theo.py +366 -178
- nucleardatapy/nuc/setup_isgmr_exp.py +4 -4
- nucleardatapy/nuc/setup_rch_exp.py +49 -6
- nucleardatapy/nuc/setup_rch_theo.py +72 -3
- nucleardatapy/nuc/{setup_nskin_exp.py → setup_rnp_exp.py} +59 -65
- nucleardatapy/nuc/{setup_nskin_theo.py → setup_rnp_theo.py} +35 -39
- nucleardatapy-1.0.0.dist-info/METADATA +553 -0
- {nucleardatapy-0.2.0.dist-info → nucleardatapy-1.0.0.dist-info}/RECORD +156 -128
- {nucleardatapy-0.2.0.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/matter_ENM_fig.py +0 -119
- nucleardatapy/fig/matter_ESM_fig.py +0 -119
- nucleardatapy/fig/matter_Esym_fig.py +0 -122
- nucleardatapy/fig/matter_setupNEPModelDist_fig.py +0 -68
- nucleardatapy-0.2.0.dist-info/METADATA +0 -115
- /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/2006-BHF/{2006-BHF-E2A-AM.dat → 2006-BHF-Av18-E2A-AM.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-E2A-SM.dat → 2006-BHF-Av18-E2A-SM.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-Esym2-SM.dat → 2006-BHF-Av18-Esym2-SM.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-NM-FreeSpectrum.dat → 2006-BHF-Av18-GAP-NM-FreeSpectrum.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-NM-SelfEnergy.dat → 2006-BHF-Av18-GAP-NM-SelfEnergy.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-SM-FreeSpectrum.dat → 2006-BHF-Av18-GAP-SM-FreeSpectrum.dat} +0 -0
- /nucleardatapy/data/matter/micro/2006-BHF/{2006-BHF-GAP-SM-SelfEnergy.dat → 2006-BHF-Av18-GAP-SM-SelfEnergy.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2013-QMC-NM.dat → 2013-MBPT-NM.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2020-MBPT-NM-DHSL59.dat → 2019-MBPT-NM-DHSL59.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2020-MBPT-NM-DHSL69.dat → 2019-MBPT-NM-DHSL69.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2020-MBPT-SM-DHSL59.dat → 2019-MBPT-SM-DHSL59.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2020-MBPT-SM-DHSL69.dat → 2019-MBPT-SM-DHSL69.dat} +0 -0
- /nucleardatapy/data/matter/micro/{2023-MBPT-NM.csv → 2020-MBPT-NM.csv} +0 -0
- /nucleardatapy/data/matter/micro/{2023-MBPT-SM.csv → 2020-MBPT-SM.csv} +0 -0
- /nucleardatapy/data/nuclei/{nskin → rnp}/208Pb.dat +0 -0
- /nucleardatapy/data/nuclei/{nskin → rnp}/48Ca.dat +0 -0
- /nucleardatapy/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.0.dist-info → nucleardatapy-1.0.0.dist-info/licenses}/LICENSE +0 -0
- {nucleardatapy-0.2.0.dist-info → nucleardatapy-1.0.0.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,11 +18,13 @@ def crust_models():
|
|
|
21
18
|
#
|
|
22
19
|
if nuda.env.verb: print("\nEnter models_crust()")
|
|
23
20
|
#
|
|
24
|
-
models = [ '1973-Negele-Vautherin', '
|
|
25
|
-
'
|
|
26
|
-
'
|
|
27
|
-
'2022-
|
|
28
|
-
'2022-
|
|
21
|
+
models = [ '1973-Negele-Vautherin', '2018-PCPFDDG-BSK22', \
|
|
22
|
+
'2018-PCPFDDG-BSK24', '2018-PCPFDDG-BSK25', '2018-PCPFDDG-BSK26',\
|
|
23
|
+
'2020-MVCD-D1S', '2020-MVCD-D1M', '2020-MVCD-D1MS',\
|
|
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' ]
|
|
29
28
|
#
|
|
30
29
|
#print('crust models available in the toolkit:',models)
|
|
31
30
|
models_lower = [ item.lower() for item in models ]
|
|
@@ -76,8 +75,8 @@ class setupCrust():
|
|
|
76
75
|
self.linestyle = 'solid'
|
|
77
76
|
self.latexCite = 'JWNegele:1973'
|
|
78
77
|
self.ncl = 0.17 # in fm-3
|
|
79
|
-
self.den_cgs, self.N, self.Z, self.mu_n, self.mu_p, self.
|
|
80
|
-
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 )
|
|
81
80
|
self.den = self.den_cgs * 1.e-39 # in fm-3
|
|
82
81
|
self.N = np.array([ int(item) for item in self.N ])
|
|
83
82
|
self.Z = np.array([ int(item) for item in self.Z ])
|
|
@@ -90,12 +89,12 @@ class setupCrust():
|
|
|
90
89
|
self.xp_bound = self.Z_bound / self.A_bound
|
|
91
90
|
self.xn_bound = self.N_bound / self.A_bound
|
|
92
91
|
self.I_bound = ( self.N_bound - self.Z_bound ) / self.A_bound
|
|
93
|
-
self.
|
|
92
|
+
self.N_f = self.N - self.N_bound
|
|
94
93
|
# cluster volume and radius
|
|
95
94
|
self.Vcl = 2 * self.Z_bound / ( (1-self.I_bound) * self.ncl )
|
|
96
95
|
self.Rcl = ( 3 / ( 4 * nuda.cst.pi ) * self.Vcl )**nuda.cst.third
|
|
97
96
|
# unbound (gas) neutrons
|
|
98
|
-
self.VWS = self.Vcl + self.
|
|
97
|
+
self.VWS = self.Vcl + self.N_f / self.den_f
|
|
99
98
|
self.RWS = ( 3 / ( 4 * nuda.cst.pi ) * self.VWS )**nuda.cst.third
|
|
100
99
|
# volume fraction
|
|
101
100
|
self.u = self.Vcl / self.VWS
|
|
@@ -103,21 +102,48 @@ class setupCrust():
|
|
|
103
102
|
self.e2a_tot = self.e2a_int2 + nuda.cst.mnuc2
|
|
104
103
|
self.e2a_rm = self.xn * nuda.cst.mnc2 + self.xp * ( nuda.cst.mpc2 + nuda.cst.mec2 )
|
|
105
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
|
|
106
111
|
#
|
|
107
112
|
elif '2020-mvcd' in model.lower():
|
|
108
113
|
#
|
|
109
|
-
# Note: N_bound or
|
|
114
|
+
# Note: N_bound or N_f cannot be determined from the tables (Jerome).
|
|
110
115
|
# It is right?
|
|
111
116
|
#
|
|
112
117
|
if model.lower()=='2020-mvcd-d1s':
|
|
113
118
|
file_in = nuda.param.path_data+'crust/2020-MVCD-D1S.dat'
|
|
114
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
|
+
#
|
|
115
127
|
elif model.lower()=='2020-mvcd-d1m':
|
|
116
128
|
file_in = nuda.param.path_data+'crust/2020-MVCD-D1M.dat'
|
|
117
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
|
+
#
|
|
118
137
|
elif model.lower()=='2020-mvcd-d1ms':
|
|
119
138
|
file_in = nuda.param.path_data+'crust/2020-MVCD-D1MS.dat'
|
|
120
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
|
+
#
|
|
121
147
|
if nuda.env.verb: print('Reads file:',file_in)
|
|
122
148
|
self.ref = 'C. Mondal, X. Viñas, M. Centelles, and J.N. De, Phys. Rev. C 102, 015802 (2020).'
|
|
123
149
|
self.note = "semiclassical variational Wigner-Kirkwood method along with shell and pairing corrections calculated with the Strutinsky integral method and the BCS approximation."
|
|
@@ -134,16 +160,115 @@ class setupCrust():
|
|
|
134
160
|
self.xn = self.N / self.A
|
|
135
161
|
#self.N_bound = [ int(item) for item in self.Z * self.xpn_bound ]
|
|
136
162
|
#self.xn_bound = self.N_bound / self.A
|
|
137
|
-
#self.
|
|
163
|
+
#self.N_f = self.N - self.N_bound
|
|
138
164
|
self.e2a_tot = self.e2a_int2 + nuda.cst.mnuc2_approx
|
|
139
165
|
self.e2a_rm = self.xn * nuda.cst.mnc2 + self.xp * ( nuda.cst.mpc2 + nuda.cst.mec2 )
|
|
140
166
|
self.e2a_int = self.e2a_tot - self.e2a_rm
|
|
141
167
|
#
|
|
142
|
-
elif '
|
|
168
|
+
elif '2018-pcpfddg' in model.lower():
|
|
169
|
+
#
|
|
170
|
+
# Note: N_bound or N_f cannot be determined from the tables (Jerome).
|
|
171
|
+
# It is right?
|
|
172
|
+
#
|
|
173
|
+
if model.lower()=='2018-pcpfddg-bsk22':
|
|
174
|
+
#
|
|
175
|
+
file_in = nuda.param.path_data+'crust/2018-PCPFDDG-BSK22.dat'
|
|
176
|
+
self.label = 'PCPFDDG-BSK22-2018'
|
|
177
|
+
# NEP
|
|
178
|
+
nep = nuda.matter.setupNEP( model = 'ESkyrme', param = 'BSk22' )
|
|
179
|
+
self.nsat = nep.sat
|
|
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
|
+
#
|
|
190
|
+
elif model.lower()=='2018-pcpfddg-bsk24':
|
|
191
|
+
#
|
|
192
|
+
file_in = nuda.param.path_data+'crust/2018-PCPFDDG-BSK24.dat'
|
|
193
|
+
self.label = 'PCPFDDG-BSK24-2018'
|
|
194
|
+
# NEP
|
|
195
|
+
nep = nuda.matter.setupNEP( model = 'ESkyrme', param = 'BSk24' )
|
|
196
|
+
self.nsat = nep.sat
|
|
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
|
+
#
|
|
207
|
+
elif model.lower()=='2018-pcpfddg-bsk25':
|
|
208
|
+
#
|
|
209
|
+
file_in = nuda.param.path_data+'crust/2018-PCPFDDG-BSK25.dat'
|
|
210
|
+
self.label = 'PCPFDDG-BSK25-2018'
|
|
211
|
+
# NEP
|
|
212
|
+
nep = nuda.matter.setupNEP( model = 'ESkyrme', param = 'BSk25' )
|
|
213
|
+
self.nsat = nep.sat
|
|
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
|
+
#
|
|
224
|
+
elif model.lower()=='2018-pcpfddg-bsk26':
|
|
225
|
+
#
|
|
226
|
+
file_in = nuda.param.path_data+'crust/2018-PCPFDDG-BSK26.dat'
|
|
227
|
+
self.label = 'PCPFDDG-BSK26-2018'
|
|
228
|
+
# NEP
|
|
229
|
+
nep = nuda.matter.setupNEP( model = 'ESkyrme', param = 'BSk26' )
|
|
230
|
+
self.nsat = nep.sat
|
|
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
|
+
#
|
|
241
|
+
if nuda.env.verb: print('Reads file:',file_in)
|
|
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).'
|
|
243
|
+
self.note = "4th-order Extended Thomas-Fermi (ETF) method with proton shell correction via the Strutinsky integral (SI) with Brussels-Montreal functionals."
|
|
244
|
+
self.linestyle = 'dashdot'
|
|
245
|
+
self.latexCite = 'MPearson:2018'
|
|
246
|
+
self.ncl = 0.16 # in fm-3
|
|
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 \
|
|
248
|
+
= np.loadtxt( file_in, usecols=(0,1,2,3,5,7,8,9,10,14,15,16,23,25,27), unpack = True )
|
|
249
|
+
self.den_cgs = self.den / 1.e-39 # in cm-3
|
|
250
|
+
self.N = np.array([ int(item) for item in self.N ])
|
|
251
|
+
self.Z = np.array([ int(item) for item in self.Z ])
|
|
252
|
+
self.A = self.N + self.Z
|
|
253
|
+
self.xn = self.N / self.A
|
|
254
|
+
# bound nucleons
|
|
255
|
+
self.Z_bound = np.array([ int(item) for item in self.Zcl ])
|
|
256
|
+
self.N_bound = np.array([ int(item) for item in self.Ncl ])
|
|
257
|
+
self.A_bound = self.N_bound + self.Z_bound
|
|
258
|
+
self.I_bound = ( self.N_bound - self.Z_bound ) / self.A_bound
|
|
259
|
+
self.xn_bound = self.N_bound / self.A_bound
|
|
260
|
+
#
|
|
261
|
+
#self.xn_bound = self.N_bound / self.A
|
|
262
|
+
#self.N_f = self.N - self.N_bound
|
|
263
|
+
#self.e2a_tot = self.e2a_int2 + nuda.cst.mnuc2_approx
|
|
264
|
+
self.e2a_rm = self.xn * nuda.cst.mnc2 + self.xp * ( nuda.cst.mpc2 + nuda.cst.mec2 )
|
|
265
|
+
#self.e2a_int = self.e2a_tot - self.e2a_rm
|
|
143
266
|
#
|
|
267
|
+
elif '2022-gmrs' in model.lower():
|
|
144
268
|
#
|
|
145
|
-
if model.lower()=='2022-
|
|
146
|
-
|
|
269
|
+
if model.lower()=='2022-gmrs-bsk14':
|
|
270
|
+
#
|
|
271
|
+
file_in = nuda.param.path_data+'crust/2022-GMRS-BSK14.dat'
|
|
147
272
|
self.label = 'GMRS BSK14 2022'
|
|
148
273
|
# Outer-Inner Crust (OIC) Transition :
|
|
149
274
|
self.nb_oic = 2.5617840312066730E-004 # in fm-3
|
|
@@ -155,8 +280,17 @@ class setupCrust():
|
|
|
155
280
|
self.rho_cc = 15.799976089478367 # in MeV/fm3
|
|
156
281
|
self.pre_cc = 0.32687267610704895 # in MeV/fm3
|
|
157
282
|
self.mu_n_cc = 7.6209998100288209E-002 # in MeV
|
|
158
|
-
|
|
159
|
-
|
|
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'
|
|
160
294
|
self.label = 'GMRS BSK16 2022'
|
|
161
295
|
# Outer-Inner Crust (OIC) Transition :
|
|
162
296
|
self.nb_oic = 2.5282142292259004E-004 # in fm-3
|
|
@@ -168,34 +302,17 @@ class setupCrust():
|
|
|
168
302
|
self.rho_cc = 16.920900617363277 # in MeV/fm3
|
|
169
303
|
self.pre_cc = 0.36795626298336570 # in MeV/fm3
|
|
170
304
|
self.mu_n_cc = 8.4609997888086361E-002 # in MeV
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
self.
|
|
174
|
-
|
|
175
|
-
self.
|
|
176
|
-
self.
|
|
177
|
-
self.
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
self.pre_cc = 0.33617646422062142 # in MeV/fm3
|
|
183
|
-
self.mu_n_cc = 7.2109998203862921E-002 # in MeV
|
|
184
|
-
elif model.lower()=='2022-crustgmrs-dhsl69':
|
|
185
|
-
file_in = nuda.param.path_data+'crust/2022-crustGMRS-DHSL69.dat'
|
|
186
|
-
self.label = 'GMRS DHSL69 2022'
|
|
187
|
-
# Outer-Inner Crust (OIC) Transition :
|
|
188
|
-
self.nb_oic = 2.4301212474202996E-004 # in fm-3
|
|
189
|
-
self.rho_oic = 7.3077129271105594 # in MeV/fm3
|
|
190
|
-
self.pre_oic = 5.6022465054447420E-004 # in MeV/fm3
|
|
191
|
-
self.mu_n_oic = 2.5617840312066730E-004 # in MeV
|
|
192
|
-
# Crust-Core Transition:
|
|
193
|
-
self.nb_cc = 7.3209998176074584E-002 # in fm-3
|
|
194
|
-
self.rho_cc = 17.399615979167670 # in MeV/fm3
|
|
195
|
-
self.pre_cc = 0.38035277580973315 # in MeV/fm3
|
|
196
|
-
self.mu_n_cc = 7.3209998176074584E-002 # in MeV
|
|
197
|
-
elif model.lower()=='2022-crustgmrs-f0':
|
|
198
|
-
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'
|
|
199
316
|
self.label = 'GMRS F0 2022'
|
|
200
317
|
# Outer-Inner Crust (OIC) Transition :
|
|
201
318
|
self.nb_oic = 2.4950843283419027E-004 # in fm-3
|
|
@@ -207,8 +324,105 @@ class setupCrust():
|
|
|
207
324
|
self.rho_cc = 18.078177464065167 # in MeV/fm3
|
|
208
325
|
self.pre_cc = 0.33181818756433845 # in MeV/fm3
|
|
209
326
|
self.mu_n_cc = 8.3309997920927123E-002 # in MeV
|
|
210
|
-
|
|
211
|
-
|
|
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'
|
|
212
426
|
self.label = 'GMRS H1 2022'
|
|
213
427
|
# Outer-Inner Crust (OIC) Transition :
|
|
214
428
|
self.nb_oic = 2.5957995753211628E-004 # in fm-3
|
|
@@ -220,8 +434,17 @@ class setupCrust():
|
|
|
220
434
|
self.rho_cc = 17.803660783830789 # in MeV/fm3
|
|
221
435
|
self.pre_cc = 0.48159809254574409 # in MeV/fm3
|
|
222
436
|
self.mu_n_cc = 9.5909997602624350E-002 # in MeV
|
|
223
|
-
|
|
224
|
-
|
|
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'
|
|
225
448
|
self.label = 'GMRS H2 2022'
|
|
226
449
|
# Outer-Inner Crust (OIC) Transition :
|
|
227
450
|
self.nb_oic = 2.4301212474202996E-004 # in fm-3
|
|
@@ -233,8 +456,17 @@ class setupCrust():
|
|
|
233
456
|
self.rho_cc = 17.632170792314291 # in MeV/fm3
|
|
234
457
|
self.pre_cc = 0.48032175761400209 # in MeV/fm3
|
|
235
458
|
self.mu_n_cc = 9.2909997678410725E-002 # in MeV
|
|
236
|
-
|
|
237
|
-
|
|
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'
|
|
238
470
|
self.label = 'GMRS H3 2022'
|
|
239
471
|
# Outer-Inner Crust (OIC) Transition :
|
|
240
472
|
self.nb_oic = 2.4623885640591057E-004 # in fm-3
|
|
@@ -246,8 +478,17 @@ class setupCrust():
|
|
|
246
478
|
self.rho_cc = 17.236262111228385 # in MeV/fm3
|
|
247
479
|
self.pre_cc = 0.40705940455120337 # in MeV/fm3
|
|
248
480
|
self.mu_n_cc = 8.4509997890612573E-002 # in MeV
|
|
249
|
-
|
|
250
|
-
|
|
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'
|
|
251
492
|
self.label = 'GMRS H4 2022'
|
|
252
493
|
# Outer-Inner Crust (OIC) Transition :
|
|
253
494
|
self.nb_oic = 2.5282142292259004E-004 # in fm-3
|
|
@@ -259,8 +500,17 @@ class setupCrust():
|
|
|
259
500
|
self.rho_cc = 18.131463559875652 # in MeV/fm3
|
|
260
501
|
self.pre_cc = 0.47616516763123967 # in MeV/fm3
|
|
261
502
|
self.mu_n_cc = 9.0609997736513612E-002 # in MeV
|
|
262
|
-
|
|
263
|
-
|
|
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'
|
|
264
514
|
self.label = 'GMRS H5 2022'
|
|
265
515
|
# Outer-Inner Crust (OIC) Transition :
|
|
266
516
|
self.nb_oic = 2.8468963604916567E-004 # in fm-3
|
|
@@ -272,8 +522,17 @@ class setupCrust():
|
|
|
272
522
|
self.rho_cc = 19.069132247958592 # in MeV/fm3
|
|
273
523
|
self.pre_cc = 0.46337573665856840 # in MeV/fm3
|
|
274
524
|
self.mu_n_cc = 8.7009997827457261E-002 # in MeV
|
|
275
|
-
|
|
276
|
-
|
|
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'
|
|
277
536
|
self.label = 'GMRS H7 2022'
|
|
278
537
|
# Outer-Inner Crust (OIC) Transition :
|
|
279
538
|
self.nb_oic = 3.2914459584803760E-004 # in fm-3
|
|
@@ -285,64 +544,62 @@ class setupCrust():
|
|
|
285
544
|
self.rho_cc = 19.885261960955020 # in MeV/fm3
|
|
286
545
|
self.pre_cc = 0.48143960493062543 # in MeV/fm3
|
|
287
546
|
self.mu_n_cc = 8.3109997925979548E-002 # in MeV
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
self.
|
|
291
|
-
|
|
292
|
-
self.
|
|
293
|
-
self.
|
|
294
|
-
self.
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
self.
|
|
300
|
-
self.mu_n_cc = 7.0409998246808533E-002 # in MeV
|
|
301
|
-
elif model.lower()=='2022-crustgmrs-ratp':
|
|
302
|
-
file_in = nuda.param.path_data+'crust/2022-crustGMRS-RATP.dat'
|
|
303
|
-
self.label = 'GMRS RATP 2022'
|
|
304
|
-
# Outer-Inner Crust (OIC) Transition :
|
|
305
|
-
self.nb_oic = 2.5617840312066730E-004 # in fm-3
|
|
306
|
-
self.rho_oic = 7.1702995055472227 # in MeV/fm3
|
|
307
|
-
self.pre_oic = 5.1984846488072468E-004 # in MeV/fm3
|
|
308
|
-
self.mu_n_oic = 2.7005802403942604E-004 # in MeV
|
|
309
|
-
# Crust-Core Transition:
|
|
310
|
-
self.nb_cc = 8.6009997852719386E-002 # in fm-3
|
|
311
|
-
self.rho_cc = 16.557394274307612 # in MeV/fm3
|
|
312
|
-
self.pre_cc = 0.35277408994086884 # in MeV/fm3
|
|
313
|
-
self.mu_n_cc = 8.6009997852719386E-002 # in MeV
|
|
314
|
-
elif model.lower()=='2022-crustgmrs-sgii':
|
|
315
|
-
file_in = nuda.param.path_data+'crust/2022-crustGMRS-SGII.dat'
|
|
316
|
-
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'
|
|
317
559
|
# Outer-Inner Crust (OIC) Transition :
|
|
318
560
|
self.nb_oic = 2.6651916429173218E-004 # in fm-3
|
|
319
|
-
self.rho_oic = 7.
|
|
320
|
-
self.pre_oic =
|
|
561
|
+
self.rho_oic = 7.7840639496076998 # in MeV/fm3
|
|
562
|
+
self.pre_oic = 6.3684106061817061E-004 # in MeV/fm3
|
|
321
563
|
self.mu_n_oic = 2.8095904260657669E-004 # in MeV
|
|
322
564
|
# Crust-Core Transition:
|
|
323
|
-
self.nb_cc =
|
|
324
|
-
self.rho_cc =
|
|
325
|
-
self.pre_cc = 0.
|
|
326
|
-
self.mu_n_cc =
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
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'
|
|
330
580
|
# Outer-Inner Crust (OIC) Transition :
|
|
331
|
-
self.nb_oic = 2.
|
|
332
|
-
self.rho_oic = 7.
|
|
333
|
-
self.pre_oic = 5.
|
|
334
|
-
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
|
|
335
585
|
# Crust-Core Transition:
|
|
336
|
-
self.nb_cc = 7.
|
|
337
|
-
self.rho_cc = 17.
|
|
338
|
-
self.pre_cc = 0.
|
|
339
|
-
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
|
+
#
|
|
340
597
|
if nuda.env.verb: print('Reads file:',file_in)
|
|
341
598
|
self.ref = 'G. Grams, J. Margueron, R. Somasundaram, and S. Reddy, EPJA 58, 56 (2022).'
|
|
342
599
|
self.note = "."
|
|
343
600
|
self.linestyle = 'dotted'
|
|
344
601
|
self.latexCite = 'GGrams:2022'
|
|
345
|
-
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 \
|
|
346
603
|
= np.loadtxt( file_in, usecols=(0,1,2,3,4,5,6,7,8,9,10), unpack = True )
|
|
347
604
|
self.den_cgs = self.den / 1.e-39 # in cm-3
|
|
348
605
|
# bound nucleons
|
|
@@ -359,11 +616,11 @@ class setupCrust():
|
|
|
359
616
|
self.u = self.Vcl / self.VWS
|
|
360
617
|
# unbound (gas) neutrons
|
|
361
618
|
self.RWS = ( 3 / ( 4 * nuda.cst.pi ) * self.VWS )**nuda.cst.third
|
|
362
|
-
self.
|
|
619
|
+
self.N_f = self.den_f * ( self.VWS - self.Vcl )
|
|
363
620
|
# total number of nucleons
|
|
364
621
|
self.Z = self.Z_bound
|
|
365
|
-
self.N = self.N_bound + self.
|
|
366
|
-
self.A = self.A_bound + self.
|
|
622
|
+
self.N = self.N_bound + self.N_f
|
|
623
|
+
self.A = self.A_bound + self.N_f
|
|
367
624
|
self.xn = self.N / self.A
|
|
368
625
|
self.xp = self.Z / self.A
|
|
369
626
|
# energy
|
|
@@ -372,6 +629,26 @@ class setupCrust():
|
|
|
372
629
|
self.e2a_int = self.e2a_tot - self.e2a_rm
|
|
373
630
|
# electrons
|
|
374
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
|
|
375
652
|
#
|
|
376
653
|
def print_outputs( self ):
|
|
377
654
|
"""
|
|
@@ -391,17 +668,17 @@ class setupCrust():
|
|
|
391
668
|
if self.Z is not None: print(f" Z: {self.Z}")
|
|
392
669
|
if self.N is not None: print(f" N: {self.N}")
|
|
393
670
|
if self.N_bound is not None: print(f" N_bound: {self.N_bound}")
|
|
394
|
-
if self.
|
|
671
|
+
if self.N_f is not None: print(f" N_f: {self.N_f}")
|
|
395
672
|
if self.mu_n is not None: print(f" mu_n(MeV): {self.mu_n}")
|
|
396
673
|
if self.mu_p is not None: print(f" mu_p(MeV): {self.mu_p}")
|
|
397
|
-
if self.
|
|
674
|
+
if self.den_f is not None: print(f" den_f(fm-3): {self.den_f}")
|
|
398
675
|
if self.RWS is not None: print(f" RWS(fm): {np.round(self.RWS,3)}")
|
|
399
676
|
if self.xpn_bound is not None: print(f" xpn_bound: {self.xpn_bound}")
|
|
400
677
|
if self.e2a_tot is not None: print(f" e2a_tot(MeV): {np.round(self.e2a_tot,3)}")
|
|
401
678
|
if self.e2a_rm is not None: print(f" e2a_rm(MeV): {np.round(self.e2a_rm,3)}")
|
|
402
679
|
if self.e2a_int2 is not None: print(f" e2a_int2(MeV): {np.round(self.e2a_int2,3)}")
|
|
403
680
|
if self.e2a_int is not None: print(f" e2a_int(MeV): {np.round(self.e2a_int,3)}")
|
|
404
|
-
if self.
|
|
681
|
+
if self.e2a_int_f is not None: print(f" e2a_int_f(MeV): {np.round(self.e2a_int_f,3)}")
|
|
405
682
|
#
|
|
406
683
|
if nuda.env.verb: print("Exit print_outputs()")
|
|
407
684
|
#
|
|
@@ -422,10 +699,10 @@ class setupCrust():
|
|
|
422
699
|
self.Z_bound = None
|
|
423
700
|
#: Attribute N_bound (number of neutrons in the cluster).
|
|
424
701
|
self.N_bound = None
|
|
425
|
-
#: Attribute
|
|
426
|
-
self.
|
|
427
|
-
#: Attribute
|
|
428
|
-
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
|
|
429
706
|
#: Attribute A (total number of nucleons of the WS cell).
|
|
430
707
|
self.A = None
|
|
431
708
|
#: Attribute Z (total number of protons of the WS cell).
|
|
@@ -448,8 +725,6 @@ class setupCrust():
|
|
|
448
725
|
self.mu_n = None
|
|
449
726
|
#: Attribute the proton chemical potential (in MeV).
|
|
450
727
|
self.mu_p = None
|
|
451
|
-
#: Attribute the approximate density of neutron in the gas (in fm-3).
|
|
452
|
-
self.den_g = None
|
|
453
728
|
#: Attribute the radius of the cluster (in fm).
|
|
454
729
|
self.Rcl = None
|
|
455
730
|
#: Attribute the radius of the WS cell (in fm).
|
|
@@ -460,8 +735,16 @@ class setupCrust():
|
|
|
460
735
|
self.e2a_int2 = None
|
|
461
736
|
#: Attribute the internal energy (in MeV).
|
|
462
737
|
self.e2a_int = None
|
|
738
|
+
#: Attribute the total internal energy (in MeV).
|
|
739
|
+
self.e2a_tot = None
|
|
463
740
|
#: Attribute the internal energy of the gas component (in MeV).
|
|
464
|
-
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
|
|
465
748
|
#
|
|
466
749
|
self.ref = None
|
|
467
750
|
self.note = None
|