Merge pull request #2662 from evoyiatzis/master
Addition of a PyLammps script to compute elastic constants using OpenKIM
This commit is contained in:
515
python/examples/pylammps/elastic/Au.data
Normal file
515
python/examples/pylammps/elastic/Au.data
Normal file
@ -0,0 +1,515 @@
|
||||
#Generated by cif2cell 1.2.10 from COD reference: 9008463. : Wyckoff, R. W. G., Crystal Structures 1, 7-83 (1963).
|
||||
|
||||
500 atoms
|
||||
1 atom types
|
||||
|
||||
0.0 20.391250 xlo xhi
|
||||
0.0 20.391250 ylo yhi
|
||||
0.0 20.391250 zlo zhi
|
||||
|
||||
Masses
|
||||
|
||||
1 100
|
||||
|
||||
Atoms
|
||||
|
||||
1 1 0.000000000000000 0.000000000000000 0.000000000000000
|
||||
2 1 0.000000000000000 2.039125000000000 2.039125000000000
|
||||
3 1 2.039125000000000 0.000000000000000 2.039125000000000
|
||||
4 1 2.039125000000000 2.039125000000000 0.000000000000000
|
||||
5 1 8.156499999999999 16.312999999999995 0.000000000000000
|
||||
6 1 12.234750000000002 4.078249999999999 0.000000000000000
|
||||
7 1 12.234750000000002 12.234750000000002 12.234750000000002
|
||||
8 1 0.000000000000000 0.000000000000000 12.234750000000002
|
||||
9 1 8.156499999999999 12.234750000000002 8.156499999999998
|
||||
10 1 8.156499999999999 4.078249999999999 0.000000000000000
|
||||
11 1 16.312999999999999 0.000000000000000 12.234750000000002
|
||||
12 1 4.078250000000000 12.234750000000002 8.156499999999998
|
||||
13 1 8.156499999999999 0.000000000000000 8.156499999999998
|
||||
14 1 16.312999999999999 16.312999999999995 8.156499999999998
|
||||
15 1 4.078250000000000 4.078249999999999 0.000000000000000
|
||||
16 1 16.312999999999999 8.156499999999998 0.000000000000000
|
||||
17 1 12.234750000000002 4.078249999999999 4.078249999999999
|
||||
18 1 16.312999999999999 0.000000000000000 16.312999999999995
|
||||
19 1 0.000000000000000 12.234750000000002 8.156499999999998
|
||||
20 1 16.312999999999999 8.156499999999998 12.234750000000002
|
||||
21 1 0.000000000000000 4.078249999999999 0.000000000000000
|
||||
22 1 16.312999999999999 0.000000000000000 4.078249999999999
|
||||
23 1 12.234750000000002 16.312999999999995 8.156499999999998
|
||||
24 1 12.234750000000002 4.078249999999999 8.156499999999998
|
||||
25 1 0.000000000000000 4.078249999999999 12.234750000000002
|
||||
26 1 8.156499999999999 16.312999999999995 8.156499999999998
|
||||
27 1 12.234750000000002 8.156499999999998 16.312999999999995
|
||||
28 1 8.156499999999999 8.156499999999998 0.000000000000000
|
||||
29 1 12.234750000000002 16.312999999999995 12.234750000000002
|
||||
30 1 12.234750000000002 0.000000000000000 4.078249999999999
|
||||
31 1 4.078250000000000 16.312999999999995 8.156499999999998
|
||||
32 1 12.234750000000002 4.078249999999999 12.234750000000002
|
||||
33 1 4.078250000000000 8.156499999999998 0.000000000000000
|
||||
34 1 16.312999999999999 12.234750000000002 0.000000000000000
|
||||
35 1 8.156499999999999 0.000000000000000 16.312999999999995
|
||||
36 1 8.156499999999999 8.156499999999998 4.078249999999999
|
||||
37 1 16.312999999999999 12.234750000000002 12.234750000000002
|
||||
38 1 4.078250000000000 0.000000000000000 4.078249999999999
|
||||
39 1 12.234750000000002 4.078249999999999 16.312999999999995
|
||||
40 1 16.312999999999999 4.078249999999999 4.078249999999999
|
||||
41 1 0.000000000000000 8.156499999999998 12.234750000000002
|
||||
42 1 16.312999999999999 4.078249999999999 16.312999999999995
|
||||
43 1 0.000000000000000 0.000000000000000 4.078249999999999
|
||||
44 1 8.156499999999999 8.156499999999998 8.156499999999998
|
||||
45 1 8.156499999999999 12.234750000000002 0.000000000000000
|
||||
46 1 0.000000000000000 0.000000000000000 16.312999999999995
|
||||
47 1 8.156499999999999 12.234750000000002 12.234750000000002
|
||||
48 1 8.156499999999999 4.078249999999999 4.078249999999999
|
||||
49 1 4.078250000000000 12.234750000000002 0.000000000000000
|
||||
50 1 12.234750000000002 8.156499999999998 4.078249999999999
|
||||
51 1 16.312999999999999 16.312999999999995 0.000000000000000
|
||||
52 1 8.156499999999999 8.156499999999998 12.234750000000002
|
||||
53 1 8.156499999999999 4.078249999999999 16.312999999999995
|
||||
54 1 16.312999999999999 16.312999999999995 12.234750000000002
|
||||
55 1 12.234750000000002 16.312999999999995 4.078249999999999
|
||||
56 1 4.078250000000000 4.078249999999999 4.078249999999999
|
||||
57 1 16.312999999999999 8.156499999999998 4.078249999999999
|
||||
58 1 8.156499999999999 4.078249999999999 8.156499999999998
|
||||
59 1 8.156499999999999 8.156499999999998 16.312999999999995
|
||||
60 1 4.078250000000000 4.078249999999999 16.312999999999995
|
||||
61 1 0.000000000000000 16.312999999999995 4.078249999999999
|
||||
62 1 16.312999999999999 8.156499999999998 16.312999999999995
|
||||
63 1 0.000000000000000 4.078249999999999 4.078249999999999
|
||||
64 1 16.312999999999999 0.000000000000000 8.156499999999998
|
||||
65 1 8.156499999999999 0.000000000000000 4.078249999999999
|
||||
66 1 8.156499999999999 4.078249999999999 12.234750000000002
|
||||
67 1 0.000000000000000 4.078249999999999 16.312999999999995
|
||||
68 1 8.156499999999999 16.312999999999995 12.234750000000002
|
||||
69 1 4.078250000000000 16.312999999999995 0.000000000000000
|
||||
70 1 4.078250000000000 8.156499999999998 4.078249999999999
|
||||
71 1 4.078250000000000 16.312999999999995 12.234750000000002
|
||||
72 1 4.078250000000000 12.234750000000002 12.234750000000002
|
||||
73 1 0.000000000000000 16.312999999999995 0.000000000000000
|
||||
74 1 16.312999999999999 12.234750000000002 4.078249999999999
|
||||
75 1 12.234750000000002 0.000000000000000 16.312999999999995
|
||||
76 1 4.078250000000000 8.156499999999998 16.312999999999995
|
||||
77 1 4.078250000000000 8.156499999999998 8.156499999999998
|
||||
78 1 16.312999999999999 12.234750000000002 16.312999999999995
|
||||
79 1 0.000000000000000 8.156499999999998 4.078249999999999
|
||||
80 1 16.312999999999999 4.078249999999999 8.156499999999998
|
||||
81 1 0.000000000000000 8.156499999999998 16.312999999999995
|
||||
82 1 0.000000000000000 12.234750000000002 0.000000000000000
|
||||
83 1 12.234750000000002 0.000000000000000 12.234750000000002
|
||||
84 1 12.234750000000002 12.234750000000002 16.312999999999995
|
||||
85 1 0.000000000000000 0.000000000000000 8.156499999999998
|
||||
86 1 4.078250000000000 8.156499999999998 12.234750000000002
|
||||
87 1 8.156499999999999 12.234750000000002 4.078249999999999
|
||||
88 1 12.234750000000002 16.312999999999995 0.000000000000000
|
||||
89 1 8.156499999999999 12.234750000000002 16.312999999999995
|
||||
90 1 0.000000000000000 12.234750000000002 4.078249999999999
|
||||
91 1 4.078250000000000 12.234750000000002 4.078249999999999
|
||||
92 1 12.234750000000002 0.000000000000000 8.156499999999998
|
||||
93 1 16.312999999999999 16.312999999999995 4.078249999999999
|
||||
94 1 0.000000000000000 16.312999999999995 12.234750000000002
|
||||
95 1 4.078250000000000 12.234750000000002 16.312999999999995
|
||||
96 1 16.312999999999999 16.312999999999995 16.312999999999995
|
||||
97 1 0.000000000000000 8.156499999999998 0.000000000000000
|
||||
98 1 12.234750000000002 8.156499999999998 8.156499999999998
|
||||
99 1 4.078250000000000 4.078249999999999 8.156499999999998
|
||||
100 1 16.312999999999999 8.156499999999998 8.156499999999998
|
||||
101 1 4.078250000000000 4.078249999999999 12.234750000000002
|
||||
102 1 16.312999999999999 0.000000000000000 0.000000000000000
|
||||
103 1 0.000000000000000 12.234750000000002 16.312999999999995
|
||||
104 1 12.234750000000002 16.312999999999995 16.312999999999995
|
||||
105 1 12.234750000000002 12.234750000000002 0.000000000000000
|
||||
106 1 0.000000000000000 4.078249999999999 8.156499999999998
|
||||
107 1 8.156499999999999 16.312999999999995 4.078249999999999
|
||||
108 1 4.078250000000000 0.000000000000000 8.156499999999998
|
||||
109 1 12.234750000000002 0.000000000000000 0.000000000000000
|
||||
110 1 0.000000000000000 12.234750000000002 12.234750000000002
|
||||
111 1 0.000000000000000 16.312999999999995 8.156499999999998
|
||||
112 1 8.156499999999999 16.312999999999995 16.312999999999995
|
||||
113 1 12.234750000000002 8.156499999999998 12.234750000000002
|
||||
114 1 4.078250000000000 16.312999999999995 4.078249999999999
|
||||
115 1 12.234750000000002 12.234750000000002 4.078249999999999
|
||||
116 1 8.156499999999999 0.000000000000000 0.000000000000000
|
||||
117 1 0.000000000000000 8.156499999999998 8.156499999999998
|
||||
118 1 4.078250000000000 16.312999999999995 16.312999999999995
|
||||
119 1 8.156499999999999 0.000000000000000 12.234750000000002
|
||||
120 1 12.234750000000002 8.156499999999998 0.000000000000000
|
||||
121 1 16.312999999999999 12.234750000000002 8.156499999999998
|
||||
122 1 4.078250000000000 0.000000000000000 0.000000000000000
|
||||
123 1 12.234750000000002 12.234750000000002 8.156499999999998
|
||||
124 1 16.312999999999999 4.078249999999999 0.000000000000000
|
||||
125 1 0.000000000000000 16.312999999999995 16.312999999999995
|
||||
126 1 4.078250000000000 0.000000000000000 16.312999999999995
|
||||
127 1 4.078250000000000 0.000000000000000 12.234750000000002
|
||||
128 1 16.312999999999999 4.078249999999999 12.234750000000002
|
||||
129 1 8.156499999999999 18.352124999999997 2.039125000000000
|
||||
130 1 12.234750000000002 6.117374999999998 2.039125000000000
|
||||
131 1 12.234750000000002 14.273875000000000 14.273875000000000
|
||||
132 1 0.000000000000000 2.039125000000000 14.273875000000000
|
||||
133 1 8.156499999999999 14.273875000000000 10.195625000000000
|
||||
134 1 8.156499999999999 6.117374999999998 2.039125000000000
|
||||
135 1 16.312999999999999 2.039125000000000 14.273875000000000
|
||||
136 1 4.078250000000000 14.273875000000000 10.195625000000000
|
||||
137 1 8.156499999999999 2.039125000000000 10.195625000000000
|
||||
138 1 16.312999999999999 18.352124999999997 10.195625000000000
|
||||
139 1 4.078250000000000 6.117374999999998 2.039125000000000
|
||||
140 1 16.312999999999999 10.195625000000000 2.039125000000000
|
||||
141 1 12.234750000000002 6.117374999999998 6.117374999999998
|
||||
142 1 16.312999999999999 2.039125000000000 18.352124999999997
|
||||
143 1 0.000000000000000 14.273875000000000 10.195625000000000
|
||||
144 1 16.312999999999999 10.195625000000000 14.273875000000000
|
||||
145 1 0.000000000000000 6.117374999999998 2.039125000000000
|
||||
146 1 16.312999999999999 2.039125000000000 6.117374999999998
|
||||
147 1 12.234750000000002 18.352124999999997 10.195625000000000
|
||||
148 1 12.234750000000002 6.117374999999998 10.195625000000000
|
||||
149 1 0.000000000000000 6.117374999999998 14.273875000000000
|
||||
150 1 8.156499999999999 18.352124999999997 10.195625000000000
|
||||
151 1 12.234750000000002 10.195625000000000 18.352124999999997
|
||||
152 1 8.156499999999999 10.195625000000000 2.039125000000000
|
||||
153 1 12.234750000000002 18.352124999999997 14.273875000000000
|
||||
154 1 12.234750000000002 2.039125000000000 6.117374999999998
|
||||
155 1 4.078250000000000 18.352124999999997 10.195625000000000
|
||||
156 1 12.234750000000002 6.117374999999998 14.273875000000000
|
||||
157 1 4.078250000000000 10.195625000000000 2.039125000000000
|
||||
158 1 16.312999999999999 14.273875000000000 2.039125000000000
|
||||
159 1 8.156499999999999 2.039125000000000 18.352124999999997
|
||||
160 1 8.156499999999999 10.195625000000000 6.117374999999998
|
||||
161 1 16.312999999999999 14.273875000000000 14.273875000000000
|
||||
162 1 4.078250000000000 2.039125000000000 6.117374999999998
|
||||
163 1 12.234750000000002 6.117374999999998 18.352124999999997
|
||||
164 1 16.312999999999999 6.117374999999998 6.117374999999998
|
||||
165 1 0.000000000000000 10.195625000000000 14.273875000000000
|
||||
166 1 16.312999999999999 6.117374999999998 18.352124999999997
|
||||
167 1 0.000000000000000 2.039125000000000 6.117374999999998
|
||||
168 1 8.156499999999999 10.195625000000000 10.195625000000000
|
||||
169 1 8.156499999999999 14.273875000000000 2.039125000000000
|
||||
170 1 0.000000000000000 2.039125000000000 18.352124999999997
|
||||
171 1 8.156499999999999 14.273875000000000 14.273875000000000
|
||||
172 1 8.156499999999999 6.117374999999998 6.117374999999998
|
||||
173 1 4.078250000000000 14.273875000000000 2.039125000000000
|
||||
174 1 12.234750000000002 10.195625000000000 6.117374999999998
|
||||
175 1 16.312999999999999 18.352124999999997 2.039125000000000
|
||||
176 1 8.156499999999999 10.195625000000000 14.273875000000000
|
||||
177 1 8.156499999999999 6.117374999999998 18.352124999999997
|
||||
178 1 16.312999999999999 18.352124999999997 14.273875000000000
|
||||
179 1 12.234750000000002 18.352124999999997 6.117374999999998
|
||||
180 1 4.078250000000000 6.117374999999998 6.117374999999998
|
||||
181 1 16.312999999999999 10.195625000000000 6.117374999999998
|
||||
182 1 8.156499999999999 6.117374999999998 10.195625000000000
|
||||
183 1 8.156499999999999 10.195625000000000 18.352124999999997
|
||||
184 1 4.078250000000000 6.117374999999998 18.352124999999997
|
||||
185 1 0.000000000000000 18.352124999999997 6.117374999999998
|
||||
186 1 16.312999999999999 10.195625000000000 18.352124999999997
|
||||
187 1 0.000000000000000 6.117374999999998 6.117374999999998
|
||||
188 1 16.312999999999999 2.039125000000000 10.195625000000000
|
||||
189 1 8.156499999999999 2.039125000000000 6.117374999999998
|
||||
190 1 8.156499999999999 6.117374999999998 14.273875000000000
|
||||
191 1 0.000000000000000 6.117374999999998 18.352124999999997
|
||||
192 1 8.156499999999999 18.352124999999997 14.273875000000000
|
||||
193 1 4.078250000000000 18.352124999999997 2.039125000000000
|
||||
194 1 4.078250000000000 10.195625000000000 6.117374999999998
|
||||
195 1 4.078250000000000 18.352124999999997 14.273875000000000
|
||||
196 1 4.078250000000000 14.273875000000000 14.273875000000000
|
||||
197 1 0.000000000000000 18.352124999999997 2.039125000000000
|
||||
198 1 16.312999999999999 14.273875000000000 6.117374999999998
|
||||
199 1 12.234750000000002 2.039125000000000 18.352124999999997
|
||||
200 1 4.078250000000000 10.195625000000000 18.352124999999997
|
||||
201 1 4.078250000000000 10.195625000000000 10.195625000000000
|
||||
202 1 16.312999999999999 14.273875000000000 18.352124999999997
|
||||
203 1 0.000000000000000 10.195625000000000 6.117374999999998
|
||||
204 1 16.312999999999999 6.117374999999998 10.195625000000000
|
||||
205 1 0.000000000000000 10.195625000000000 18.352124999999997
|
||||
206 1 0.000000000000000 14.273875000000000 2.039125000000000
|
||||
207 1 12.234750000000002 2.039125000000000 14.273875000000000
|
||||
208 1 12.234750000000002 14.273875000000000 18.352124999999997
|
||||
209 1 0.000000000000000 2.039125000000000 10.195625000000000
|
||||
210 1 4.078250000000000 10.195625000000000 14.273875000000000
|
||||
211 1 8.156499999999999 14.273875000000000 6.117374999999998
|
||||
212 1 12.234750000000002 18.352124999999997 2.039125000000000
|
||||
213 1 8.156499999999999 14.273875000000000 18.352124999999997
|
||||
214 1 0.000000000000000 14.273875000000000 6.117374999999998
|
||||
215 1 4.078250000000000 14.273875000000000 6.117374999999998
|
||||
216 1 12.234750000000002 2.039125000000000 10.195625000000000
|
||||
217 1 16.312999999999999 18.352124999999997 6.117374999999998
|
||||
218 1 0.000000000000000 18.352124999999997 14.273875000000000
|
||||
219 1 4.078250000000000 14.273875000000000 18.352124999999997
|
||||
220 1 16.312999999999999 18.352124999999997 18.352124999999997
|
||||
221 1 0.000000000000000 10.195625000000000 2.039125000000000
|
||||
222 1 12.234750000000002 10.195625000000000 10.195625000000000
|
||||
223 1 4.078250000000000 6.117374999999998 10.195625000000000
|
||||
224 1 16.312999999999999 10.195625000000000 10.195625000000000
|
||||
225 1 4.078250000000000 6.117374999999998 14.273875000000000
|
||||
226 1 16.312999999999999 2.039125000000000 2.039125000000000
|
||||
227 1 0.000000000000000 14.273875000000000 18.352124999999997
|
||||
228 1 12.234750000000002 18.352124999999997 18.352124999999997
|
||||
229 1 12.234750000000002 14.273875000000000 2.039125000000000
|
||||
230 1 0.000000000000000 6.117374999999998 10.195625000000000
|
||||
231 1 8.156499999999999 18.352124999999997 6.117374999999998
|
||||
232 1 4.078250000000000 2.039125000000000 10.195625000000000
|
||||
233 1 12.234750000000002 2.039125000000000 2.039125000000000
|
||||
234 1 0.000000000000000 14.273875000000000 14.273875000000000
|
||||
235 1 0.000000000000000 18.352124999999997 10.195625000000000
|
||||
236 1 8.156499999999999 18.352124999999997 18.352124999999997
|
||||
237 1 12.234750000000002 10.195625000000000 14.273875000000000
|
||||
238 1 4.078250000000000 18.352124999999997 6.117374999999998
|
||||
239 1 12.234750000000002 14.273875000000000 6.117374999999998
|
||||
240 1 8.156499999999999 2.039125000000000 2.039125000000000
|
||||
241 1 0.000000000000000 10.195625000000000 10.195625000000000
|
||||
242 1 4.078250000000000 18.352124999999997 18.352124999999997
|
||||
243 1 8.156499999999999 2.039125000000000 14.273875000000000
|
||||
244 1 12.234750000000002 10.195625000000000 2.039125000000000
|
||||
245 1 16.312999999999999 14.273875000000000 10.195625000000000
|
||||
246 1 4.078250000000000 2.039125000000000 2.039125000000000
|
||||
247 1 12.234750000000002 14.273875000000000 10.195625000000000
|
||||
248 1 16.312999999999999 6.117374999999998 2.039125000000000
|
||||
249 1 0.000000000000000 18.352124999999997 18.352124999999997
|
||||
250 1 4.078250000000000 2.039125000000000 18.352124999999997
|
||||
251 1 4.078250000000000 2.039125000000000 14.273875000000000
|
||||
252 1 16.312999999999999 6.117374999999998 14.273875000000000
|
||||
253 1 10.195625000000000 16.312999999999995 2.039125000000000
|
||||
254 1 14.273875000000004 4.078249999999999 2.039125000000000
|
||||
255 1 14.273875000000004 12.234750000000002 14.273875000000000
|
||||
256 1 2.039125000000000 0.000000000000000 14.273875000000000
|
||||
257 1 10.195625000000000 12.234750000000002 10.195625000000000
|
||||
258 1 10.195625000000000 4.078249999999999 2.039125000000000
|
||||
259 1 18.352125000000001 0.000000000000000 14.273875000000000
|
||||
260 1 6.117375000000001 12.234750000000002 10.195625000000000
|
||||
261 1 10.195625000000000 0.000000000000000 10.195625000000000
|
||||
262 1 18.352125000000001 16.312999999999995 10.195625000000000
|
||||
263 1 6.117375000000001 4.078249999999999 2.039125000000000
|
||||
264 1 18.352125000000001 8.156499999999998 2.039125000000000
|
||||
265 1 14.273875000000004 4.078249999999999 6.117374999999998
|
||||
266 1 18.352125000000001 0.000000000000000 18.352124999999997
|
||||
267 1 2.039125000000000 12.234750000000002 10.195625000000000
|
||||
268 1 18.352125000000001 8.156499999999998 14.273875000000000
|
||||
269 1 2.039125000000000 4.078249999999999 2.039125000000000
|
||||
270 1 18.352125000000001 0.000000000000000 6.117374999999998
|
||||
271 1 14.273875000000004 16.312999999999995 10.195625000000000
|
||||
272 1 14.273875000000004 4.078249999999999 10.195625000000000
|
||||
273 1 2.039125000000000 4.078249999999999 14.273875000000000
|
||||
274 1 10.195625000000000 16.312999999999995 10.195625000000000
|
||||
275 1 14.273875000000004 8.156499999999998 18.352124999999997
|
||||
276 1 10.195625000000000 8.156499999999998 2.039125000000000
|
||||
277 1 14.273875000000004 16.312999999999995 14.273875000000000
|
||||
278 1 14.273875000000004 0.000000000000000 6.117374999999998
|
||||
279 1 6.117375000000001 16.312999999999995 10.195625000000000
|
||||
280 1 14.273875000000004 4.078249999999999 14.273875000000000
|
||||
281 1 6.117375000000001 8.156499999999998 2.039125000000000
|
||||
282 1 18.352125000000001 12.234750000000002 2.039125000000000
|
||||
283 1 10.195625000000000 0.000000000000000 18.352124999999997
|
||||
284 1 10.195625000000000 8.156499999999998 6.117374999999998
|
||||
285 1 18.352125000000001 12.234750000000002 14.273875000000000
|
||||
286 1 6.117375000000001 0.000000000000000 6.117374999999998
|
||||
287 1 14.273875000000004 4.078249999999999 18.352124999999997
|
||||
288 1 18.352125000000001 4.078249999999999 6.117374999999998
|
||||
289 1 2.039125000000000 8.156499999999998 14.273875000000000
|
||||
290 1 18.352125000000001 4.078249999999999 18.352124999999997
|
||||
291 1 2.039125000000000 0.000000000000000 6.117374999999998
|
||||
292 1 10.195625000000000 8.156499999999998 10.195625000000000
|
||||
293 1 10.195625000000000 12.234750000000002 2.039125000000000
|
||||
294 1 2.039125000000000 0.000000000000000 18.352124999999997
|
||||
295 1 10.195625000000000 12.234750000000002 14.273875000000000
|
||||
296 1 10.195625000000000 4.078249999999999 6.117374999999998
|
||||
297 1 6.117375000000001 12.234750000000002 2.039125000000000
|
||||
298 1 14.273875000000004 8.156499999999998 6.117374999999998
|
||||
299 1 18.352125000000001 16.312999999999995 2.039125000000000
|
||||
300 1 10.195625000000000 8.156499999999998 14.273875000000000
|
||||
301 1 10.195625000000000 4.078249999999999 18.352124999999997
|
||||
302 1 18.352125000000001 16.312999999999995 14.273875000000000
|
||||
303 1 14.273875000000004 16.312999999999995 6.117374999999998
|
||||
304 1 6.117375000000001 4.078249999999999 6.117374999999998
|
||||
305 1 18.352125000000001 8.156499999999998 6.117374999999998
|
||||
306 1 10.195625000000000 4.078249999999999 10.195625000000000
|
||||
307 1 10.195625000000000 8.156499999999998 18.352124999999997
|
||||
308 1 6.117375000000001 4.078249999999999 18.352124999999997
|
||||
309 1 2.039125000000000 16.312999999999995 6.117374999999998
|
||||
310 1 18.352125000000001 8.156499999999998 18.352124999999997
|
||||
311 1 2.039125000000000 4.078249999999999 6.117374999999998
|
||||
312 1 18.352125000000001 0.000000000000000 10.195625000000000
|
||||
313 1 10.195625000000000 0.000000000000000 6.117374999999998
|
||||
314 1 10.195625000000000 4.078249999999999 14.273875000000000
|
||||
315 1 2.039125000000000 4.078249999999999 18.352124999999997
|
||||
316 1 10.195625000000000 16.312999999999995 14.273875000000000
|
||||
317 1 6.117375000000001 16.312999999999995 2.039125000000000
|
||||
318 1 6.117375000000001 8.156499999999998 6.117374999999998
|
||||
319 1 6.117375000000001 16.312999999999995 14.273875000000000
|
||||
320 1 6.117375000000001 12.234750000000002 14.273875000000000
|
||||
321 1 2.039125000000000 16.312999999999995 2.039125000000000
|
||||
322 1 18.352125000000001 12.234750000000002 6.117374999999998
|
||||
323 1 14.273875000000004 0.000000000000000 18.352124999999997
|
||||
324 1 6.117375000000001 8.156499999999998 18.352124999999997
|
||||
325 1 6.117375000000001 8.156499999999998 10.195625000000000
|
||||
326 1 18.352125000000001 12.234750000000002 18.352124999999997
|
||||
327 1 2.039125000000000 8.156499999999998 6.117374999999998
|
||||
328 1 18.352125000000001 4.078249999999999 10.195625000000000
|
||||
329 1 2.039125000000000 8.156499999999998 18.352124999999997
|
||||
330 1 2.039125000000000 12.234750000000002 2.039125000000000
|
||||
331 1 14.273875000000004 0.000000000000000 14.273875000000000
|
||||
332 1 14.273875000000004 12.234750000000002 18.352124999999997
|
||||
333 1 2.039125000000000 0.000000000000000 10.195625000000000
|
||||
334 1 6.117375000000001 8.156499999999998 14.273875000000000
|
||||
335 1 10.195625000000000 12.234750000000002 6.117374999999998
|
||||
336 1 14.273875000000004 16.312999999999995 2.039125000000000
|
||||
337 1 10.195625000000000 12.234750000000002 18.352124999999997
|
||||
338 1 2.039125000000000 12.234750000000002 6.117374999999998
|
||||
339 1 6.117375000000001 12.234750000000002 6.117374999999998
|
||||
340 1 14.273875000000004 0.000000000000000 10.195625000000000
|
||||
341 1 18.352125000000001 16.312999999999995 6.117374999999998
|
||||
342 1 2.039125000000000 16.312999999999995 14.273875000000000
|
||||
343 1 6.117375000000001 12.234750000000002 18.352124999999997
|
||||
344 1 18.352125000000001 16.312999999999995 18.352124999999997
|
||||
345 1 2.039125000000000 8.156499999999998 2.039125000000000
|
||||
346 1 14.273875000000004 8.156499999999998 10.195625000000000
|
||||
347 1 6.117375000000001 4.078249999999999 10.195625000000000
|
||||
348 1 18.352125000000001 8.156499999999998 10.195625000000000
|
||||
349 1 6.117375000000001 4.078249999999999 14.273875000000000
|
||||
350 1 18.352125000000001 0.000000000000000 2.039125000000000
|
||||
351 1 2.039125000000000 12.234750000000002 18.352124999999997
|
||||
352 1 14.273875000000004 16.312999999999995 18.352124999999997
|
||||
353 1 14.273875000000004 12.234750000000002 2.039125000000000
|
||||
354 1 2.039125000000000 4.078249999999999 10.195625000000000
|
||||
355 1 10.195625000000000 16.312999999999995 6.117374999999998
|
||||
356 1 6.117375000000001 0.000000000000000 10.195625000000000
|
||||
357 1 14.273875000000004 0.000000000000000 2.039125000000000
|
||||
358 1 2.039125000000000 12.234750000000002 14.273875000000000
|
||||
359 1 2.039125000000000 16.312999999999995 10.195625000000000
|
||||
360 1 10.195625000000000 16.312999999999995 18.352124999999997
|
||||
361 1 14.273875000000004 8.156499999999998 14.273875000000000
|
||||
362 1 6.117375000000001 16.312999999999995 6.117374999999998
|
||||
363 1 14.273875000000004 12.234750000000002 6.117374999999998
|
||||
364 1 10.195625000000000 0.000000000000000 2.039125000000000
|
||||
365 1 2.039125000000000 8.156499999999998 10.195625000000000
|
||||
366 1 6.117375000000001 16.312999999999995 18.352124999999997
|
||||
367 1 10.195625000000000 0.000000000000000 14.273875000000000
|
||||
368 1 14.273875000000004 8.156499999999998 2.039125000000000
|
||||
369 1 18.352125000000001 12.234750000000002 10.195625000000000
|
||||
370 1 6.117375000000001 0.000000000000000 2.039125000000000
|
||||
371 1 14.273875000000004 12.234750000000002 10.195625000000000
|
||||
372 1 18.352125000000001 4.078249999999999 2.039125000000000
|
||||
373 1 2.039125000000000 16.312999999999995 18.352124999999997
|
||||
374 1 6.117375000000001 0.000000000000000 18.352124999999997
|
||||
375 1 6.117375000000001 0.000000000000000 14.273875000000000
|
||||
376 1 18.352125000000001 4.078249999999999 14.273875000000000
|
||||
377 1 10.195625000000000 18.352124999999997 0.000000000000000
|
||||
378 1 14.273875000000004 6.117374999999998 0.000000000000000
|
||||
379 1 14.273875000000004 14.273875000000000 12.234750000000002
|
||||
380 1 2.039125000000000 2.039125000000000 12.234750000000002
|
||||
381 1 10.195625000000000 14.273875000000000 8.156499999999998
|
||||
382 1 10.195625000000000 6.117374999999998 0.000000000000000
|
||||
383 1 18.352125000000001 2.039125000000000 12.234750000000002
|
||||
384 1 6.117375000000001 14.273875000000000 8.156499999999998
|
||||
385 1 10.195625000000000 2.039125000000000 8.156499999999998
|
||||
386 1 18.352125000000001 18.352124999999997 8.156499999999998
|
||||
387 1 6.117375000000001 6.117374999999998 0.000000000000000
|
||||
388 1 18.352125000000001 10.195625000000000 0.000000000000000
|
||||
389 1 14.273875000000004 6.117374999999998 4.078249999999999
|
||||
390 1 18.352125000000001 2.039125000000000 16.312999999999995
|
||||
391 1 2.039125000000000 14.273875000000000 8.156499999999998
|
||||
392 1 18.352125000000001 10.195625000000000 12.234750000000002
|
||||
393 1 2.039125000000000 6.117374999999998 0.000000000000000
|
||||
394 1 18.352125000000001 2.039125000000000 4.078249999999999
|
||||
395 1 14.273875000000004 18.352124999999997 8.156499999999998
|
||||
396 1 14.273875000000004 6.117374999999998 8.156499999999998
|
||||
397 1 2.039125000000000 6.117374999999998 12.234750000000002
|
||||
398 1 10.195625000000000 18.352124999999997 8.156499999999998
|
||||
399 1 14.273875000000004 10.195625000000000 16.312999999999995
|
||||
400 1 10.195625000000000 10.195625000000000 0.000000000000000
|
||||
401 1 14.273875000000004 18.352124999999997 12.234750000000002
|
||||
402 1 14.273875000000004 2.039125000000000 4.078249999999999
|
||||
403 1 6.117375000000001 18.352124999999997 8.156499999999998
|
||||
404 1 14.273875000000004 6.117374999999998 12.234750000000002
|
||||
405 1 6.117375000000001 10.195625000000000 0.000000000000000
|
||||
406 1 18.352125000000001 14.273875000000000 0.000000000000000
|
||||
407 1 10.195625000000000 2.039125000000000 16.312999999999995
|
||||
408 1 10.195625000000000 10.195625000000000 4.078249999999999
|
||||
409 1 18.352125000000001 14.273875000000000 12.234750000000002
|
||||
410 1 6.117375000000001 2.039125000000000 4.078249999999999
|
||||
411 1 14.273875000000004 6.117374999999998 16.312999999999995
|
||||
412 1 18.352125000000001 6.117374999999998 4.078249999999999
|
||||
413 1 2.039125000000000 10.195625000000000 12.234750000000002
|
||||
414 1 18.352125000000001 6.117374999999998 16.312999999999995
|
||||
415 1 2.039125000000000 2.039125000000000 4.078249999999999
|
||||
416 1 10.195625000000000 10.195625000000000 8.156499999999998
|
||||
417 1 10.195625000000000 14.273875000000000 0.000000000000000
|
||||
418 1 2.039125000000000 2.039125000000000 16.312999999999995
|
||||
419 1 10.195625000000000 14.273875000000000 12.234750000000002
|
||||
420 1 10.195625000000000 6.117374999999998 4.078249999999999
|
||||
421 1 6.117375000000001 14.273875000000000 0.000000000000000
|
||||
422 1 14.273875000000004 10.195625000000000 4.078249999999999
|
||||
423 1 18.352125000000001 18.352124999999997 0.000000000000000
|
||||
424 1 10.195625000000000 10.195625000000000 12.234750000000002
|
||||
425 1 10.195625000000000 6.117374999999998 16.312999999999995
|
||||
426 1 18.352125000000001 18.352124999999997 12.234750000000002
|
||||
427 1 14.273875000000004 18.352124999999997 4.078249999999999
|
||||
428 1 6.117375000000001 6.117374999999998 4.078249999999999
|
||||
429 1 18.352125000000001 10.195625000000000 4.078249999999999
|
||||
430 1 10.195625000000000 6.117374999999998 8.156499999999998
|
||||
431 1 10.195625000000000 10.195625000000000 16.312999999999995
|
||||
432 1 6.117375000000001 6.117374999999998 16.312999999999995
|
||||
433 1 2.039125000000000 18.352124999999997 4.078249999999999
|
||||
434 1 18.352125000000001 10.195625000000000 16.312999999999995
|
||||
435 1 2.039125000000000 6.117374999999998 4.078249999999999
|
||||
436 1 18.352125000000001 2.039125000000000 8.156499999999998
|
||||
437 1 10.195625000000000 2.039125000000000 4.078249999999999
|
||||
438 1 10.195625000000000 6.117374999999998 12.234750000000002
|
||||
439 1 2.039125000000000 6.117374999999998 16.312999999999995
|
||||
440 1 10.195625000000000 18.352124999999997 12.234750000000002
|
||||
441 1 6.117375000000001 18.352124999999997 0.000000000000000
|
||||
442 1 6.117375000000001 10.195625000000000 4.078249999999999
|
||||
443 1 6.117375000000001 18.352124999999997 12.234750000000002
|
||||
444 1 6.117375000000001 14.273875000000000 12.234750000000002
|
||||
445 1 2.039125000000000 18.352124999999997 0.000000000000000
|
||||
446 1 18.352125000000001 14.273875000000000 4.078249999999999
|
||||
447 1 14.273875000000004 2.039125000000000 16.312999999999995
|
||||
448 1 6.117375000000001 10.195625000000000 16.312999999999995
|
||||
449 1 6.117375000000001 10.195625000000000 8.156499999999998
|
||||
450 1 18.352125000000001 14.273875000000000 16.312999999999995
|
||||
451 1 2.039125000000000 10.195625000000000 4.078249999999999
|
||||
452 1 18.352125000000001 6.117374999999998 8.156499999999998
|
||||
453 1 2.039125000000000 10.195625000000000 16.312999999999995
|
||||
454 1 2.039125000000000 14.273875000000000 0.000000000000000
|
||||
455 1 14.273875000000004 2.039125000000000 12.234750000000002
|
||||
456 1 14.273875000000004 14.273875000000000 16.312999999999995
|
||||
457 1 2.039125000000000 2.039125000000000 8.156499999999998
|
||||
458 1 6.117375000000001 10.195625000000000 12.234750000000002
|
||||
459 1 10.195625000000000 14.273875000000000 4.078249999999999
|
||||
460 1 14.273875000000004 18.352124999999997 0.000000000000000
|
||||
461 1 10.195625000000000 14.273875000000000 16.312999999999995
|
||||
462 1 2.039125000000000 14.273875000000000 4.078249999999999
|
||||
463 1 6.117375000000001 14.273875000000000 4.078249999999999
|
||||
464 1 14.273875000000004 2.039125000000000 8.156499999999998
|
||||
465 1 18.352125000000001 18.352124999999997 4.078249999999999
|
||||
466 1 2.039125000000000 18.352124999999997 12.234750000000002
|
||||
467 1 6.117375000000001 14.273875000000000 16.312999999999995
|
||||
468 1 18.352125000000001 18.352124999999997 16.312999999999995
|
||||
469 1 2.039125000000000 10.195625000000000 0.000000000000000
|
||||
470 1 14.273875000000004 10.195625000000000 8.156499999999998
|
||||
471 1 6.117375000000001 6.117374999999998 8.156499999999998
|
||||
472 1 18.352125000000001 10.195625000000000 8.156499999999998
|
||||
473 1 6.117375000000001 6.117374999999998 12.234750000000002
|
||||
474 1 18.352125000000001 2.039125000000000 0.000000000000000
|
||||
475 1 2.039125000000000 14.273875000000000 16.312999999999995
|
||||
476 1 14.273875000000004 18.352124999999997 16.312999999999995
|
||||
477 1 14.273875000000004 14.273875000000000 0.000000000000000
|
||||
478 1 2.039125000000000 6.117374999999998 8.156499999999998
|
||||
479 1 10.195625000000000 18.352124999999997 4.078249999999999
|
||||
480 1 6.117375000000001 2.039125000000000 8.156499999999998
|
||||
481 1 14.273875000000004 2.039125000000000 0.000000000000000
|
||||
482 1 2.039125000000000 14.273875000000000 12.234750000000002
|
||||
483 1 2.039125000000000 18.352124999999997 8.156499999999998
|
||||
484 1 10.195625000000000 18.352124999999997 16.312999999999995
|
||||
485 1 14.273875000000004 10.195625000000000 12.234750000000002
|
||||
486 1 6.117375000000001 18.352124999999997 4.078249999999999
|
||||
487 1 14.273875000000004 14.273875000000000 4.078249999999999
|
||||
488 1 10.195625000000000 2.039125000000000 0.000000000000000
|
||||
489 1 2.039125000000000 10.195625000000000 8.156499999999998
|
||||
490 1 6.117375000000001 18.352124999999997 16.312999999999995
|
||||
491 1 10.195625000000000 2.039125000000000 12.234750000000002
|
||||
492 1 14.273875000000004 10.195625000000000 0.000000000000000
|
||||
493 1 18.352125000000001 14.273875000000000 8.156499999999998
|
||||
494 1 6.117375000000001 2.039125000000000 0.000000000000000
|
||||
495 1 14.273875000000004 14.273875000000000 8.156499999999998
|
||||
496 1 18.352125000000001 6.117374999999998 0.000000000000000
|
||||
497 1 2.039125000000000 18.352124999999997 16.312999999999995
|
||||
498 1 6.117375000000001 2.039125000000000 16.312999999999995
|
||||
499 1 6.117375000000001 2.039125000000000 12.234750000000002
|
||||
500 1 18.352125000000001 6.117374999999998 12.234750000000002
|
||||
4
python/examples/pylammps/elastic/README
Normal file
4
python/examples/pylammps/elastic/README
Normal file
@ -0,0 +1,4 @@
|
||||
conversion of lammps scripts to python code using PyLammps interface
|
||||
|
||||
Example for elastic.py
|
||||
python elastic.py Au.data EAM_Dynamo_Ackland_1987_Au__MO_754413982908_000 Au
|
||||
309
python/examples/pylammps/elastic/elastic.py
Normal file
309
python/examples/pylammps/elastic/elastic.py
Normal file
@ -0,0 +1,309 @@
|
||||
|
||||
from argparse import ArgumentParser
|
||||
from lammps import PyLammps
|
||||
|
||||
def potential(lmp, args):
|
||||
""" set up potential and minimization """
|
||||
ff_string = ' '
|
||||
ff_string = ff_string.join(args.elements) # merge all element string to one string
|
||||
lmp.kim("interactions", ff_string)
|
||||
|
||||
# Setup neighbor style
|
||||
lmp.neighbor(1.0, "nsq")
|
||||
lmp.neigh_modify("once no every 1 delay 0 check yes")
|
||||
|
||||
# Setup minimization style
|
||||
lmp.min_style(args.min_style)
|
||||
lmp.min_modify("dmax ${dmax} line quadratic")
|
||||
|
||||
# Setup output
|
||||
lmp.thermo(1)
|
||||
lmp.thermo_style("custom step temp pe press pxx pyy pzz pxy pxz pyz lx ly lz")
|
||||
lmp.thermo_modify("norm no")
|
||||
|
||||
return
|
||||
|
||||
def displace(lmp, args, idir):
|
||||
"""computes the response to a small strain """
|
||||
|
||||
if idir == 1:
|
||||
lmp.variable("len0 equal {}".format(lmp.variables["lx0"].value))
|
||||
elif idir == 2 or idir == 6:
|
||||
lmp.variable("len0 equal {}".format(lmp.variables["ly0"].value))
|
||||
else:
|
||||
lmp.variable("len0 equal {}".format(lmp.variables["lz0"].value))
|
||||
|
||||
# Reset box and simulation parameters
|
||||
lmp.clear()
|
||||
lmp.box("tilt large")
|
||||
lmp.kim("init", args.kim_model, "metal", "unit_conversion_mode")
|
||||
lmp.read_restart("restart.equil")
|
||||
lmp.change_box("all triclinic")
|
||||
potential(lmp, args)
|
||||
|
||||
# Negative deformation
|
||||
lmp.variable("delta equal -${up}*${len0}")
|
||||
lmp.variable("deltaxy equal -${up}*xy")
|
||||
lmp.variable("deltaxz equal -${up}*xz")
|
||||
lmp.variable("deltayz equal -${up}*yz")
|
||||
|
||||
if idir == 1:
|
||||
lmp.change_box("all x delta 0 ${delta} xy delta ${deltaxy} xz delta ${deltaxz} remap units box")
|
||||
elif idir == 2:
|
||||
lmp.change_box("all y delta 0 ${delta} yz delta ${deltayz} remap units box")
|
||||
elif idir == 3:
|
||||
lmp.change_box("all z delta 0 ${delta} remap units box")
|
||||
elif idir == 4:
|
||||
lmp.change_box("all yz delta ${delta} remap units box")
|
||||
elif idir == 5:
|
||||
lmp.change_box("all xz delta ${delta} remap units box")
|
||||
else:
|
||||
lmp.change_box("all xy delta ${delta} remap units box")
|
||||
|
||||
# Relax atoms positions
|
||||
lmp.min_style(args.min_style)
|
||||
lmp.minimize(args.minimize[0], args.minimize[1], int(args.minimize[2]), int(args.minimize[3]))
|
||||
|
||||
# Obtain new stress tensor
|
||||
lmp.variable("pxx1 equal {}".format(lmp.eval("pxx")))
|
||||
lmp.variable("pyy1 equal {}".format(lmp.eval("pyy")))
|
||||
lmp.variable("pzz1 equal {}".format(lmp.eval("pzz")))
|
||||
lmp.variable("pxy1 equal {}".format(lmp.eval("pxy")))
|
||||
lmp.variable("pxz1 equal {}".format(lmp.eval("pxz")))
|
||||
lmp.variable("pyz1 equal {}".format(lmp.eval("pyz")))
|
||||
|
||||
# Compute elastic constant from pressure tensor
|
||||
c1neg = lmp.variables["d1"].value
|
||||
c2neg = lmp.variables["d2"].value
|
||||
c3neg = lmp.variables["d3"].value
|
||||
c4neg = lmp.variables["d4"].value
|
||||
c5neg = lmp.variables["d5"].value
|
||||
c6neg = lmp.variables["d6"].value
|
||||
|
||||
# Reset box and simulation parameters
|
||||
lmp.clear()
|
||||
lmp.box("tilt large")
|
||||
lmp.kim("init", args.kim_model, "metal", "unit_conversion_mode")
|
||||
lmp.read_restart("restart.equil")
|
||||
lmp.change_box("all triclinic")
|
||||
potential(lmp, args)
|
||||
|
||||
# Positive deformation
|
||||
lmp.variable("delta equal ${up}*${len0}")
|
||||
lmp.variable("deltaxy equal ${up}*xy")
|
||||
lmp.variable("deltaxz equal ${up}*xz")
|
||||
lmp.variable("deltayz equal ${up}*yz")
|
||||
|
||||
if idir == 1:
|
||||
lmp.change_box("all x delta 0 ${delta} xy delta ${deltaxy} xz delta ${deltaxz} remap units box")
|
||||
elif idir == 2:
|
||||
lmp.change_box("all y delta 0 ${delta} yz delta ${deltayz} remap units box")
|
||||
elif idir == 3:
|
||||
lmp.change_box("all z delta 0 ${delta} remap units box")
|
||||
elif idir == 4:
|
||||
lmp.change_box("all yz delta ${delta} remap units box")
|
||||
elif idir == 5:
|
||||
lmp.change_box("all xz delta ${delta} remap units box")
|
||||
else:
|
||||
lmp.change_box("all xy delta ${delta} remap units box")
|
||||
|
||||
# Relax atoms positions
|
||||
lmp.min_style(args.min_style)
|
||||
lmp.minimize(args.minimize[0], args.minimize[1], int(args.minimize[2]), int(args.minimize[3]))
|
||||
|
||||
# Obtain new stress tensor
|
||||
lmp.variable("pxx1 equal {}".format(lmp.eval("pxx")))
|
||||
lmp.variable("pyy1 equal {}".format(lmp.eval("pyy")))
|
||||
lmp.variable("pzz1 equal {}".format(lmp.eval("pzz")))
|
||||
lmp.variable("pxy1 equal {}".format(lmp.eval("pxy")))
|
||||
lmp.variable("pxz1 equal {}".format(lmp.eval("pxz")))
|
||||
lmp.variable("pyz1 equal {}".format(lmp.eval("pyz")))
|
||||
|
||||
# Compute elasic constant from pressure tensor
|
||||
c1pos = lmp.variables["d1"].value
|
||||
c2pos = lmp.variables["d2"].value
|
||||
c3pos = lmp.variables["d3"].value
|
||||
c4pos = lmp.variables["d4"].value
|
||||
c5pos = lmp.variables["d5"].value
|
||||
c6pos = lmp.variables["d6"].value
|
||||
|
||||
# Combine positive and negative
|
||||
lmp.variable("C1{} equal {}".format(idir, 0.5*(c1neg+c1pos)))
|
||||
lmp.variable("C2{} equal {}".format(idir, 0.5*(c2neg+c2pos)))
|
||||
lmp.variable("C3{} equal {}".format(idir, 0.5*(c3neg+c3pos)))
|
||||
lmp.variable("C4{} equal {}".format(idir, 0.5*(c4neg+c4pos)))
|
||||
lmp.variable("C5{} equal {}".format(idir, 0.5*(c5neg+c5pos)))
|
||||
lmp.variable("C6{} equal {}".format(idir, 0.5*(c6neg+c6pos)))
|
||||
|
||||
return
|
||||
|
||||
def elastic():
|
||||
""" Compute elastic constant tensor for a crystal
|
||||
|
||||
In order to calculate the elastic constants correctly, care must be taken to specify
|
||||
the correct units (units). It is also important to verify that the minimization of energy
|
||||
w.r.t atom positions in the deformed cell is fully converged.
|
||||
One indication of this is that the elastic constants are insensitive
|
||||
to the choice of the variable ${up}. Another is to check
|
||||
the final max and two-norm forces reported in the log file. If you know
|
||||
that minimization is not required, you can set maxiter = 0.0 """
|
||||
|
||||
parser = ArgumentParser(description='A python script to compute elastic properties of bulk materials')
|
||||
|
||||
parser.add_argument("input_data_file", help="The full path & name of the lammps data file.")
|
||||
parser.add_argument("kim_model", help="the KIM ID of the interatomic model archived in OpenKIM")
|
||||
parser.add_argument("elements", nargs='+', default=['Au'], help="a list of N chemical species, which defines a mapping between atom types in LAMMPS to the available species in the OpenKIM model")
|
||||
parser.add_argument("--min_style", default="cg", help="which algorithm will be used for minimization from lammps")
|
||||
parser.add_argument("--minimize", type=float, nargs=4, default=[1.0e-4, 1.0e-6, 100, 1000], help="minimization parameters")
|
||||
parser.add_argument("--up", type=float, default=1.0e-6, help="the deformation magnitude (in strain units)")
|
||||
args = parser.parse_args()
|
||||
|
||||
L = PyLammps()
|
||||
|
||||
L.units("metal")
|
||||
|
||||
# Define the finite deformation size.
|
||||
#Try several values to verify that results do not depend on it.
|
||||
L.variable("up equal {}".format(args.up))
|
||||
|
||||
# Define the amount of random jiggle for atoms. It prevents atoms from staying on saddle points
|
||||
atomjiggle = 1.0e-5
|
||||
|
||||
# metal units, elastic constants in GPa
|
||||
cfac = 1.0e-4
|
||||
|
||||
# Define minimization parameters
|
||||
L.variable("dmax equal 1.0e-2")
|
||||
|
||||
L.boundary("p", "p", "p") # periodic boundary conditions in all three directions
|
||||
L.box("tilt large") # to avoid termination if the final simulation box has a high tilt factor
|
||||
|
||||
# use the OpenKIM model to set the energy interactions
|
||||
L.kim("init", args.kim_model, "metal", "unit_conversion_mode")
|
||||
|
||||
L.read_data(args.input_data_file)
|
||||
|
||||
potential(L, args)
|
||||
|
||||
# Need to set mass to something, just to satisfy LAMMPS
|
||||
mass_dictionary = {'H': 1.00797, 'He': 4.00260, 'Li': 6.941, 'Be': 9.01218, 'B': 10.81, 'C': 12.011, 'N': 14.0067, 'O': 15.9994, 'F': 18.998403, 'Ne': 20.179, 'Na': 22.98977, 'Mg': 24.305, 'Al': 26.98154, 'Si': 28.0855, 'P': 30.97376, 'S': 32.06, 'Cl': 35.453, 'K': 39.0983, 'Ar': 39.948, 'Ca': 40.08, 'Sc': 44.9559, 'Ti': 47.90, 'V': 50.9415, 'Cr': 51.996, 'Mn': 54.9380, 'Fe': 55.847, 'Ni': 58.70, 'Co': 58.9332, 'Cu': 63.546, 'Zn': 65.38, 'Ga': 69.72, 'Ge': 72.59, 'As': 74.9216, 'Se': 78.96, 'Br': 79.904, 'Kr': 83.80, 'Rb': 85.4678, 'Sr': 87.62, 'Y': 88.9059, 'Zr': 91.22, 'Nb': 92.9064, 'Mo': 95.94, 'Tc': 98, 'Ru': 101.07, 'Rh': 102.9055, 'Pd': 106.4, 'Ag': 107.868, 'Cd': 112.41, 'In': 114.82, 'Sn': 118.69, 'Sb': 121.75, 'I': 126.9045, 'Te': 127.60, 'Xe': 131.30, 'Cs': 132.9054, 'Ba': 137.33, 'La': 138.9055, 'Ce': 140.12, 'Pr': 140.9077, 'Nd': 144.24, 'Pm': 145, 'Sm': 150.4, 'Eu': 151.96, 'Gd': 157.25, 'Tb': 158.9254, 'Dy': 162.50, 'Ho': 164.9304, 'Er': 167.26, 'Tm': 168.9342, 'Yb': 173.04, 'Lu': 174.967, 'Hf': 178.49, 'Ta': 180.9479, 'W': 183.85, 'Re': 186.207, 'Os': 190.2, 'Ir': 192.22, 'Pt': 195.09, 'Au': 196.9665, 'Hg': 200.59, 'Tl': 204.37, 'Pb': 207.2, 'Bi': 208.9804, 'Po': 209, 'At': 210, 'Rn': 222, 'Fr': 223, 'Ra': 226.0254, 'Ac': 227.0278, 'Pa': 231.0359, 'Th': 232.0381, 'Np': 237.0482, 'U': 238.029}
|
||||
for itype in range(1, len(args.elements)+1):
|
||||
L.mass(itype, mass_dictionary.get(args.elements[itype-1], 1.0e-20))
|
||||
|
||||
# Compute initial state at zero pressure
|
||||
L.fix(3, "all", "box/relax", "aniso", 0.0)
|
||||
L.min_style(args.min_style)
|
||||
L.minimize(args.minimize[0], args.minimize[1], int(args.minimize[2]), int(args.minimize[3]))
|
||||
|
||||
L.variable("lx0 equal {}".format(L.eval("lx")))
|
||||
L.variable("ly0 equal {}".format(L.eval("ly")))
|
||||
L.variable("lz0 equal {}".format(L.eval("lz")))
|
||||
|
||||
# These formulas define the derivatives w.r.t. strain components
|
||||
L.variable("d1 equal -(v_pxx1-{})/(v_delta/v_len0)*{}".format(L.eval("pxx"), cfac))
|
||||
L.variable("d2 equal -(v_pyy1-{})/(v_delta/v_len0)*{}".format(L.eval("pyy"), cfac))
|
||||
L.variable("d3 equal -(v_pzz1-{})/(v_delta/v_len0)*{}".format(L.eval("pzz"), cfac))
|
||||
L.variable("d4 equal -(v_pyz1-{})/(v_delta/v_len0)*{}".format(L.eval("pyz"), cfac))
|
||||
L.variable("d5 equal -(v_pxz1-{})/(v_delta/v_len0)*{}".format(L.eval("pxz"), cfac))
|
||||
L.variable("d6 equal -(v_pxy1-{})/(v_delta/v_len0)*{}".format(L.eval("pxy"), cfac))
|
||||
|
||||
L.displace_atoms("all", "random", atomjiggle, atomjiggle, atomjiggle, 87287, "units box")
|
||||
|
||||
# Write restart
|
||||
L.unfix(3)
|
||||
L.write_restart("restart.equil")
|
||||
|
||||
for idir in range(1, 7):
|
||||
displace(L, args, idir)
|
||||
|
||||
postprocess_and_output(L)
|
||||
return
|
||||
|
||||
def postprocess_and_output(lmp):
|
||||
"""Compute the moduli and print everything to screen """
|
||||
|
||||
# Output final values
|
||||
c11all = lmp.variables["C11"].value
|
||||
c22all = lmp.variables["C22"].value
|
||||
c33all = lmp.variables["C33"].value
|
||||
|
||||
c12all = 0.5*(lmp.variables["C12"].value + lmp.variables["C21"].value)
|
||||
c13all = 0.5*(lmp.variables["C13"].value + lmp.variables["C31"].value)
|
||||
c23all = 0.5*(lmp.variables["C23"].value + lmp.variables["C32"].value)
|
||||
|
||||
c44all = lmp.variables["C44"].value
|
||||
c55all = lmp.variables["C55"].value
|
||||
c66all = lmp.variables["C66"].value
|
||||
|
||||
c14all = 0.5*(lmp.variables["C14"].value + lmp.variables["C41"].value)
|
||||
c15all = 0.5*(lmp.variables["C15"].value + lmp.variables["C51"].value)
|
||||
c16all = 0.5*(lmp.variables["C16"].value + lmp.variables["C61"].value)
|
||||
|
||||
c24all = 0.5*(lmp.variables["C24"].value + lmp.variables["C42"].value)
|
||||
c25all = 0.5*(lmp.variables["C25"].value + lmp.variables["C52"].value)
|
||||
c26all = 0.5*(lmp.variables["C26"].value + lmp.variables["C62"].value)
|
||||
|
||||
c34all = 0.5*(lmp.variables["C34"].value + lmp.variables["C43"].value)
|
||||
c35all = 0.5*(lmp.variables["C35"].value + lmp.variables["C53"].value)
|
||||
c36all = 0.5*(lmp.variables["C36"].value + lmp.variables["C63"].value)
|
||||
|
||||
c45all = 0.5*(lmp.variables["C45"].value + lmp.variables["C54"].value)
|
||||
c46all = 0.5*(lmp.variables["C46"].value + lmp.variables["C64"].value)
|
||||
c56all = 0.5*(lmp.variables["C56"].value + lmp.variables["C65"].value)
|
||||
|
||||
# Average moduli for cubic crystals
|
||||
c11cubic = (c11all + c22all + c33all)/3.0
|
||||
c12cubic = (c12all + c13all + c23all)/3.0
|
||||
c44cubic = (c44all + c55all + c66all)/3.0
|
||||
|
||||
bulkmodulus = (c11cubic + 2*c12cubic)/3.0
|
||||
shearmodulus1 = c44cubic
|
||||
shearmodulus2 = (c11cubic - c12cubic)/2.0
|
||||
poisson_ratio = 1.0/(1.0 + c11cubic/c12cubic)
|
||||
|
||||
# print results to screen
|
||||
print("=========================================")
|
||||
print("Components of the Elastic Constant Tensor")
|
||||
print("=========================================")
|
||||
|
||||
print("Elastic Constant C11all = {} GPa".format(c11all))
|
||||
print("Elastic Constant C22all = {} GPa".format(c22all))
|
||||
print("Elastic Constant C33all = {} GPa".format(c33all))
|
||||
|
||||
print("Elastic Constant C12all = {} GPa".format(c12all))
|
||||
print("Elastic Constant C13all = {} GPa".format(c13all))
|
||||
print("Elastic Constant C23all = {} GPa".format(c23all))
|
||||
|
||||
print("Elastic Constant C44all = {} GPa".format(c44all))
|
||||
print("Elastic Constant C55all = {} GPa".format(c55all))
|
||||
print("Elastic Constant C66all = {} GPa".format(c66all))
|
||||
|
||||
print("Elastic Constant C14all = {} GPa".format(c14all))
|
||||
print("Elastic Constant C15all = {} GPa".format(c15all))
|
||||
print("Elastic Constant C16all = {} GPa".format(c16all))
|
||||
|
||||
print("Elastic Constant C24all = {} GPa".format(c24all))
|
||||
print("Elastic Constant C25all = {} GPa".format(c25all))
|
||||
print("Elastic Constant C26all = {} GPa".format(c26all))
|
||||
|
||||
print("Elastic Constant C34all = {} GPa".format(c34all))
|
||||
print("Elastic Constant C35all = {} GPa".format(c35all))
|
||||
print("Elastic Constant C36all = {} GPa".format(c36all))
|
||||
|
||||
print("Elastic Constant C45all = {} GPa".format(c45all))
|
||||
print("Elastic Constant C46all = {} GPa".format(c46all))
|
||||
print("Elastic Constant C56all = {} GPa".format(c56all))
|
||||
|
||||
print("=========================================")
|
||||
print("Average properties for a cubic crystal")
|
||||
print("=========================================")
|
||||
|
||||
print("Bulk Modulus = {} GPa".format(bulkmodulus))
|
||||
print("Shear Modulus 1 = {} GPa".format(shearmodulus1))
|
||||
print("Shear Modulus 2 = {} GPa".format(shearmodulus2))
|
||||
print("Poisson Ratio = {}".format(poisson_ratio))
|
||||
|
||||
return
|
||||
|
||||
if __name__ == "__main__":
|
||||
elastic()
|
||||
Reference in New Issue
Block a user