Coverage for /builds/ase/ase/ase/calculators/vasp/vasp_data.py: 100.00%
1 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
3# flake8: noqa
6# this returns a look up dict for the orbital name -> col number in the
7# DOSCAR file based on the number of columns found
8PDOS_orbital_names_and_DOSCAR_column = {
9 4: {'s': 1, 'p': 2, 'd': 3},
10 5: {'s': 1, 'p': 2, 'd': 3, 'f': 4},
11 7: {'s+': 1, 's-up': 1, 's-': 2, 's-down': 2,
12 'p+': 3, 'p-up': 3, 'p-': 4, 'p-down': 4,
13 'd+': 5, 'd-up': 5, 'd-': 6, 'd-down': 6},
14 9: {
15 's+': 1,
16 's-up': 1,
17 's-': 2,
18 's-down': 2,
19 'p+': 3,
20 'p-up': 3,
21 'p-': 4,
22 'p-down': 4,
23 'd+': 5,
24 'd-up': 5,
25 'd-': 6,
26 'd-down': 6,
27 'f+': 7,
28 'f-up': 7,
29 'f-': 8,
30 'f-down': 8},
31 10: {'s': 1, 'py': 2, 'pz': 3, 'px': 4,
32 'dxy': 5, 'dyz': 6, 'dz2': 7, 'dxz': 8,
33 'dx2': 9},
34 19: {'s+': 1, 's-up': 1, 's-': 2, 's-down': 2,
35 'py+': 3, 'py-up': 3, 'py-': 4, 'py-down': 4,
36 'pz+': 5, 'pz-up': 5, 'pz-': 6, 'pz-down': 6,
37 'px+': 7, 'px-up': 7, 'px-': 8, 'px-down': 8,
38 'dxy+': 9, 'dxy-up': 9, 'dxy-': 10, 'dxy-down': 10,
39 'dyz+': 11, 'dyz-up': 11, 'dyz-': 12, 'dyz-down': 12,
40 'dz2+': 13, 'dz2-up': 13, 'dz2-': 14, 'dz2-down': 14,
41 'dxz+': 15, 'dxz-up': 15, 'dxz-': 16, 'dxz-down': 16,
42 'dx2+': 17, 'dx2-up': 17, 'dx2-': 18, 'dx2-down': 18},
43 17: {
44 's': 1,
45 'py': 2,
46 'pz': 3,
47 'px': 4,
48 'dxy': 5,
49 'dyz': 6,
50 'dz2': 7,
51 'dxz': 8,
52 'dx2': 9,
53 'fy(3x2-y2)': 10,
54 'fxyz': 11,
55 'fyz2': 12,
56 'fz3': 13,
57 'fxz2': 14,
58 'fz(x2-y2)': 15,
59 'fx(x2-3y2)': 16},
60 19: {
61 's+': 1,
62 's-up': 1,
63 's-': 2,
64 's-down': 2,
65 'py+': 3,
66 'py-up': 3,
67 'py-': 4,
68 'py-down': 4,
69 'pz+': 5,
70 'pz-up': 5,
71 'pz-': 6,
72 'pz-down': 6,
73 'px+': 7,
74 'px-up': 7,
75 'px-': 8,
76 'px-down': 8,
77 'dxy+': 9,
78 'dxy-up': 9,
79 'dxy-': 10,
80 'dxy-down': 10,
81 'dyz+': 11,
82 'dyz-up': 11,
83 'dyz-': 12,
84 'dyz-down': 12,
85 'dz2+': 13,
86 'dz2-up': 13,
87 'dz2-': 14,
88 'dz2-down': 14,
89 'dxz+': 15,
90 'dxz-up': 15,
91 'dxz-': 16,
92 'dxz-down': 16,
93 'dx2+': 17,
94 'dx2-up': 17,
95 'dx2-': 18,
96 'dx2-down': 18},
97 # this is Non-collinear. -x, -y, -z are magnetic moment
98 # vasp reports totals for each orbital first
99 37: {
100 's': 1,
101 's-x': 2,
102 's-y': 3,
103 's-z': 4,
104 'py': 5,
105 'py-x': 6,
106 'py-y': 7,
107 'py-z': 8,
108 'pz': 9,
109 'pz-x': 10,
110 'pz-y': 11,
111 'pz-z': 12,
112 'px': 13,
113 'px-x': 14,
114 'px-y': 15,
115 'px-z': 16,
116 'dxy': 17,
117 'dxy-x': 18,
118 'dxy-y': 19,
119 'dxy-z': 20,
120 'dyz': 21,
121 'dyz-x': 22,
122 'dyz-y': 23,
123 'dyz-z': 24,
124 'dz2': 25,
125 'dz2-x': 26,
126 'dz2-y': 27,
127 'dz2-z': 28,
128 'dxz': 29,
129 'dxz-x': 30,
130 'dxz-y': 31,
131 'dxz-z': 32,
132 'dx2': 33,
133 'dx2-x': 34,
134 'dx2-y': 35,
135 'dx2-z': 36},
136 33: {
137 's+': 1,
138 's-up': 1,
139 's-': 2,
140 's-down': 2,
141 'py+': 3,
142 'py-up': 3,
143 'py-': 4,
144 'py-down': 4,
145 'pz+': 5,
146 'pz-up': 5,
147 'pz-': 6,
148 'pz-down': 6,
149 'px+': 7,
150 'px-up': 7,
151 'px-': 8,
152 'px-down': 8,
153 'dxy+': 9,
154 'dxy-up': 9,
155 'dxy-': 10,
156 'dxy-down': 10,
157 'dyz+': 11,
158 'dyz-up': 11,
159 'dyz-': 12,
160 'dyz-down': 12,
161 'dz2+': 13,
162 'dz2-up': 13,
163 'dz2-': 14,
164 'dz2-down': 14,
165 'dxz+': 15,
166 'dxz-up': 15,
167 'dxz-': 16,
168 'dxz-down': 16,
169 'dx2+': 17,
170 'dx2-up': 17,
171 'dx2-': 18,
172 'dx2-down': 18,
173 'fy(3x2-y2)+': 19,
174 'fy(3x2-y2)-up': 19,
175 'fy(3x2-y2)-': 20,
176 'fy(3x2-y2)-down': 20,
177 'fxyz+': 21,
178 'fxyz-up': 21,
179 'fxyz-': 22,
180 'fxyz-down': 22,
181 'fyz2+': 23,
182 'fyz2-up': 23,
183 'fyz2-': 24,
184 'fyz2-down': 24,
185 'fz3+': 25,
186 'fz3-up': 25,
187 'fz3-': 26,
188 'fz3-down': 26,
189 'fxz2+': 27,
190 'fxz2-up': 27,
191 'fxz2-': 28,
192 'fxz2-down': 28,
193 'fz(x2-y2)+': 29,
194 'fz(x2-y2)-up': 29,
195 'fz(x2-y2)-': 30,
196 'fz(x2-y2)-down': 30,
197 'fx(x2-3y2)+': 31,
198 'fx(x2-3y2)-up': 31,
199 'fx(x2-3y2)-': 32,
200 'fx(x2-3y2)-down': 32},
201}