Spaces:
Running
Running
add eos notebook
Browse files- .github/workflows/test.yaml +3 -0
- mlip_arena/tasks/combustion/H256O128.extxyz +384 -384
- mlip_arena/tasks/combustion/water.ipynb +100 -126
- mlip_arena/tasks/eos/run.ipynb +645 -0
- mlip_arena/tasks/eos/run.py +39 -11
- mlip_arena/tasks/optimize.py +5 -1
- tests/test_eos.py +1 -1
.github/workflows/test.yaml
CHANGED
@@ -30,5 +30,8 @@ jobs:
|
|
30 |
pip install "pynanoflann@git+https://github.com/dwastberg/pynanoflann#egg=af434039ae14bedcbb838a7808924d6689274168"
|
31 |
|
32 |
- name: Run tests
|
|
|
|
|
|
|
33 |
run: |
|
34 |
pytest -v tests
|
|
|
30 |
pip install "pynanoflann@git+https://github.com/dwastberg/pynanoflann#egg=af434039ae14bedcbb838a7808924d6689274168"
|
31 |
|
32 |
- name: Run tests
|
33 |
+
env:
|
34 |
+
PREFECT_API_KEY: ${{ secrets.PREFECT_API_KEY }}
|
35 |
+
PREFECT_API_URL: ${{ secrets.PREFECT_API_URL }}
|
36 |
run: |
|
37 |
pytest -v tests
|
mlip_arena/tasks/combustion/H256O128.extxyz
CHANGED
@@ -1,386 +1,386 @@
|
|
1 |
384
|
2 |
Lattice="30.0 0.0 0.0 0.0 30.0 0.0 0.0 0.0 30.0" Properties=species:S:1:pos:R:3 Built=T with=T Packmol=T pbc="T T T"
|
3 |
-
H
|
4 |
-
H
|
5 |
-
H
|
6 |
-
H
|
7 |
-
H
|
8 |
-
H
|
9 |
-
H
|
10 |
-
H
|
11 |
-
H
|
12 |
-
H
|
13 |
-
H
|
14 |
-
H
|
15 |
-
H
|
16 |
-
H
|
17 |
-
H
|
18 |
-
H
|
19 |
-
H
|
20 |
-
H
|
21 |
-
H
|
22 |
-
H
|
23 |
-
H
|
24 |
-
H
|
25 |
-
H
|
26 |
-
H
|
27 |
-
H
|
28 |
-
H 4.
|
29 |
-
H
|
30 |
-
H
|
31 |
-
H
|
32 |
-
H
|
33 |
-
H
|
34 |
-
H
|
35 |
-
H
|
36 |
-
H
|
37 |
-
H
|
38 |
-
H
|
39 |
-
H
|
40 |
-
H
|
41 |
-
H
|
42 |
-
H
|
43 |
-
H
|
44 |
-
H
|
45 |
-
H
|
46 |
-
H
|
47 |
-
H
|
48 |
-
H
|
49 |
-
H
|
50 |
-
H
|
51 |
-
H
|
52 |
-
H
|
53 |
-
H
|
54 |
-
H
|
55 |
-
H
|
56 |
-
H
|
57 |
-
H
|
58 |
-
H
|
59 |
-
H
|
60 |
-
H
|
61 |
-
H
|
62 |
-
H
|
63 |
-
H
|
64 |
-
H
|
65 |
-
H
|
66 |
-
H
|
67 |
-
H
|
68 |
-
H
|
69 |
-
H
|
70 |
-
H 14.
|
71 |
-
H
|
72 |
-
H
|
73 |
-
H
|
74 |
-
H
|
75 |
-
H 19.
|
76 |
-
H 19.
|
77 |
-
H
|
78 |
-
H
|
79 |
-
H
|
80 |
-
H
|
81 |
-
H
|
82 |
-
H
|
83 |
-
H
|
84 |
-
H
|
85 |
-
H
|
86 |
-
H
|
87 |
-
H
|
88 |
-
H 20.
|
89 |
-
H
|
90 |
-
H
|
91 |
-
H
|
92 |
-
H
|
93 |
-
H
|
94 |
-
H
|
95 |
-
H
|
96 |
-
H
|
97 |
-
H
|
98 |
-
H
|
99 |
-
H
|
100 |
-
H
|
101 |
-
H
|
102 |
-
H
|
103 |
-
H
|
104 |
-
H
|
105 |
-
H
|
106 |
-
H
|
107 |
-
H
|
108 |
-
H
|
109 |
-
H
|
110 |
-
H
|
111 |
-
H
|
112 |
-
H
|
113 |
-
H
|
114 |
-
H
|
115 |
-
H
|
116 |
-
H
|
117 |
-
H
|
118 |
-
H
|
119 |
-
H
|
120 |
-
H 1.
|
121 |
-
H
|
122 |
-
H
|
123 |
-
H
|
124 |
-
H
|
125 |
-
H
|
126 |
-
H
|
127 |
-
H 3.
|
128 |
-
H
|
129 |
-
H
|
130 |
-
H
|
131 |
-
H
|
132 |
-
H
|
133 |
-
H
|
134 |
-
H
|
135 |
-
H
|
136 |
-
H
|
137 |
-
H
|
138 |
-
H
|
139 |
-
H
|
140 |
-
H
|
141 |
-
H
|
142 |
-
H
|
143 |
-
H
|
144 |
-
H
|
145 |
-
H
|
146 |
-
H
|
147 |
-
H
|
148 |
-
H
|
149 |
-
H
|
150 |
-
H
|
151 |
-
H
|
152 |
-
H
|
153 |
-
H
|
154 |
-
H
|
155 |
-
H
|
156 |
-
H
|
157 |
-
H
|
158 |
-
H
|
159 |
-
H
|
160 |
-
H
|
161 |
-
H
|
162 |
-
H
|
163 |
-
H
|
164 |
-
H
|
165 |
-
H
|
166 |
-
H
|
167 |
-
H
|
168 |
-
H
|
169 |
-
H
|
170 |
-
H
|
171 |
-
H
|
172 |
-
H
|
173 |
-
H
|
174 |
-
H
|
175 |
-
H
|
176 |
-
H
|
177 |
-
H
|
178 |
-
H
|
179 |
-
H
|
180 |
-
H
|
181 |
-
H 17.
|
182 |
-
H
|
183 |
-
H
|
184 |
-
H
|
185 |
-
H
|
186 |
-
H
|
187 |
-
H
|
188 |
-
H
|
189 |
-
H
|
190 |
-
H
|
191 |
-
H
|
192 |
-
H
|
193 |
-
H
|
194 |
-
H
|
195 |
-
H 5.
|
196 |
-
H
|
197 |
-
H
|
198 |
-
H
|
199 |
-
H
|
200 |
-
H
|
201 |
-
H
|
202 |
-
H
|
203 |
-
H
|
204 |
-
H
|
205 |
-
H
|
206 |
-
H
|
207 |
-
H
|
208 |
-
H
|
209 |
-
H
|
210 |
-
H
|
211 |
-
H
|
212 |
-
H
|
213 |
-
H
|
214 |
-
H
|
215 |
-
H
|
216 |
-
H
|
217 |
-
H
|
218 |
-
H
|
219 |
-
H
|
220 |
-
H
|
221 |
-
H
|
222 |
-
H
|
223 |
-
H
|
224 |
-
H
|
225 |
-
H 12.
|
226 |
-
H 11.
|
227 |
-
H
|
228 |
-
H
|
229 |
-
H
|
230 |
-
H
|
231 |
-
H
|
232 |
-
H
|
233 |
-
H 8.
|
234 |
-
H
|
235 |
-
H
|
236 |
-
H
|
237 |
-
H
|
238 |
-
H
|
239 |
-
H
|
240 |
-
H
|
241 |
-
H
|
242 |
-
H
|
243 |
-
H
|
244 |
-
H
|
245 |
-
H
|
246 |
-
H
|
247 |
-
H
|
248 |
-
H
|
249 |
-
H
|
250 |
-
H
|
251 |
-
H
|
252 |
-
H
|
253 |
-
H
|
254 |
-
H
|
255 |
-
H
|
256 |
-
H
|
257 |
-
H
|
258 |
-
H
|
259 |
-
O
|
260 |
-
O
|
261 |
-
O
|
262 |
-
O
|
263 |
-
O
|
264 |
-
O
|
265 |
-
O
|
266 |
-
O
|
267 |
-
O
|
268 |
-
O
|
269 |
-
O
|
270 |
-
O
|
271 |
-
O
|
272 |
-
O
|
273 |
-
O
|
274 |
-
O
|
275 |
-
O
|
276 |
-
O
|
277 |
-
O
|
278 |
-
O
|
279 |
-
O
|
280 |
-
O
|
281 |
-
O 1.
|
282 |
-
O
|
283 |
-
O
|
284 |
-
O
|
285 |
-
O
|
286 |
-
O 9.
|
287 |
-
O
|
288 |
-
O
|
289 |
-
O
|
290 |
-
O
|
291 |
-
O
|
292 |
-
O
|
293 |
-
O
|
294 |
-
O
|
295 |
-
O
|
296 |
-
O
|
297 |
-
O
|
298 |
-
O
|
299 |
-
O
|
300 |
-
O
|
301 |
-
O
|
302 |
-
O
|
303 |
-
O
|
304 |
-
O
|
305 |
-
O
|
306 |
-
O
|
307 |
-
O
|
308 |
-
O
|
309 |
-
O
|
310 |
-
O
|
311 |
-
O
|
312 |
-
O
|
313 |
-
O
|
314 |
-
O
|
315 |
-
O
|
316 |
-
O
|
317 |
-
O
|
318 |
-
O
|
319 |
-
O
|
320 |
-
O
|
321 |
-
O
|
322 |
-
O
|
323 |
-
O
|
324 |
-
O
|
325 |
-
O
|
326 |
-
O
|
327 |
-
O
|
328 |
-
O
|
329 |
-
O
|
330 |
-
O
|
331 |
-
O
|
332 |
-
O
|
333 |
-
O
|
334 |
-
O
|
335 |
-
O
|
336 |
-
O
|
337 |
-
O
|
338 |
-
O
|
339 |
-
O
|
340 |
-
O
|
341 |
-
O
|
342 |
-
O
|
343 |
-
O
|
344 |
-
O
|
345 |
-
O
|
346 |
-
O
|
347 |
-
O
|
348 |
-
O
|
349 |
-
O
|
350 |
-
O
|
351 |
-
O
|
352 |
-
O
|
353 |
-
O
|
354 |
-
O
|
355 |
-
O
|
356 |
-
O
|
357 |
-
O
|
358 |
-
O
|
359 |
-
O
|
360 |
-
O
|
361 |
-
O
|
362 |
-
O
|
363 |
-
O
|
364 |
-
O
|
365 |
-
O
|
366 |
-
O
|
367 |
-
O
|
368 |
-
O
|
369 |
-
O
|
370 |
-
O
|
371 |
-
O
|
372 |
-
O
|
373 |
-
O
|
374 |
-
O
|
375 |
-
O
|
376 |
-
O
|
377 |
-
O
|
378 |
-
O
|
379 |
-
O
|
380 |
-
O
|
381 |
-
O
|
382 |
-
O
|
383 |
-
O
|
384 |
-
O
|
385 |
-
O
|
386 |
-
O
|
|
|
1 |
384
|
2 |
Lattice="30.0 0.0 0.0 0.0 30.0 0.0 0.0 0.0 30.0" Properties=species:S:1:pos:R:3 Built=T with=T Packmol=T pbc="T T T"
|
3 |
+
H 16.87897000 14.36340900 5.78639500
|
4 |
+
H 17.43576500 14.42974000 6.26492700
|
5 |
+
H 3.55483600 6.05817200 17.69903100
|
6 |
+
H 3.93076700 5.56617900 17.29899100
|
7 |
+
H 9.49657700 24.94365100 23.70565700
|
8 |
+
H 8.79155100 24.79399100 23.55088300
|
9 |
+
H 23.86076500 25.42809100 5.93695500
|
10 |
+
H 24.14102300 25.10486100 6.53728200
|
11 |
+
H 3.01569800 26.19656300 15.08020000
|
12 |
+
H 2.75520000 25.98067600 14.42525900
|
13 |
+
H 9.67788700 17.96928400 5.86481000
|
14 |
+
H 10.22656200 18.46063200 5.83403500
|
15 |
+
H 12.57870500 16.09171300 25.13668100
|
16 |
+
H 12.52257400 16.32590900 24.43996300
|
17 |
+
H 12.70913000 6.58341200 15.79997200
|
18 |
+
H 13.14484100 6.28817300 16.31611500
|
19 |
+
H 21.57221500 26.22007700 8.20775100
|
20 |
+
H 21.49858000 25.76305400 7.63406000
|
21 |
+
H 5.23150000 2.79202900 17.94668200
|
22 |
+
H 5.34160000 2.30038000 17.40856200
|
23 |
+
H 3.20140800 24.30032700 16.20596600
|
24 |
+
H 3.01866600 23.59120400 16.29060400
|
25 |
+
H 24.14000600 28.98000500 16.44843000
|
26 |
+
H 24.06795800 28.97179200 15.71483900
|
27 |
+
H 5.06521500 20.71716800 5.13534300
|
28 |
+
H 4.35233500 20.56737200 5.02230400
|
29 |
+
H 20.35575900 22.80574000 20.92112100
|
30 |
+
H 20.33775300 22.82449400 20.18441300
|
31 |
+
H 9.44001100 14.49775500 28.22965700
|
32 |
+
H 8.79780000 14.40101700 27.88091500
|
33 |
+
H 9.85111200 22.18687800 5.65961300
|
34 |
+
H 10.23873200 22.52486700 5.13147700
|
35 |
+
H 2.43073100 14.23882800 9.88843100
|
36 |
+
H 2.41513200 14.74593300 10.42323500
|
37 |
+
H 24.12085900 18.37439500 13.96560000
|
38 |
+
H 24.11116500 17.72761900 14.31915600
|
39 |
+
H 8.20116600 27.96832200 10.13677000
|
40 |
+
H 7.93113800 28.48718300 10.58541500
|
41 |
+
H 9.12140400 26.33764100 3.10957700
|
42 |
+
H 9.77423300 26.15812100 3.40112700
|
43 |
+
H 4.61212100 6.00445300 4.16492600
|
44 |
+
H 4.64955500 6.71113500 4.37135300
|
45 |
+
H 11.25926100 17.21528300 14.18800300
|
46 |
+
H 11.45743100 17.84358800 14.51872400
|
47 |
+
H 8.30883000 10.16305200 12.29874000
|
48 |
+
H 7.72273600 10.57641900 12.12834100
|
49 |
+
H 27.50695500 17.01494000 3.57254600
|
50 |
+
H 26.93803700 16.58868000 3.76760800
|
51 |
+
H 5.77076100 2.49322200 14.46871700
|
52 |
+
H 5.62762700 2.75411500 15.14315000
|
53 |
+
H 6.51732300 25.84318300 26.82939800
|
54 |
+
H 6.55807500 25.12027600 26.69098100
|
55 |
+
H 12.12323800 24.13458100 24.41591800
|
56 |
+
H 12.45973600 24.45908800 23.84593700
|
57 |
+
H 5.17331100 23.16438400 16.63650900
|
58 |
+
H 4.88027500 22.87390600 17.24738200
|
59 |
+
H 8.10959100 21.29987000 4.46261500
|
60 |
+
H 7.63531700 20.73605600 4.43829600
|
61 |
+
H 22.74497200 17.55560800 1.89494000
|
62 |
+
H 22.79182400 17.39285800 2.61238800
|
63 |
+
H 10.18128000 19.85571100 21.25732700
|
64 |
+
H 10.60903100 20.45053300 21.17590400
|
65 |
+
H 7.36765600 22.32656800 11.62091000
|
66 |
+
H 7.36366200 22.32242700 12.35805300
|
67 |
+
H 22.11051700 17.35754100 10.70421900
|
68 |
+
H 21.63342400 16.93939000 10.32879200
|
69 |
+
H 17.11800800 14.46985000 18.41272300
|
70 |
+
H 17.76175400 14.14922200 18.57459600
|
71 |
+
H 23.88598700 25.00383500 10.24699000
|
72 |
+
H 24.23686000 25.54091700 9.88388500
|
73 |
+
H 23.07268800 28.13033100 13.42606000
|
74 |
+
H 22.86236700 28.70230100 13.84082400
|
75 |
+
H 19.71929900 26.69691800 16.96391200
|
76 |
+
H 19.77256100 26.69242100 16.22868700
|
77 |
+
H 10.20897000 5.12509300 26.31992400
|
78 |
+
H 10.27351800 5.67934800 25.83820900
|
79 |
+
H 7.74945200 21.75294300 26.96569600
|
80 |
+
H 7.85650000 21.94562800 26.26225700
|
81 |
+
H 28.99846900 5.82412900 4.51948000
|
82 |
+
H 28.84661100 5.17571900 4.20338400
|
83 |
+
H 14.00669600 21.28067600 10.51077400
|
84 |
+
H 14.02815700 20.57927500 10.28496600
|
85 |
+
H 24.56688200 8.44802400 10.18169000
|
86 |
+
H 24.87884700 8.74970200 10.77757700
|
87 |
+
H 19.82097000 6.71060100 21.14119900
|
88 |
+
H 20.20300600 6.57543700 20.52541300
|
89 |
+
H 12.50680000 16.29448300 21.20002800
|
90 |
+
H 12.58574100 16.94571300 21.53630400
|
91 |
+
H 2.88750900 6.48194900 12.41992700
|
92 |
+
H 2.63814400 5.97929100 11.94184100
|
93 |
+
H 18.31924100 27.95926100 11.93343800
|
94 |
+
H 18.08127600 28.28411700 12.55089700
|
95 |
+
H 8.80421900 21.80835300 22.53574400
|
96 |
+
H 8.19015200 22.18697500 22.38414900
|
97 |
+
H 16.51146900 26.58804000 12.13737900
|
98 |
+
H 16.51397100 26.60180800 11.40034500
|
99 |
+
H 3.01154500 1.61542600 13.17298500
|
100 |
+
H 2.31442300 1.37599500 13.16260300
|
101 |
+
H 14.38141000 16.74073800 22.79765000
|
102 |
+
H 14.54283900 16.49896600 23.47507200
|
103 |
+
H 27.32062300 13.13890000 3.91277400
|
104 |
+
H 27.68551200 13.68559000 4.24654100
|
105 |
+
H 14.17603100 27.61355700 6.47229000
|
106 |
+
H 14.22488300 28.10975000 5.92931700
|
107 |
+
H 9.46812300 7.70071300 3.45368100
|
108 |
+
H 9.61903800 8.06415600 4.07701700
|
109 |
+
H 2.18384900 3.88122900 12.55886400
|
110 |
+
H 2.16274500 3.79907900 11.82659400
|
111 |
+
H 8.39628800 28.36448200 27.01582200
|
112 |
+
H 7.83759500 27.92933600 26.81106900
|
113 |
+
H 12.15799700 14.43608700 11.46881200
|
114 |
+
H 11.91985600 14.40143500 10.77203200
|
115 |
+
H 13.07421100 20.72377800 27.23797600
|
116 |
+
H 12.38307500 20.94338900 27.37032300
|
117 |
+
H 5.74890500 20.92045300 10.67404300
|
118 |
+
H 6.07702100 21.30697500 10.13892200
|
119 |
+
H 1.20101800 3.91867000 5.21703800
|
120 |
+
H 1.33343400 3.87199400 5.94071000
|
121 |
+
H 15.87910900 3.60421600 17.51325200
|
122 |
+
H 16.55088000 3.81033800 17.29042700
|
123 |
+
H 12.77118400 24.89708700 14.04640100
|
124 |
+
H 12.93989800 25.26872400 13.43253200
|
125 |
+
H 9.17302000 6.59818400 6.60346000
|
126 |
+
H 9.20243000 6.69949200 7.33303900
|
127 |
+
H 3.82873400 21.34798500 18.48337600
|
128 |
+
H 4.44631900 21.08569500 18.78867100
|
129 |
+
H 6.64065400 26.32535100 2.13715800
|
130 |
+
H 7.07217200 25.92015200 1.69781700
|
131 |
+
H 23.61875500 28.68096800 2.12527200
|
132 |
+
H 24.20152800 28.50119700 1.71118000
|
133 |
+
H 28.97955000 28.31110000 20.77510000
|
134 |
+
H 28.51757300 27.79654500 21.03049100
|
135 |
+
H 5.03608000 8.09600900 15.70374700
|
136 |
+
H 5.01029200 8.77247600 15.41195800
|
137 |
+
H 6.38181200 23.23894300 14.67726800
|
138 |
+
H 6.72455700 23.67837800 15.15980100
|
139 |
+
H 4.17225800 15.87846200 26.32328700
|
140 |
+
H 3.60033300 16.10995900 25.91989500
|
141 |
+
H 9.98548800 27.03736900 11.34257400
|
142 |
+
H 9.89827200 26.31071900 11.43082100
|
143 |
+
H 11.08624000 3.40906900 27.43653900
|
144 |
+
H 11.03887400 3.46845400 28.16978100
|
145 |
+
H 18.17462600 26.60855300 18.64341900
|
146 |
+
H 17.84284900 27.25533700 18.76592900
|
147 |
+
H 24.56041800 23.73132300 15.45710400
|
148 |
+
H 24.15216800 23.55566200 16.04522700
|
149 |
+
H 12.42149000 8.51852900 26.92738800
|
150 |
+
H 12.85187200 8.54739800 26.32959800
|
151 |
+
H 12.58494400 23.66894000 26.51841800
|
152 |
+
H 11.87423100 23.85271600 26.58569800
|
153 |
+
H 25.66776400 11.38987800 3.60979300
|
154 |
+
H 25.04312400 11.04530700 3.79556200
|
155 |
+
H 26.02410100 25.69683300 2.37428800
|
156 |
+
H 26.49306900 25.51267100 1.83617300
|
157 |
+
H 1.17207300 13.56847700 17.81787500
|
158 |
+
H 1.09749900 13.56957200 17.08449200
|
159 |
+
H 16.34427300 15.52582100 25.01154500
|
160 |
+
H 16.21113800 15.84954200 25.66030800
|
161 |
+
H 8.34844300 4.44909300 22.93722500
|
162 |
+
H 7.86249000 4.49217500 23.48986100
|
163 |
+
H 24.87485300 5.31864800 1.40835600
|
164 |
+
H 25.19256300 5.84446800 1.00094100
|
165 |
+
H 3.42570400 18.20815000 27.19415500
|
166 |
+
H 2.77521600 18.34972600 26.87755500
|
167 |
+
H 26.13269700 10.18845100 14.93319100
|
168 |
+
H 25.85987900 9.71045000 14.44278400
|
169 |
+
H 16.37800300 2.82461800 14.94014800
|
170 |
+
H 16.88769100 2.31071600 14.80037500
|
171 |
+
H 2.68461500 21.47767100 25.65109500
|
172 |
+
H 2.86206000 21.90699200 25.07872200
|
173 |
+
H 12.04855900 6.95917200 11.68418900
|
174 |
+
H 12.39801200 7.51168600 11.34356500
|
175 |
+
H 17.65835900 17.90689000 21.24729900
|
176 |
+
H 17.57119400 17.94728700 20.51642000
|
177 |
+
H 19.13123000 3.51526100 22.77599000
|
178 |
+
H 18.50245100 3.89609300 22.72106000
|
179 |
+
H 17.59014300 22.68251700 7.89677900
|
180 |
+
H 17.94157500 23.30906000 7.73138900
|
181 |
+
H 17.80517200 27.73224100 26.14671300
|
182 |
+
H 17.17556300 27.67636700 25.76739200
|
183 |
+
H 1.23383900 16.30952500 11.48348600
|
184 |
+
H 1.21410800 16.78863900 10.92359800
|
185 |
+
H 5.14106900 3.12858300 22.32613900
|
186 |
+
H 4.84773300 3.33214200 22.97106700
|
187 |
+
H 1.54627400 27.32284900 21.64647900
|
188 |
+
H 1.89536100 27.35916600 22.29473300
|
189 |
+
H 23.61494100 4.81278600 28.82197500
|
190 |
+
H 23.15278300 4.71015800 28.25691600
|
191 |
+
H 16.55009200 9.41232000 9.23163100
|
192 |
+
H 16.39011400 8.95635500 9.78833300
|
193 |
+
H 9.24672000 17.04310600 22.97075500
|
194 |
+
H 9.69788100 16.57902500 23.32359500
|
195 |
+
H 5.92999000 6.70344600 12.54324900
|
196 |
+
H 6.12013700 6.02943400 12.77339200
|
197 |
+
H 20.55806500 20.91865300 27.16038800
|
198 |
+
H 20.17869900 21.08398200 27.77043800
|
199 |
+
H 6.86904800 16.04280700 13.61109400
|
200 |
+
H 7.39742300 16.55244000 13.54396000
|
201 |
+
H 2.56041500 20.50409800 7.85659000
|
202 |
+
H 1.94972600 20.22580200 8.16158900
|
203 |
+
H 10.30946400 26.76199200 22.35478000
|
204 |
+
H 9.74930900 26.93466800 22.80179500
|
205 |
+
H 9.37796100 7.80951200 12.91974400
|
206 |
+
H 8.83394300 8.02560600 12.47167900
|
207 |
+
H 8.87347500 15.06285800 6.33146400
|
208 |
+
H 8.47422200 14.92537200 6.93570600
|
209 |
+
H 7.76353600 8.45873000 15.11360900
|
210 |
+
H 7.75143800 8.55689900 14.38310900
|
211 |
+
H 3.37293300 18.43420600 23.45136000
|
212 |
+
H 3.96942500 18.08124700 23.70242100
|
213 |
+
H 26.76422700 16.17472200 17.31888500
|
214 |
+
H 26.40881800 16.38505300 17.92950700
|
215 |
+
H 23.72340800 16.16827600 17.16088600
|
216 |
+
H 23.54079100 15.74444300 16.58605400
|
217 |
+
H 9.04422200 24.03668900 13.69386900
|
218 |
+
H 8.77587200 23.93037800 14.37217600
|
219 |
+
H 26.63067400 17.02388700 6.06368500
|
220 |
+
H 26.82086300 16.77080800 6.72941200
|
221 |
+
H 11.89740000 7.80260100 21.08513000
|
222 |
+
H 12.35463200 8.38081400 21.08994900
|
223 |
+
H 18.88034700 13.04076800 4.44410900
|
224 |
+
H 18.99432900 13.09305500 5.17053000
|
225 |
+
H 12.33984600 11.69259200 22.86388500
|
226 |
+
H 12.74815800 11.21413800 23.24830300
|
227 |
+
H 5.80287000 16.81823400 16.93960100
|
228 |
+
H 5.49624100 17.28191100 17.42374600
|
229 |
+
H 28.49793800 7.81327600 23.13893400
|
230 |
+
H 28.47600900 7.97048500 22.41906000
|
231 |
+
H 12.83557500 11.24373500 25.45085300
|
232 |
+
H 12.41881800 11.24066000 26.05889700
|
233 |
+
H 8.27635600 24.04023300 1.68334600
|
234 |
+
H 7.96194000 23.42057200 1.43722300
|
235 |
+
H 19.77199600 11.69701700 8.46538200
|
236 |
+
H 19.78074500 11.70307100 9.20247100
|
237 |
+
H 11.31673000 12.37398400 14.55721300
|
238 |
+
H 10.84297500 12.47166100 14.00094900
|
239 |
+
H 10.79125000 20.69161200 3.40245000
|
240 |
+
H 11.27250900 20.38956300 3.87209900
|
241 |
+
H 12.69025500 11.48337700 5.00482800
|
242 |
+
H 11.98627900 11.67412000 4.89783200
|
243 |
+
H 26.72371500 1.50329200 2.91105000
|
244 |
+
H 26.51636700 2.14519300 3.20834400
|
245 |
+
H 9.52738300 16.34429400 15.41539000
|
246 |
+
H 8.94769200 16.45923000 15.85602700
|
247 |
+
H 22.92343200 13.91655100 28.55448400
|
248 |
+
H 22.91144200 13.99598900 27.82170900
|
249 |
+
H 19.42780900 1.69485400 3.41368800
|
250 |
+
H 18.91557000 1.36746900 3.83063400
|
251 |
+
H 7.19465000 19.03417100 20.30585200
|
252 |
+
H 6.81579600 18.83473100 20.90594100
|
253 |
+
H 5.76403400 2.66353000 26.49024900
|
254 |
+
H 6.17055300 2.09977300 26.24461900
|
255 |
+
H 22.76304500 7.37905700 21.38041300
|
256 |
+
H 22.27422500 7.45776800 21.92655800
|
257 |
+
H 20.87103900 4.95557800 21.95393100
|
258 |
+
H 20.54276300 4.55466100 21.42960800
|
259 |
+
O 2.79836800 3.68628500 15.85501600
|
260 |
+
O 2.81086000 3.61004300 17.09857400
|
261 |
+
O 16.47940800 2.53818900 22.88295600
|
262 |
+
O 16.11951200 2.71624200 24.06243800
|
263 |
+
O 16.11955600 27.75767800 21.06500300
|
264 |
+
O 16.53710300 26.62354600 21.36799700
|
265 |
+
O 2.28922000 5.17821400 26.49769500
|
266 |
+
O 2.38796000 5.21061100 25.25608000
|
267 |
+
O 23.35821600 23.78530000 2.30561500
|
268 |
+
O 22.62749600 23.99025500 3.29376900
|
269 |
+
O 8.01645400 1.87918100 22.34390100
|
270 |
+
O 7.71565300 1.00097600 23.17497300
|
271 |
+
O 24.09262600 23.80245300 18.50597300
|
272 |
+
O 25.13119000 23.75358600 19.19256200
|
273 |
+
O 23.43919000 8.32924800 7.70010800
|
274 |
+
O 22.65907800 8.89107400 8.49268800
|
275 |
+
O 23.97254400 22.00311700 5.43698700
|
276 |
+
O 23.89487400 22.49778100 6.57789900
|
277 |
+
O 27.56254300 8.43488800 7.35581200
|
278 |
+
O 27.43055900 8.25837300 6.12950500
|
279 |
+
O 20.87006100 27.63986300 11.38162200
|
280 |
+
O 20.86380900 27.63798600 12.62756100
|
281 |
+
O 1.73533900 16.60794700 2.29549200
|
282 |
+
O 1.55322100 16.46304200 1.07146500
|
283 |
+
O 2.03508400 26.37263200 7.32515600
|
284 |
+
O 1.51280300 27.39855300 7.80172200
|
285 |
+
O 9.85776800 20.59545000 27.48500700
|
286 |
+
O 9.78700000 20.58172200 26.24113800
|
287 |
+
O 6.50961300 12.26791300 10.82158600
|
288 |
+
O 6.77142400 11.85977400 9.67385600
|
289 |
+
O 27.41406500 13.33114600 25.89152900
|
290 |
+
O 27.64803100 14.38606200 25.27119400
|
291 |
+
O 10.65841500 26.52178800 25.03188900
|
292 |
+
O 11.32208500 27.05107500 25.94392100
|
293 |
+
O 19.37531500 27.41779100 27.77152100
|
294 |
+
O 19.50655800 28.65269600 27.87247500
|
295 |
+
O 15.16713800 28.62232100 25.08493400
|
296 |
+
O 15.07154300 28.26860400 26.27579700
|
297 |
+
O 17.00751400 16.63266600 17.58492000
|
298 |
+
O 17.59502600 16.71087600 16.48896400
|
299 |
+
O 11.43827100 14.97615400 3.72092700
|
300 |
+
O 10.81544400 15.61953100 4.58727500
|
301 |
+
O 15.49533900 18.92456600 3.73508000
|
302 |
+
O 15.41648300 19.38131500 2.57854700
|
303 |
+
O 24.31615500 8.87176200 3.90336400
|
304 |
+
O 24.24717100 8.63758100 2.68155900
|
305 |
+
O 7.28827800 12.82799800 18.71906300
|
306 |
+
O 6.55542500 13.39545800 19.55172300
|
307 |
+
O 11.08744900 6.55884500 22.72049900
|
308 |
+
O 12.06607400 6.27858300 23.43893700
|
309 |
+
O 6.38492100 21.01048900 22.84221300
|
310 |
+
O 6.12927500 19.99335000 23.51488000
|
311 |
+
O 24.06443800 6.57624000 5.98481500
|
312 |
+
O 24.52114300 5.76588200 6.81375800
|
313 |
+
O 10.04719800 9.05734900 6.05599500
|
314 |
+
O 10.94084300 9.28468500 6.89392400
|
315 |
+
O 14.96821700 27.18796600 18.05445400
|
316 |
+
O 15.07988500 27.85573600 17.00850000
|
317 |
+
O 3.86508500 1.34322900 24.91310100
|
318 |
+
O 3.95599400 1.18703300 26.14588000
|
319 |
+
O 20.55715100 20.45753800 21.54897500
|
320 |
+
O 19.73819000 20.46822400 22.48790900
|
321 |
+
O 15.54716700 11.17956000 10.54123500
|
322 |
+
O 15.52405700 11.70380700 11.67129500
|
323 |
+
O 27.57196100 18.81697000 18.10230200
|
324 |
+
O 28.42915400 18.07345000 18.61689400
|
325 |
+
O 13.08594500 21.54734200 24.54405200
|
326 |
+
O 14.11395800 21.16325000 25.13402600
|
327 |
+
O 26.73666800 18.41630100 23.76197500
|
328 |
+
O 26.39312500 17.34817200 24.30371700
|
329 |
+
O 3.75150300 18.39675300 7.29152900
|
330 |
+
O 3.53600500 18.86067200 6.15541900
|
331 |
+
O 17.47592700 22.97389700 14.10462800
|
332 |
+
O 17.52163900 23.02279100 15.34878500
|
333 |
+
O 18.26366400 1.00092300 19.49677400
|
334 |
+
O 18.47839600 1.21883800 20.70458600
|
335 |
+
O 13.79429800 11.31045500 17.14879000
|
336 |
+
O 14.75715400 11.10528500 16.38510100
|
337 |
+
O 23.04461100 15.79867400 21.94317000
|
338 |
+
O 24.21186100 16.06476100 22.28832400
|
339 |
+
O 18.39899300 20.45438100 6.25233500
|
340 |
+
O 18.17334100 19.38368000 5.65644400
|
341 |
+
O 12.45708500 28.00076400 22.87959600
|
342 |
+
O 12.89052700 26.91111300 23.30054100
|
343 |
+
O 26.92707100 5.06905500 5.23373400
|
344 |
+
O 25.77848800 5.33532200 4.83091500
|
345 |
+
O 21.42684100 24.25676000 11.83089700
|
346 |
+
O 21.61828400 25.40374200 11.38347100
|
347 |
+
O 5.87933600 27.53672900 16.61577900
|
348 |
+
O 4.73532800 27.38741900 17.08626700
|
349 |
+
O 24.28470500 3.34526900 2.03178600
|
350 |
+
O 24.76461000 2.73333800 1.05832000
|
351 |
+
O 28.95365000 2.62596100 13.80868600
|
352 |
+
O 28.43270400 3.61259000 13.25408200
|
353 |
+
O 4.22171400 14.80081000 20.83480200
|
354 |
+
O 4.21389800 14.77292800 19.58918200
|
355 |
+
O 22.63711100 1.37775300 19.58937200
|
356 |
+
O 23.87485500 1.47510200 19.48488400
|
357 |
+
O 24.56301300 18.58751900 21.22319300
|
358 |
+
O 23.67458500 19.30549400 20.72558500
|
359 |
+
O 8.94762000 14.49730700 12.31189400
|
360 |
+
O 9.38425200 15.14940800 13.27963600
|
361 |
+
O 16.95516300 6.13080300 19.32331700
|
362 |
+
O 16.15902300 5.87750900 18.39897300
|
363 |
+
O 8.63504700 19.77961300 8.44117000
|
364 |
+
O 9.68469700 20.38220800 8.73700800
|
365 |
+
O 11.31282500 2.46998800 2.58334500
|
366 |
+
O 11.07470700 1.38104200 2.02665600
|
367 |
+
O 27.39479700 24.64841500 9.77024200
|
368 |
+
O 26.71049700 25.67139800 9.57621600
|
369 |
+
O 2.05963700 8.45476400 16.28023600
|
370 |
+
O 2.01230900 8.30200000 17.51588500
|
371 |
+
O 9.59314000 26.93822800 8.47063300
|
372 |
+
O 10.09094600 25.91018600 7.97291300
|
373 |
+
O 25.13932300 4.62957000 8.63843500
|
374 |
+
O 25.91372600 5.60386200 8.57958800
|
375 |
+
O 21.90534500 3.90912800 17.80877300
|
376 |
+
O 21.81900900 3.92307100 19.05165600
|
377 |
+
O 19.73746700 6.78254100 2.45368300
|
378 |
+
O 19.39816400 6.01988000 3.37868500
|
379 |
+
O 6.15237600 26.10484900 18.61638000
|
380 |
+
O 4.93823500 25.98411400 18.86874900
|
381 |
+
O 7.89451900 2.41931000 18.51611600
|
382 |
+
O 7.61766700 2.45592400 17.30185900
|
383 |
+
O 24.96184600 3.83646000 17.86831300
|
384 |
+
O 24.40660700 3.89389800 16.75439300
|
385 |
+
O 19.23185100 4.23752100 5.63971900
|
386 |
+
O 20.27904100 4.39660700 4.98360000
|
mlip_arena/tasks/combustion/water.ipynb
CHANGED
@@ -34,7 +34,7 @@
|
|
34 |
},
|
35 |
{
|
36 |
"cell_type": "code",
|
37 |
-
"execution_count":
|
38 |
"metadata": {},
|
39 |
"outputs": [],
|
40 |
"source": [
|
@@ -49,7 +49,7 @@
|
|
49 |
},
|
50 |
{
|
51 |
"cell_type": "code",
|
52 |
-
"execution_count":
|
53 |
"metadata": {},
|
54 |
"outputs": [],
|
55 |
"source": [
|
@@ -60,7 +60,7 @@
|
|
60 |
},
|
61 |
{
|
62 |
"cell_type": "code",
|
63 |
-
"execution_count":
|
64 |
"metadata": {},
|
65 |
"outputs": [],
|
66 |
"source": [
|
@@ -78,9 +78,17 @@
|
|
78 |
},
|
79 |
{
|
80 |
"cell_type": "code",
|
81 |
-
"execution_count":
|
82 |
"metadata": {},
|
83 |
-
"outputs": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
"source": [
|
85 |
"tolerance = 2.0\n",
|
86 |
"input_gen = PackmolBoxGen(\n",
|
@@ -136,7 +144,7 @@
|
|
136 |
},
|
137 |
{
|
138 |
"cell_type": "code",
|
139 |
-
"execution_count":
|
140 |
"metadata": {},
|
141 |
"outputs": [
|
142 |
{
|
@@ -155,7 +163,7 @@
|
|
155 |
"source ~/.bashrc\n",
|
156 |
"module load python\n",
|
157 |
"source activate /pscratch/sd/c/cyrusyc/.conda/mlip-arena\n",
|
158 |
-
"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/bin/python -m distributed.cli.dask_worker tcp://128.55.64.19:
|
159 |
"\n"
|
160 |
]
|
161 |
},
|
@@ -165,8 +173,10 @@
|
|
165 |
"text": [
|
166 |
"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/distributed/node.py:182: UserWarning: Port 8787 is already in use.\n",
|
167 |
"Perhaps you already have a cluster running?\n",
|
168 |
-
"Hosting the HTTP server on port
|
169 |
-
" warnings.warn(\n"
|
|
|
|
|
170 |
]
|
171 |
}
|
172 |
],
|
@@ -230,7 +240,7 @@
|
|
230 |
},
|
231 |
{
|
232 |
"cell_type": "code",
|
233 |
-
"execution_count":
|
234 |
"metadata": {},
|
235 |
"outputs": [],
|
236 |
"source": [
|
@@ -250,7 +260,7 @@
|
|
250 |
" total_time=1000_000,\n",
|
251 |
" temperature=[300, 3000, 3000, 300],\n",
|
252 |
" pressure=None,\n",
|
253 |
-
"
|
254 |
" traj_file=Path(REGISTRY[model.name][\"family\"])\n",
|
255 |
" / f\"{model.name}_{atoms.get_chemical_formula()}.traj\",\n",
|
256 |
" traj_interval=1000,\n",
|
@@ -264,7 +274,7 @@
|
|
264 |
},
|
265 |
{
|
266 |
"cell_type": "code",
|
267 |
-
"execution_count":
|
268 |
"metadata": {
|
269 |
"tags": []
|
270 |
},
|
@@ -272,24 +282,11 @@
|
|
272 |
{
|
273 |
"data": {
|
274 |
"text/html": [
|
275 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
276 |
-
"</pre>\n"
|
277 |
-
],
|
278 |
-
"text/plain": [
|
279 |
-
"14:50:51.449 | \u001b[36mINFO\u001b[0m | prefect.engine - Created flow run\u001b[35m 'liberal-beetle'\u001b[0m for flow\u001b[1;35m 'combustion'\u001b[0m\n"
|
280 |
-
]
|
281 |
-
},
|
282 |
-
"metadata": {},
|
283 |
-
"output_type": "display_data"
|
284 |
-
},
|
285 |
-
{
|
286 |
-
"data": {
|
287 |
-
"text/html": [
|
288 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">14:50:51.453 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'liberal-beetle'</span> - View at <span style=\"color: #0000ff; text-decoration-color: #0000ff\">https://app.prefect.cloud/account/f7d40474-9362-4bfa-8950-ee6a43ec00f3/workspace/d4bb0913-5f5e-49f7-bfc5-06509088baeb/flow-runs/flow-run/4803afc0-0472-4cf3-8d76-794fc218e2c3</span>\n",
|
289 |
"</pre>\n"
|
290 |
],
|
291 |
"text/plain": [
|
292 |
-
"
|
293 |
]
|
294 |
},
|
295 |
"metadata": {},
|
@@ -298,11 +295,11 @@
|
|
298 |
{
|
299 |
"data": {
|
300 |
"text/html": [
|
301 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
302 |
"</pre>\n"
|
303 |
],
|
304 |
"text/plain": [
|
305 |
-
"
|
306 |
]
|
307 |
},
|
308 |
"metadata": {},
|
@@ -311,11 +308,11 @@
|
|
311 |
{
|
312 |
"data": {
|
313 |
"text/html": [
|
314 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
315 |
"</pre>\n"
|
316 |
],
|
317 |
"text/plain": [
|
318 |
-
"
|
319 |
]
|
320 |
},
|
321 |
"metadata": {},
|
@@ -324,77 +321,63 @@
|
|
324 |
{
|
325 |
"data": {
|
326 |
"text/html": [
|
327 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
328 |
"Traceback (most recent call last):\n",
|
329 |
-
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/
|
330 |
-
"
|
331 |
-
"
|
332 |
-
"
|
333 |
-
"
|
334 |
-
"
|
335 |
-
"
|
336 |
-
"
|
337 |
-
"
|
338 |
-
"
|
339 |
-
"
|
340 |
-
"\n",
|
341 |
-
"
|
342 |
-
" File \"/
|
343 |
-
" result
|
344 |
-
"
|
345 |
-
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/
|
346 |
-
"
|
347 |
-
"
|
348 |
-
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/
|
349 |
-
"
|
350 |
-
"
|
351 |
-
" File \"/
|
352 |
-
"
|
353 |
-
"
|
354 |
-
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/tasks.py\", line 811, in submit\n",
|
355 |
-
" parameters = get_call_parameters(self.fn, args, kwargs)\n",
|
356 |
-
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
357 |
-
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/utilities/callables.py\", line 52, in get_call_parameters\n",
|
358 |
-
" raise ParameterBindError.from_bind_failure(fn, exc, call_args, call_kwargs)\n",
|
359 |
-
"prefect.exceptions.ParameterBindError: Error binding parameters for function 'run': got an unexpected keyword argument 'mb_velocity_seed'.\n",
|
360 |
-
"Function 'run' has signature 'atoms: 'Atoms', calculator_name: 'str | MLIPEnum', calculator_kwargs: 'dict | None', dispersion: 'str | None' = None, dispersion_kwargs: 'dict | None' = None, device: 'str | None' = None, ensemble: \"Literal['nve', 'nvt', 'npt']\" = 'nvt', dynamics: 'str | MolecularDynamics' = 'langevin', time_step: 'float | None' = None, total_time: 'float' = 1000, temperature: 'float | Sequence | np.ndarray | None' = 300.0, pressure: 'float | Sequence | np.ndarray | None' = None, ase_md_kwargs: 'dict | None' = None, md_velocity_seed: 'int | None' = None, zero_linear_momentum: 'bool' = True, zero_angular_momentum: 'bool' = True, traj_file: 'str | Path | None' = None, traj_interval: 'int' = 1, restart: 'bool' = True' but received args: () and kwargs: ['atoms', 'calculator_name', 'calculator_kwargs', 'ensemble', 'dynamics', 'time_step', 'ase_md_kwargs', 'total_time', 'temperature', 'pressure', 'mb_velocity_seed', 'traj_file', 'traj_interval', 'restart'].\n",
|
361 |
"</pre>\n"
|
362 |
],
|
363 |
"text/plain": [
|
364 |
-
"
|
365 |
-
"Traceback (most recent call last):\n",
|
366 |
-
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/utilities/callables.py\", line 50, in get_call_parameters\n",
|
367 |
-
" bound_signature = inspect.signature(fn).bind(*call_args, **call_kwargs)\n",
|
368 |
-
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
369 |
-
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/inspect.py\", line 3212, in bind\n",
|
370 |
-
" return self._bind(args, kwargs)\n",
|
371 |
-
" ^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
372 |
-
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/inspect.py\", line 3201, in _bind\n",
|
373 |
-
" raise TypeError(\n",
|
374 |
-
"TypeError: got an unexpected keyword argument 'mb_velocity_seed'\n",
|
375 |
-
"\n",
|
376 |
-
"During handling of the above exception, another exception occurred:\n",
|
377 |
-
"\n",
|
378 |
"Traceback (most recent call last):\n",
|
379 |
-
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/
|
380 |
-
"
|
381 |
-
"
|
382 |
-
"
|
383 |
-
"
|
384 |
-
"
|
385 |
-
"
|
386 |
-
"
|
387 |
-
"
|
388 |
-
"
|
389 |
-
"
|
390 |
-
"
|
391 |
-
"
|
392 |
-
"
|
393 |
-
"
|
394 |
-
"
|
395 |
-
"
|
396 |
-
"
|
397 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
398 |
]
|
399 |
},
|
400 |
"metadata": {},
|
@@ -403,47 +386,38 @@
|
|
403 |
{
|
404 |
"data": {
|
405 |
"text/html": [
|
406 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
407 |
"</pre>\n"
|
408 |
],
|
409 |
"text/plain": [
|
410 |
-
"
|
411 |
]
|
412 |
},
|
413 |
"metadata": {},
|
414 |
"output_type": "display_data"
|
415 |
},
|
416 |
{
|
417 |
-
"ename": "
|
418 |
-
"evalue": "
|
419 |
"output_type": "error",
|
420 |
"traceback": [
|
421 |
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
422 |
-
"\u001b[0;
|
423 |
-
"
|
424 |
-
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/
|
425 |
-
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/
|
426 |
-
"\u001b[0;
|
427 |
-
"\
|
428 |
-
"\u001b[0;
|
429 |
-
"
|
430 |
-
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/
|
431 |
-
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/
|
432 |
-
"
|
433 |
-
"
|
434 |
-
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/
|
435 |
-
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/
|
436 |
-
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/
|
437 |
-
"
|
438 |
-
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/engine.py:400\u001b[0m, in \u001b[0;36mcreate_then_begin_flow_run\u001b[0;34m(flow, parameters, wait_for, return_type, client, user_thread)\u001b[0m\n\u001b[1;32m 398\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m state\n\u001b[1;32m 399\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m return_type \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mresult\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[0;32m--> 400\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mawait\u001b[39;00m state\u001b[38;5;241m.\u001b[39mresult(fetch\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[1;32m 401\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 402\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mInvalid return type for flow engine \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mreturn_type\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
|
439 |
-
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/states.py:91\u001b[0m, in \u001b[0;36m_get_state_result\u001b[0;34m(state, raise_on_failure)\u001b[0m\n\u001b[1;32m 84\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m UnfinishedRun(\n\u001b[1;32m 85\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mRun is in \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mstate\u001b[38;5;241m.\u001b[39mtype\u001b[38;5;241m.\u001b[39mname\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m state, its result is not available.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 86\u001b[0m )\n\u001b[1;32m 88\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m raise_on_failure \u001b[38;5;129;01mand\u001b[39;00m (\n\u001b[1;32m 89\u001b[0m state\u001b[38;5;241m.\u001b[39mis_crashed() \u001b[38;5;129;01mor\u001b[39;00m state\u001b[38;5;241m.\u001b[39mis_failed() \u001b[38;5;129;01mor\u001b[39;00m state\u001b[38;5;241m.\u001b[39mis_cancelled()\n\u001b[1;32m 90\u001b[0m ):\n\u001b[0;32m---> 91\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28;01mawait\u001b[39;00m get_state_exception(state)\n\u001b[1;32m 93\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(state\u001b[38;5;241m.\u001b[39mdata, DataDocument):\n\u001b[1;32m 94\u001b[0m result \u001b[38;5;241m=\u001b[39m result_from_state_with_data_document(\n\u001b[1;32m 95\u001b[0m state, raise_on_failure\u001b[38;5;241m=\u001b[39mraise_on_failure\n\u001b[1;32m 96\u001b[0m )\n",
|
440 |
-
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/engine.py:867\u001b[0m, in \u001b[0;36morchestrate_flow_run\u001b[0;34m(flow, flow_run, parameters, wait_for, interruptible, client, partial_flow_run_context, user_thread)\u001b[0m\n\u001b[1;32m 862\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 863\u001b[0m from_async\u001b[38;5;241m.\u001b[39mcall_soon_in_new_thread(\n\u001b[1;32m 864\u001b[0m flow_call, timeout\u001b[38;5;241m=\u001b[39mflow\u001b[38;5;241m.\u001b[39mtimeout_seconds\n\u001b[1;32m 865\u001b[0m )\n\u001b[0;32m--> 867\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mawait\u001b[39;00m flow_call\u001b[38;5;241m.\u001b[39maresult()\n\u001b[1;32m 869\u001b[0m waited_for_task_runs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mawait\u001b[39;00m wait_for_task_runs_and_report_crashes(\n\u001b[1;32m 870\u001b[0m flow_run_context\u001b[38;5;241m.\u001b[39mtask_run_futures, client\u001b[38;5;241m=\u001b[39mclient\n\u001b[1;32m 871\u001b[0m )\n\u001b[1;32m 872\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m PausedRun \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[1;32m 873\u001b[0m \u001b[38;5;66;03m# could get raised either via utility or by returning Paused from a task run\u001b[39;00m\n\u001b[1;32m 874\u001b[0m \u001b[38;5;66;03m# if a task run pauses, we set its state as the flow's state\u001b[39;00m\n\u001b[1;32m 875\u001b[0m \u001b[38;5;66;03m# to preserve reschedule and timeout behavior\u001b[39;00m\n",
|
441 |
-
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py:327\u001b[0m, in \u001b[0;36mCall.aresult\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 321\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 322\u001b[0m \u001b[38;5;124;03mWait for the result of the call.\u001b[39;00m\n\u001b[1;32m 323\u001b[0m \n\u001b[1;32m 324\u001b[0m \u001b[38;5;124;03mFor use from asynchronous contexts.\u001b[39;00m\n\u001b[1;32m 325\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 326\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 327\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mawait\u001b[39;00m asyncio\u001b[38;5;241m.\u001b[39mwrap_future(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfuture)\n\u001b[1;32m 328\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m asyncio\u001b[38;5;241m.\u001b[39mCancelledError \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[1;32m 329\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m CancelledError() \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mexc\u001b[39;00m\n",
|
442 |
-
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py:352\u001b[0m, in \u001b[0;36mCall._run_sync\u001b[0;34m(***failed resolving arguments***)\u001b[0m\n\u001b[1;32m 350\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfuture\u001b[38;5;241m.\u001b[39menforce_sync_deadline() \u001b[38;5;28;01mas\u001b[39;00m cancel_scope:\n\u001b[1;32m 351\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 352\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 353\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 354\u001b[0m \u001b[38;5;66;03m# Forget this call's arguments in order to free up any memory\u001b[39;00m\n\u001b[1;32m 355\u001b[0m \u001b[38;5;66;03m# that may be referenced by them; after a call has happened,\u001b[39;00m\n\u001b[1;32m 356\u001b[0m \u001b[38;5;66;03m# there's no need to keep a reference to them\u001b[39;00m\n\u001b[1;32m 357\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39margs \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
|
443 |
-
"Cell \u001b[0;32mIn[6], line 6\u001b[0m, in \u001b[0;36mcombustion\u001b[0;34m(atoms)\u001b[0m\n\u001b[1;32m 3\u001b[0m futures \u001b[38;5;241m=\u001b[39m []\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m model \u001b[38;5;129;01min\u001b[39;00m MLIPEnum:\n\u001b[0;32m----> 6\u001b[0m future \u001b[38;5;241m=\u001b[39m \u001b[43mMD\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubmit\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 7\u001b[0m \u001b[43m \u001b[49m\u001b[43matoms\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43matoms\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 8\u001b[0m \u001b[43m \u001b[49m\u001b[43mcalculator_name\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmodel\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 9\u001b[0m \u001b[43m \u001b[49m\u001b[43mcalculator_kwargs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 10\u001b[0m \u001b[43m \u001b[49m\u001b[43mensemble\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mnvt\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 11\u001b[0m \u001b[43m \u001b[49m\u001b[43mdynamics\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mnose-hoover\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 12\u001b[0m \u001b[43m \u001b[49m\u001b[43mtime_step\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 13\u001b[0m \u001b[43m \u001b[49m\u001b[43mase_md_kwargs\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mdict\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mttime\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m25\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m \u001b[49m\u001b[43munits\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpfactor\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 14\u001b[0m \u001b[43m \u001b[49m\u001b[43mtotal_time\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m1000_000\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 15\u001b[0m \u001b[43m \u001b[49m\u001b[43mtemperature\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m300\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m3000\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m3000\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m300\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 16\u001b[0m \u001b[43m \u001b[49m\u001b[43mpressure\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 17\u001b[0m \u001b[43m \u001b[49m\u001b[43mmb_velocity_seed\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 18\u001b[0m \u001b[43m \u001b[49m\u001b[43mtraj_file\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mPath\u001b[49m\u001b[43m(\u001b[49m\u001b[43mREGISTRY\u001b[49m\u001b[43m[\u001b[49m\u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mname\u001b[49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mfamily\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 19\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m/\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;124;43mf\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;132;43;01m{\u001b[39;49;00m\u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mname\u001b[49m\u001b[38;5;132;43;01m}\u001b[39;49;00m\u001b[38;5;124;43m_\u001b[39;49m\u001b[38;5;132;43;01m{\u001b[39;49;00m\u001b[43matoms\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_chemical_formula\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;132;43;01m}\u001b[39;49;00m\u001b[38;5;124;43m.traj\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 20\u001b[0m \u001b[43m \u001b[49m\u001b[43mtraj_interval\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m1000\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 21\u001b[0m \u001b[43m \u001b[49m\u001b[43mrestart\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\n\u001b[1;32m 22\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 24\u001b[0m futures\u001b[38;5;241m.\u001b[39mappend(future)\n\u001b[1;32m 26\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m [future\u001b[38;5;241m.\u001b[39mresult() \u001b[38;5;28;01mfor\u001b[39;00m future \u001b[38;5;129;01min\u001b[39;00m futures]\n",
|
444 |
-
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/tasks.py:811\u001b[0m, in \u001b[0;36mTask.submit\u001b[0;34m(self, return_state, wait_for, *args, **kwargs)\u001b[0m\n\u001b[1;32m 808\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mprefect\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mengine\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m create_autonomous_task_run, enter_task_run_engine\n\u001b[1;32m 810\u001b[0m \u001b[38;5;66;03m# Convert the call args/kwargs to a parameter dict\u001b[39;00m\n\u001b[0;32m--> 811\u001b[0m parameters \u001b[38;5;241m=\u001b[39m \u001b[43mget_call_parameters\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 812\u001b[0m return_type \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstate\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m return_state \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mfuture\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 814\u001b[0m task_viz_tracker \u001b[38;5;241m=\u001b[39m get_task_viz_tracker()\n",
|
445 |
-
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/utilities/callables.py:52\u001b[0m, in \u001b[0;36mget_call_parameters\u001b[0;34m(fn, call_args, call_kwargs, apply_defaults)\u001b[0m\n\u001b[1;32m 50\u001b[0m bound_signature \u001b[38;5;241m=\u001b[39m inspect\u001b[38;5;241m.\u001b[39msignature(fn)\u001b[38;5;241m.\u001b[39mbind(\u001b[38;5;241m*\u001b[39mcall_args, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mcall_kwargs)\n\u001b[1;32m 51\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[0;32m---> 52\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m ParameterBindError\u001b[38;5;241m.\u001b[39mfrom_bind_failure(fn, exc, call_args, call_kwargs)\n\u001b[1;32m 54\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m apply_defaults:\n\u001b[1;32m 55\u001b[0m bound_signature\u001b[38;5;241m.\u001b[39mapply_defaults()\n",
|
446 |
-
"\u001b[0;31mParameterBindError\u001b[0m: Error binding parameters for function 'run': got an unexpected keyword argument 'mb_velocity_seed'.\nFunction 'run' has signature 'atoms: 'Atoms', calculator_name: 'str | MLIPEnum', calculator_kwargs: 'dict | None', dispersion: 'str | None' = None, dispersion_kwargs: 'dict | None' = None, device: 'str | None' = None, ensemble: \"Literal['nve', 'nvt', 'npt']\" = 'nvt', dynamics: 'str | MolecularDynamics' = 'langevin', time_step: 'float | None' = None, total_time: 'float' = 1000, temperature: 'float | Sequence | np.ndarray | None' = 300.0, pressure: 'float | Sequence | np.ndarray | None' = None, ase_md_kwargs: 'dict | None' = None, md_velocity_seed: 'int | None' = None, zero_linear_momentum: 'bool' = True, zero_angular_momentum: 'bool' = True, traj_file: 'str | Path | None' = None, traj_interval: 'int' = 1, restart: 'bool' = True' but received args: () and kwargs: ['atoms', 'calculator_name', 'calculator_kwargs', 'ensemble', 'dynamics', 'time_step', 'ase_md_kwargs', 'total_time', 'temperature', 'pressure', 'mb_velocity_seed', 'traj_file', 'traj_interval', 'restart']."
|
447 |
]
|
448 |
}
|
449 |
],
|
|
|
34 |
},
|
35 |
{
|
36 |
"cell_type": "code",
|
37 |
+
"execution_count": 3,
|
38 |
"metadata": {},
|
39 |
"outputs": [],
|
40 |
"source": [
|
|
|
49 |
},
|
50 |
{
|
51 |
"cell_type": "code",
|
52 |
+
"execution_count": 4,
|
53 |
"metadata": {},
|
54 |
"outputs": [],
|
55 |
"source": [
|
|
|
60 |
},
|
61 |
{
|
62 |
"cell_type": "code",
|
63 |
+
"execution_count": 5,
|
64 |
"metadata": {},
|
65 |
"outputs": [],
|
66 |
"source": [
|
|
|
78 |
},
|
79 |
{
|
80 |
"cell_type": "code",
|
81 |
+
"execution_count": 6,
|
82 |
"metadata": {},
|
83 |
+
"outputs": [
|
84 |
+
{
|
85 |
+
"name": "stdout",
|
86 |
+
"output_type": "stream",
|
87 |
+
"text": [
|
88 |
+
"Atoms(symbols='H256O128', pbc=True, cell=[30.0, 30.0, 30.0])\n"
|
89 |
+
]
|
90 |
+
}
|
91 |
+
],
|
92 |
"source": [
|
93 |
"tolerance = 2.0\n",
|
94 |
"input_gen = PackmolBoxGen(\n",
|
|
|
144 |
},
|
145 |
{
|
146 |
"cell_type": "code",
|
147 |
+
"execution_count": 3,
|
148 |
"metadata": {},
|
149 |
"outputs": [
|
150 |
{
|
|
|
163 |
"source ~/.bashrc\n",
|
164 |
"module load python\n",
|
165 |
"source activate /pscratch/sd/c/cyrusyc/.conda/mlip-arena\n",
|
166 |
+
"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/bin/python -m distributed.cli.dask_worker tcp://128.55.64.19:39737 --name dummy-name --nthreads 1 --memory-limit 59.60GiB --nanny --death-timeout 60\n",
|
167 |
"\n"
|
168 |
]
|
169 |
},
|
|
|
173 |
"text": [
|
174 |
"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/distributed/node.py:182: UserWarning: Port 8787 is already in use.\n",
|
175 |
"Perhaps you already have a cluster running?\n",
|
176 |
+
"Hosting the HTTP server on port 38693 instead\n",
|
177 |
+
" warnings.warn(\n",
|
178 |
+
"2024-10-08 03:30:05,696 - distributed.scheduler - ERROR - Task run-b8e0881eb1e8959f855ada9515884ada marked as failed because 4 workers died while trying to run it\n",
|
179 |
+
"2024-10-08 03:30:05,723 - distributed.scheduler - ERROR - Task run-3307095fc41590db704148cc499bad14 marked as failed because 4 workers died while trying to run it\n"
|
180 |
]
|
181 |
}
|
182 |
],
|
|
|
240 |
},
|
241 |
{
|
242 |
"cell_type": "code",
|
243 |
+
"execution_count": 4,
|
244 |
"metadata": {},
|
245 |
"outputs": [],
|
246 |
"source": [
|
|
|
260 |
" total_time=1000_000,\n",
|
261 |
" temperature=[300, 3000, 3000, 300],\n",
|
262 |
" pressure=None,\n",
|
263 |
+
" md_velocity_seed=0,\n",
|
264 |
" traj_file=Path(REGISTRY[model.name][\"family\"])\n",
|
265 |
" / f\"{model.name}_{atoms.get_chemical_formula()}.traj\",\n",
|
266 |
" traj_interval=1000,\n",
|
|
|
274 |
},
|
275 |
{
|
276 |
"cell_type": "code",
|
277 |
+
"execution_count": 5,
|
278 |
"metadata": {
|
279 |
"tags": []
|
280 |
},
|
|
|
282 |
{
|
283 |
"data": {
|
284 |
"text/html": [
|
285 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">01:25:41.097 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | prefect.engine - Created flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'green-turaco'</span> for flow<span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\"> 'combustion'</span>\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
286 |
"</pre>\n"
|
287 |
],
|
288 |
"text/plain": [
|
289 |
+
"01:25:41.097 | \u001b[36mINFO\u001b[0m | prefect.engine - Created flow run\u001b[35m 'green-turaco'\u001b[0m for flow\u001b[1;35m 'combustion'\u001b[0m\n"
|
290 |
]
|
291 |
},
|
292 |
"metadata": {},
|
|
|
295 |
{
|
296 |
"data": {
|
297 |
"text/html": [
|
298 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">01:25:41.101 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | prefect.engine - View at <span style=\"color: #0000ff; text-decoration-color: #0000ff\">https://app.prefect.cloud/account/f7d40474-9362-4bfa-8950-ee6a43ec00f3/workspace/d4bb0913-5f5e-49f7-bfc5-06509088baeb/runs/flow-run/784dc0e0-9f4f-4320-8bfa-4c5e8d3b35fb</span>\n",
|
299 |
"</pre>\n"
|
300 |
],
|
301 |
"text/plain": [
|
302 |
+
"01:25:41.101 | \u001b[36mINFO\u001b[0m | prefect.engine - View at \u001b[94mhttps://app.prefect.cloud/account/f7d40474-9362-4bfa-8950-ee6a43ec00f3/workspace/d4bb0913-5f5e-49f7-bfc5-06509088baeb/runs/flow-run/784dc0e0-9f4f-4320-8bfa-4c5e8d3b35fb\u001b[0m\n"
|
303 |
]
|
304 |
},
|
305 |
"metadata": {},
|
|
|
308 |
{
|
309 |
"data": {
|
310 |
"text/html": [
|
311 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">01:25:41.409 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | prefect.task_runner.dask - Connecting to existing Dask cluster SLURMCluster(91d5c261, 'tcp://128.55.64.19:39737', workers=0, threads=0, memory=0 B)\n",
|
312 |
"</pre>\n"
|
313 |
],
|
314 |
"text/plain": [
|
315 |
+
"01:25:41.409 | \u001b[36mINFO\u001b[0m | prefect.task_runner.dask - Connecting to existing Dask cluster SLURMCluster(91d5c261, 'tcp://128.55.64.19:39737', workers=0, threads=0, memory=0 B)\n"
|
316 |
]
|
317 |
},
|
318 |
"metadata": {},
|
|
|
321 |
{
|
322 |
"data": {
|
323 |
"text/html": [
|
324 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">03:30:05.739 | <span style=\"color: #d70000; text-decoration-color: #d70000\">ERROR</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'green-turaco'</span> - Encountered exception during execution: KilledWorker('run-3307095fc41590db704148cc499bad14', <WorkerState 'tcp://128.55.65.2:37007', name: SLURMCluster-1, status: closed, memory: 0, processing: 0>, 3)\n",
|
325 |
"Traceback (most recent call last):\n",
|
326 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flow_engine.py\", line 652, in run_context\n",
|
327 |
+
" yield self\n",
|
328 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flow_engine.py\", line 696, in run_flow_sync\n",
|
329 |
+
" engine.call_flow_fn()\n",
|
330 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flow_engine.py\", line 675, in call_flow_fn\n",
|
331 |
+
" result = call_with_parameters(self.flow.fn, self.parameters)\n",
|
332 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
333 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/utilities/callables.py\", line 206, in call_with_parameters\n",
|
334 |
+
" return fn(*args, **kwargs)\n",
|
335 |
+
" ^^^^^^^^^^^^^^^^^^^\n",
|
336 |
+
" File \"/tmp/ipykernel_892374/2043615938.py\", line 26, in combustion\n",
|
337 |
+
" return [future.result() for future in futures]\n",
|
338 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
339 |
+
" File \"/tmp/ipykernel_892374/2043615938.py\", line 26, in <listcomp>\n",
|
340 |
+
" return [future.result() for future in futures]\n",
|
341 |
+
" ^^^^^^^^^^^^^^^\n",
|
342 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect_dask/task_runners.py\", line 132, in result\n",
|
343 |
+
" future_result = self._wrapped_future.result(timeout=timeout)\n",
|
344 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
345 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/distributed/client.py\", line 328, in result\n",
|
346 |
+
" return self.client.sync(self._result, callback_timeout=timeout)\n",
|
347 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
348 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/distributed/client.py\", line 336, in _result\n",
|
349 |
+
" raise exc.with_traceback(tb)\n",
|
350 |
+
"distributed.scheduler.KilledWorker: Attempted to run task 'run-3307095fc41590db704148cc499bad14' on 4 different workers, but all those workers died while running it. The last worker that attempt to run the task was tcp://128.55.65.2:37007. Inspecting worker logs is often a good next step to diagnose what went wrong. For more information see <span style=\"color: #0000ff; text-decoration-color: #0000ff\">https://distributed.dask.org/en/stable/killed.html.</span>\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
351 |
"</pre>\n"
|
352 |
],
|
353 |
"text/plain": [
|
354 |
+
"03:30:05.739 | \u001b[38;5;160mERROR\u001b[0m | Flow run\u001b[35m 'green-turaco'\u001b[0m - Encountered exception during execution: KilledWorker('run-3307095fc41590db704148cc499bad14', <WorkerState 'tcp://128.55.65.2:37007', name: SLURMCluster-1, status: closed, memory: 0, processing: 0>, 3)\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
355 |
"Traceback (most recent call last):\n",
|
356 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flow_engine.py\", line 652, in run_context\n",
|
357 |
+
" yield self\n",
|
358 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flow_engine.py\", line 696, in run_flow_sync\n",
|
359 |
+
" engine.call_flow_fn()\n",
|
360 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flow_engine.py\", line 675, in call_flow_fn\n",
|
361 |
+
" result = call_with_parameters(self.flow.fn, self.parameters)\n",
|
362 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
363 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/utilities/callables.py\", line 206, in call_with_parameters\n",
|
364 |
+
" return fn(*args, **kwargs)\n",
|
365 |
+
" ^^^^^^^^^^^^^^^^^^^\n",
|
366 |
+
" File \"/tmp/ipykernel_892374/2043615938.py\", line 26, in combustion\n",
|
367 |
+
" return [future.result() for future in futures]\n",
|
368 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
369 |
+
" File \"/tmp/ipykernel_892374/2043615938.py\", line 26, in <listcomp>\n",
|
370 |
+
" return [future.result() for future in futures]\n",
|
371 |
+
" ^^^^^^^^^^^^^^^\n",
|
372 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect_dask/task_runners.py\", line 132, in result\n",
|
373 |
+
" future_result = self._wrapped_future.result(timeout=timeout)\n",
|
374 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
375 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/distributed/client.py\", line 328, in result\n",
|
376 |
+
" return self.client.sync(self._result, callback_timeout=timeout)\n",
|
377 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
378 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/distributed/client.py\", line 336, in _result\n",
|
379 |
+
" raise exc.with_traceback(tb)\n",
|
380 |
+
"distributed.scheduler.KilledWorker: Attempted to run task 'run-3307095fc41590db704148cc499bad14' on 4 different workers, but all those workers died while running it. The last worker that attempt to run the task was tcp://128.55.65.2:37007. Inspecting worker logs is often a good next step to diagnose what went wrong. For more information see \u001b[94mhttps://distributed.dask.org/en/stable/killed.html.\u001b[0m\n"
|
381 |
]
|
382 |
},
|
383 |
"metadata": {},
|
|
|
386 |
{
|
387 |
"data": {
|
388 |
"text/html": [
|
389 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">03:30:06.504 | <span style=\"color: #d70000; text-decoration-color: #d70000\">ERROR</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'green-turaco'</span> - Finished in state <span style=\"color: #d70000; text-decoration-color: #d70000\">Failed</span>(\"Flow run encountered an exception: KilledWorker: Attempted to run task 'run-3307095fc41590db704148cc499bad14' on 4 different workers, but all those workers died while running it. The last worker that attempt to run the task was tcp://128.55.65.2:37007. Inspecting worker logs is often a good next step to diagnose what went wrong. For more information see <span style=\"color: #0000ff; text-decoration-color: #0000ff\">https://distributed.dask.org/en/stable/killed.html.</span>\")\n",
|
390 |
"</pre>\n"
|
391 |
],
|
392 |
"text/plain": [
|
393 |
+
"03:30:06.504 | \u001b[38;5;160mERROR\u001b[0m | Flow run\u001b[35m 'green-turaco'\u001b[0m - Finished in state \u001b[38;5;160mFailed\u001b[0m(\"Flow run encountered an exception: KilledWorker: Attempted to run task 'run-3307095fc41590db704148cc499bad14' on 4 different workers, but all those workers died while running it. The last worker that attempt to run the task was tcp://128.55.65.2:37007. Inspecting worker logs is often a good next step to diagnose what went wrong. For more information see \u001b[94mhttps://distributed.dask.org/en/stable/killed.html.\u001b[0m\")\n"
|
394 |
]
|
395 |
},
|
396 |
"metadata": {},
|
397 |
"output_type": "display_data"
|
398 |
},
|
399 |
{
|
400 |
+
"ename": "KilledWorker",
|
401 |
+
"evalue": "Attempted to run task 'run-3307095fc41590db704148cc499bad14' on 4 different workers, but all those workers died while running it. The last worker that attempt to run the task was tcp://128.55.65.2:37007. Inspecting worker logs is often a good next step to diagnose what went wrong. For more information see https://distributed.dask.org/en/stable/killed.html.",
|
402 |
"output_type": "error",
|
403 |
"traceback": [
|
404 |
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
405 |
+
"\u001b[0;31mKilledWorker\u001b[0m Traceback (most recent call last)",
|
406 |
+
"Cell \u001b[0;32mIn[5], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m results \u001b[38;5;241m=\u001b[39m \u001b[43mcombustion\u001b[49m\u001b[43m(\u001b[49m\u001b[43matoms\u001b[49m\u001b[43m)\u001b[49m\n",
|
407 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flows.py:1345\u001b[0m, in \u001b[0;36mFlow.__call__\u001b[0;34m(self, return_state, wait_for, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1341\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m track_viz_task(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39misasync, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mname, parameters)\n\u001b[1;32m 1343\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mprefect\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mflow_engine\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m run_flow\n\u001b[0;32m-> 1345\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mrun_flow\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1346\u001b[0m \u001b[43m \u001b[49m\u001b[43mflow\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1347\u001b[0m \u001b[43m \u001b[49m\u001b[43mparameters\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mparameters\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1348\u001b[0m \u001b[43m \u001b[49m\u001b[43mwait_for\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mwait_for\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1349\u001b[0m \u001b[43m \u001b[49m\u001b[43mreturn_type\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mreturn_type\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1350\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n",
|
408 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flow_engine.py:818\u001b[0m, in \u001b[0;36mrun_flow\u001b[0;34m(flow, flow_run, parameters, wait_for, return_type)\u001b[0m\n\u001b[1;32m 816\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m run_flow_async(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 817\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 818\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mrun_flow_sync\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
409 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flow_engine.py:698\u001b[0m, in \u001b[0;36mrun_flow_sync\u001b[0;34m(flow, flow_run, parameters, wait_for, return_type)\u001b[0m\n\u001b[1;32m 695\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m engine\u001b[38;5;241m.\u001b[39mrun_context():\n\u001b[1;32m 696\u001b[0m engine\u001b[38;5;241m.\u001b[39mcall_flow_fn()\n\u001b[0;32m--> 698\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m engine\u001b[38;5;241m.\u001b[39mstate \u001b[38;5;28;01mif\u001b[39;00m return_type \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstate\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m \u001b[43mengine\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresult\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
|
410 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flow_engine.py:255\u001b[0m, in \u001b[0;36mFlowRunEngine.result\u001b[0;34m(self, raise_on_failure)\u001b[0m\n\u001b[1;32m 253\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_raised \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m NotSet:\n\u001b[1;32m 254\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m raise_on_failure:\n\u001b[0;32m--> 255\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_raised\n\u001b[1;32m 256\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_raised\n\u001b[1;32m 258\u001b[0m \u001b[38;5;66;03m# This is a fall through case which leans on the existing state result mechanics to get the\u001b[39;00m\n\u001b[1;32m 259\u001b[0m \u001b[38;5;66;03m# return value. This is necessary because we currently will return a State object if the\u001b[39;00m\n\u001b[1;32m 260\u001b[0m \u001b[38;5;66;03m# the State was Prefect-created.\u001b[39;00m\n\u001b[1;32m 261\u001b[0m \u001b[38;5;66;03m# TODO: Remove the need to get the result from a State except in cases where the return value\u001b[39;00m\n\u001b[1;32m 262\u001b[0m \u001b[38;5;66;03m# is a State object.\u001b[39;00m\n",
|
411 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flow_engine.py:652\u001b[0m, in \u001b[0;36mFlowRunEngine.run_context\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 645\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m timeout_context(\n\u001b[1;32m 646\u001b[0m seconds\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mflow\u001b[38;5;241m.\u001b[39mtimeout_seconds,\n\u001b[1;32m 647\u001b[0m timeout_exc_type\u001b[38;5;241m=\u001b[39mFlowRunTimeoutError,\n\u001b[1;32m 648\u001b[0m ):\n\u001b[1;32m 649\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlogger\u001b[38;5;241m.\u001b[39mdebug(\n\u001b[1;32m 650\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mExecuting flow \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mflow\u001b[38;5;241m.\u001b[39mname\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m for flow run \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mflow_run\u001b[38;5;241m.\u001b[39mname\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m...\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 651\u001b[0m )\n\u001b[0;32m--> 652\u001b[0m \u001b[38;5;28;01myield\u001b[39;00m \u001b[38;5;28mself\u001b[39m\n\u001b[1;32m 653\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mTimeoutError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[1;32m 654\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandle_timeout(exc)\n",
|
412 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flow_engine.py:696\u001b[0m, in \u001b[0;36mrun_flow_sync\u001b[0;34m(flow, flow_run, parameters, wait_for, return_type)\u001b[0m\n\u001b[1;32m 694\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m engine\u001b[38;5;241m.\u001b[39mis_running():\n\u001b[1;32m 695\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m engine\u001b[38;5;241m.\u001b[39mrun_context():\n\u001b[0;32m--> 696\u001b[0m \u001b[43mengine\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcall_flow_fn\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 698\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m engine\u001b[38;5;241m.\u001b[39mstate \u001b[38;5;28;01mif\u001b[39;00m return_type \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstate\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m engine\u001b[38;5;241m.\u001b[39mresult()\n",
|
413 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flow_engine.py:675\u001b[0m, in \u001b[0;36mFlowRunEngine.call_flow_fn\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 673\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _call_flow_fn()\n\u001b[1;32m 674\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 675\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43mcall_with_parameters\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mflow\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mparameters\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 676\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandle_success(result)\n",
|
414 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/utilities/callables.py:206\u001b[0m, in \u001b[0;36mcall_with_parameters\u001b[0;34m(fn, parameters)\u001b[0m\n\u001b[1;32m 198\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 199\u001b[0m \u001b[38;5;124;03mCall a function with parameters extracted with `get_call_parameters`\u001b[39;00m\n\u001b[1;32m 200\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 203\u001b[0m \u001b[38;5;124;03mthe args/kwargs using `parameters_to_positional_and_keyword` directly\u001b[39;00m\n\u001b[1;32m 204\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 205\u001b[0m args, kwargs \u001b[38;5;241m=\u001b[39m parameters_to_args_kwargs(fn, parameters)\n\u001b[0;32m--> 206\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
415 |
+
"Cell \u001b[0;32mIn[4], line 26\u001b[0m, in \u001b[0;36mcombustion\u001b[0;34m(atoms)\u001b[0m\n\u001b[1;32m 6\u001b[0m future \u001b[38;5;241m=\u001b[39m MD\u001b[38;5;241m.\u001b[39msubmit(\n\u001b[1;32m 7\u001b[0m atoms\u001b[38;5;241m=\u001b[39matoms,\n\u001b[1;32m 8\u001b[0m calculator_name\u001b[38;5;241m=\u001b[39mmodel,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 21\u001b[0m restart\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[1;32m 22\u001b[0m )\n\u001b[1;32m 24\u001b[0m futures\u001b[38;5;241m.\u001b[39mappend(future)\n\u001b[0;32m---> 26\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m[\u001b[49m\u001b[43mfuture\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresult\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mfor\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mfuture\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01min\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mfutures\u001b[49m\u001b[43m]\u001b[49m\n",
|
416 |
+
"Cell \u001b[0;32mIn[4], line 26\u001b[0m, in \u001b[0;36m<listcomp>\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 6\u001b[0m future \u001b[38;5;241m=\u001b[39m MD\u001b[38;5;241m.\u001b[39msubmit(\n\u001b[1;32m 7\u001b[0m atoms\u001b[38;5;241m=\u001b[39matoms,\n\u001b[1;32m 8\u001b[0m calculator_name\u001b[38;5;241m=\u001b[39mmodel,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 21\u001b[0m restart\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[1;32m 22\u001b[0m )\n\u001b[1;32m 24\u001b[0m futures\u001b[38;5;241m.\u001b[39mappend(future)\n\u001b[0;32m---> 26\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m [\u001b[43mfuture\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresult\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m future \u001b[38;5;129;01min\u001b[39;00m futures]\n",
|
417 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect_dask/task_runners.py:132\u001b[0m, in \u001b[0;36mPrefectDaskFuture.result\u001b[0;34m(self, timeout, raise_on_failure)\u001b[0m\n\u001b[1;32m 130\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_final_state:\n\u001b[1;32m 131\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 132\u001b[0m future_result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_wrapped_future\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresult\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtimeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 133\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m distributed\u001b[38;5;241m.\u001b[39mTimeoutError \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[1;32m 134\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTimeoutError\u001b[39;00m(\n\u001b[1;32m 135\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mTask run \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtask_run_id\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m did not complete within \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mtimeout\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m seconds\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 136\u001b[0m ) \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mexc\u001b[39;00m\n",
|
418 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/distributed/client.py:328\u001b[0m, in \u001b[0;36mFuture.result\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 326\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_verify_initialized()\n\u001b[1;32m 327\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m shorten_traceback():\n\u001b[0;32m--> 328\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mclient\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msync\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_result\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcallback_timeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtimeout\u001b[49m\u001b[43m)\u001b[49m\n",
|
419 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/distributed/client.py:336\u001b[0m, in \u001b[0;36mFuture._result\u001b[0;34m(self, raiseit)\u001b[0m\n\u001b[1;32m 334\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m raiseit:\n\u001b[1;32m 335\u001b[0m typ, exc, tb \u001b[38;5;241m=\u001b[39m exc\n\u001b[0;32m--> 336\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exc\u001b[38;5;241m.\u001b[39mwith_traceback(tb)\n\u001b[1;32m 337\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 338\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m exc\n",
|
420 |
+
"\u001b[0;31mKilledWorker\u001b[0m: Attempted to run task 'run-3307095fc41590db704148cc499bad14' on 4 different workers, but all those workers died while running it. The last worker that attempt to run the task was tcp://128.55.65.2:37007. Inspecting worker logs is often a good next step to diagnose what went wrong. For more information see https://distributed.dask.org/en/stable/killed.html."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
421 |
]
|
422 |
}
|
423 |
],
|
mlip_arena/tasks/eos/run.ipynb
ADDED
@@ -0,0 +1,645 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"cells": [
|
3 |
+
{
|
4 |
+
"cell_type": "code",
|
5 |
+
"execution_count": 1,
|
6 |
+
"metadata": {},
|
7 |
+
"outputs": [],
|
8 |
+
"source": [
|
9 |
+
"import os\n",
|
10 |
+
"from mp_api.client import MPRester\n",
|
11 |
+
"from dask.distributed import Client\n",
|
12 |
+
"from dask_jobqueue import SLURMCluster\n",
|
13 |
+
"from prefect import task, flow\n",
|
14 |
+
"from prefect_dask import DaskTaskRunner\n",
|
15 |
+
"from pymatgen.core.structure import Structure\n",
|
16 |
+
"from dotenv import load_dotenv\n",
|
17 |
+
"from ase import Atoms\n",
|
18 |
+
"from ase.io import write, read\n",
|
19 |
+
"from pathlib import Path\n",
|
20 |
+
"import pandas as pd\n",
|
21 |
+
"from prefect.futures import wait\n",
|
22 |
+
"\n",
|
23 |
+
"from mlip_arena.tasks.eos.run import fit as EOS\n",
|
24 |
+
"from mlip_arena.models.utils import REGISTRY, MLIPEnum\n",
|
25 |
+
"\n",
|
26 |
+
"load_dotenv()\n",
|
27 |
+
"\n",
|
28 |
+
"MP_API_KEY = os.environ.get(\"MP_API_KEY\", None)"
|
29 |
+
]
|
30 |
+
},
|
31 |
+
{
|
32 |
+
"cell_type": "code",
|
33 |
+
"execution_count": 2,
|
34 |
+
"metadata": {},
|
35 |
+
"outputs": [
|
36 |
+
{
|
37 |
+
"name": "stdout",
|
38 |
+
"output_type": "stream",
|
39 |
+
"text": [
|
40 |
+
"MP Database version: 2023.11.1\n"
|
41 |
+
]
|
42 |
+
},
|
43 |
+
{
|
44 |
+
"data": {
|
45 |
+
"application/vnd.jupyter.widget-view+json": {
|
46 |
+
"model_id": "bf1668eac663453aa9a20149ecf726c4",
|
47 |
+
"version_major": 2,
|
48 |
+
"version_minor": 0
|
49 |
+
},
|
50 |
+
"text/plain": [
|
51 |
+
"Retrieving SummaryDoc documents: 0%| | 0/5135 [00:00<?, ?it/s]"
|
52 |
+
]
|
53 |
+
},
|
54 |
+
"metadata": {},
|
55 |
+
"output_type": "display_data"
|
56 |
+
}
|
57 |
+
],
|
58 |
+
"source": [
|
59 |
+
"\n",
|
60 |
+
"with MPRester(MP_API_KEY) as mpr:\n",
|
61 |
+
" print(\"MP Database version:\", mpr.get_database_version())\n",
|
62 |
+
"\n",
|
63 |
+
" summary_docs = mpr.materials.summary.search(\n",
|
64 |
+
" num_elements=(1, 2),\n",
|
65 |
+
" is_stable=True,\n",
|
66 |
+
" fields=[\"material_id\", \"structure\", \"formula_pretty\"]\n",
|
67 |
+
" )\n"
|
68 |
+
]
|
69 |
+
},
|
70 |
+
{
|
71 |
+
"cell_type": "code",
|
72 |
+
"execution_count": 8,
|
73 |
+
"metadata": {},
|
74 |
+
"outputs": [],
|
75 |
+
"source": [
|
76 |
+
"\n",
|
77 |
+
"atoms_list = []\n",
|
78 |
+
"\n",
|
79 |
+
"for doc in summary_docs:\n",
|
80 |
+
"\n",
|
81 |
+
" structure = doc.structure\n",
|
82 |
+
" assert isinstance(structure, Structure)\n",
|
83 |
+
"\n",
|
84 |
+
" atoms = structure.to_ase_atoms()\n",
|
85 |
+
"\n",
|
86 |
+
" atoms_list.append(atoms)\n"
|
87 |
+
]
|
88 |
+
},
|
89 |
+
{
|
90 |
+
"cell_type": "code",
|
91 |
+
"execution_count": 5,
|
92 |
+
"metadata": {},
|
93 |
+
"outputs": [],
|
94 |
+
"source": [
|
95 |
+
"write(\"all.extxyz\", atoms_list)"
|
96 |
+
]
|
97 |
+
},
|
98 |
+
{
|
99 |
+
"cell_type": "code",
|
100 |
+
"execution_count": 3,
|
101 |
+
"metadata": {
|
102 |
+
"tags": []
|
103 |
+
},
|
104 |
+
"outputs": [],
|
105 |
+
"source": [
|
106 |
+
"atoms_list = read(\"all.extxyz\", index=':')"
|
107 |
+
]
|
108 |
+
},
|
109 |
+
{
|
110 |
+
"cell_type": "code",
|
111 |
+
"execution_count": 4,
|
112 |
+
"metadata": {},
|
113 |
+
"outputs": [
|
114 |
+
{
|
115 |
+
"name": "stdout",
|
116 |
+
"output_type": "stream",
|
117 |
+
"text": [
|
118 |
+
"#!/bin/bash\n",
|
119 |
+
"\n",
|
120 |
+
"#SBATCH -A matgen\n",
|
121 |
+
"#SBATCH --mem=0\n",
|
122 |
+
"#SBATCH -t 00:30:00\n",
|
123 |
+
"#SBATCH -N 1\n",
|
124 |
+
"#SBATCH -G 4\n",
|
125 |
+
"#SBATCH -q debug\n",
|
126 |
+
"#SBATCH -C gpu\n",
|
127 |
+
"#SBATCH -J eos\n",
|
128 |
+
"source ~/.bashrc\n",
|
129 |
+
"module load python\n",
|
130 |
+
"source activate /pscratch/sd/c/cyrusyc/.conda/mlip-arena\n",
|
131 |
+
"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/bin/python -m distributed.cli.dask_worker tcp://128.55.64.41:45323 --name dummy-name --nthreads 1 --memory-limit 59.60GiB --nanny --death-timeout 60\n",
|
132 |
+
"\n"
|
133 |
+
]
|
134 |
+
},
|
135 |
+
{
|
136 |
+
"name": "stderr",
|
137 |
+
"output_type": "stream",
|
138 |
+
"text": [
|
139 |
+
"Exception in thread Profile:\n",
|
140 |
+
"Traceback (most recent call last):\n",
|
141 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/threading.py\", line 1045, in _bootstrap_inner\n",
|
142 |
+
" self.run()\n",
|
143 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/ipykernel/ipkernel.py\", line 766, in run_closure\n",
|
144 |
+
" _threading_Thread_run(self)\n",
|
145 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/threading.py\", line 982, in run\n",
|
146 |
+
" self._target(*self._args, **self._kwargs)\n",
|
147 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/distributed/profile.py\", line 366, in _watch\n",
|
148 |
+
" process(frame, None, recent, omit=omit)\n",
|
149 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/distributed/profile.py\", line 183, in process\n",
|
150 |
+
" if any(frame.f_code.co_filename.endswith(o) for o in omit):\n",
|
151 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
152 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/distributed/profile.py\", line 183, in <genexpr>\n",
|
153 |
+
" if any(frame.f_code.co_filename.endswith(o) for o in omit):\n",
|
154 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
155 |
+
"AttributeError: 'dict' object has no attribute 'co_filename'\n"
|
156 |
+
]
|
157 |
+
}
|
158 |
+
],
|
159 |
+
"source": [
|
160 |
+
"nodes_per_alloc = 1\n",
|
161 |
+
"gpus_per_alloc = 4\n",
|
162 |
+
"ntasks = 1\n",
|
163 |
+
"\n",
|
164 |
+
"cluster_kwargs = {\n",
|
165 |
+
" \"cores\": 1,\n",
|
166 |
+
" \"memory\": \"64 GB\",\n",
|
167 |
+
" \"shebang\": \"#!/bin/bash\",\n",
|
168 |
+
" \"account\": \"matgen\",\n",
|
169 |
+
" \"walltime\": \"00:30:00\",\n",
|
170 |
+
" \"job_mem\": \"0\",\n",
|
171 |
+
" \"job_script_prologue\": [\n",
|
172 |
+
" \"source ~/.bashrc\",\n",
|
173 |
+
" \"module load python\",\n",
|
174 |
+
" \"source activate /pscratch/sd/c/cyrusyc/.conda/mlip-arena\",\n",
|
175 |
+
" ],\n",
|
176 |
+
" \"job_directives_skip\": [\"-n\", \"--cpus-per-task\", \"-J\"],\n",
|
177 |
+
" \"job_extra_directives\": [f\"-N {nodes_per_alloc}\", f\"-G {gpus_per_alloc}\", \"-q debug\", \"-C gpu\", \"-J eos\"],\n",
|
178 |
+
"}\n",
|
179 |
+
"cluster = SLURMCluster(**cluster_kwargs)\n",
|
180 |
+
"\n",
|
181 |
+
"print(cluster.job_script())\n",
|
182 |
+
"cluster.adapt(minimum_jobs=2, maximum_jobs=2)\n",
|
183 |
+
"client = Client(cluster)\n"
|
184 |
+
]
|
185 |
+
},
|
186 |
+
{
|
187 |
+
"cell_type": "code",
|
188 |
+
"execution_count": 5,
|
189 |
+
"metadata": {
|
190 |
+
"tags": []
|
191 |
+
},
|
192 |
+
"outputs": [],
|
193 |
+
"source": [
|
194 |
+
"\n",
|
195 |
+
"\n",
|
196 |
+
"def postprocess(output, model: str, formula: str):\n",
|
197 |
+
" row = {\n",
|
198 |
+
" \"formula\": formula,\n",
|
199 |
+
" \"method\": model,\n",
|
200 |
+
" \"volumes\": output[\"eos\"][\"volumes\"],\n",
|
201 |
+
" \"energies\": output[\"eos\"][\"energies\"],\n",
|
202 |
+
" \"K\": output[\"K\"],\n",
|
203 |
+
" }\n",
|
204 |
+
"\n",
|
205 |
+
" fpath = Path(REGISTRY[model][\"family\"]) / f\"{model}.parquet\"\n",
|
206 |
+
"\n",
|
207 |
+
" if not fpath.exists():\n",
|
208 |
+
" fpath.parent.mkdir(parents=True, exist_ok=True)\n",
|
209 |
+
" df = pd.DataFrame([row]) # Convert the dictionary to a DataFrame with a list\n",
|
210 |
+
" else:\n",
|
211 |
+
" df = pd.read_parquet(fpath)\n",
|
212 |
+
" new_row = pd.DataFrame([row]) # Convert dictionary to DataFrame with a list\n",
|
213 |
+
" df = pd.concat([df, new_row], ignore_index=True)\n",
|
214 |
+
"\n",
|
215 |
+
" df.drop_duplicates(subset=[\"formula\", \"method\"], keep='last', inplace=True)\n",
|
216 |
+
" df.to_parquet(fpath)\n",
|
217 |
+
"\n",
|
218 |
+
"from prefect.runtime import flow_run, task_run\n",
|
219 |
+
"EOS = EOS.with_options(timeout_seconds=240, result_storage=None)\n",
|
220 |
+
"\n",
|
221 |
+
"def generate_task_run_name():\n",
|
222 |
+
" task_name = task_run.task_name\n",
|
223 |
+
"\n",
|
224 |
+
" parameters = task_run.parameters\n",
|
225 |
+
"\n",
|
226 |
+
" atoms = parameters[\"atoms\"]\n",
|
227 |
+
" \n",
|
228 |
+
" return f\"{task_name}: {atoms.get_chemical_formula()}\"\n",
|
229 |
+
"\n",
|
230 |
+
"\n",
|
231 |
+
"@task(task_run_name=generate_task_run_name, result_storage=None)\n",
|
232 |
+
"def fit_one(atoms: Atoms):\n",
|
233 |
+
" \n",
|
234 |
+
" outputs = []\n",
|
235 |
+
" for model in MLIPEnum:\n",
|
236 |
+
" try:\n",
|
237 |
+
" eos = EOS(\n",
|
238 |
+
" atoms=atoms,\n",
|
239 |
+
" calculator_name=model.name,\n",
|
240 |
+
" calculator_kwargs={},\n",
|
241 |
+
" device=None,\n",
|
242 |
+
" optimizer=\"QuasiNewton\",\n",
|
243 |
+
" optimizer_kwargs=None,\n",
|
244 |
+
" filter=\"FrechetCell\",\n",
|
245 |
+
" filter_kwargs=None,\n",
|
246 |
+
" criterion=dict(\n",
|
247 |
+
" fmax=0.1,\n",
|
248 |
+
" ),\n",
|
249 |
+
" max_abs_strain=0.1,\n",
|
250 |
+
" npoints=7,\n",
|
251 |
+
" )\n",
|
252 |
+
" if isinstance(eos, dict):\n",
|
253 |
+
" postprocess(output=eos, model=model.name, formula=atoms.get_chemical_formula())\n",
|
254 |
+
" eos[\"method\"] = model.name\n",
|
255 |
+
" outputs.append(eos)\n",
|
256 |
+
" except:\n",
|
257 |
+
" continue\n",
|
258 |
+
" \n",
|
259 |
+
" return outputs\n",
|
260 |
+
"\n",
|
261 |
+
"\n",
|
262 |
+
"@flow(task_runner=DaskTaskRunner(address=client.scheduler.address), log_prints=True, result_storage=None)\n",
|
263 |
+
"def fit_all(atoms_list: list[Atoms]):\n",
|
264 |
+
" \n",
|
265 |
+
" futures = []\n",
|
266 |
+
" for atoms in atoms_list:\n",
|
267 |
+
" future = fit_one.submit(atoms)\n",
|
268 |
+
" futures.append(future)\n",
|
269 |
+
" \n",
|
270 |
+
" wait(futures)\n",
|
271 |
+
" \n",
|
272 |
+
" return [f.result(raise_on_failure=False) for f in futures]"
|
273 |
+
]
|
274 |
+
},
|
275 |
+
{
|
276 |
+
"cell_type": "code",
|
277 |
+
"execution_count": 6,
|
278 |
+
"metadata": {
|
279 |
+
"tags": []
|
280 |
+
},
|
281 |
+
"outputs": [
|
282 |
+
{
|
283 |
+
"data": {
|
284 |
+
"text/html": [
|
285 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">00:51:45.507 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | prefect.engine - Created flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'thistle-pronghorn'</span> for flow<span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\"> 'fit-all'</span>\n",
|
286 |
+
"</pre>\n"
|
287 |
+
],
|
288 |
+
"text/plain": [
|
289 |
+
"00:51:45.507 | \u001b[36mINFO\u001b[0m | prefect.engine - Created flow run\u001b[35m 'thistle-pronghorn'\u001b[0m for flow\u001b[1;35m 'fit-all'\u001b[0m\n"
|
290 |
+
]
|
291 |
+
},
|
292 |
+
"metadata": {},
|
293 |
+
"output_type": "display_data"
|
294 |
+
},
|
295 |
+
{
|
296 |
+
"data": {
|
297 |
+
"text/html": [
|
298 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">00:51:45.509 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | prefect.engine - View at <span style=\"color: #0000ff; text-decoration-color: #0000ff\">https://app.prefect.cloud/account/f7d40474-9362-4bfa-8950-ee6a43ec00f3/workspace/d4bb0913-5f5e-49f7-bfc5-06509088baeb/runs/flow-run/9b293dae-4c2d-43b7-b8bb-9a4749eee74e</span>\n",
|
299 |
+
"</pre>\n"
|
300 |
+
],
|
301 |
+
"text/plain": [
|
302 |
+
"00:51:45.509 | \u001b[36mINFO\u001b[0m | prefect.engine - View at \u001b[94mhttps://app.prefect.cloud/account/f7d40474-9362-4bfa-8950-ee6a43ec00f3/workspace/d4bb0913-5f5e-49f7-bfc5-06509088baeb/runs/flow-run/9b293dae-4c2d-43b7-b8bb-9a4749eee74e\u001b[0m\n"
|
303 |
+
]
|
304 |
+
},
|
305 |
+
"metadata": {},
|
306 |
+
"output_type": "display_data"
|
307 |
+
},
|
308 |
+
{
|
309 |
+
"data": {
|
310 |
+
"text/html": [
|
311 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">00:51:45.818 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | prefect.task_runner.dask - Connecting to existing Dask cluster SLURMCluster(5d2876ed, 'tcp://128.55.64.41:45323', workers=0, threads=0, memory=0 B)\n",
|
312 |
+
"</pre>\n"
|
313 |
+
],
|
314 |
+
"text/plain": [
|
315 |
+
"00:51:45.818 | \u001b[36mINFO\u001b[0m | prefect.task_runner.dask - Connecting to existing Dask cluster SLURMCluster(5d2876ed, 'tcp://128.55.64.41:45323', workers=0, threads=0, memory=0 B)\n"
|
316 |
+
]
|
317 |
+
},
|
318 |
+
"metadata": {},
|
319 |
+
"output_type": "display_data"
|
320 |
+
},
|
321 |
+
{
|
322 |
+
"data": {
|
323 |
+
"text/html": [
|
324 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">00:58:09.352 | <span style=\"color: #d70000; text-decoration-color: #d70000\">ERROR</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'thistle-pronghorn'</span> - Crash detected! Execution was aborted by an interrupt signal.\n",
|
325 |
+
"</pre>\n"
|
326 |
+
],
|
327 |
+
"text/plain": [
|
328 |
+
"00:58:09.352 | \u001b[38;5;160mERROR\u001b[0m | Flow run\u001b[35m 'thistle-pronghorn'\u001b[0m - Crash detected! Execution was aborted by an interrupt signal.\n"
|
329 |
+
]
|
330 |
+
},
|
331 |
+
"metadata": {},
|
332 |
+
"output_type": "display_data"
|
333 |
+
},
|
334 |
+
{
|
335 |
+
"data": {
|
336 |
+
"text/html": [
|
337 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">00:58:09.642 | <span style=\"color: #d70000; text-decoration-color: #d70000\">ERROR</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'thistle-pronghorn'</span> - Finished in state <span style=\"color: #ff0000; text-decoration-color: #ff0000\">Crashed</span>('Execution was aborted by an interrupt signal.')\n",
|
338 |
+
"</pre>\n"
|
339 |
+
],
|
340 |
+
"text/plain": [
|
341 |
+
"00:58:09.642 | \u001b[38;5;160mERROR\u001b[0m | Flow run\u001b[35m 'thistle-pronghorn'\u001b[0m - Finished in state \u001b[91mCrashed\u001b[0m('Execution was aborted by an interrupt signal.')\n"
|
342 |
+
]
|
343 |
+
},
|
344 |
+
"metadata": {},
|
345 |
+
"output_type": "display_data"
|
346 |
+
},
|
347 |
+
{
|
348 |
+
"ename": "KeyboardInterrupt",
|
349 |
+
"evalue": "",
|
350 |
+
"output_type": "error",
|
351 |
+
"traceback": [
|
352 |
+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
353 |
+
"\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
|
354 |
+
"Cell \u001b[0;32mIn[6], line 21\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# import os\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;66;03m# import tempfile\u001b[39;00m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;66;03m# import shutil\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 18\u001b[0m \n\u001b[1;32m 19\u001b[0m \u001b[38;5;66;03m# with twd():\u001b[39;00m\n\u001b[0;32m---> 21\u001b[0m \u001b[43mfit_all\u001b[49m\u001b[43m(\u001b[49m\u001b[43matoms_list\u001b[49m\u001b[43m)\u001b[49m\n",
|
355 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flows.py:1345\u001b[0m, in \u001b[0;36mFlow.__call__\u001b[0;34m(self, return_state, wait_for, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1341\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m track_viz_task(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39misasync, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mname, parameters)\n\u001b[1;32m 1343\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mprefect\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mflow_engine\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m run_flow\n\u001b[0;32m-> 1345\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mrun_flow\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1346\u001b[0m \u001b[43m \u001b[49m\u001b[43mflow\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1347\u001b[0m \u001b[43m \u001b[49m\u001b[43mparameters\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mparameters\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1348\u001b[0m \u001b[43m \u001b[49m\u001b[43mwait_for\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mwait_for\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1349\u001b[0m \u001b[43m \u001b[49m\u001b[43mreturn_type\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mreturn_type\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1350\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n",
|
356 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flow_engine.py:818\u001b[0m, in \u001b[0;36mrun_flow\u001b[0;34m(flow, flow_run, parameters, wait_for, return_type)\u001b[0m\n\u001b[1;32m 816\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m run_flow_async(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 817\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 818\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mrun_flow_sync\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
357 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flow_engine.py:696\u001b[0m, in \u001b[0;36mrun_flow_sync\u001b[0;34m(flow, flow_run, parameters, wait_for, return_type)\u001b[0m\n\u001b[1;32m 694\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m engine\u001b[38;5;241m.\u001b[39mis_running():\n\u001b[1;32m 695\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m engine\u001b[38;5;241m.\u001b[39mrun_context():\n\u001b[0;32m--> 696\u001b[0m \u001b[43mengine\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcall_flow_fn\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 698\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m engine\u001b[38;5;241m.\u001b[39mstate \u001b[38;5;28;01mif\u001b[39;00m return_type \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstate\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m engine\u001b[38;5;241m.\u001b[39mresult()\n",
|
358 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flow_engine.py:675\u001b[0m, in \u001b[0;36mFlowRunEngine.call_flow_fn\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 673\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _call_flow_fn()\n\u001b[1;32m 674\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 675\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43mcall_with_parameters\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mflow\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mparameters\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 676\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandle_success(result)\n",
|
359 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/utilities/callables.py:206\u001b[0m, in \u001b[0;36mcall_with_parameters\u001b[0;34m(fn, parameters)\u001b[0m\n\u001b[1;32m 198\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 199\u001b[0m \u001b[38;5;124;03mCall a function with parameters extracted with `get_call_parameters`\u001b[39;00m\n\u001b[1;32m 200\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 203\u001b[0m \u001b[38;5;124;03mthe args/kwargs using `parameters_to_positional_and_keyword` directly\u001b[39;00m\n\u001b[1;32m 204\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 205\u001b[0m args, kwargs \u001b[38;5;241m=\u001b[39m parameters_to_args_kwargs(fn, parameters)\n\u001b[0;32m--> 206\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfn\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
360 |
+
"Cell \u001b[0;32mIn[5], line 72\u001b[0m, in \u001b[0;36mfit_all\u001b[0;34m(atoms_list)\u001b[0m\n\u001b[1;32m 70\u001b[0m futures \u001b[38;5;241m=\u001b[39m []\n\u001b[1;32m 71\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m atoms \u001b[38;5;129;01min\u001b[39;00m atoms_list:\n\u001b[0;32m---> 72\u001b[0m future \u001b[38;5;241m=\u001b[39m \u001b[43mfit_one\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubmit\u001b[49m\u001b[43m(\u001b[49m\u001b[43matoms\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 73\u001b[0m futures\u001b[38;5;241m.\u001b[39mappend(future)\n\u001b[1;32m 75\u001b[0m wait(futures)\n",
|
361 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/tasks.py:1163\u001b[0m, in \u001b[0;36mTask.submit\u001b[0;34m(self, return_state, wait_for, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1158\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m VisualizationUnsupportedError(\n\u001b[1;32m 1159\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m`task.submit()` is not currently supported by `flow.visualize()`\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1160\u001b[0m )\n\u001b[1;32m 1162\u001b[0m task_runner \u001b[38;5;241m=\u001b[39m flow_run_context\u001b[38;5;241m.\u001b[39mtask_runner\n\u001b[0;32m-> 1163\u001b[0m future \u001b[38;5;241m=\u001b[39m \u001b[43mtask_runner\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubmit\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mparameters\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mwait_for\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1164\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m return_state:\n\u001b[1;32m 1165\u001b[0m future\u001b[38;5;241m.\u001b[39mwait()\n",
|
362 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect_dask/task_runners.py:353\u001b[0m, in \u001b[0;36mDaskTaskRunner.submit\u001b[0;34m(self, task, parameters, wait_for, dependencies)\u001b[0m\n\u001b[1;32m 349\u001b[0m \u001b[38;5;66;03m# unpack the upstream call in order to cast Prefect futures to Dask futures\u001b[39;00m\n\u001b[1;32m 350\u001b[0m \u001b[38;5;66;03m# where possible to optimize Dask task scheduling\u001b[39;00m\n\u001b[1;32m 351\u001b[0m parameters \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_optimize_futures(parameters)\n\u001b[0;32m--> 353\u001b[0m future \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_client\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubmit\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 354\u001b[0m \u001b[43m \u001b[49m\u001b[43mtask\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 355\u001b[0m \u001b[43m \u001b[49m\u001b[43mparameters\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mparameters\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 356\u001b[0m \u001b[43m \u001b[49m\u001b[43mwait_for\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mwait_for\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 357\u001b[0m \u001b[43m \u001b[49m\u001b[43mdependencies\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdependencies\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 358\u001b[0m \u001b[43m \u001b[49m\u001b[43mreturn_type\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mstate\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 359\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 360\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m PrefectDaskFuture(wrapped_future\u001b[38;5;241m=\u001b[39mfuture, task_run_id\u001b[38;5;241m=\u001b[39mfuture\u001b[38;5;241m.\u001b[39mtask_run_id)\n",
|
363 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect_dask/client.py:64\u001b[0m, in \u001b[0;36mPrefectDaskClient.submit\u001b[0;34m(self, func, key, workers, resources, retries, priority, fifo_timeout, allow_other_workers, actor, actors, pure, *args, **kwargs)\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 62\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m run_task_sync(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m---> 64\u001b[0m future \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubmit\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 65\u001b[0m \u001b[43m \u001b[49m\u001b[43mwrapper_func\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 66\u001b[0m \u001b[43m \u001b[49m\u001b[43mkey\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mkey\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 67\u001b[0m \u001b[43m \u001b[49m\u001b[43mworkers\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mworkers\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 68\u001b[0m \u001b[43m \u001b[49m\u001b[43mresources\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mresources\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 69\u001b[0m \u001b[43m \u001b[49m\u001b[43mretries\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mretries\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 70\u001b[0m \u001b[43m \u001b[49m\u001b[43mpriority\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpriority\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 71\u001b[0m \u001b[43m \u001b[49m\u001b[43mfifo_timeout\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfifo_timeout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 72\u001b[0m \u001b[43m \u001b[49m\u001b[43mallow_other_workers\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mallow_other_workers\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 73\u001b[0m \u001b[43m \u001b[49m\u001b[43mactor\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mactor\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 74\u001b[0m \u001b[43m \u001b[49m\u001b[43mactors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mactors\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 75\u001b[0m \u001b[43m \u001b[49m\u001b[43mpure\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpure\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 76\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mrun_task_kwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 77\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 79\u001b[0m future\u001b[38;5;241m.\u001b[39mtask_run_id \u001b[38;5;241m=\u001b[39m run_task_kwargs[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtask_run_id\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 80\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m future\n",
|
364 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/distributed/client.py:1931\u001b[0m, in \u001b[0;36mClient.submit\u001b[0;34m(self, func, key, workers, resources, retries, priority, fifo_timeout, allow_other_workers, actor, actors, pure, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1929\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m key \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 1930\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m pure:\n\u001b[0;32m-> 1931\u001b[0m key \u001b[38;5;241m=\u001b[39m funcname(func) \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m-\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m+\u001b[39m \u001b[43mtokenize\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfunc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1932\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 1933\u001b[0m key \u001b[38;5;241m=\u001b[39m funcname(func) \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m-\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m+\u001b[39m \u001b[38;5;28mstr\u001b[39m(uuid\u001b[38;5;241m.\u001b[39muuid4())\n",
|
365 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/base.py:1033\u001b[0m, in \u001b[0;36mtokenize\u001b[0;34m(ensure_deterministic, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1015\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Deterministic token\u001b[39;00m\n\u001b[1;32m 1016\u001b[0m \n\u001b[1;32m 1017\u001b[0m \u001b[38;5;124;03m>>> tokenize([1, 2, '3'])\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1030\u001b[0m \u001b[38;5;124;03m Defaults to the `tokenize.ensure-deterministic` configuration parameter.\u001b[39;00m\n\u001b[1;32m 1031\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1032\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m _seen_ctx(reset\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m), _ensure_deterministic_ctx(ensure_deterministic):\n\u001b[0;32m-> 1033\u001b[0m token: \u001b[38;5;28mobject\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[43m_normalize_seq_func\u001b[49m\u001b[43m(\u001b[49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1034\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m kwargs:\n\u001b[1;32m 1035\u001b[0m token \u001b[38;5;241m=\u001b[39m token, _normalize_seq_func(\u001b[38;5;28msorted\u001b[39m(kwargs\u001b[38;5;241m.\u001b[39mitems()))\n",
|
366 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/base.py:1159\u001b[0m, in \u001b[0;36m_normalize_seq_func\u001b[0;34m(seq)\u001b[0m\n\u001b[1;32m 1157\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 1158\u001b[0m seen[\u001b[38;5;28mid\u001b[39m(item)] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlen\u001b[39m(seen), item\n\u001b[0;32m-> 1159\u001b[0m item \u001b[38;5;241m=\u001b[39m \u001b[43mnormalize_token\u001b[49m\u001b[43m(\u001b[49m\u001b[43mitem\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1160\u001b[0m out\u001b[38;5;241m.\u001b[39mappend(item)\n\u001b[1;32m 1161\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m out\n",
|
367 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/utils.py:773\u001b[0m, in \u001b[0;36mDispatch.__call__\u001b[0;34m(self, arg, *args, **kwargs)\u001b[0m\n\u001b[1;32m 769\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 770\u001b[0m \u001b[38;5;124;03mCall the corresponding method based on type of argument.\u001b[39;00m\n\u001b[1;32m 771\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 772\u001b[0m meth \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdispatch(\u001b[38;5;28mtype\u001b[39m(arg))\n\u001b[0;32m--> 773\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmeth\u001b[49m\u001b[43m(\u001b[49m\u001b[43marg\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
368 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/base.py:1129\u001b[0m, in \u001b[0;36mnormalize_dict\u001b[0;34m(d)\u001b[0m\n\u001b[1;32m 1127\u001b[0m \u001b[38;5;129m@normalize_token\u001b[39m\u001b[38;5;241m.\u001b[39mregister((types\u001b[38;5;241m.\u001b[39mMappingProxyType, \u001b[38;5;28mdict\u001b[39m))\n\u001b[1;32m 1128\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mnormalize_dict\u001b[39m(d):\n\u001b[0;32m-> 1129\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdict\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[43m_normalize_seq_func\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43msorted\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43md\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mitems\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkey\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mlambda\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mkv\u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mstr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mkv\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n",
|
369 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/base.py:1159\u001b[0m, in \u001b[0;36m_normalize_seq_func\u001b[0;34m(seq)\u001b[0m\n\u001b[1;32m 1157\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 1158\u001b[0m seen[\u001b[38;5;28mid\u001b[39m(item)] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlen\u001b[39m(seen), item\n\u001b[0;32m-> 1159\u001b[0m item \u001b[38;5;241m=\u001b[39m \u001b[43mnormalize_token\u001b[49m\u001b[43m(\u001b[49m\u001b[43mitem\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1160\u001b[0m out\u001b[38;5;241m.\u001b[39mappend(item)\n\u001b[1;32m 1161\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m out\n",
|
370 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/utils.py:773\u001b[0m, in \u001b[0;36mDispatch.__call__\u001b[0;34m(self, arg, *args, **kwargs)\u001b[0m\n\u001b[1;32m 769\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 770\u001b[0m \u001b[38;5;124;03mCall the corresponding method based on type of argument.\u001b[39;00m\n\u001b[1;32m 771\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 772\u001b[0m meth \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdispatch(\u001b[38;5;28mtype\u001b[39m(arg))\n\u001b[0;32m--> 773\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmeth\u001b[49m\u001b[43m(\u001b[49m\u001b[43marg\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
371 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/base.py:1166\u001b[0m, in \u001b[0;36mnormalize_seq\u001b[0;34m(seq)\u001b[0m\n\u001b[1;32m 1164\u001b[0m \u001b[38;5;129m@normalize_token\u001b[39m\u001b[38;5;241m.\u001b[39mregister((\u001b[38;5;28mtuple\u001b[39m, \u001b[38;5;28mlist\u001b[39m))\n\u001b[1;32m 1165\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mnormalize_seq\u001b[39m(seq):\n\u001b[0;32m-> 1166\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mtype\u001b[39m(seq)\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m, \u001b[43m_normalize_seq_func\u001b[49m\u001b[43m(\u001b[49m\u001b[43mseq\u001b[49m\u001b[43m)\u001b[49m\n",
|
372 |
+
" \u001b[0;31m[... skipping similar frames: Dispatch.__call__ at line 773 (1 times), _normalize_seq_func at line 1159 (1 times)]\u001b[0m\n",
|
373 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/base.py:1129\u001b[0m, in \u001b[0;36mnormalize_dict\u001b[0;34m(d)\u001b[0m\n\u001b[1;32m 1127\u001b[0m \u001b[38;5;129m@normalize_token\u001b[39m\u001b[38;5;241m.\u001b[39mregister((types\u001b[38;5;241m.\u001b[39mMappingProxyType, \u001b[38;5;28mdict\u001b[39m))\n\u001b[1;32m 1128\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mnormalize_dict\u001b[39m(d):\n\u001b[0;32m-> 1129\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdict\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[43m_normalize_seq_func\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43msorted\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43md\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mitems\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkey\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mlambda\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mkv\u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mstr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mkv\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n",
|
374 |
+
" \u001b[0;31m[... skipping similar frames: Dispatch.__call__ at line 773 (1 times), _normalize_seq_func at line 1159 (1 times)]\u001b[0m\n",
|
375 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/base.py:1166\u001b[0m, in \u001b[0;36mnormalize_seq\u001b[0;34m(seq)\u001b[0m\n\u001b[1;32m 1164\u001b[0m \u001b[38;5;129m@normalize_token\u001b[39m\u001b[38;5;241m.\u001b[39mregister((\u001b[38;5;28mtuple\u001b[39m, \u001b[38;5;28mlist\u001b[39m))\n\u001b[1;32m 1165\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mnormalize_seq\u001b[39m(seq):\n\u001b[0;32m-> 1166\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mtype\u001b[39m(seq)\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m, \u001b[43m_normalize_seq_func\u001b[49m\u001b[43m(\u001b[49m\u001b[43mseq\u001b[49m\u001b[43m)\u001b[49m\n",
|
376 |
+
" \u001b[0;31m[... skipping similar frames: Dispatch.__call__ at line 773 (3 times), _normalize_seq_func at line 1159 (3 times), normalize_dict at line 1129 (1 times), normalize_seq at line 1166 (1 times)]\u001b[0m\n",
|
377 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/base.py:1129\u001b[0m, in \u001b[0;36mnormalize_dict\u001b[0;34m(d)\u001b[0m\n\u001b[1;32m 1127\u001b[0m \u001b[38;5;129m@normalize_token\u001b[39m\u001b[38;5;241m.\u001b[39mregister((types\u001b[38;5;241m.\u001b[39mMappingProxyType, \u001b[38;5;28mdict\u001b[39m))\n\u001b[1;32m 1128\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mnormalize_dict\u001b[39m(d):\n\u001b[0;32m-> 1129\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdict\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[43m_normalize_seq_func\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43msorted\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43md\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mitems\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkey\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mlambda\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mkv\u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mstr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mkv\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\u001b[43m)\u001b[49m\n",
|
378 |
+
" \u001b[0;31m[... skipping similar frames: Dispatch.__call__ at line 773 (2 times), _normalize_seq_func at line 1159 (2 times), normalize_seq at line 1166 (1 times)]\u001b[0m\n",
|
379 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/base.py:1166\u001b[0m, in \u001b[0;36mnormalize_seq\u001b[0;34m(seq)\u001b[0m\n\u001b[1;32m 1164\u001b[0m \u001b[38;5;129m@normalize_token\u001b[39m\u001b[38;5;241m.\u001b[39mregister((\u001b[38;5;28mtuple\u001b[39m, \u001b[38;5;28mlist\u001b[39m))\n\u001b[1;32m 1165\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mnormalize_seq\u001b[39m(seq):\n\u001b[0;32m-> 1166\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mtype\u001b[39m(seq)\u001b[38;5;241m.\u001b[39m\u001b[38;5;18m__name__\u001b[39m, \u001b[43m_normalize_seq_func\u001b[49m\u001b[43m(\u001b[49m\u001b[43mseq\u001b[49m\u001b[43m)\u001b[49m\n",
|
380 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/base.py:1159\u001b[0m, in \u001b[0;36m_normalize_seq_func\u001b[0;34m(seq)\u001b[0m\n\u001b[1;32m 1157\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 1158\u001b[0m seen[\u001b[38;5;28mid\u001b[39m(item)] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlen\u001b[39m(seen), item\n\u001b[0;32m-> 1159\u001b[0m item \u001b[38;5;241m=\u001b[39m \u001b[43mnormalize_token\u001b[49m\u001b[43m(\u001b[49m\u001b[43mitem\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1160\u001b[0m out\u001b[38;5;241m.\u001b[39mappend(item)\n\u001b[1;32m 1161\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m out\n",
|
381 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/utils.py:773\u001b[0m, in \u001b[0;36mDispatch.__call__\u001b[0;34m(self, arg, *args, **kwargs)\u001b[0m\n\u001b[1;32m 769\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 770\u001b[0m \u001b[38;5;124;03mCall the corresponding method based on type of argument.\u001b[39;00m\n\u001b[1;32m 771\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 772\u001b[0m meth \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdispatch(\u001b[38;5;28mtype\u001b[39m(arg))\n\u001b[0;32m--> 773\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmeth\u001b[49m\u001b[43m(\u001b[49m\u001b[43marg\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
382 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/base.py:1212\u001b[0m, in \u001b[0;36mnormalize_object\u001b[0;34m(o)\u001b[0m\n\u001b[1;32m 1209\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _normalize_dataclass(o)\n\u001b[1;32m 1211\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m-> 1212\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_normalize_pickle\u001b[49m\u001b[43m(\u001b[49m\u001b[43mo\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1213\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m:\n\u001b[1;32m 1214\u001b[0m _maybe_raise_nondeterministic(\n\u001b[1;32m 1215\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mObject \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mo\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m cannot be deterministically hashed. See \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1216\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhttps://docs.dask.org/en/latest/custom-collections.html#implementing-deterministic-hashing \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1217\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mfor more information.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1218\u001b[0m )\n",
|
383 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/base.py:1250\u001b[0m, in \u001b[0;36m_normalize_pickle\u001b[0;34m(o)\u001b[0m\n\u001b[1;32m 1247\u001b[0m buffers\u001b[38;5;241m.\u001b[39mclear()\n\u001b[1;32m 1248\u001b[0m pik \u001b[38;5;241m=\u001b[39m cloudpickle\u001b[38;5;241m.\u001b[39mdumps(o, protocol\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m5\u001b[39m, buffer_callback\u001b[38;5;241m=\u001b[39mbuffers\u001b[38;5;241m.\u001b[39mappend)\n\u001b[0;32m-> 1250\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mhash_buffer_hex\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpik\u001b[49m\u001b[43m)\u001b[49m, [hash_buffer_hex(buf) \u001b[38;5;28;01mfor\u001b[39;00m buf \u001b[38;5;129;01min\u001b[39;00m buffers]\n",
|
384 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/hashing.py:98\u001b[0m, in \u001b[0;36mhash_buffer_hex\u001b[0;34m(buf, hasher)\u001b[0m\n\u001b[1;32m 94\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mhash_buffer_hex\u001b[39m(buf, hasher\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[1;32m 95\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 96\u001b[0m \u001b[38;5;124;03m Same as hash_buffer, but returns its result in hex-encoded form.\u001b[39;00m\n\u001b[1;32m 97\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m---> 98\u001b[0m h \u001b[38;5;241m=\u001b[39m \u001b[43mhash_buffer\u001b[49m\u001b[43m(\u001b[49m\u001b[43mbuf\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mhasher\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 99\u001b[0m s \u001b[38;5;241m=\u001b[39m binascii\u001b[38;5;241m.\u001b[39mb2a_hex(h)\n\u001b[1;32m 100\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m s\u001b[38;5;241m.\u001b[39mdecode()\n",
|
385 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/hashing.py:88\u001b[0m, in \u001b[0;36mhash_buffer\u001b[0;34m(buf, hasher)\u001b[0m\n\u001b[1;32m 86\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m hasher \u001b[38;5;129;01min\u001b[39;00m hashers:\n\u001b[1;32m 87\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m---> 88\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mhasher\u001b[49m\u001b[43m(\u001b[49m\u001b[43mbuf\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 89\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (\u001b[38;5;167;01mTypeError\u001b[39;00m, \u001b[38;5;167;01mOverflowError\u001b[39;00m):\n\u001b[1;32m 90\u001b[0m \u001b[38;5;28;01mpass\u001b[39;00m\n",
|
386 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/dask/hashing.py:44\u001b[0m, in \u001b[0;36m_hash_xxhash\u001b[0;34m(buf)\u001b[0m\n\u001b[1;32m 40\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_hash_xxhash\u001b[39m(buf):\n\u001b[1;32m 41\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 42\u001b[0m \u001b[38;5;124;03m Produce a 8-bytes hash of *buf* using xxHash.\u001b[39;00m\n\u001b[1;32m 43\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m---> 44\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mxxhash\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mxxh64\u001b[49m\u001b[43m(\u001b[49m\u001b[43mbuf\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39mdigest()\n",
|
387 |
+
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
|
388 |
+
]
|
389 |
+
}
|
390 |
+
],
|
391 |
+
"source": [
|
392 |
+
"# import os\n",
|
393 |
+
"# import tempfile\n",
|
394 |
+
"# import shutil\n",
|
395 |
+
"# from contextlib import contextmanager\n",
|
396 |
+
"\n",
|
397 |
+
"# @contextmanager\n",
|
398 |
+
"# def twd():\n",
|
399 |
+
" \n",
|
400 |
+
"# pwd = os.getcwd()\n",
|
401 |
+
"# temp_dir = tempfile.mkdtemp()\n",
|
402 |
+
" \n",
|
403 |
+
"# try:\n",
|
404 |
+
"# os.chdir(temp_dir)\n",
|
405 |
+
"# yield\n",
|
406 |
+
"# finally:\n",
|
407 |
+
"# os.chdir(pwd)\n",
|
408 |
+
"# shutil.rmtree(temp_dir)\n",
|
409 |
+
"\n",
|
410 |
+
"# with twd():\n",
|
411 |
+
"\n",
|
412 |
+
"fit_all(atoms_list)"
|
413 |
+
]
|
414 |
+
},
|
415 |
+
{
|
416 |
+
"cell_type": "code",
|
417 |
+
"execution_count": 7,
|
418 |
+
"metadata": {
|
419 |
+
"tags": []
|
420 |
+
},
|
421 |
+
"outputs": [],
|
422 |
+
"source": [
|
423 |
+
"import pandas as pd\n",
|
424 |
+
"\n",
|
425 |
+
"df = pd.read_parquet('mace-mp/MACE-MP(M).parquet')"
|
426 |
+
]
|
427 |
+
},
|
428 |
+
{
|
429 |
+
"cell_type": "code",
|
430 |
+
"execution_count": 8,
|
431 |
+
"metadata": {},
|
432 |
+
"outputs": [
|
433 |
+
{
|
434 |
+
"data": {
|
435 |
+
"text/html": [
|
436 |
+
"<div>\n",
|
437 |
+
"<style scoped>\n",
|
438 |
+
" .dataframe tbody tr th:only-of-type {\n",
|
439 |
+
" vertical-align: middle;\n",
|
440 |
+
" }\n",
|
441 |
+
"\n",
|
442 |
+
" .dataframe tbody tr th {\n",
|
443 |
+
" vertical-align: top;\n",
|
444 |
+
" }\n",
|
445 |
+
"\n",
|
446 |
+
" .dataframe thead th {\n",
|
447 |
+
" text-align: right;\n",
|
448 |
+
" }\n",
|
449 |
+
"</style>\n",
|
450 |
+
"<table border=\"1\" class=\"dataframe\">\n",
|
451 |
+
" <thead>\n",
|
452 |
+
" <tr style=\"text-align: right;\">\n",
|
453 |
+
" <th></th>\n",
|
454 |
+
" <th>formula</th>\n",
|
455 |
+
" <th>method</th>\n",
|
456 |
+
" <th>volumes</th>\n",
|
457 |
+
" <th>energies</th>\n",
|
458 |
+
" <th>K</th>\n",
|
459 |
+
" </tr>\n",
|
460 |
+
" </thead>\n",
|
461 |
+
" <tbody>\n",
|
462 |
+
" <tr>\n",
|
463 |
+
" <th>0</th>\n",
|
464 |
+
" <td>Ac2O3</td>\n",
|
465 |
+
" <td>MACE-MP(M)</td>\n",
|
466 |
+
" <td>[82.36010147441682, 85.41047560309894, 88.4608...</td>\n",
|
467 |
+
" <td>[-39.47665786743164, -39.65583419799805, -39.7...</td>\n",
|
468 |
+
" <td>95.869141</td>\n",
|
469 |
+
" </tr>\n",
|
470 |
+
" <tr>\n",
|
471 |
+
" <th>1</th>\n",
|
472 |
+
" <td>Ac4</td>\n",
|
473 |
+
" <td>MACE-MP(M)</td>\n",
|
474 |
+
" <td>[166.09086069175856, 172.2423740507126, 178.39...</td>\n",
|
475 |
+
" <td>[-16.326059341430664, -16.406923294067383, -16...</td>\n",
|
476 |
+
" <td>25.409891</td>\n",
|
477 |
+
" </tr>\n",
|
478 |
+
" <tr>\n",
|
479 |
+
" <th>3</th>\n",
|
480 |
+
" <td>Ac16S24</td>\n",
|
481 |
+
" <td>MACE-MP(M)</td>\n",
|
482 |
+
" <td>[1006.5670668063424, 1043.84732853991, 1081.12...</td>\n",
|
483 |
+
" <td>[-249.42129516601562, -250.79556274414062, -25...</td>\n",
|
484 |
+
" <td>61.372858</td>\n",
|
485 |
+
" </tr>\n",
|
486 |
+
" </tbody>\n",
|
487 |
+
"</table>\n",
|
488 |
+
"</div>"
|
489 |
+
],
|
490 |
+
"text/plain": [
|
491 |
+
" formula method volumes \\\n",
|
492 |
+
"0 Ac2O3 MACE-MP(M) [82.36010147441682, 85.41047560309894, 88.4608... \n",
|
493 |
+
"1 Ac4 MACE-MP(M) [166.09086069175856, 172.2423740507126, 178.39... \n",
|
494 |
+
"3 Ac16S24 MACE-MP(M) [1006.5670668063424, 1043.84732853991, 1081.12... \n",
|
495 |
+
"\n",
|
496 |
+
" energies K \n",
|
497 |
+
"0 [-39.47665786743164, -39.65583419799805, -39.7... 95.869141 \n",
|
498 |
+
"1 [-16.326059341430664, -16.406923294067383, -16... 25.409891 \n",
|
499 |
+
"3 [-249.42129516601562, -250.79556274414062, -25... 61.372858 "
|
500 |
+
]
|
501 |
+
},
|
502 |
+
"execution_count": 8,
|
503 |
+
"metadata": {},
|
504 |
+
"output_type": "execute_result"
|
505 |
+
}
|
506 |
+
],
|
507 |
+
"source": [
|
508 |
+
"df"
|
509 |
+
]
|
510 |
+
},
|
511 |
+
{
|
512 |
+
"cell_type": "code",
|
513 |
+
"execution_count": null,
|
514 |
+
"metadata": {},
|
515 |
+
"outputs": [],
|
516 |
+
"source": []
|
517 |
+
}
|
518 |
+
],
|
519 |
+
"metadata": {
|
520 |
+
"kernelspec": {
|
521 |
+
"display_name": "mlip-arena",
|
522 |
+
"language": "python",
|
523 |
+
"name": "mlip-arena"
|
524 |
+
},
|
525 |
+
"language_info": {
|
526 |
+
"codemirror_mode": {
|
527 |
+
"name": "ipython",
|
528 |
+
"version": 3
|
529 |
+
},
|
530 |
+
"file_extension": ".py",
|
531 |
+
"mimetype": "text/x-python",
|
532 |
+
"name": "python",
|
533 |
+
"nbconvert_exporter": "python",
|
534 |
+
"pygments_lexer": "ipython3",
|
535 |
+
"version": "3.11.8"
|
536 |
+
},
|
537 |
+
"widgets": {
|
538 |
+
"application/vnd.jupyter.widget-state+json": {
|
539 |
+
"state": {
|
540 |
+
"1e2c24979c4e4b3b91e8f8a8e214d56f": {
|
541 |
+
"model_module": "@jupyter-widgets/controls",
|
542 |
+
"model_module_version": "2.0.0",
|
543 |
+
"model_name": "HTMLModel",
|
544 |
+
"state": {
|
545 |
+
"layout": "IPY_MODEL_e03d78a760b8402cad0827279f4075c1",
|
546 |
+
"style": "IPY_MODEL_743568418ec24e369c2ac0f9a9573a1c",
|
547 |
+
"value": "Retrieving SummaryDoc documents: 100%"
|
548 |
+
}
|
549 |
+
},
|
550 |
+
"41e363c9f8514e6a993426e30d45ec98": {
|
551 |
+
"model_module": "@jupyter-widgets/controls",
|
552 |
+
"model_module_version": "2.0.0",
|
553 |
+
"model_name": "HTMLStyleModel",
|
554 |
+
"state": {
|
555 |
+
"description_width": "",
|
556 |
+
"font_size": null,
|
557 |
+
"text_color": null
|
558 |
+
}
|
559 |
+
},
|
560 |
+
"4dde6375de954082a87b1483182e40a3": {
|
561 |
+
"model_module": "@jupyter-widgets/base",
|
562 |
+
"model_module_version": "2.0.0",
|
563 |
+
"model_name": "LayoutModel",
|
564 |
+
"state": {}
|
565 |
+
},
|
566 |
+
"607687cda1ce4276a772b626ef3e6179": {
|
567 |
+
"model_module": "@jupyter-widgets/controls",
|
568 |
+
"model_module_version": "2.0.0",
|
569 |
+
"model_name": "HTMLModel",
|
570 |
+
"state": {
|
571 |
+
"layout": "IPY_MODEL_93a95097ee984d95b1dfedcb2d913435",
|
572 |
+
"style": "IPY_MODEL_41e363c9f8514e6a993426e30d45ec98",
|
573 |
+
"value": " 5135/5135 [00:04<00:00, 958.06it/s]"
|
574 |
+
}
|
575 |
+
},
|
576 |
+
"743568418ec24e369c2ac0f9a9573a1c": {
|
577 |
+
"model_module": "@jupyter-widgets/controls",
|
578 |
+
"model_module_version": "2.0.0",
|
579 |
+
"model_name": "HTMLStyleModel",
|
580 |
+
"state": {
|
581 |
+
"description_width": "",
|
582 |
+
"font_size": null,
|
583 |
+
"text_color": null
|
584 |
+
}
|
585 |
+
},
|
586 |
+
"8d602e7a8e734c50b0fad54bf76cc7d5": {
|
587 |
+
"model_module": "@jupyter-widgets/controls",
|
588 |
+
"model_module_version": "2.0.0",
|
589 |
+
"model_name": "ProgressStyleModel",
|
590 |
+
"state": {
|
591 |
+
"description_width": ""
|
592 |
+
}
|
593 |
+
},
|
594 |
+
"93a95097ee984d95b1dfedcb2d913435": {
|
595 |
+
"model_module": "@jupyter-widgets/base",
|
596 |
+
"model_module_version": "2.0.0",
|
597 |
+
"model_name": "LayoutModel",
|
598 |
+
"state": {}
|
599 |
+
},
|
600 |
+
"b09359f88f954062aff30df3bf2ba46b": {
|
601 |
+
"model_module": "@jupyter-widgets/base",
|
602 |
+
"model_module_version": "2.0.0",
|
603 |
+
"model_name": "LayoutModel",
|
604 |
+
"state": {}
|
605 |
+
},
|
606 |
+
"bf1668eac663453aa9a20149ecf726c4": {
|
607 |
+
"model_module": "@jupyter-widgets/controls",
|
608 |
+
"model_module_version": "2.0.0",
|
609 |
+
"model_name": "HBoxModel",
|
610 |
+
"state": {
|
611 |
+
"children": [
|
612 |
+
"IPY_MODEL_1e2c24979c4e4b3b91e8f8a8e214d56f",
|
613 |
+
"IPY_MODEL_cf1131b45bf04178ac93962259718700",
|
614 |
+
"IPY_MODEL_607687cda1ce4276a772b626ef3e6179"
|
615 |
+
],
|
616 |
+
"layout": "IPY_MODEL_4dde6375de954082a87b1483182e40a3"
|
617 |
+
}
|
618 |
+
},
|
619 |
+
"cf1131b45bf04178ac93962259718700": {
|
620 |
+
"model_module": "@jupyter-widgets/controls",
|
621 |
+
"model_module_version": "2.0.0",
|
622 |
+
"model_name": "FloatProgressModel",
|
623 |
+
"state": {
|
624 |
+
"bar_style": "success",
|
625 |
+
"layout": "IPY_MODEL_b09359f88f954062aff30df3bf2ba46b",
|
626 |
+
"max": 5135,
|
627 |
+
"style": "IPY_MODEL_8d602e7a8e734c50b0fad54bf76cc7d5",
|
628 |
+
"value": 5135
|
629 |
+
}
|
630 |
+
},
|
631 |
+
"e03d78a760b8402cad0827279f4075c1": {
|
632 |
+
"model_module": "@jupyter-widgets/base",
|
633 |
+
"model_module_version": "2.0.0",
|
634 |
+
"model_name": "LayoutModel",
|
635 |
+
"state": {}
|
636 |
+
}
|
637 |
+
},
|
638 |
+
"version_major": 2,
|
639 |
+
"version_minor": 0
|
640 |
+
}
|
641 |
+
}
|
642 |
+
},
|
643 |
+
"nbformat": 4,
|
644 |
+
"nbformat_minor": 4
|
645 |
+
}
|
mlip_arena/tasks/eos/run.py
CHANGED
@@ -6,7 +6,6 @@ https://github.com/materialsvirtuallab/matcalc/blob/main/matcalc/eos.py
|
|
6 |
|
7 |
from __future__ import annotations
|
8 |
|
9 |
-
import asyncio
|
10 |
from typing import TYPE_CHECKING
|
11 |
|
12 |
import numpy as np
|
@@ -15,9 +14,9 @@ from ase.filters import * # type: ignore
|
|
15 |
from ase.optimize import * # type: ignore
|
16 |
from ase.optimize.optimize import Optimizer
|
17 |
from prefect import flow
|
18 |
-
from pymatgen.analysis.eos import BirchMurnaghan
|
19 |
-
|
20 |
from prefect.futures import wait
|
|
|
|
|
21 |
|
22 |
from mlip_arena.models.utils import MLIPEnum
|
23 |
from mlip_arena.tasks.optimize import run as OPT
|
@@ -26,13 +25,36 @@ if TYPE_CHECKING:
|
|
26 |
from ase.filters import Filter
|
27 |
|
28 |
|
29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
def fit(
|
31 |
atoms: Atoms,
|
32 |
calculator_name: str | MLIPEnum,
|
33 |
calculator_kwargs: dict | None,
|
34 |
device: str | None = None,
|
35 |
-
optimizer: Optimizer | str = BFGSLineSearch,
|
36 |
optimizer_kwargs: dict | None = None,
|
37 |
filter: Filter | str | None = None,
|
38 |
filter_kwargs: dict | None = None,
|
@@ -59,7 +81,7 @@ def fit(
|
|
59 |
Returns:
|
60 |
A dictionary containing the EOS data and the bulk modulus.
|
61 |
"""
|
62 |
-
|
63 |
atoms=atoms,
|
64 |
calculator_name=calculator_name,
|
65 |
calculator_kwargs=calculator_kwargs,
|
@@ -71,7 +93,7 @@ def fit(
|
|
71 |
criterion=criterion,
|
72 |
)
|
73 |
|
74 |
-
relaxed =
|
75 |
|
76 |
# p0 = relaxed.get_positions()
|
77 |
c0 = relaxed.get_cell()
|
@@ -99,14 +121,20 @@ def fit(
|
|
99 |
|
100 |
wait(futures)
|
101 |
|
102 |
-
volumes = [f.result()["atoms"].get_volume() for f in futures]
|
103 |
-
energies = [f.result()["atoms"].get_potential_energy() for f in futures]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
|
105 |
bm = BirchMurnaghan(volumes=volumes, energies=energies)
|
106 |
bm.fit()
|
107 |
|
108 |
-
volumes, energies = map(list, zip(*sorted(zip(volumes, energies, strict=False), key=lambda i: i[0]), strict=False))
|
109 |
-
|
110 |
return {
|
111 |
"eos": {"volumes": volumes, "energies": energies},
|
112 |
"K": bm.b0_GPa,
|
|
|
6 |
|
7 |
from __future__ import annotations
|
8 |
|
|
|
9 |
from typing import TYPE_CHECKING
|
10 |
|
11 |
import numpy as np
|
|
|
14 |
from ase.optimize import * # type: ignore
|
15 |
from ase.optimize.optimize import Optimizer
|
16 |
from prefect import flow
|
|
|
|
|
17 |
from prefect.futures import wait
|
18 |
+
from prefect.runtime import flow_run, task_run
|
19 |
+
from pymatgen.analysis.eos import BirchMurnaghan
|
20 |
|
21 |
from mlip_arena.models.utils import MLIPEnum
|
22 |
from mlip_arena.tasks.optimize import run as OPT
|
|
|
25 |
from ase.filters import Filter
|
26 |
|
27 |
|
28 |
+
def generate_flow_run_name():
|
29 |
+
flow_name = flow_run.flow_name
|
30 |
+
|
31 |
+
parameters = flow_run.parameters
|
32 |
+
|
33 |
+
atoms = parameters["atoms"]
|
34 |
+
calculator_name = parameters["calculator_name"]
|
35 |
+
|
36 |
+
return f"{flow_name}: {atoms.get_chemical_formula()} - {calculator_name}"
|
37 |
+
|
38 |
+
|
39 |
+
def generate_task_run_name():
|
40 |
+
task_name = task_run.task_name
|
41 |
+
|
42 |
+
parameters = task_run.parameters
|
43 |
+
|
44 |
+
atoms = parameters["atoms"]
|
45 |
+
calculator_name = parameters["calculator_name"]
|
46 |
+
|
47 |
+
return f"{task_name}: {atoms.get_chemical_formula()} - {calculator_name}"
|
48 |
+
|
49 |
+
|
50 |
+
# @task(task_run_name=generate_task_run_name)
|
51 |
+
@flow(flow_run_name=generate_flow_run_name, validate_parameters=False)
|
52 |
def fit(
|
53 |
atoms: Atoms,
|
54 |
calculator_name: str | MLIPEnum,
|
55 |
calculator_kwargs: dict | None,
|
56 |
device: str | None = None,
|
57 |
+
optimizer: Optimizer | str = "BFGSLineSearch", # type: ignore
|
58 |
optimizer_kwargs: dict | None = None,
|
59 |
filter: Filter | str | None = None,
|
60 |
filter_kwargs: dict | None = None,
|
|
|
81 |
Returns:
|
82 |
A dictionary containing the EOS data and the bulk modulus.
|
83 |
"""
|
84 |
+
first_relax = OPT(
|
85 |
atoms=atoms,
|
86 |
calculator_name=calculator_name,
|
87 |
calculator_kwargs=calculator_kwargs,
|
|
|
93 |
criterion=criterion,
|
94 |
)
|
95 |
|
96 |
+
relaxed = first_relax["atoms"]
|
97 |
|
98 |
# p0 = relaxed.get_positions()
|
99 |
c0 = relaxed.get_cell()
|
|
|
121 |
|
122 |
wait(futures)
|
123 |
|
124 |
+
volumes = [f.result()["atoms"].get_volume() for f in futures if isinstance(f.result(), dict)]
|
125 |
+
energies = [f.result()["atoms"].get_potential_energy() for f in futures if isinstance(f.result(), dict)]
|
126 |
+
|
127 |
+
volumes, energies = map(
|
128 |
+
list,
|
129 |
+
zip(
|
130 |
+
*sorted(zip(volumes, energies, strict=True), key=lambda i: i[0]),
|
131 |
+
strict=True,
|
132 |
+
),
|
133 |
+
)
|
134 |
|
135 |
bm = BirchMurnaghan(volumes=volumes, energies=energies)
|
136 |
bm.fit()
|
137 |
|
|
|
|
|
138 |
return {
|
139 |
"eos": {"volumes": volumes, "energies": energies},
|
140 |
"K": bm.b0_GPa,
|
mlip_arena/tasks/optimize.py
CHANGED
@@ -41,7 +41,11 @@ _valid_optimizers: dict[str, Optimizer] = {
|
|
41 |
} # type: ignore
|
42 |
|
43 |
|
44 |
-
@task(
|
|
|
|
|
|
|
|
|
45 |
def run(
|
46 |
atoms: Atoms,
|
47 |
calculator_name: str | MLIPEnum,
|
|
|
41 |
} # type: ignore
|
42 |
|
43 |
|
44 |
+
# @task(
|
45 |
+
# cache_key_fn=task_input_hash,
|
46 |
+
# cache_expiration=timedelta(days=1),
|
47 |
+
# timeout_seconds=120)
|
48 |
+
@task(timeout_seconds=120, result_storage=None)
|
49 |
def run(
|
50 |
atoms: Atoms,
|
51 |
calculator_name: str | MLIPEnum,
|
tests/test_eos.py
CHANGED
@@ -12,7 +12,7 @@ atoms = bulk("Cu", "fcc", a=3.6)
|
|
12 |
|
13 |
@pytest.mark.parametrize("model", [MLIPEnum["MACE-MP(M)"]])
|
14 |
@pytest.mark.skipif(
|
15 |
-
sys.version_info != (3, 11), reason="requires Python 3.11 to use prefect"
|
16 |
)
|
17 |
def test_eos(model: MLIPEnum):
|
18 |
"""
|
|
|
12 |
|
13 |
@pytest.mark.parametrize("model", [MLIPEnum["MACE-MP(M)"]])
|
14 |
@pytest.mark.skipif(
|
15 |
+
tuple(sys.version_info)[:2] != (3, 11), reason="requires Python 3.11 to use prefect"
|
16 |
)
|
17 |
def test_eos(model: MLIPEnum):
|
18 |
"""
|