File: vasp_data.py

package info (click to toggle)
python-ase 3.21.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 13,936 kB
  • sloc: python: 122,428; xml: 946; makefile: 111; javascript: 47
file content (201 lines) | stat: -rw-r--r-- 6,395 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
# flake8: noqa



# this returns a look up dict for the orbital name -> col number in the 
# DOSCAR file based on the number of columns found
PDOS_orbital_names_and_DOSCAR_column = {
            4 : {'s': 1, 'p': 2, 'd': 3},
            5 : {'s': 1, 'p': 2, 'd': 3, 'f': 4},
            7 : {'s+': 1, 's-up': 1, 's-': 2, 's-down': 2,
                    'p+': 3, 'p-up': 3, 'p-': 4, 'p-down': 4,
                    'd+': 5, 'd-up': 5, 'd-': 6, 'd-down': 6},
            9 : {
                    's+': 1,
                    's-up': 1,
                    's-': 2,
                    's-down': 2,
                    'p+': 3,
                    'p-up': 3,
                    'p-': 4,
                    'p-down': 4,
                    'd+': 5,
                    'd-up': 5,
                    'd-': 6,
                    'd-down': 6,
                    'f+': 7,
                    'f-up': 7,
                    'f-': 8,
                    'f-down': 8},
            10 : {'s': 1, 'py': 2, 'pz': 3, 'px': 4,
                    'dxy': 5, 'dyz': 6, 'dz2': 7, 'dxz': 8,
                    'dx2': 9},
            19 : {'s+': 1, 's-up': 1, 's-': 2, 's-down': 2,
                    'py+': 3, 'py-up': 3, 'py-': 4, 'py-down': 4,
                    'pz+': 5, 'pz-up': 5, 'pz-': 6, 'pz-down': 6,
                    'px+': 7, 'px-up': 7, 'px-': 8, 'px-down': 8,
                    'dxy+': 9, 'dxy-up': 9, 'dxy-': 10, 'dxy-down': 10,
                    'dyz+': 11, 'dyz-up': 11, 'dyz-': 12, 'dyz-down': 12,
                    'dz2+': 13, 'dz2-up': 13, 'dz2-': 14, 'dz2-down': 14,
                    'dxz+': 15, 'dxz-up': 15, 'dxz-': 16, 'dxz-down': 16,
                    'dx2+': 17, 'dx2-up': 17, 'dx2-': 18, 'dx2-down': 18},
            17 : {
                's': 1,
                'py': 2,
                'pz': 3,
                'px': 4,
                'dxy': 5,
                'dyz': 6,
                'dz2': 7,
                'dxz': 8,
                'dx2': 9,
                'fy(3x2-y2)': 10,
                'fxyz': 11,
                'fyz2': 12,
                'fz3': 13,
                'fxz2': 14,
                'fz(x2-y2)': 15,
                'fx(x2-3y2)': 16},
            19 : {
                's+': 1,
                's-up': 1,
                's-': 2,
                's-down': 2,
                'py+': 3,
                'py-up': 3,
                'py-': 4,
                'py-down': 4,
                'pz+': 5,
                'pz-up': 5,
                'pz-': 6,
                'pz-down': 6,
                'px+': 7,
                'px-up': 7,
                'px-': 8,
                'px-down': 8,
                'dxy+': 9,
                'dxy-up': 9,
                'dxy-': 10,
                'dxy-down': 10,
                'dyz+': 11,
                'dyz-up': 11,
                'dyz-': 12,
                'dyz-down': 12,
                'dz2+': 13,
                'dz2-up': 13,
                'dz2-': 14,
                'dz2-down': 14,
                'dxz+': 15,
                'dxz-up': 15,
                'dxz-': 16,
                'dxz-down': 16,
                'dx2+': 17,
                'dx2-up': 17,
                'dx2-': 18,
                'dx2-down': 18},
            # this is Non-collinear. -x, -y, -z are magnetic moment
            # vasp reports totals for each orbital first
            37 : {
                's'    : 1,
                's-x'  : 2,
                's-y'  : 3,
                's-z'  : 4,
                'py'   : 5,
                'py-x' : 6,
                'py-y' : 7,
                'py-z' : 8,
                'pz'   : 9,
                'pz-x' : 10,
                'pz-y' : 11,
                'pz-z' : 12,
                'px'   : 13,
                'px-x' : 14,
                'px-y' : 15,
                'px-z' : 16,
                'dxy'  : 17,
                'dxy-x': 18,
                'dxy-y': 19,
                'dxy-z': 20,
                'dyz'  : 21,
                'dyz-x': 22,
                'dyz-y': 23,
                'dyz-z': 24,
                'dz2'  : 25,
                'dz2-x': 26,
                'dz2-y': 27,
                'dz2-z': 28,
                'dxz'  : 29,
                'dxz-x': 30,
                'dxz-y': 31,
                'dxz-z': 32,
                'dx2'  : 33,
                'dx2-x': 34,
                'dx2-y': 35,
                'dx2-z': 36},
            33 : {
                's+': 1,
                's-up': 1,
                's-': 2,
                's-down': 2,
                'py+': 3,
                'py-up': 3,
                'py-': 4,
                'py-down': 4,
                'pz+': 5,
                'pz-up': 5,
                'pz-': 6,
                'pz-down': 6,
                'px+': 7,
                'px-up': 7,
                'px-': 8,
                'px-down': 8,
                'dxy+': 9,
                'dxy-up': 9,
                'dxy-': 10,
                'dxy-down': 10,
                'dyz+': 11,
                'dyz-up': 11,
                'dyz-': 12,
                'dyz-down': 12,
                'dz2+': 13,
                'dz2-up': 13,
                'dz2-': 14,
                'dz2-down': 14,
                'dxz+': 15,
                'dxz-up': 15,
                'dxz-': 16,
                'dxz-down': 16,
                'dx2+': 17,
                'dx2-up': 17,
                'dx2-': 18,
                'dx2-down': 18,
                'fy(3x2-y2)+': 19,
                'fy(3x2-y2)-up': 19,
                'fy(3x2-y2)-': 20,
                'fy(3x2-y2)-down': 20,
                'fxyz+': 21,
                'fxyz-up': 21,
                'fxyz-': 22,
                'fxyz-down': 22,
                'fyz2+': 23,
                'fyz2-up': 23,
                'fyz2-': 24,
                'fyz2-down': 24,
                'fz3+': 25,
                'fz3-up': 25,
                'fz3-': 26,
                'fz3-down': 26,
                'fxz2+': 27,
                'fxz2-up': 27,
                'fxz2-': 28,
                'fxz2-down': 28,
                'fz(x2-y2)+': 29,
                'fz(x2-y2)-up': 29,
                'fz(x2-y2)-': 30,
                'fz(x2-y2)-down': 30,
                'fx(x2-3y2)+': 31,
                'fx(x2-3y2)-up': 31,
                'fx(x2-3y2)-': 32,
                'fx(x2-3y2)-down': 32},
        }