-
Notifications
You must be signed in to change notification settings - Fork 83
/
testcases.jl
113 lines (102 loc) · 4.15 KB
/
testcases.jl
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
using LinearAlgebra
using LazyArtifacts
hgh_lda_family = artifact"hgh_lda_hgh"
pd_lda_family = artifact"pd_nc_sr_lda_standard_0.4.1_upf"
silicon = (
lattice = [0.0 5.131570667152971 5.131570667152971;
5.131570667152971 0.0 5.131570667152971;
5.131570667152971 5.131570667152971 0.0],
atnum = 14,
n_electrons = 8,
temperature = 0.0,
psp_hgh = joinpath(hgh_lda_family, "si-q4.hgh"),
psp_upf = joinpath(pd_lda_family, "Si.upf"),
positions = [ones(3)/8, -ones(3)/8], # in fractional coordinates
kcoords = [[ 0, 0, 0], # in fractional coordinates
[ 1/3, 0, 0],
[ 1/3, 1/3, 0],
[-1/3, 1/3, 0]],
kweights = [1/27, 8/27, 6/27, 12/27],
)
silicon = merge(silicon,
(; atoms=fill(ElementPsp(silicon.atnum, psp=load_psp(silicon.psp_hgh)), 2)))
magnesium = (
lattice = [-3.0179389205999998 -3.0179389205999998 0.0000000000000000;
-5.2272235447000002 5.2272235447000002 0.0000000000000000;
0.0000000000000000 0.0000000000000000 -9.7736219469000005],
atnum = 12,
n_electrons = 4,
psp_hgh = joinpath(hgh_lda_family, "mg-q2.hgh"),
psp_upf = joinpath(pd_lda_family, "Mg.upf"),
positions = [[2/3, 1/3, 1/4], [1/3, 2/3, 3/4]],
kcoords = [[0, 0, 0],
[1/3, 0, 0],
[1/3, 1/3, 0],
[0, 0, 1/3],
[1/3, 0, 1/3],
[1/3, 1/3, 1/3]],
temperature = 0.01,
kweights = [1/27, 6/27, 2/27, 2/27, 12/27, 4/27],
)
magnesium = merge(magnesium,
(; atoms=fill(ElementPsp(magnesium.atnum, psp=load_psp(magnesium.psp_hgh)), 2)))
aluminium = (
lattice = Matrix(Diagonal([4 * 7.6324708938577865, 7.6324708938577865,
7.6324708938577865])),
atnum = 13,
n_electrons = 12,
psp_hgh = joinpath(hgh_lda_family, "al-q3.hgh"),
psp_upf = joinpath(pd_lda_family, "Al.upf"),
positions = [[0, 0, 0], [0, 1/2, 1/2], [1/8, 0, 1/2], [1/8, 1/2, 0]],
temperature = 0.0009500431544769484,
)
aluminium = merge(aluminium,
(; atoms=fill(ElementPsp(aluminium.atnum, psp=load_psp(aluminium.psp_hgh)), 4)))
aluminium_primitive = (
lattice = [5.39697192863632 2.69848596431816 2.69848596431816;
0.00000000000000 4.67391479368660 1.55797159787754;
0.00000000000000 0.00000000000000 4.40660912710674],
atnum = 13,
n_electrons = 3,
psp_hgh = joinpath(hgh_lda_family, "al-q3.hgh"),
psp_upf = joinpath(pd_lda_family, "Al.upf"),
positions = [zeros(3)],
temperature = 0.0009500431544769484,
)
aluminium_primitive = merge(aluminium_primitive,
(; atoms=fill(ElementPsp(aluminium_primitive.atnum,
psp=load_psp(aluminium_primitive.psp_hgh)), 1)))
platinum_hcp = (
lattice = [10.00000000000000 0.00000000000000 0.00000000000000;
5.00000000000000 8.66025403784439 0.00000000000000;
0.00000000000000 0.00000000000000 16.3300000000000],
atnum = 78,
n_electrons = 36,
psp_hgh = joinpath(hgh_lda_family, "pt-q18.hgh"),
psp_upf = joinpath(pd_lda_family, "Pt.upf"),
positions = [zeros(3), ones(3) / 3],
temperature = 0.0009500431544769484,
)
platinum_hcp = merge(platinum_hcp,
(; atoms=fill(ElementPsp(platinum_hcp.atnum, psp=load_psp(platinum_hcp.psp_hgh)), 2)))
iron_bcc = (
lattice = 2.71176 .* [[-1 1 1]; [1 -1 1]; [1 1 -1]],
atnum = 26,
n_electrons = 8,
psp_hgh = joinpath(hgh_lda_family, "fe-q8.hgh"),
psp_upf = joinpath(pd_lda_family, "Fe.upf"),
positions = [zeros(3)],
temperature = 0.01,
)
iron_bcc = merge(iron_bcc, (; atoms=[ElementPsp(iron_bcc.atnum, psp=load_psp(iron_bcc.psp_hgh))]))
o2molecule = (
lattice = diagm([6.5, 6.5, 9.0]),
atnum = 8,
n_electrons = 12,
psp_hgh = joinpath(hgh_lda_family, "O-q6.hgh"),
psp_upf = joinpath(pd_lda_family, "O.upf"),
positions = 0.1155 * [[0, 0, 1], [0, 0, -1]],
temperature = 0.02,
)
o2molecule = merge(o2molecule,
(; atoms=fill(ElementPsp(o2molecule.atnum, psp=load_psp(o2molecule.psp_hgh)), 2)))