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

1# fmt: off 

2 

3import copy 

4 

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 }, 

20 

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 }, 

71 

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 }, 

146 

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} 

224 

225 

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) 

230 

231 

232# Compatibility 

233setups_defaults = get_default_setups()