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
|
from math import *
# Interface to the HGH pseudopotential parameters.
# See https://arxiv.org/abs/cond-mat/9803286
class Element:
def __init__(self, symbol):
# Get raw data from the table below
global elements
el = elements[symbol]
self.Zion = el[0]
self.rloc = el[1]
self.Cloc = [el[2], el[3], el[4], el[5]]
self.rl = [el[6], el[10], el[14]]
self.h = {}
for l in range(0, 3):
self.h[l] = {}
for i in range(1, 4):
self.h[l][i] = {}
# Only the diagonal h-values are explicitly given
self.h[l][i][i] = el[6 + 4 * l + i]
# Calculate the off-diagonal h-values, see Eqs.(20)-(28)
self.h[0][1][2] = -(1/2) * sqrt( 3/ 5) * self.h[0][2][2]
self.h[0][1][3] = (1/2) * sqrt( 5/ 21) * self.h[0][3][3]
self.h[0][2][3] = -(1/2) * sqrt(100/ 63) * self.h[0][3][3]
self.h[1][1][2] = -(1/2) * sqrt( 5/ 7) * self.h[1][2][2]
self.h[1][1][3] = (1/6) * sqrt( 35/ 11) * self.h[1][3][3]
self.h[1][2][3] = -(1/6) * sqrt(196/ 11) * self.h[1][3][3]
self.h[2][1][2] = -(1/2) * sqrt( 7/ 9) * self.h[2][2][2]
self.h[2][1][3] = (1/2) * sqrt( 63/143) * self.h[2][3][3]
self.h[2][2][3] = -(1/2) * sqrt(324/143) * self.h[2][3][3]
# Mirror around diagonal, see Eq.(29)
for l in range(0, 3):
for i in range(1, 4):
for j in range(1, i):
self.h[l][i][j] = self.h[l][j][i]
# Raw HGH pseudopotential parameters for semiconductor materials.
# See https://arxiv.org/abs/cond-mat/9803286
#
# Indices: Meanings:
# 0 Zion
# 1 2 3 4 5 rloc C1 C2 C3 C4
# 6 7 8 9 r0 h0_1 h0_2 h0_3
# 10 11 12 13 r1 h1_1 h1_2 h1_3
# 14 15 16 17 r2 h2_1 h2_2 h2_3
elements = {
"B" : [3,
0.433930, -5.578642, 0.804251, 0.000000, 0.000000,
0.373843, 6.233928, 0.000000, 0.000000,
0.360393, 0.000000, 0.000000, 0.000000,
0.000000, 0.000000, 0.000000, 0.000000],
"C" : [4,
0.348830, -8.513771, 1.228432, 0.000000, 0.000000,
0.304553, 9.522842, 0.000000, 0.000000,
0.232677, 0.000000, 0.000000, 0.000000,
0.000000, 0.000000, 0.000000, 0.000000],
"N" : [5,
0.289179, -12.234820, 1.766407, 0.000000, 0.000000,
0.256605, 13.552243, 0.000000, 0.000000,
0.270134, 0.000000, 0.000000, 0.000000,
0.000000, 0.000000, 0.000000, 0.000000],
"O" : [6,
0.247621, -16.580318, 2.395701, 0.000000, 0.000000,
0.221786, 18.266917, 0.000000, 0.000000,
0.256829, 0.000000, 0.000000, 0.000000,
0.000000, 0.000000, 0.000000, 0.000000],
"Al" : [3,
0.450000, -8.491351, 0.000000, 0.000000, 0.000000,
0.460104, 5.088340, 2.679700, 0.000000,
0.536744, 2.193438, 0.000000, 0.000000,
0.000000, 0.000000, 0.000000, 0.000000],
"Si" : [4,
0.440000, -7.336103, 0.000000, 0.000000, 0.000000,
0.422738, 5.906928, 3.258196, 0.000000,
0.484278, 2.727013, 0.000000, 0.000000,
0.000000, 0.000000, 0.000000, 0.000000],
"P" : [5,
0.430000, -6.654220, 0.000000, 0.000000, 0.000000,
0.389803, 6.842136, 3.856693, 0.000000,
0.440796, 3.282606, 0.000000, 0.000000,
0.000000, 0.000000, 0.000000, 0.000000],
"S" : [6,
0.420000, -6.554492, 0.000000, 0.000000, 0.000000,
0.361757, 7.905303, 4.471698, 0.000000,
0.405285, 3.866579, 0.000000, 0.000000,
0.000000, 0.000000, 0.000000, 0.000000],
"Zn" : [2,
0.570000, 0.000000, 0.000000, 0.000000, 0.000000,
0.640712, 2.088557, -0.218270, -0.941317,
0.967605, 0.163546, -0.227086, 0.000000,
1.330352, 0.010486, 0.000000, 0.000000],
"Ga" : [3,
0.560000, 0.000000, 0.000000, 0.000000, 0.000000,
0.610791, 2.369325, -0.249015, -0.551796,
0.704596, 0.746305, -0.513132, 0.000000,
0.982580, 0.075437, 0.000000, 0.000000],
"Ge" : [4,
0.540000, 0.000000, 0.000000, 0.000000, 0.000000,
0.493743, 3.826891, 1.100231, -1.344218,
0.601064, 1.362518, -0.627370, 0.000000,
0.788369, 0.191205, 0.000000, 0.000000],
"As" : [5,
0.520000, 0.000000, 0.000000, 0.000000, 0.000000,
0.456400, 4.560761, 1.692389, -1.373804,
0.550562, 1.812247, -0.646727, 0.000000,
0.685283, 0.312373, 0.000000, 0.000000],
"Se" : [6,
0.510000, 0.000000, 0.000000, 0.000000, 0.000000,
0.432531, 5.145131, 2.052009, -1.369203,
0.472473, 2.858806, -0.590671, 0.000000,
0.613420, 0.434829, 0.000000, 0.000000],
"Cd" : [2,
0.625000, -1.796838, 0.000000, 0.000000, 0.000000,
0.828465, 1.485292, -0.424753, -0.407986,
0.972873, 0.469208, -0.448111, 0.000000,
1.240949, 0.065412, 0.000000, 0.000000],
"In" : [3,
0.610000, 2.865777, 0.000000, 0.000000, 0.000000,
0.770602, 1.256194, -0.397255, -0.278329,
0.858132, 0.494459, -0.380789, 0.000000,
1.088691, 0.129208, 0.000000, 0.000000],
"Sn" : [4,
0.605000, 4.610912, 0.000000, 0.000000, 0.000000,
0.663544, 1.648791, -0.141974, -0.576546,
0.745865, 0.769355, -0.445070, 0.000000,
0.944459, 0.225115, 0.000000, 0.000000],
"Sb" : [5,
0.590000, 6.680228, 0.000000, 0.000000, 0.000000,
0.597684, 1.951477, 0.037537, -0.786631,
0.672122, 0.970313, -0.466731, 0.000000,
0.856557, 0.300103, 0.000000, 0.000000],
"Te" : [6,
0.575000, 9.387085, 0.000000, 0.000000, 0.000000,
0.556456, 2.046890, -0.029333, -0.881119,
0.615262, 1.033478, -0.481172, 0.000000,
0.805101, 0.317411, 0.000000, 0.000000],
}
|