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

1# fmt: off 

2 

3# flake8: noqa 

4 

5 

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}