Coverage for /builds/ase/ase/ase/calculators/vasp/setups.py: 100.00%
5 statements
« prev ^ index » next coverage.py v7.5.3, created at 2025-08-02 00:12 +0000
« prev ^ index » next coverage.py v7.5.3, created at 2025-08-02 00:12 +0000
1# fmt: off
3import copy
5_setups_defaults = {
6 'minimal': {
7 'K': '_pv',
8 'Ca': '_pv',
9 'Rb': '_pv',
10 'Sr': '_sv',
11 'Y': '_sv',
12 'Zr': '_sv',
13 'Nb': '_pv',
14 'Cs': '_sv',
15 'Ba': '_sv',
16 'Fr': '_sv',
17 'Ra': '_sv',
18 'Sc': '_sv'
19 },
21 # VASP recommended
22 'recommended': {
23 'Li': '_sv',
24 'Na': '_pv',
25 'K': '_sv',
26 'Ca': '_sv',
27 'Sc': '_sv',
28 'Ti': '_sv',
29 'V': '_sv',
30 'Cr': '_pv',
31 'Mn': '_pv',
32 'Ga': '_d',
33 'Ge': '_d',
34 'Rb': '_sv',
35 'Sr': '_sv',
36 'Y': '_sv',
37 'Zr': '_sv',
38 'Nb': '_sv',
39 'Mo': '_sv',
40 'Tc': '_pv',
41 'Ru': '_pv',
42 'Rh': '_pv',
43 'In': '_d',
44 'Sn': '_d',
45 'Cs': '_sv',
46 'Ba': '_sv',
47 'Pr': '_3',
48 'Nd': '_3',
49 'Pm': '_3',
50 'Sm': '_3',
51 'Eu': '_2',
52 'Gd': '_3',
53 'Tb': '_3',
54 'Dy': '_3',
55 'Ho': '_3',
56 'Er': '_3',
57 'Tm': '_3',
58 'Yb': '_2',
59 'Lu': '_3',
60 'Hf': '_pv',
61 'Ta': '_pv',
62 'W': '_pv',
63 'Tl': '_d',
64 'Pb': '_d',
65 'Bi': '_d',
66 'Po': '_d',
67 'At': '_d',
68 'Fr': '_sv',
69 'Ra': '_sv'
70 },
72 # https://wiki.materialsproject.org/Pseudopotentials_Choice
73 'materialsproject':
74 # Alkali and alkali-earth
75 {
76 'Li': '_sv',
77 'Na': '_pv',
78 'K': '_sv',
79 'Cs': '_sv',
80 'Rb': '_sv',
81 'Be': '_sv',
82 'Mg': '_pv',
83 'Ca': '_sv',
84 'Sr': '_sv',
85 'Ba': '_sv',
86 # d-elements, transition metals
87 'Sc': '_sv',
88 'Y': '_sv',
89 'Ti': '_pv',
90 'Zr': '_sv',
91 'Hf': '_pv',
92 'V': '_sv',
93 'Nb': '_pv',
94 'Ta': '_pv',
95 'Cr': '_pv',
96 'Mo': '_pv',
97 'W': '_sv', # updated from W_pv
98 'Mn': '_pv',
99 'Tc': '_pv',
100 'Re': '_pv',
101 'Fe': '_pv',
102 'Co': '',
103 'Ni': '_pv',
104 'Cu': '_pv',
105 'Zn': '',
106 'Ru': '_pv',
107 'Rh': '_pv',
108 'Pd': '',
109 'Ag': '',
110 'Cd': '',
111 'Hg': '',
112 'Ir': '',
113 'Pt': '',
114 'Os': '_pv',
115 # Main group
116 'Ga': '_d',
117 'Ge': '_d',
118 'Al': '',
119 'As': '',
120 'Se': '',
121 'Br': '',
122 'In': '_d',
123 'Sn': '_d',
124 'Tl': '_d',
125 'Pb': '_d',
126 'Bi': '_d', # ?
127 'Po': '',
128 'At': '_d',
129 # Rare-earth, f-electrons
130 'La': '',
131 'Ce': '',
132 'Pr': '_3',
133 'Nd': '_3',
134 'Pm': '_3',
135 'Sm': '_3',
136 'Eu': '',
137 'Gd': '',
138 'Tb': '_3',
139 'Dy': '_3',
140 'Ho': '_3',
141 'Er': '_3',
142 'Tm': '_3',
143 'Yb': '',
144 'Lu': '_3'
145 },
147 #
148 'gw': {
149 'H': '_GW',
150 'He': '_GW',
151 'Li': '_sv_GW',
152 'Be': '_sv_GW',
153 'B': '_GW',
154 'C': '_GW',
155 'N': '_GW',
156 'O': '_GW',
157 'F': '_GW',
158 'Ne': '_GW',
159 'Na': '_sv_GW',
160 'Mg': '_sv_GW',
161 'Al': '_GW',
162 'Si': '_GW',
163 'P': '_GW',
164 'S': '_GW',
165 'Cl': '_GW',
166 'Ar': '_GW',
167 'K': '_sv_GW',
168 'Ca': '_sv_GW',
169 'Sc': '_sv_GW',
170 'Ti': '_sv_GW',
171 'V': '_sv_GW',
172 'Cr': '_sv_GW',
173 'Mn': '_sv_GW',
174 'Fe': '_sv_GW',
175 'Co': '_sv_GW',
176 'Ni': '_sv_GW',
177 'Cu': '_sv_GW',
178 'Zn': '_sv_GW',
179 'Ga': '_d_GW',
180 'Ge': '_d_GW',
181 'As': '_GW',
182 'Se': '_GW',
183 'Br': '_GW',
184 'Kr': '_GW',
185 'Rb': '_sv_GW',
186 'Sr': '_sv_GW',
187 'Y': '_sv_GW',
188 'Zr': '_sv_GW',
189 'Nb': '_sv_GW',
190 'Mo': '_sv_GW',
191 'Tc': '_sv_GW',
192 'Ru': '_sv_GW',
193 'Rh': '_sv_GW',
194 'Pd': '_sv_GW',
195 'Ag': '_sv_GW',
196 'Cd': '_sv_GW',
197 'In': '_d_GW',
198 'Sn': '_d_GW',
199 'Sb': '_d_GW',
200 'Te': '_GW',
201 'I': '_GW',
202 'Xe': '_GW',
203 'Cs': '_sv_GW',
204 'Ba': '_sv_GW',
205 'La': '_GW',
206 'Ce': '_GW',
207 'Hf': '_sv_GW',
208 'Ta': '_sv_GW',
209 'W': '_sv_GW',
210 'Re': '_sv_GW',
211 'Os': '_sv_GW',
212 'Ir': '_sv_GW',
213 'Pt': '_sv_GW',
214 'Au': '_sv_GW',
215 'Hg': '_sv_GW',
216 'Tl': '_d_GW',
217 'Pb': '_d_GW',
218 'Bi': '_d_GW',
219 'Po': '_d_GW',
220 'At': '_d_GW',
221 'Rn': '_d_GW'
222 }
223}
226def get_default_setups():
227 # Avoid mutating the module dictionary, so we use a copy instead
228 # Note, it is a nested dict, so a regular copy is not enough
229 return copy.deepcopy(_setups_defaults)
232# Compatibility
233setups_defaults = get_default_setups()