Spaces:
Running
Running
add orb model to diatomic tasks
Browse files- CITATION.cff +23 -0
- mlip_arena/models/externals.py +15 -18
- mlip_arena/models/registry.yaml +22 -0
- mlip_arena/tasks/combustion/water.ipynb +71 -45
- mlip_arena/tasks/diatomics/orb/homonuclear-diatomics.json +0 -0
- mlip_arena/tasks/diatomics/run.ipynb +0 -0
- mlip_arena/tasks/run.py +23 -8
- pyproject.toml +1 -0
- serve/tasks/homonuclear-diatomics.py +11 -1
CITATION.cff
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# This CITATION.cff file was generated with cffinit.
|
2 |
+
# Visit https://bit.ly/cffinit to generate yours today!
|
3 |
+
|
4 |
+
cff-version: 1.2.0
|
5 |
+
title: MLIP Arena
|
6 |
+
message: >-
|
7 |
+
If you use this software, please cite it using the
|
8 |
+
metadata from this file.
|
9 |
+
type: software
|
10 |
+
authors:
|
11 |
+
- given-names: Yuan
|
12 |
+
family-names: Chiang
|
13 |
+
email: cyrusyc@lbl.gov
|
14 |
+
affiliation: Lawrence Berkeley National Laboratory
|
15 |
+
orcid: 'https://orcid.org/0000-0002-4017-7084'
|
16 |
+
repository-code: 'https://github.com/atomind-ai/mlip-arena'
|
17 |
+
keywords:
|
18 |
+
- Quantum Chemistry
|
19 |
+
- Foundation Model
|
20 |
+
- Interatomic Potentials
|
21 |
+
- Machine Learning
|
22 |
+
- Force Fields
|
23 |
+
license: Apache-2.0
|
mlip_arena/models/externals.py
CHANGED
@@ -3,15 +3,16 @@ import urllib
|
|
3 |
from typing import Literal
|
4 |
|
5 |
import matgl
|
6 |
-
import requests
|
7 |
import torch
|
8 |
-
from alignn.ff.ff import AlignnAtomwiseCalculator, get_figshare_model_ff
|
9 |
from ase import Atoms
|
10 |
from chgnet.model.dynamics import CHGNetCalculator
|
11 |
-
from chgnet.model.model import CHGNet
|
12 |
from fairchem.core import OCPCalculator
|
13 |
from mace.calculators import MACECalculator
|
14 |
from matgl.ext.ase import PESCalculator
|
|
|
|
|
15 |
from sevenn.sevennet_calculator import SevenNetCalculator
|
16 |
|
17 |
|
@@ -111,7 +112,7 @@ class MACE_OFF_Medium(MACECalculator):
|
|
111 |
class CHGNet(CHGNetCalculator):
|
112 |
def __init__(
|
113 |
self,
|
114 |
-
model:
|
115 |
use_device: str | None = None,
|
116 |
stress_weight: float | None = 1 / 160.21766208,
|
117 |
on_isolated_atoms: Literal["ignore", "warn", "error"] = "warn",
|
@@ -173,6 +174,7 @@ class EquiformerV2(OCPCalculator):
|
|
173 |
force=atoms.get_forces(),
|
174 |
)
|
175 |
|
|
|
176 |
class EquiformerV2OC20(OCPCalculator):
|
177 |
def __init__(
|
178 |
self,
|
@@ -190,6 +192,7 @@ class EquiformerV2OC20(OCPCalculator):
|
|
190 |
**kwargs,
|
191 |
)
|
192 |
|
|
|
193 |
class eSCN(OCPCalculator):
|
194 |
def __init__(
|
195 |
self,
|
@@ -217,25 +220,19 @@ class eSCN(OCPCalculator):
|
|
217 |
|
218 |
class ALIGNN(AlignnAtomwiseCalculator):
|
219 |
def __init__(self, dir_path: str = "/tmp/alignn/", device=None, **kwargs) -> None:
|
220 |
-
|
221 |
device = device or get_freer_device()
|
222 |
super().__init__(path=dir_path, device=device, **kwargs)
|
223 |
|
224 |
-
def calculate(self, atoms, properties=None, system_changes=None):
|
225 |
-
super().calculate(atoms, properties, system_changes)
|
226 |
-
|
227 |
|
228 |
class SevenNet(SevenNetCalculator):
|
229 |
def __init__(self, device=None, **kwargs):
|
230 |
-
# url = (
|
231 |
-
# "https://github.com/MDIL-SNU/SevenNet/raw/main/pretrained_potentials"
|
232 |
-
# "/SevenNet_0__11July2024/checkpoint_sevennet_0.pth"
|
233 |
-
# )
|
234 |
-
# ckpt_cache = "/tmp/sevennet_checkpoint.pth.tar"
|
235 |
-
# response = requests.get(url)
|
236 |
-
# with open(ckpt_cache, mode="wb") as file:
|
237 |
-
# file.write(response.content)
|
238 |
-
|
239 |
device = device or get_freer_device()
|
240 |
-
|
241 |
super().__init__("7net-0", device=device, **kwargs)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
from typing import Literal
|
4 |
|
5 |
import matgl
|
|
|
6 |
import torch
|
7 |
+
from alignn.ff.ff import AlignnAtomwiseCalculator, get_figshare_model_ff
|
8 |
from ase import Atoms
|
9 |
from chgnet.model.dynamics import CHGNetCalculator
|
10 |
+
from chgnet.model.model import CHGNet as CHGNetModel
|
11 |
from fairchem.core import OCPCalculator
|
12 |
from mace.calculators import MACECalculator
|
13 |
from matgl.ext.ase import PESCalculator
|
14 |
+
from orb_models.forcefield import pretrained
|
15 |
+
from orb_models.forcefield.calculator import ORBCalculator
|
16 |
from sevenn.sevennet_calculator import SevenNetCalculator
|
17 |
|
18 |
|
|
|
112 |
class CHGNet(CHGNetCalculator):
|
113 |
def __init__(
|
114 |
self,
|
115 |
+
model: CHGNetModel | None = None,
|
116 |
use_device: str | None = None,
|
117 |
stress_weight: float | None = 1 / 160.21766208,
|
118 |
on_isolated_atoms: Literal["ignore", "warn", "error"] = "warn",
|
|
|
174 |
force=atoms.get_forces(),
|
175 |
)
|
176 |
|
177 |
+
|
178 |
class EquiformerV2OC20(OCPCalculator):
|
179 |
def __init__(
|
180 |
self,
|
|
|
192 |
**kwargs,
|
193 |
)
|
194 |
|
195 |
+
|
196 |
class eSCN(OCPCalculator):
|
197 |
def __init__(
|
198 |
self,
|
|
|
220 |
|
221 |
class ALIGNN(AlignnAtomwiseCalculator):
|
222 |
def __init__(self, dir_path: str = "/tmp/alignn/", device=None, **kwargs) -> None:
|
223 |
+
_ = get_figshare_model_ff(dir_path=dir_path)
|
224 |
device = device or get_freer_device()
|
225 |
super().__init__(path=dir_path, device=device, **kwargs)
|
226 |
|
|
|
|
|
|
|
227 |
|
228 |
class SevenNet(SevenNetCalculator):
|
229 |
def __init__(self, device=None, **kwargs):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
230 |
device = device or get_freer_device()
|
|
|
231 |
super().__init__("7net-0", device=device, **kwargs)
|
232 |
+
|
233 |
+
|
234 |
+
class ORB(ORBCalculator):
|
235 |
+
def __init__(self, device=None, **kwargs):
|
236 |
+
device = device or get_freer_device()
|
237 |
+
orbff = pretrained.orb_v1(device=device)
|
238 |
+
super().__init__(orbff, device=device, **kwargs)
|
mlip_arena/models/registry.yaml
CHANGED
@@ -177,4 +177,26 @@ SevenNet:
|
|
177 |
date: 2024-07-11
|
178 |
prediction: EFS
|
179 |
nvt: true
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
npt: true
|
|
|
177 |
date: 2024-07-11
|
178 |
prediction: EFS
|
179 |
nvt: true
|
180 |
+
npt: true
|
181 |
+
|
182 |
+
ORB:
|
183 |
+
module: externals
|
184 |
+
class: ORB
|
185 |
+
family: orb
|
186 |
+
username: cyrusyc
|
187 |
+
last-update: 2024-03-25T14:30:00
|
188 |
+
datetime: 2024-03-25T14:30:00 # TODO: Fake datetime
|
189 |
+
datasets:
|
190 |
+
- atomind/mptrj # TODO: fake HF dataset repo
|
191 |
+
- atomind/alexandria
|
192 |
+
cpu-tasks:
|
193 |
+
- alexandria
|
194 |
+
- qmof
|
195 |
+
gpu-tasks:
|
196 |
+
- homonuclear-diatomics
|
197 |
+
github: https://github.com/orbital-materials/orb-models
|
198 |
+
doi:
|
199 |
+
date: 2024-09-03
|
200 |
+
prediction: EFS
|
201 |
+
nvt: true
|
202 |
npt: true
|
mlip_arena/tasks/combustion/water.ipynb
CHANGED
@@ -139,7 +139,7 @@
|
|
139 |
"source ~/.bashrc\n",
|
140 |
"module load python\n",
|
141 |
"source activate /pscratch/sd/c/cyrusyc/.conda/mlip-arena\n",
|
142 |
-
"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/bin/python -m distributed.cli.dask_worker tcp://128.55.64.
|
143 |
"\n"
|
144 |
]
|
145 |
}
|
@@ -229,11 +229,11 @@
|
|
229 |
{
|
230 |
"data": {
|
231 |
"text/html": [
|
232 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
233 |
"</pre>\n"
|
234 |
],
|
235 |
"text/plain": [
|
236 |
-
"
|
237 |
]
|
238 |
},
|
239 |
"metadata": {},
|
@@ -242,11 +242,11 @@
|
|
242 |
{
|
243 |
"data": {
|
244 |
"text/html": [
|
245 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
246 |
"</pre>\n"
|
247 |
],
|
248 |
"text/plain": [
|
249 |
-
"
|
250 |
]
|
251 |
},
|
252 |
"metadata": {},
|
@@ -255,11 +255,11 @@
|
|
255 |
{
|
256 |
"data": {
|
257 |
"text/html": [
|
258 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
259 |
"</pre>\n"
|
260 |
],
|
261 |
"text/plain": [
|
262 |
-
"
|
263 |
]
|
264 |
},
|
265 |
"metadata": {},
|
@@ -268,11 +268,11 @@
|
|
268 |
{
|
269 |
"data": {
|
270 |
"text/html": [
|
271 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
272 |
"</pre>\n"
|
273 |
],
|
274 |
"text/plain": [
|
275 |
-
"
|
276 |
]
|
277 |
},
|
278 |
"metadata": {},
|
@@ -281,11 +281,11 @@
|
|
281 |
{
|
282 |
"data": {
|
283 |
"text/html": [
|
284 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
285 |
"</pre>\n"
|
286 |
],
|
287 |
"text/plain": [
|
288 |
-
"
|
289 |
]
|
290 |
},
|
291 |
"metadata": {},
|
@@ -294,11 +294,11 @@
|
|
294 |
{
|
295 |
"data": {
|
296 |
"text/html": [
|
297 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
298 |
"</pre>\n"
|
299 |
],
|
300 |
"text/plain": [
|
301 |
-
"
|
302 |
]
|
303 |
},
|
304 |
"metadata": {},
|
@@ -307,11 +307,11 @@
|
|
307 |
{
|
308 |
"data": {
|
309 |
"text/html": [
|
310 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
311 |
"</pre>\n"
|
312 |
],
|
313 |
"text/plain": [
|
314 |
-
"
|
315 |
]
|
316 |
},
|
317 |
"metadata": {},
|
@@ -320,11 +320,11 @@
|
|
320 |
{
|
321 |
"data": {
|
322 |
"text/html": [
|
323 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
324 |
"</pre>\n"
|
325 |
],
|
326 |
"text/plain": [
|
327 |
-
"
|
328 |
]
|
329 |
},
|
330 |
"metadata": {},
|
@@ -333,11 +333,11 @@
|
|
333 |
{
|
334 |
"data": {
|
335 |
"text/html": [
|
336 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
337 |
"</pre>\n"
|
338 |
],
|
339 |
"text/plain": [
|
340 |
-
"
|
341 |
]
|
342 |
},
|
343 |
"metadata": {},
|
@@ -346,11 +346,11 @@
|
|
346 |
{
|
347 |
"data": {
|
348 |
"text/html": [
|
349 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
350 |
"</pre>\n"
|
351 |
],
|
352 |
"text/plain": [
|
353 |
-
"
|
354 |
]
|
355 |
},
|
356 |
"metadata": {},
|
@@ -359,11 +359,11 @@
|
|
359 |
{
|
360 |
"data": {
|
361 |
"text/html": [
|
362 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
363 |
"</pre>\n"
|
364 |
],
|
365 |
"text/plain": [
|
366 |
-
"
|
367 |
]
|
368 |
},
|
369 |
"metadata": {},
|
@@ -372,11 +372,11 @@
|
|
372 |
{
|
373 |
"data": {
|
374 |
"text/html": [
|
375 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
376 |
"</pre>\n"
|
377 |
],
|
378 |
"text/plain": [
|
379 |
-
"
|
380 |
]
|
381 |
},
|
382 |
"metadata": {},
|
@@ -385,11 +385,11 @@
|
|
385 |
{
|
386 |
"data": {
|
387 |
"text/html": [
|
388 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
389 |
"</pre>\n"
|
390 |
],
|
391 |
"text/plain": [
|
392 |
-
"
|
393 |
]
|
394 |
},
|
395 |
"metadata": {},
|
@@ -398,11 +398,11 @@
|
|
398 |
{
|
399 |
"data": {
|
400 |
"text/html": [
|
401 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
402 |
"</pre>\n"
|
403 |
],
|
404 |
"text/plain": [
|
405 |
-
"
|
406 |
]
|
407 |
},
|
408 |
"metadata": {},
|
@@ -411,11 +411,11 @@
|
|
411 |
{
|
412 |
"data": {
|
413 |
"text/html": [
|
414 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
415 |
"</pre>\n"
|
416 |
],
|
417 |
"text/plain": [
|
418 |
-
"
|
419 |
]
|
420 |
},
|
421 |
"metadata": {},
|
@@ -424,11 +424,11 @@
|
|
424 |
{
|
425 |
"data": {
|
426 |
"text/html": [
|
427 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
428 |
"</pre>\n"
|
429 |
],
|
430 |
"text/plain": [
|
431 |
-
"
|
432 |
]
|
433 |
},
|
434 |
"metadata": {},
|
@@ -437,11 +437,11 @@
|
|
437 |
{
|
438 |
"data": {
|
439 |
"text/html": [
|
440 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
441 |
"</pre>\n"
|
442 |
],
|
443 |
"text/plain": [
|
444 |
-
"
|
445 |
]
|
446 |
},
|
447 |
"metadata": {},
|
@@ -450,11 +450,11 @@
|
|
450 |
{
|
451 |
"data": {
|
452 |
"text/html": [
|
453 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
454 |
"</pre>\n"
|
455 |
],
|
456 |
"text/plain": [
|
457 |
-
"
|
458 |
]
|
459 |
},
|
460 |
"metadata": {},
|
@@ -463,11 +463,11 @@
|
|
463 |
{
|
464 |
"data": {
|
465 |
"text/html": [
|
466 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
467 |
"</pre>\n"
|
468 |
],
|
469 |
"text/plain": [
|
470 |
-
"
|
471 |
]
|
472 |
},
|
473 |
"metadata": {},
|
@@ -476,11 +476,11 @@
|
|
476 |
{
|
477 |
"data": {
|
478 |
"text/html": [
|
479 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
480 |
"</pre>\n"
|
481 |
],
|
482 |
"text/plain": [
|
483 |
-
"
|
484 |
]
|
485 |
},
|
486 |
"metadata": {},
|
@@ -489,11 +489,11 @@
|
|
489 |
{
|
490 |
"data": {
|
491 |
"text/html": [
|
492 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
493 |
"</pre>\n"
|
494 |
],
|
495 |
"text/plain": [
|
496 |
-
"
|
497 |
]
|
498 |
},
|
499 |
"metadata": {},
|
@@ -502,11 +502,37 @@
|
|
502 |
{
|
503 |
"data": {
|
504 |
"text/html": [
|
505 |
-
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">
|
506 |
"</pre>\n"
|
507 |
],
|
508 |
"text/plain": [
|
509 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
510 |
]
|
511 |
},
|
512 |
"metadata": {},
|
|
|
139 |
"source ~/.bashrc\n",
|
140 |
"module load python\n",
|
141 |
"source activate /pscratch/sd/c/cyrusyc/.conda/mlip-arena\n",
|
142 |
+
"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/bin/python -m distributed.cli.dask_worker tcp://128.55.64.16:40657 --name dummy-name --nthreads 1 --memory-limit 59.60GiB --nanny --death-timeout 86400\n",
|
143 |
"\n"
|
144 |
]
|
145 |
}
|
|
|
229 |
{
|
230 |
"data": {
|
231 |
"text/html": [
|
232 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:32.556 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | prefect.engine - Created flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> for flow<span style=\"color: #800080; text-decoration-color: #800080; font-weight: bold\"> 'combustion'</span>\n",
|
233 |
"</pre>\n"
|
234 |
],
|
235 |
"text/plain": [
|
236 |
+
"18:24:32.556 | \u001b[36mINFO\u001b[0m | prefect.engine - Created flow run\u001b[35m 'airborne-chupacabra'\u001b[0m for flow\u001b[1;35m 'combustion'\u001b[0m\n"
|
237 |
]
|
238 |
},
|
239 |
"metadata": {},
|
|
|
242 |
{
|
243 |
"data": {
|
244 |
"text/html": [
|
245 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:32.563 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</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/fb8616ef-5579-49a7-81ce-0306180ca401</span>\n",
|
246 |
"</pre>\n"
|
247 |
],
|
248 |
"text/plain": [
|
249 |
+
"18:24:32.563 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - View at \u001b[94mhttps://app.prefect.cloud/account/f7d40474-9362-4bfa-8950-ee6a43ec00f3/workspace/d4bb0913-5f5e-49f7-bfc5-06509088baeb/flow-runs/flow-run/fb8616ef-5579-49a7-81ce-0306180ca401\u001b[0m\n"
|
250 |
]
|
251 |
},
|
252 |
"metadata": {},
|
|
|
255 |
{
|
256 |
"data": {
|
257 |
"text/html": [
|
258 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:32.565 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | prefect.task_runner.dask - Connecting to an existing Dask cluster at tcp://128.55.64.16:40657\n",
|
259 |
"</pre>\n"
|
260 |
],
|
261 |
"text/plain": [
|
262 |
+
"18:24:32.565 | \u001b[36mINFO\u001b[0m | prefect.task_runner.dask - Connecting to an existing Dask cluster at tcp://128.55.64.16:40657\n"
|
263 |
]
|
264 |
},
|
265 |
"metadata": {},
|
|
|
268 |
{
|
269 |
"data": {
|
270 |
"text/html": [
|
271 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:32.591 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | prefect.task_runner.dask - The Dask dashboard is available at <span style=\"color: #0000ff; text-decoration-color: #0000ff\">http://128.55.64.16:8787/status</span>\n",
|
272 |
"</pre>\n"
|
273 |
],
|
274 |
"text/plain": [
|
275 |
+
"18:24:32.591 | \u001b[36mINFO\u001b[0m | prefect.task_runner.dask - The Dask dashboard is available at \u001b[94mhttp://128.55.64.16:8787/status\u001b[0m\n"
|
276 |
]
|
277 |
},
|
278 |
"metadata": {},
|
|
|
281 |
{
|
282 |
"data": {
|
283 |
"text/html": [
|
284 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:33.239 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Created task run 'md-4' for task 'md'\n",
|
285 |
"</pre>\n"
|
286 |
],
|
287 |
"text/plain": [
|
288 |
+
"18:24:33.239 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Created task run 'md-4' for task 'md'\n"
|
289 |
]
|
290 |
},
|
291 |
"metadata": {},
|
|
|
294 |
{
|
295 |
"data": {
|
296 |
"text/html": [
|
297 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:33.280 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Created task run 'md-7' for task 'md'\n",
|
298 |
"</pre>\n"
|
299 |
],
|
300 |
"text/plain": [
|
301 |
+
"18:24:33.280 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Created task run 'md-7' for task 'md'\n"
|
302 |
]
|
303 |
},
|
304 |
"metadata": {},
|
|
|
307 |
{
|
308 |
"data": {
|
309 |
"text/html": [
|
310 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:33.286 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Created task run 'md-1' for task 'md'\n",
|
311 |
"</pre>\n"
|
312 |
],
|
313 |
"text/plain": [
|
314 |
+
"18:24:33.286 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Created task run 'md-1' for task 'md'\n"
|
315 |
]
|
316 |
},
|
317 |
"metadata": {},
|
|
|
320 |
{
|
321 |
"data": {
|
322 |
"text/html": [
|
323 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:33.289 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Created task run 'md-2' for task 'md'\n",
|
324 |
"</pre>\n"
|
325 |
],
|
326 |
"text/plain": [
|
327 |
+
"18:24:33.289 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Created task run 'md-2' for task 'md'\n"
|
328 |
]
|
329 |
},
|
330 |
"metadata": {},
|
|
|
333 |
{
|
334 |
"data": {
|
335 |
"text/html": [
|
336 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:33.292 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Created task run 'md-5' for task 'md'\n",
|
337 |
"</pre>\n"
|
338 |
],
|
339 |
"text/plain": [
|
340 |
+
"18:24:33.292 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Created task run 'md-5' for task 'md'\n"
|
341 |
]
|
342 |
},
|
343 |
"metadata": {},
|
|
|
346 |
{
|
347 |
"data": {
|
348 |
"text/html": [
|
349 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:33.295 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Created task run 'md-6' for task 'md'\n",
|
350 |
"</pre>\n"
|
351 |
],
|
352 |
"text/plain": [
|
353 |
+
"18:24:33.295 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Created task run 'md-6' for task 'md'\n"
|
354 |
]
|
355 |
},
|
356 |
"metadata": {},
|
|
|
359 |
{
|
360 |
"data": {
|
361 |
"text/html": [
|
362 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:33.298 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Created task run 'md-9' for task 'md'\n",
|
363 |
"</pre>\n"
|
364 |
],
|
365 |
"text/plain": [
|
366 |
+
"18:24:33.298 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Created task run 'md-9' for task 'md'\n"
|
367 |
]
|
368 |
},
|
369 |
"metadata": {},
|
|
|
372 |
{
|
373 |
"data": {
|
374 |
"text/html": [
|
375 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:33.301 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Created task run 'md-0' for task 'md'\n",
|
376 |
"</pre>\n"
|
377 |
],
|
378 |
"text/plain": [
|
379 |
+
"18:24:33.301 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Created task run 'md-0' for task 'md'\n"
|
380 |
]
|
381 |
},
|
382 |
"metadata": {},
|
|
|
385 |
{
|
386 |
"data": {
|
387 |
"text/html": [
|
388 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:33.304 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Created task run 'md-3' for task 'md'\n",
|
389 |
"</pre>\n"
|
390 |
],
|
391 |
"text/plain": [
|
392 |
+
"18:24:33.304 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Created task run 'md-3' for task 'md'\n"
|
393 |
]
|
394 |
},
|
395 |
"metadata": {},
|
|
|
398 |
{
|
399 |
"data": {
|
400 |
"text/html": [
|
401 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:33.306 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Created task run 'md-8' for task 'md'\n",
|
402 |
"</pre>\n"
|
403 |
],
|
404 |
"text/plain": [
|
405 |
+
"18:24:33.306 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Created task run 'md-8' for task 'md'\n"
|
406 |
]
|
407 |
},
|
408 |
"metadata": {},
|
|
|
411 |
{
|
412 |
"data": {
|
413 |
"text/html": [
|
414 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:37.559 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Submitted task run 'md-8' for execution.\n",
|
415 |
"</pre>\n"
|
416 |
],
|
417 |
"text/plain": [
|
418 |
+
"18:24:37.559 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Submitted task run 'md-8' for execution.\n"
|
419 |
]
|
420 |
},
|
421 |
"metadata": {},
|
|
|
424 |
{
|
425 |
"data": {
|
426 |
"text/html": [
|
427 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:37.712 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Submitted task run 'md-5' for execution.\n",
|
428 |
"</pre>\n"
|
429 |
],
|
430 |
"text/plain": [
|
431 |
+
"18:24:37.712 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Submitted task run 'md-5' for execution.\n"
|
432 |
]
|
433 |
},
|
434 |
"metadata": {},
|
|
|
437 |
{
|
438 |
"data": {
|
439 |
"text/html": [
|
440 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:37.731 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Submitted task run 'md-4' for execution.\n",
|
441 |
"</pre>\n"
|
442 |
],
|
443 |
"text/plain": [
|
444 |
+
"18:24:37.731 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Submitted task run 'md-4' for execution.\n"
|
445 |
]
|
446 |
},
|
447 |
"metadata": {},
|
|
|
450 |
{
|
451 |
"data": {
|
452 |
"text/html": [
|
453 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:37.745 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Submitted task run 'md-7' for execution.\n",
|
454 |
"</pre>\n"
|
455 |
],
|
456 |
"text/plain": [
|
457 |
+
"18:24:37.745 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Submitted task run 'md-7' for execution.\n"
|
458 |
]
|
459 |
},
|
460 |
"metadata": {},
|
|
|
463 |
{
|
464 |
"data": {
|
465 |
"text/html": [
|
466 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:37.755 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Submitted task run 'md-1' for execution.\n",
|
467 |
"</pre>\n"
|
468 |
],
|
469 |
"text/plain": [
|
470 |
+
"18:24:37.755 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Submitted task run 'md-1' for execution.\n"
|
471 |
]
|
472 |
},
|
473 |
"metadata": {},
|
|
|
476 |
{
|
477 |
"data": {
|
478 |
"text/html": [
|
479 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:37.771 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Submitted task run 'md-3' for execution.\n",
|
480 |
"</pre>\n"
|
481 |
],
|
482 |
"text/plain": [
|
483 |
+
"18:24:37.771 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Submitted task run 'md-3' for execution.\n"
|
484 |
]
|
485 |
},
|
486 |
"metadata": {},
|
|
|
489 |
{
|
490 |
"data": {
|
491 |
"text/html": [
|
492 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:37.789 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Submitted task run 'md-0' for execution.\n",
|
493 |
"</pre>\n"
|
494 |
],
|
495 |
"text/plain": [
|
496 |
+
"18:24:37.789 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Submitted task run 'md-0' for execution.\n"
|
497 |
]
|
498 |
},
|
499 |
"metadata": {},
|
|
|
502 |
{
|
503 |
"data": {
|
504 |
"text/html": [
|
505 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:37.803 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Submitted task run 'md-2' for execution.\n",
|
506 |
"</pre>\n"
|
507 |
],
|
508 |
"text/plain": [
|
509 |
+
"18:24:37.803 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Submitted task run 'md-2' for execution.\n"
|
510 |
+
]
|
511 |
+
},
|
512 |
+
"metadata": {},
|
513 |
+
"output_type": "display_data"
|
514 |
+
},
|
515 |
+
{
|
516 |
+
"data": {
|
517 |
+
"text/html": [
|
518 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:37.813 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Submitted task run 'md-6' for execution.\n",
|
519 |
+
"</pre>\n"
|
520 |
+
],
|
521 |
+
"text/plain": [
|
522 |
+
"18:24:37.813 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Submitted task run 'md-6' for execution.\n"
|
523 |
+
]
|
524 |
+
},
|
525 |
+
"metadata": {},
|
526 |
+
"output_type": "display_data"
|
527 |
+
},
|
528 |
+
{
|
529 |
+
"data": {
|
530 |
+
"text/html": [
|
531 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">18:24:37.843 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'airborne-chupacabra'</span> - Submitted task run 'md-9' for execution.\n",
|
532 |
+
"</pre>\n"
|
533 |
+
],
|
534 |
+
"text/plain": [
|
535 |
+
"18:24:37.843 | \u001b[36mINFO\u001b[0m | Flow run\u001b[35m 'airborne-chupacabra'\u001b[0m - Submitted task run 'md-9' for execution.\n"
|
536 |
]
|
537 |
},
|
538 |
"metadata": {},
|
mlip_arena/tasks/diatomics/orb/homonuclear-diatomics.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
mlip_arena/tasks/diatomics/run.ipynb
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
mlip_arena/tasks/run.py
CHANGED
@@ -240,14 +240,29 @@ def md(
|
|
240 |
traj_file.parent.mkdir(parents=True, exist_ok=True)
|
241 |
|
242 |
if restart and traj_file.exists():
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
else:
|
252 |
traj = Trajectory(traj_file, "w", atoms)
|
253 |
|
|
|
240 |
traj_file.parent.mkdir(parents=True, exist_ok=True)
|
241 |
|
242 |
if restart and traj_file.exists():
|
243 |
+
try:
|
244 |
+
traj = read(traj_file, index=":")
|
245 |
+
last_atoms = traj[-1]
|
246 |
+
assert isinstance(last_atoms, Atoms)
|
247 |
+
last_step = last_atoms.info.get("step", len(traj) * traj_interval)
|
248 |
+
n_steps -= last_step
|
249 |
+
traj = Trajectory(traj_file, "a", atoms)
|
250 |
+
atoms.set_positions(last_atoms.get_positions())
|
251 |
+
atoms.set_momenta(last_atoms.get_momenta())
|
252 |
+
except Exception:
|
253 |
+
traj = Trajectory(traj_file, "w", atoms)
|
254 |
+
|
255 |
+
if not np.isnan(t_schedule).any():
|
256 |
+
MaxwellBoltzmannDistribution(
|
257 |
+
atoms=atoms,
|
258 |
+
temperature_K=t_schedule[last_step],
|
259 |
+
rng=np.random.default_rng(seed=mb_velocity_seed),
|
260 |
+
)
|
261 |
+
|
262 |
+
if zero_linear_momentum:
|
263 |
+
Stationary(atoms)
|
264 |
+
if zero_angular_momentum:
|
265 |
+
ZeroRotation(atoms)
|
266 |
else:
|
267 |
traj = Trajectory(traj_file, "w", atoms)
|
268 |
|
pyproject.toml
CHANGED
@@ -30,6 +30,7 @@ dependencies=[
|
|
30 |
"torch",
|
31 |
"torch_dftd>=0.4.0",
|
32 |
"huggingface_hub",
|
|
|
33 |
"torch-geometric",
|
34 |
"safetensors",
|
35 |
"pymatgen"
|
|
|
30 |
"torch",
|
31 |
"torch_dftd>=0.4.0",
|
32 |
"huggingface_hub",
|
33 |
+
"datasets",
|
34 |
"torch-geometric",
|
35 |
"safetensors",
|
36 |
"pymatgen"
|
serve/tasks/homonuclear-diatomics.py
CHANGED
@@ -30,7 +30,7 @@ valid_models = [
|
|
30 |
mlip_methods = container.multiselect(
|
31 |
"MLIPs",
|
32 |
valid_models,
|
33 |
-
["EquiformerV2(OC22)", "CHGNet", "M3GNet", "SevenNet", "MACE-MP(M)"],
|
34 |
)
|
35 |
dft_methods = container.multiselect("DFT Methods", ["GPAW"], [])
|
36 |
|
@@ -171,6 +171,16 @@ for i, symbol in enumerate(chemical_symbols[1:]):
|
|
171 |
|
172 |
fig.update_layout(
|
173 |
showlegend=True,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
title_text=f"{name}",
|
175 |
title_x=0.5,
|
176 |
)
|
|
|
30 |
mlip_methods = container.multiselect(
|
31 |
"MLIPs",
|
32 |
valid_models,
|
33 |
+
["EquiformerV2(OC22)", "CHGNet", "M3GNet", "SevenNet", "MACE-MP(M)", "ORB"],
|
34 |
)
|
35 |
dft_methods = container.multiselect("DFT Methods", ["GPAW"], [])
|
36 |
|
|
|
171 |
|
172 |
fig.update_layout(
|
173 |
showlegend=True,
|
174 |
+
legend=dict(
|
175 |
+
orientation="v",
|
176 |
+
x=0.95,
|
177 |
+
xanchor="right",
|
178 |
+
y=1,
|
179 |
+
yanchor="top",
|
180 |
+
bgcolor="rgba(0, 0, 0, 0)"
|
181 |
+
# entrywidth=0.3,
|
182 |
+
# entrywidthmode='fraction',
|
183 |
+
),
|
184 |
title_text=f"{name}",
|
185 |
title_x=0.5,
|
186 |
)
|