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
|
@@ -8,15 +8,21 @@ import nucleardatapy as nuda
|
|
|
8
8
|
def KsatQsat_constraints():
|
|
9
9
|
"""
|
|
10
10
|
Return a list of constraints available in this toolkit in the \
|
|
11
|
-
following list:
|
|
12
|
-
'
|
|
11
|
+
following list:
|
|
12
|
+
'1991-Pearson', '2025-MK', \
|
|
13
|
+
'EDF-SKY', 'EDF-GSKY', 'EDF-ESKY', 'EDF-DDRH', \
|
|
14
|
+
'EDF-NLRH', 'EDF-DDRHF', 'EDF-Gogny', 'EDF-xEFT'; \
|
|
13
15
|
and print them all on the prompt.
|
|
14
16
|
|
|
15
17
|
:return: The list of constraints.
|
|
16
18
|
:rtype: list[str].
|
|
17
19
|
"""
|
|
18
|
-
constraints = [ '
|
|
19
|
-
'
|
|
20
|
+
constraints = [ '1991-Pearson', '2025-MK-95', '2025-MK-90', '2025-MK-67', \
|
|
21
|
+
'EDF-SKY', 'EDF-GSKY', 'EDF-ESKY', 'EDF-Fayans' , 'EDF-Gogny', 'EDF-DDRH', \
|
|
22
|
+
'EDF-NLRH', 'EDF-DDRHF', 'EDF-xEFT' ]
|
|
23
|
+
#constraints = [ '1991-Pearson', '2025-MK-67', '2025-MK-90', '2025-MK-95', \
|
|
24
|
+
#'EDF-SKY', 'EDF-SKY2', 'EDF-ESKY', 'EDF-DDRH', \
|
|
25
|
+
#'EDF-NLRH', 'EDF-DDRHF', 'EDF-Fayans' , 'EDF-Gogny', 'EDF-xEFT' ]
|
|
20
26
|
#print('Constraints available in the toolkit:',constraints)
|
|
21
27
|
constraints_lower = [ item.lower() for item in constraints ]
|
|
22
28
|
return constraints, constraints_lower
|
|
@@ -29,15 +35,16 @@ class setupKsatQsat():
|
|
|
29
35
|
Instantiate the values of Esym and Lsym from the constraint.
|
|
30
36
|
|
|
31
37
|
The name of the constraint to be chosen in the \
|
|
32
|
-
following list: '
|
|
33
|
-
'
|
|
34
|
-
|
|
38
|
+
following list: '1991-Pearson', '2025-MK', \
|
|
39
|
+
'EDF-SKY', 'EDF-ESKY', 'EDF-DDRH', \
|
|
40
|
+
'EDF-NLRH', 'EDF-DDRHF', 'EDF-Gogny', 'EDF-xEFT'.
|
|
41
|
+
:param constraint: Fix the name of `constraint`. Default value: 'EDF-SKY'.
|
|
35
42
|
:type constraint: str, optional.
|
|
36
43
|
|
|
37
44
|
**Attributes:**
|
|
38
45
|
"""
|
|
39
46
|
#
|
|
40
|
-
def __init__( self, constraint = '
|
|
47
|
+
def __init__( self, constraint = 'EDF-SKY' ):
|
|
41
48
|
#
|
|
42
49
|
if nuda.env.verb: print("Enter setupKsatQsat()")
|
|
43
50
|
#: Attribute constraint.
|
|
@@ -54,129 +61,213 @@ class setupKsatQsat():
|
|
|
54
61
|
print('setup_KsatQsat: -- Exit the code --')
|
|
55
62
|
exit()
|
|
56
63
|
#
|
|
57
|
-
if
|
|
64
|
+
if constraint.lower() == '1991-pearson':
|
|
65
|
+
#
|
|
66
|
+
# pearson correlation
|
|
67
|
+
#
|
|
68
|
+
#: Attribute providing the label the data is references for figures.
|
|
69
|
+
self.label = '1991-Pearson'
|
|
70
|
+
#: Attribute providing additional notes about the constraint.
|
|
71
|
+
self.note = "Experimental constraints from Pearson."
|
|
72
|
+
# fix the marker style
|
|
73
|
+
self.marker = 's'
|
|
74
|
+
#
|
|
75
|
+
self.Ksat_band = np.linspace(100,400,num=30)
|
|
76
|
+
alpha = 0.082
|
|
77
|
+
beta1 = -17.5
|
|
78
|
+
beta2 = -22.5
|
|
79
|
+
Q2K_up = alpha * self.Ksat_band + beta1
|
|
80
|
+
Q2K_lo = alpha * self.Ksat_band + beta2
|
|
81
|
+
self.Qsat_up = Q2K_up * self.Ksat_band
|
|
82
|
+
self.Qsat_lo = Q2K_lo * self.Ksat_band
|
|
83
|
+
self.Qsat_band = 0.5 * ( self.Qsat_up + self.Qsat_lo )
|
|
84
|
+
self.Qsat_err = 0.5 * np.abs( self.Qsat_up - self.Qsat_lo )
|
|
85
|
+
self.Ksat_lin = None
|
|
86
|
+
self.Qsat_lin = None
|
|
87
|
+
#
|
|
88
|
+
elif constraint.lower() == '2025-mk-67':
|
|
89
|
+
#
|
|
90
|
+
# best models (95%) from Margueron, Khan paper 2025
|
|
91
|
+
#
|
|
92
|
+
#: Attribute providing the label the data is references for figures.
|
|
93
|
+
self.label = '2025-MK (67%)'
|
|
94
|
+
#: Attribute providing additional notes about the constraint.
|
|
95
|
+
self.note = "Exploration with DD Skyrme."
|
|
96
|
+
# fix the marker style
|
|
97
|
+
self.marker = 's'
|
|
98
|
+
#
|
|
99
|
+
file_in = os.path.join(nuda.param.path_data,'matter/nep/best67DDSkyrme.dat')
|
|
100
|
+
t00, x00, t01, x01, t02, x02, sig1, sig2, t1, x1, t2, x2, self.Ksat, self.Qsat, \
|
|
101
|
+
= np.loadtxt( file_in, usecols=(1,2,3,4,5,6,7,8,9,10,11,12,13,14), comments='#', delimiter=',', unpack = True )
|
|
102
|
+
#
|
|
103
|
+
elif constraint.lower() == '2025-mk-90':
|
|
104
|
+
#
|
|
105
|
+
# best models (95%) from Margueron, Khan paper 2025
|
|
106
|
+
#
|
|
107
|
+
#: Attribute providing the label the data is references for figures.
|
|
108
|
+
self.label = '2025-MK (90%)'
|
|
109
|
+
#: Attribute providing additional notes about the constraint.
|
|
110
|
+
self.note = "Exploration with DD Skyrme."
|
|
111
|
+
# fix the marker style
|
|
112
|
+
self.marker = 's'
|
|
113
|
+
#
|
|
114
|
+
file_in = os.path.join(nuda.param.path_data,'matter/nep/best90DDSkyrme.dat')
|
|
115
|
+
t00, x00, t01, x01, t02, x02, sig1, sig2, t1, x1, t2, x2, self.Ksat, self.Qsat, \
|
|
116
|
+
= np.loadtxt( file_in, usecols=(1,2,3,4,5,6,7,8,9,10,11,12,13,14), comments='#', delimiter=',', unpack = True )
|
|
117
|
+
#
|
|
118
|
+
elif constraint.lower() == '2025-mk-95':
|
|
119
|
+
#
|
|
120
|
+
# best models (95%) from Margueron, Khan paper 2025
|
|
121
|
+
#
|
|
122
|
+
#: Attribute providing the label the data is references for figures.
|
|
123
|
+
self.label = '2025-MK (95%)'
|
|
124
|
+
#: Attribute providing additional notes about the constraint.
|
|
125
|
+
self.note = "Exploration with DD Skyrme."
|
|
126
|
+
# fix the marker style
|
|
127
|
+
self.marker = 's'
|
|
128
|
+
#
|
|
129
|
+
file_in = os.path.join(nuda.param.path_data,'matter/nep/best95DDSkyrme.dat')
|
|
130
|
+
t00, x00, t01, x01, t02, x02, sig1, sig2, t1, x1, t2, x2, self.Ksat, self.Qsat, \
|
|
131
|
+
= np.loadtxt( file_in, usecols=(1,2,3,4,5,6,7,8,9,10,11,12,13,14), comments='#', delimiter=',', unpack = True )
|
|
132
|
+
#
|
|
133
|
+
elif 'edf-' in constraint.lower():
|
|
58
134
|
#
|
|
59
135
|
#: Attribute providing the full reference to the paper to be citted.
|
|
60
136
|
self.ref = ''
|
|
61
137
|
#
|
|
62
|
-
if constraint.lower() == '
|
|
138
|
+
if constraint.lower() == 'edf-sky':
|
|
63
139
|
#: Attribute providing the label the data is references for figures.
|
|
64
|
-
self.label = 'Skyrme
|
|
140
|
+
self.label = 'Skyrme'
|
|
65
141
|
#: Attribute providing additional notes about the constraint.
|
|
66
|
-
self.note = "constraints from Skyrme
|
|
142
|
+
self.note = "constraints from Skyrme."
|
|
67
143
|
# fix the marker style
|
|
68
144
|
self.marker = '*'
|
|
69
145
|
# fix model variable
|
|
70
146
|
model = 'Skyrme'
|
|
71
|
-
elif constraint.lower() == '
|
|
147
|
+
elif constraint.lower() == 'edf-sky2':
|
|
72
148
|
#: Attribute providing the label the data is references for figures.
|
|
73
|
-
self.label = 'Skyrme2
|
|
149
|
+
self.label = 'Skyrme2'
|
|
74
150
|
#: Attribute providing additional notes about the constraint.
|
|
75
|
-
self.note = "constraints from Skyrme
|
|
151
|
+
self.note = "constraints from other set of Skyrme EDF."
|
|
76
152
|
# fix the marker style
|
|
77
|
-
self.marker = '
|
|
153
|
+
self.marker = '*'
|
|
78
154
|
# fix model variable
|
|
79
155
|
model = 'Skyrme2'
|
|
80
|
-
elif constraint.lower() == '
|
|
156
|
+
elif constraint.lower() == 'edf-gsky':
|
|
81
157
|
#: Attribute providing the label the data is references for figures.
|
|
82
|
-
self.label = '
|
|
158
|
+
self.label = 'GSkyrme'
|
|
159
|
+
#: Attribute providing additional notes about the constraint.
|
|
160
|
+
self.note = "constraints from Generalized Skyrme."
|
|
161
|
+
# fix the marker style
|
|
162
|
+
self.marker = '*'
|
|
163
|
+
# fix model variable
|
|
164
|
+
model = 'GSkyrme'
|
|
165
|
+
elif constraint.lower() == 'edf-esky':
|
|
166
|
+
#: Attribute providing the label the data is references for figures.
|
|
167
|
+
self.label = 'ESkyrme'
|
|
83
168
|
#: Attribute providing additional notes about the constraint.
|
|
84
169
|
self.note = "constraints from ESkyrme DFT."
|
|
85
170
|
# fix the marker style
|
|
86
|
-
self.marker = '
|
|
171
|
+
self.marker = '*'
|
|
87
172
|
# fix model variable
|
|
88
173
|
model = 'ESkyrme'
|
|
89
|
-
elif constraint.lower() == '
|
|
174
|
+
elif constraint.lower() == 'edf-ddrh':
|
|
90
175
|
#: Attribute providing the label the data is references for figures.
|
|
91
|
-
self.label = 'DDRH
|
|
176
|
+
self.label = 'DDRH'
|
|
92
177
|
#: Attribute providing additional notes about the constraint.
|
|
93
178
|
self.note = "constraints from DDRH DFT."
|
|
94
179
|
# fix the marker style
|
|
95
|
-
self.marker = '
|
|
180
|
+
self.marker = '+'
|
|
96
181
|
# fix model variable
|
|
97
182
|
model = 'DDRH'
|
|
98
|
-
elif constraint.lower() == '
|
|
183
|
+
elif constraint.lower() == 'edf-nlrh':
|
|
99
184
|
#: Attribute providing the label the data is references for figures.
|
|
100
|
-
self.label = 'NLRH
|
|
185
|
+
self.label = 'NLRH'
|
|
101
186
|
#: Attribute providing additional notes about the constraint.
|
|
102
187
|
self.note = "constraints from NLRH DFT."
|
|
103
188
|
# fix the marker style
|
|
104
|
-
self.marker = '
|
|
189
|
+
self.marker = '+'
|
|
105
190
|
# fix model variable
|
|
106
191
|
model = 'NLRH'
|
|
107
|
-
elif constraint.lower() == '
|
|
192
|
+
elif constraint.lower() == 'edf-ddrhf':
|
|
108
193
|
#: Attribute providing the label the data is references for figures.
|
|
109
|
-
self.label = 'DDRHF
|
|
194
|
+
self.label = 'DDRHF'
|
|
110
195
|
#: Attribute providing additional notes about the constraint.
|
|
111
196
|
self.note = "constraints from DDRHF DFT."
|
|
112
197
|
# fix the marker style
|
|
113
|
-
self.marker = '
|
|
198
|
+
self.marker = '+'
|
|
114
199
|
# fix model variable
|
|
115
200
|
model = 'DDRHF'
|
|
116
|
-
elif constraint.lower() == '
|
|
201
|
+
elif constraint.lower() == 'edf-fayans':
|
|
117
202
|
#: Attribute providing the label the data is references for figures.
|
|
118
|
-
self.label = 'Fayans
|
|
203
|
+
self.label = 'Fayans'
|
|
119
204
|
#: Attribute providing additional notes about the constraint.
|
|
120
205
|
self.note = "constraints from Fayans DFT."
|
|
121
206
|
# fix the marker style
|
|
122
|
-
self.marker = '
|
|
207
|
+
self.marker = 'x'
|
|
123
208
|
# fix model variable
|
|
124
209
|
model = 'Fayans'
|
|
125
|
-
elif constraint.lower() == '
|
|
210
|
+
elif constraint.lower() == 'edf-gogny':
|
|
126
211
|
#: Attribute providing the label the data is references for figures.
|
|
127
|
-
self.label = 'Gogny
|
|
212
|
+
self.label = 'Gogny'
|
|
128
213
|
#: Attribute providing additional notes about the constraint.
|
|
129
214
|
self.note = "constraints from Gogny DFT."
|
|
130
215
|
# fix the marker style
|
|
131
|
-
self.marker = '
|
|
216
|
+
self.marker = 'x'
|
|
132
217
|
# fix model variable
|
|
133
218
|
model = 'Gogny'
|
|
134
|
-
elif constraint.lower() == '
|
|
219
|
+
elif constraint.lower() == 'edf-xeft':
|
|
135
220
|
#: Attribute providing the label the data is references for figures.
|
|
136
|
-
self.label = 'xEFT
|
|
221
|
+
self.label = 'xEFT'
|
|
137
222
|
#: Attribute providing additional notes about the constraint.
|
|
138
223
|
self.note = "constraints from xEFT DFT."
|
|
139
224
|
# fix the marker style
|
|
140
|
-
self.marker = '
|
|
225
|
+
self.marker = 'o'
|
|
141
226
|
# fix model variable
|
|
142
|
-
model = '
|
|
227
|
+
model = 'xeft'
|
|
228
|
+
#
|
|
229
|
+
#print('model:',model)
|
|
230
|
+
params, params_lower = nuda.matter.nep_params( model = model )
|
|
231
|
+
#print('params:',params)
|
|
232
|
+
#
|
|
233
|
+
Ksat = []; Qsat = [];
|
|
234
|
+
for param in params:
|
|
143
235
|
#
|
|
236
|
+
#print('param:',param)
|
|
237
|
+
nep = nuda.matter.setupNEP( model = model, param = param )
|
|
238
|
+
#print('param:',param,' Ksat:',nep.Ksat)
|
|
239
|
+
if nep.nep:
|
|
240
|
+
Ksat.append( nep.Ksat ); Qsat.append( nep.Qsat );
|
|
241
|
+
self.Ksat = np.array( Ksat, dtype=float ).tolist()
|
|
242
|
+
self.Qsat = np.array( Qsat, dtype=float ).tolist()
|
|
243
|
+
#
|
|
244
|
+
#print('Ksat:',self.Ksat)
|
|
245
|
+
#print('Qsat:',self.Qsat)
|
|
246
|
+
#
|
|
247
|
+
# Compute linear fit:
|
|
248
|
+
#
|
|
249
|
+
sum1 = 0.0; sum2 = 0.0; sum3 = 0.0; sum4 = 0.0; sum5 = 0.0;
|
|
250
|
+
for i,xi in enumerate(self.Ksat):
|
|
251
|
+
wi = 1.0
|
|
252
|
+
yi = self.Qsat[i]
|
|
253
|
+
sum1 += wi
|
|
254
|
+
sum2 += wi * xi * yi
|
|
255
|
+
sum3 += wi * xi
|
|
256
|
+
sum4 += wi * yi
|
|
257
|
+
sum5 += wi * xi**2
|
|
258
|
+
self.m = ( sum1 * sum2 - sum3 * sum4 ) / ( sum1 * sum5 - sum3**2 )
|
|
259
|
+
self.c = ( sum5 * sum4 - sum3 * sum2 ) / ( sum1 * sum5 - sum3**2 )
|
|
260
|
+
#
|
|
261
|
+
Ksat_min = min(self.Ksat)
|
|
262
|
+
Ksat_max = max(self.Ksat)
|
|
263
|
+
#
|
|
264
|
+
self.Ksat_lin = np.linspace( Ksat_min, Ksat_max, num = 10 )
|
|
265
|
+
self.Qsat_lin = nuda.corr.flinear( self.Ksat_lin , self.m, self.c )
|
|
144
266
|
#
|
|
145
267
|
else:
|
|
146
268
|
#
|
|
147
269
|
print('setup_KsatQsat: The variable constraint:',constraint)
|
|
148
270
|
print('setup_KsatQsat: does not fit with the options in the code')
|
|
149
|
-
#print('model:',model)
|
|
150
|
-
params, params_lower = nuda.matter.nep_params( model = model )
|
|
151
|
-
#print('params:',params)
|
|
152
|
-
#
|
|
153
|
-
Ksat = []; Qsat = [];
|
|
154
|
-
for param in params:
|
|
155
|
-
#
|
|
156
|
-
#print('param:',param)
|
|
157
|
-
nep = nuda.matter.setupNEP( model = model, param = param )
|
|
158
|
-
#print('param:',param,' Ksat:',nep.Ksat)
|
|
159
|
-
if nep.nep:
|
|
160
|
-
Ksat.append( nep.Ksat ); Qsat.append( nep.Qsat );
|
|
161
|
-
self.Ksat = np.array( Ksat, dtype=float ).tolist()
|
|
162
|
-
self.Qsat = np.array( Qsat, dtype=float ).tolist()
|
|
163
|
-
#
|
|
164
|
-
#print('Ksat:',self.Ksat)
|
|
165
|
-
#print('Qsat:',self.Qsat)
|
|
166
|
-
#
|
|
167
|
-
# Compute linear fit:
|
|
168
|
-
#
|
|
169
|
-
sum1 = 0.0; sum2 = 0.0; sum3 = 0.0; sum4 = 0.0; sum5 = 0.0;
|
|
170
|
-
for i,xi in enumerate(self.Ksat):
|
|
171
|
-
wi = 1.0
|
|
172
|
-
yi = self.Qsat[i]
|
|
173
|
-
sum1 += wi
|
|
174
|
-
sum2 += wi * xi * yi
|
|
175
|
-
sum3 += wi * xi
|
|
176
|
-
sum4 += wi * yi
|
|
177
|
-
sum5 += wi * xi**2
|
|
178
|
-
self.m = ( sum1 * sum2 - sum3 * sum4 ) / ( sum1 * sum5 - sum3**2 )
|
|
179
|
-
self.c = ( sum5 * sum4 - sum3 * sum2 ) / ( sum1 * sum5 - sum3**2 )
|
|
180
271
|
#
|
|
181
272
|
if nuda.env.verb: print("Exit setupKsatQsat()")
|
|
182
273
|
#
|
|
@@ -218,8 +309,18 @@ class setupKsatQsat():
|
|
|
218
309
|
#
|
|
219
310
|
#: Attribute Ksat.
|
|
220
311
|
self.Ksat = None
|
|
312
|
+
self.Ksat_band = None
|
|
313
|
+
self.Ksat_err = None
|
|
314
|
+
self.Ksat_up = None
|
|
315
|
+
self.Ksat_lo = None
|
|
316
|
+
self.Ksat_lin = None
|
|
221
317
|
#: Attribute Qsat.
|
|
222
318
|
self.Qsat = None
|
|
319
|
+
self.Qsat_band = None
|
|
320
|
+
self.Qsat_err = None
|
|
321
|
+
self.Qsat_up = None
|
|
322
|
+
self.Qsat_lo = None
|
|
323
|
+
self.Qsat_lin = None
|
|
223
324
|
#
|
|
224
325
|
if nuda.env.verb: print("Exit init_self()")
|
|
225
326
|
#
|