Spaces:
Running
Running
some minor cleanup and test
Browse files- .github/workflows/test.yaml +1 -22
- mlip_arena/tasks/combustion/water.ipynb +220 -1
- mlip_arena/tasks/diatomics/alignn/homonuclear-diatomics.json +0 -0
- mlip_arena/tasks/diatomics/chgnet/homonuclear-diatomics.json +0 -0
- mlip_arena/tasks/diatomics/equiformer/homonuclear-diatomics.json +0 -0
- mlip_arena/tasks/diatomics/escn/homonuclear-diatomics.json +0 -0
- mlip_arena/tasks/diatomics/m3gnet/homonuclear-diatomics.json +0 -0
- mlip_arena/tasks/diatomics/mace-mp/homonuclear-diatomics.json +0 -0
- mlip_arena/tasks/diatomics/mace-off/homonuclear-diatomics.json +0 -0
- mlip_arena/tasks/diatomics/orb/homonuclear-diatomics.json +0 -0
- mlip_arena/tasks/diatomics/run.ipynb +1354 -27
- mlip_arena/tasks/diatomics/sevennet/homonuclear-diatomics.json +0 -0
- serve/tasks/combustion.py +73 -35
.github/workflows/test.yaml
CHANGED
@@ -31,25 +31,4 @@ jobs:
|
|
31 |
|
32 |
- name: Run tests
|
33 |
run: |
|
34 |
-
pytest tests
|
35 |
-
|
36 |
-
test-deploy:
|
37 |
-
runs-on: ubuntu-latest
|
38 |
-
needs: test
|
39 |
-
steps:
|
40 |
-
- name: Checkout repository
|
41 |
-
uses: actions/checkout@v2
|
42 |
-
|
43 |
-
- name: Set up Python 3.11
|
44 |
-
uses: actions/setup-python@v2
|
45 |
-
with:
|
46 |
-
python-version: "3.11"
|
47 |
-
|
48 |
-
- name: Install dependencies
|
49 |
-
run: |
|
50 |
-
python -m pip install --upgrade pip
|
51 |
-
pip install .[app]
|
52 |
-
|
53 |
-
- name: Run deploy tests
|
54 |
-
run: |
|
55 |
-
streamlit run serve/app.py
|
|
|
31 |
|
32 |
- name: Run tests
|
33 |
run: |
|
34 |
+
pytest tests
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mlip_arena/tasks/combustion/water.ipynb
CHANGED
@@ -143,6 +143,17 @@
|
|
143 |
"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/bin/python -m distributed.cli.dask_worker tcp://128.55.64.18:39213 --name dummy-name --nthreads 1 --memory-limit 59.60GiB --nanny --death-timeout 86400\n",
|
144 |
"\n"
|
145 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
}
|
147 |
],
|
148 |
"source": [
|
@@ -222,7 +233,7 @@
|
|
222 |
},
|
223 |
{
|
224 |
"cell_type": "code",
|
225 |
-
"execution_count":
|
226 |
"metadata": {
|
227 |
"tags": []
|
228 |
},
|
@@ -538,6 +549,214 @@
|
|
538 |
},
|
539 |
"metadata": {},
|
540 |
"output_type": "display_data"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
541 |
}
|
542 |
],
|
543 |
"source": [
|
|
|
143 |
"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/bin/python -m distributed.cli.dask_worker tcp://128.55.64.18:39213 --name dummy-name --nthreads 1 --memory-limit 59.60GiB --nanny --death-timeout 86400\n",
|
144 |
"\n"
|
145 |
]
|
146 |
+
},
|
147 |
+
{
|
148 |
+
"name": "stderr",
|
149 |
+
"output_type": "stream",
|
150 |
+
"text": [
|
151 |
+
"2024-09-23 01:13:02,497 - distributed.scheduler - ERROR - Task md-7-afd01641c2bb41f1a26704e2fedf9ab4-1 marked as failed because 4 workers died while trying to run it\n",
|
152 |
+
"2024-09-23 03:36:38,684 - distributed.scheduler - ERROR - Task md-9-598f71df60d946639d37372b2b5d6dac-1 marked as failed because 4 workers died while trying to run it\n",
|
153 |
+
"2024-09-23 03:37:55,799 - distributed.scheduler - ERROR - Task md-6-17b6c0960c2c488682ec4cc080e23bef-1 marked as failed because 4 workers died while trying to run it\n",
|
154 |
+
"2024-09-23 03:57:30,367 - distributed.scheduler - ERROR - Task md-8-bce1a611143e49fc95b28e9c825fc257-1 marked as failed because 4 workers died while trying to run it\n",
|
155 |
+
"2024-09-23 03:57:59,183 - distributed.scheduler - ERROR - Task md-2-8e508991e36a4969ae355d1b0ed3d34d-1 marked as failed because 4 workers died while trying to run it\n"
|
156 |
+
]
|
157 |
}
|
158 |
],
|
159 |
"source": [
|
|
|
233 |
},
|
234 |
{
|
235 |
"cell_type": "code",
|
236 |
+
"execution_count": 5,
|
237 |
"metadata": {
|
238 |
"tags": []
|
239 |
},
|
|
|
549 |
},
|
550 |
"metadata": {},
|
551 |
"output_type": "display_data"
|
552 |
+
},
|
553 |
+
{
|
554 |
+
"data": {
|
555 |
+
"text/html": [
|
556 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">03:57:59.188 | <span style=\"color: #d70000; text-decoration-color: #d70000\">ERROR</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'prompt-newt'</span> - Encountered exception during execution:\n",
|
557 |
+
"Traceback (most recent call last):\n",
|
558 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/engine.py\", line 867, in orchestrate_flow_run\n",
|
559 |
+
" result = await flow_call.aresult()\n",
|
560 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
561 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py\", line 327, in aresult\n",
|
562 |
+
" return await asyncio.wrap_future(self.future)\n",
|
563 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
564 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py\", line 352, in _run_sync\n",
|
565 |
+
" result = self.fn(*self.args, **self.kwargs)\n",
|
566 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
567 |
+
" File \"/tmp/ipykernel_1275810/1920202683.py\", line 26, in combustion\n",
|
568 |
+
" return [future.result() for future in futures]\n",
|
569 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
570 |
+
" File \"/tmp/ipykernel_1275810/1920202683.py\", line 26, in <listcomp>\n",
|
571 |
+
" return [future.result() for future in futures]\n",
|
572 |
+
" ^^^^^^^^^^^^^^^\n",
|
573 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/futures.py\", line 228, in result\n",
|
574 |
+
" return from_sync.call_soon_in_loop_thread(result).result()\n",
|
575 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
576 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py\", line 318, in result\n",
|
577 |
+
" return self.future.result(timeout=timeout)\n",
|
578 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
579 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py\", line 188, in result\n",
|
580 |
+
" return self.__get_result()\n",
|
581 |
+
" ^^^^^^^^^^^^^^^^^^^\n",
|
582 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/concurrent/futures/_base.py\", line 401, in __get_result\n",
|
583 |
+
" raise self._exception\n",
|
584 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py\", line 389, in _run_async\n",
|
585 |
+
" result = await coro\n",
|
586 |
+
" ^^^^^^^^^^\n",
|
587 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/futures.py\", line 237, in _result\n",
|
588 |
+
" return await final_state.result(raise_on_failure=raise_on_failure, fetch=True)\n",
|
589 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
590 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/states.py\", line 91, in _get_state_result\n",
|
591 |
+
" raise await get_state_exception(state)\n",
|
592 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect_dask/task_runners.py\", line 311, in wait\n",
|
593 |
+
" return await future.result(timeout=timeout)\n",
|
594 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
595 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/distributed/client.py\", line 336, in _result\n",
|
596 |
+
" raise exc.with_traceback(tb)\n",
|
597 |
+
"distributed.scheduler.KilledWorker: Attempted to run task 'md-2-8e508991e36a4969ae355d1b0ed3d34d-1' 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.67.15:38671. 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",
|
598 |
+
"</pre>\n"
|
599 |
+
],
|
600 |
+
"text/plain": [
|
601 |
+
"03:57:59.188 | \u001b[38;5;160mERROR\u001b[0m | Flow run\u001b[35m 'prompt-newt'\u001b[0m - Encountered exception during execution:\n",
|
602 |
+
"Traceback (most recent call last):\n",
|
603 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/engine.py\", line 867, in orchestrate_flow_run\n",
|
604 |
+
" result = await flow_call.aresult()\n",
|
605 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
606 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py\", line 327, in aresult\n",
|
607 |
+
" return await asyncio.wrap_future(self.future)\n",
|
608 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
609 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py\", line 352, in _run_sync\n",
|
610 |
+
" result = self.fn(*self.args, **self.kwargs)\n",
|
611 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
612 |
+
" File \"/tmp/ipykernel_1275810/1920202683.py\", line 26, in combustion\n",
|
613 |
+
" return [future.result() for future in futures]\n",
|
614 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
615 |
+
" File \"/tmp/ipykernel_1275810/1920202683.py\", line 26, in <listcomp>\n",
|
616 |
+
" return [future.result() for future in futures]\n",
|
617 |
+
" ^^^^^^^^^^^^^^^\n",
|
618 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/futures.py\", line 228, in result\n",
|
619 |
+
" return from_sync.call_soon_in_loop_thread(result).result()\n",
|
620 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
621 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py\", line 318, in result\n",
|
622 |
+
" return self.future.result(timeout=timeout)\n",
|
623 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
624 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py\", line 188, in result\n",
|
625 |
+
" return self.__get_result()\n",
|
626 |
+
" ^^^^^^^^^^^^^^^^^^^\n",
|
627 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/concurrent/futures/_base.py\", line 401, in __get_result\n",
|
628 |
+
" raise self._exception\n",
|
629 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py\", line 389, in _run_async\n",
|
630 |
+
" result = await coro\n",
|
631 |
+
" ^^^^^^^^^^\n",
|
632 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/futures.py\", line 237, in _result\n",
|
633 |
+
" return await final_state.result(raise_on_failure=raise_on_failure, fetch=True)\n",
|
634 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
635 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/states.py\", line 91, in _get_state_result\n",
|
636 |
+
" raise await get_state_exception(state)\n",
|
637 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect_dask/task_runners.py\", line 311, in wait\n",
|
638 |
+
" return await future.result(timeout=timeout)\n",
|
639 |
+
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
640 |
+
" File \"/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/distributed/client.py\", line 336, in _result\n",
|
641 |
+
" raise exc.with_traceback(tb)\n",
|
642 |
+
"distributed.scheduler.KilledWorker: Attempted to run task 'md-2-8e508991e36a4969ae355d1b0ed3d34d-1' 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.67.15:38671. 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"
|
643 |
+
]
|
644 |
+
},
|
645 |
+
"metadata": {},
|
646 |
+
"output_type": "display_data"
|
647 |
+
},
|
648 |
+
{
|
649 |
+
"data": {
|
650 |
+
"text/html": [
|
651 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">03:58:27.163 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Task run 'md-2' - Crash detected! Execution was interrupted by an unexpected exception: KilledWorker: Attempted to run task 'md-2-8e508991e36a4969ae355d1b0ed3d34d-1' 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.67.15:38671. 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",
|
652 |
+
"</pre>\n"
|
653 |
+
],
|
654 |
+
"text/plain": [
|
655 |
+
"03:58:27.163 | \u001b[36mINFO\u001b[0m | Task run 'md-2' - Crash detected! Execution was interrupted by an unexpected exception: KilledWorker: Attempted to run task 'md-2-8e508991e36a4969ae355d1b0ed3d34d-1' 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.67.15:38671. 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"
|
656 |
+
]
|
657 |
+
},
|
658 |
+
"metadata": {},
|
659 |
+
"output_type": "display_data"
|
660 |
+
},
|
661 |
+
{
|
662 |
+
"data": {
|
663 |
+
"text/html": [
|
664 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">03:58:27.447 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Task run 'md-6' - Crash detected! Execution was interrupted by an unexpected exception: KilledWorker: Attempted to run task 'md-6-17b6c0960c2c488682ec4cc080e23bef-1' 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.82.169:45277. 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",
|
665 |
+
"</pre>\n"
|
666 |
+
],
|
667 |
+
"text/plain": [
|
668 |
+
"03:58:27.447 | \u001b[36mINFO\u001b[0m | Task run 'md-6' - Crash detected! Execution was interrupted by an unexpected exception: KilledWorker: Attempted to run task 'md-6-17b6c0960c2c488682ec4cc080e23bef-1' 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.82.169:45277. 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"
|
669 |
+
]
|
670 |
+
},
|
671 |
+
"metadata": {},
|
672 |
+
"output_type": "display_data"
|
673 |
+
},
|
674 |
+
{
|
675 |
+
"data": {
|
676 |
+
"text/html": [
|
677 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">03:58:27.714 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Task run 'md-7' - Crash detected! Execution was interrupted by an unexpected exception: KilledWorker: Attempted to run task 'md-7-afd01641c2bb41f1a26704e2fedf9ab4-1' 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.68.221:42379. 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",
|
678 |
+
"</pre>\n"
|
679 |
+
],
|
680 |
+
"text/plain": [
|
681 |
+
"03:58:27.714 | \u001b[36mINFO\u001b[0m | Task run 'md-7' - Crash detected! Execution was interrupted by an unexpected exception: KilledWorker: Attempted to run task 'md-7-afd01641c2bb41f1a26704e2fedf9ab4-1' 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.68.221:42379. 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"
|
682 |
+
]
|
683 |
+
},
|
684 |
+
"metadata": {},
|
685 |
+
"output_type": "display_data"
|
686 |
+
},
|
687 |
+
{
|
688 |
+
"data": {
|
689 |
+
"text/html": [
|
690 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">03:58:28.024 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Task run 'md-8' - Crash detected! Execution was interrupted by an unexpected exception: KilledWorker: Attempted to run task 'md-8-bce1a611143e49fc95b28e9c825fc257-1' 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.66.175:34615. 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",
|
691 |
+
"</pre>\n"
|
692 |
+
],
|
693 |
+
"text/plain": [
|
694 |
+
"03:58:28.024 | \u001b[36mINFO\u001b[0m | Task run 'md-8' - Crash detected! Execution was interrupted by an unexpected exception: KilledWorker: Attempted to run task 'md-8-bce1a611143e49fc95b28e9c825fc257-1' 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.66.175:34615. 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"
|
695 |
+
]
|
696 |
+
},
|
697 |
+
"metadata": {},
|
698 |
+
"output_type": "display_data"
|
699 |
+
},
|
700 |
+
{
|
701 |
+
"data": {
|
702 |
+
"text/html": [
|
703 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">03:58:28.301 | <span style=\"color: #008080; text-decoration-color: #008080\">INFO</span> | Task run 'md-9' - Crash detected! Execution was interrupted by an unexpected exception: KilledWorker: Attempted to run task 'md-9-598f71df60d946639d37372b2b5d6dac-1' 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.66.50:40931. 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",
|
704 |
+
"</pre>\n"
|
705 |
+
],
|
706 |
+
"text/plain": [
|
707 |
+
"03:58:28.301 | \u001b[36mINFO\u001b[0m | Task run 'md-9' - Crash detected! Execution was interrupted by an unexpected exception: KilledWorker: Attempted to run task 'md-9-598f71df60d946639d37372b2b5d6dac-1' 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.66.50:40931. 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"
|
708 |
+
]
|
709 |
+
},
|
710 |
+
"metadata": {},
|
711 |
+
"output_type": "display_data"
|
712 |
+
},
|
713 |
+
{
|
714 |
+
"data": {
|
715 |
+
"text/html": [
|
716 |
+
"<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">03:58:28.627 | <span style=\"color: #d70000; text-decoration-color: #d70000\">ERROR</span> | Flow run<span style=\"color: #800080; text-decoration-color: #800080\"> 'prompt-newt'</span> - Finished in state <span style=\"color: #d70000; text-decoration-color: #d70000\">Failed</span>(\"Flow run encountered an exception. KilledWorker: Attempted to run task 'md-2-8e508991e36a4969ae355d1b0ed3d34d-1' 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.67.15:38671. 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",
|
717 |
+
"</pre>\n"
|
718 |
+
],
|
719 |
+
"text/plain": [
|
720 |
+
"03:58:28.627 | \u001b[38;5;160mERROR\u001b[0m | Flow run\u001b[35m 'prompt-newt'\u001b[0m - Finished in state \u001b[38;5;160mFailed\u001b[0m(\"Flow run encountered an exception. KilledWorker: Attempted to run task 'md-2-8e508991e36a4969ae355d1b0ed3d34d-1' 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.67.15:38671. 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"
|
721 |
+
]
|
722 |
+
},
|
723 |
+
"metadata": {},
|
724 |
+
"output_type": "display_data"
|
725 |
+
},
|
726 |
+
{
|
727 |
+
"ename": "KilledWorker",
|
728 |
+
"evalue": "Attempted to run task 'md-2-8e508991e36a4969ae355d1b0ed3d34d-1' 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.67.15:38671. 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.",
|
729 |
+
"output_type": "error",
|
730 |
+
"traceback": [
|
731 |
+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
732 |
+
"\u001b[0;31mKilledWorker\u001b[0m Traceback (most recent call last)",
|
733 |
+
"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",
|
734 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/flows.py:1224\u001b[0m, in \u001b[0;36mFlow.__call__\u001b[0;34m(self, return_state, wait_for, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1219\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m task_viz_tracker:\n\u001b[1;32m 1220\u001b[0m \u001b[38;5;66;03m# this is a subflow, for now return a single task and do not go further\u001b[39;00m\n\u001b[1;32m 1221\u001b[0m \u001b[38;5;66;03m# we can add support for exploring subflows for tasks in the future.\u001b[39;00m\n\u001b[1;32m 1222\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[0;32m-> 1224\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43menter_flow_run_engine_from_flow_call\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1225\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1226\u001b[0m \u001b[43m \u001b[49m\u001b[43mparameters\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1227\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 1228\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 1229\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n",
|
735 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/engine.py:297\u001b[0m, in \u001b[0;36menter_flow_run_engine_from_flow_call\u001b[0;34m(flow, parameters, wait_for, return_type)\u001b[0m\n\u001b[1;32m 290\u001b[0m retval \u001b[38;5;241m=\u001b[39m from_async\u001b[38;5;241m.\u001b[39mwait_for_call_in_loop_thread(\n\u001b[1;32m 291\u001b[0m begin_run,\n\u001b[1;32m 292\u001b[0m done_callbacks\u001b[38;5;241m=\u001b[39mdone_callbacks,\n\u001b[1;32m 293\u001b[0m contexts\u001b[38;5;241m=\u001b[39mcontexts,\n\u001b[1;32m 294\u001b[0m )\n\u001b[1;32m 296\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 297\u001b[0m retval \u001b[38;5;241m=\u001b[39m \u001b[43mfrom_sync\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mwait_for_call_in_loop_thread\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 298\u001b[0m \u001b[43m \u001b[49m\u001b[43mbegin_run\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 299\u001b[0m \u001b[43m \u001b[49m\u001b[43mdone_callbacks\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdone_callbacks\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 300\u001b[0m \u001b[43m \u001b[49m\u001b[43mcontexts\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcontexts\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 301\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 303\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m retval\n",
|
736 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/api.py:243\u001b[0m, in \u001b[0;36mfrom_sync.wait_for_call_in_loop_thread\u001b[0;34m(_from_sync__call, timeout, done_callbacks, contexts)\u001b[0m\n\u001b[1;32m 241\u001b[0m stack\u001b[38;5;241m.\u001b[39menter_context(context)\n\u001b[1;32m 242\u001b[0m waiter\u001b[38;5;241m.\u001b[39mwait()\n\u001b[0;32m--> 243\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mcall\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresult\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
|
737 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py:318\u001b[0m, in \u001b[0;36mCall.result\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 312\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mresult\u001b[39m(\u001b[38;5;28mself\u001b[39m, timeout: Optional[\u001b[38;5;28mfloat\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m T:\n\u001b[1;32m 313\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 314\u001b[0m \u001b[38;5;124;03m Wait for the result of the call.\u001b[39;00m\n\u001b[1;32m 315\u001b[0m \n\u001b[1;32m 316\u001b[0m \u001b[38;5;124;03m Not safe for use from asynchronous contexts.\u001b[39;00m\n\u001b[1;32m 317\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 318\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[43mfuture\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",
|
738 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py:179\u001b[0m, in \u001b[0;36mFuture.result\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 177\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m CancelledError()\n\u001b[1;32m 178\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state \u001b[38;5;241m==\u001b[39m FINISHED:\n\u001b[0;32m--> 179\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[43m__get_result\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 181\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_condition\u001b[38;5;241m.\u001b[39mwait(timeout)\n\u001b[1;32m 183\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state \u001b[38;5;129;01min\u001b[39;00m [CANCELLED, CANCELLED_AND_NOTIFIED]:\n\u001b[1;32m 184\u001b[0m \u001b[38;5;66;03m# Raise Prefect cancelled error instead of\u001b[39;00m\n\u001b[1;32m 185\u001b[0m \u001b[38;5;66;03m# `concurrent.futures._base.CancelledError`\u001b[39;00m\n",
|
739 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/concurrent/futures/_base.py:401\u001b[0m, in \u001b[0;36mFuture.__get_result\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 399\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception:\n\u001b[1;32m 400\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 401\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception\n\u001b[1;32m 402\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 403\u001b[0m \u001b[38;5;66;03m# Break a reference cycle with the exception in self._exception\u001b[39;00m\n\u001b[1;32m 404\u001b[0m \u001b[38;5;28mself\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
|
740 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py:389\u001b[0m, in \u001b[0;36mCall._run_async\u001b[0;34m(***failed resolving arguments***)\u001b[0m\n\u001b[1;32m 387\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_async_deadline() \u001b[38;5;28;01mas\u001b[39;00m cancel_scope:\n\u001b[1;32m 388\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 389\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mawait\u001b[39;00m coro\n\u001b[1;32m 390\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 391\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 392\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 393\u001b[0m \u001b[38;5;66;03m# there's no need to keep a reference to them\u001b[39;00m\n\u001b[1;32m 394\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",
|
741 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/client/utilities.py:78\u001b[0m, in \u001b[0;36minject_client.<locals>.with_injected_client\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 76\u001b[0m \u001b[38;5;28;01masync\u001b[39;00m \u001b[38;5;28;01mwith\u001b[39;00m context \u001b[38;5;28;01mas\u001b[39;00m new_client:\n\u001b[1;32m 77\u001b[0m kwargs\u001b[38;5;241m.\u001b[39msetdefault(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mclient\u001b[39m\u001b[38;5;124m\"\u001b[39m, new_client \u001b[38;5;129;01mor\u001b[39;00m client)\n\u001b[0;32m---> 78\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mawait\u001b[39;00m fn(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n",
|
742 |
+
"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",
|
743 |
+
"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",
|
744 |
+
"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",
|
745 |
+
"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",
|
746 |
+
"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",
|
747 |
+
"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",
|
748 |
+
"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",
|
749 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/futures.py:228\u001b[0m, in \u001b[0;36mPrefectFuture.result\u001b[0;34m(self, timeout, raise_on_failure)\u001b[0m\n\u001b[1;32m 226\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m from_async\u001b[38;5;241m.\u001b[39mcall_soon_in_loop_thread(result)\u001b[38;5;241m.\u001b[39maresult()\n\u001b[1;32m 227\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 228\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfrom_sync\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcall_soon_in_loop_thread\u001b[49m\u001b[43m(\u001b[49m\u001b[43mresult\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mresult\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
|
750 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py:318\u001b[0m, in \u001b[0;36mCall.result\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 312\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mresult\u001b[39m(\u001b[38;5;28mself\u001b[39m, timeout: Optional[\u001b[38;5;28mfloat\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m T:\n\u001b[1;32m 313\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 314\u001b[0m \u001b[38;5;124;03m Wait for the result of the call.\u001b[39;00m\n\u001b[1;32m 315\u001b[0m \n\u001b[1;32m 316\u001b[0m \u001b[38;5;124;03m Not safe for use from asynchronous contexts.\u001b[39;00m\n\u001b[1;32m 317\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 318\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[43mfuture\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",
|
751 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py:188\u001b[0m, in \u001b[0;36mFuture.result\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 186\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m CancelledError()\n\u001b[1;32m 187\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state \u001b[38;5;241m==\u001b[39m FINISHED:\n\u001b[0;32m--> 188\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[43m__get_result\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 189\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 190\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTimeoutError\u001b[39;00m()\n",
|
752 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/concurrent/futures/_base.py:401\u001b[0m, in \u001b[0;36mFuture.__get_result\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 399\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception:\n\u001b[1;32m 400\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 401\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception\n\u001b[1;32m 402\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 403\u001b[0m \u001b[38;5;66;03m# Break a reference cycle with the exception in self._exception\u001b[39;00m\n\u001b[1;32m 404\u001b[0m \u001b[38;5;28mself\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n",
|
753 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/_internal/concurrency/calls.py:389\u001b[0m, in \u001b[0;36mCall._run_async\u001b[0;34m(***failed resolving arguments***)\u001b[0m\n\u001b[1;32m 387\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_async_deadline() \u001b[38;5;28;01mas\u001b[39;00m cancel_scope:\n\u001b[1;32m 388\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 389\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mawait\u001b[39;00m coro\n\u001b[1;32m 390\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 391\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 392\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 393\u001b[0m \u001b[38;5;66;03m# there's no need to keep a reference to them\u001b[39;00m\n\u001b[1;32m 394\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",
|
754 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect/futures.py:237\u001b[0m, in \u001b[0;36mPrefectFuture._result\u001b[0;34m(self, timeout, raise_on_failure)\u001b[0m\n\u001b[1;32m 235\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m final_state:\n\u001b[1;32m 236\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTimeoutError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCall timed out before task finished.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m--> 237\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mawait\u001b[39;00m final_state\u001b[38;5;241m.\u001b[39mresult(raise_on_failure\u001b[38;5;241m=\u001b[39mraise_on_failure, fetch\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n",
|
755 |
+
"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",
|
756 |
+
"File \u001b[0;32m/pscratch/sd/c/cyrusyc/.conda/mlip-arena/lib/python3.11/site-packages/prefect_dask/task_runners.py:311\u001b[0m, in \u001b[0;36mDaskTaskRunner.wait\u001b[0;34m(self, key, timeout)\u001b[0m\n\u001b[1;32m 309\u001b[0m future \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_dask_future(key)\n\u001b[1;32m 310\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 311\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mawait\u001b[39;00m future\u001b[38;5;241m.\u001b[39mresult(timeout\u001b[38;5;241m=\u001b[39mtimeout)\n\u001b[1;32m 312\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m distributed\u001b[38;5;241m.\u001b[39mTimeoutError:\n\u001b[1;32m 313\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n",
|
757 |
+
"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",
|
758 |
+
"\u001b[0;31mKilledWorker\u001b[0m: Attempted to run task 'md-2-8e508991e36a4969ae355d1b0ed3d34d-1' 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.67.15:38671. 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."
|
759 |
+
]
|
760 |
}
|
761 |
],
|
762 |
"source": [
|
mlip_arena/tasks/diatomics/alignn/homonuclear-diatomics.json
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
mlip_arena/tasks/diatomics/chgnet/homonuclear-diatomics.json
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
mlip_arena/tasks/diatomics/equiformer/homonuclear-diatomics.json
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
mlip_arena/tasks/diatomics/escn/homonuclear-diatomics.json
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
mlip_arena/tasks/diatomics/m3gnet/homonuclear-diatomics.json
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
mlip_arena/tasks/diatomics/mace-mp/homonuclear-diatomics.json
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
mlip_arena/tasks/diatomics/mace-off/homonuclear-diatomics.json
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
mlip_arena/tasks/diatomics/orb/homonuclear-diatomics.json
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
mlip_arena/tasks/diatomics/run.ipynb
CHANGED
@@ -23,6 +23,8 @@
|
|
23 |
"\n",
|
24 |
"from mlip_arena.models.utils import REGISTRY, MLIPEnum\n",
|
25 |
"\n",
|
|
|
|
|
26 |
"# model_name = \"MACE-MP(M)\"\n",
|
27 |
"\n",
|
28 |
"# calc = MLIPEnum[model_name].value()"
|
@@ -2800,12 +2802,234 @@
|
|
2800 |
},
|
2801 |
{
|
2802 |
"cell_type": "code",
|
2803 |
-
"execution_count":
|
2804 |
"id": "a0ac2c09-370b-4fdd-bf74-ea5c4ade0215",
|
2805 |
"metadata": {
|
|
|
2806 |
"tags": []
|
2807 |
},
|
2808 |
"outputs": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2809 |
{
|
2810 |
"name": "stdout",
|
2811 |
"output_type": "stream",
|
@@ -2816,7 +3040,7 @@
|
|
2816 |
{
|
2817 |
"data": {
|
2818 |
"application/vnd.jupyter.widget-view+json": {
|
2819 |
-
"model_id": "
|
2820 |
"version_major": 2,
|
2821 |
"version_minor": 0
|
2822 |
},
|
@@ -2831,9 +3055,69 @@
|
|
2831 |
"name": "stderr",
|
2832 |
"output_type": "stream",
|
2833 |
"text": [
|
2834 |
-
"/tmp/
|
2835 |
" df = pd.concat([df, pd.DataFrame([data])], ignore_index=True)\n"
|
2836 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2837 |
}
|
2838 |
],
|
2839 |
"source": [
|
@@ -2847,7 +3131,7 @@
|
|
2847 |
" \n",
|
2848 |
"# if json_fpath.exists():\n",
|
2849 |
"# continue\n",
|
2850 |
-
"
|
2851 |
" print(f\"========== {model_name} ==========\")\n",
|
2852 |
" \n",
|
2853 |
" df = pd.DataFrame(columns=[\n",
|
@@ -2856,6 +3140,7 @@
|
|
2856 |
" \"R\", \"E\", \"F\", \"S^2\", \n",
|
2857 |
" \"force-flip-times\",\n",
|
2858 |
" \"force-total-variation\",\n",
|
|
|
2859 |
" \"energy-diff-flip-times\",\n",
|
2860 |
" \"energy-grad-norm-max\",\n",
|
2861 |
" \"energy-jump\",\n",
|
@@ -2904,6 +3189,8 @@
|
|
2904 |
" indices = np.argsort(rs)[::-1]\n",
|
2905 |
" rs = rs[indices]\n",
|
2906 |
" es = es[indices]\n",
|
|
|
|
|
2907 |
" fs = fs[indices]\n",
|
2908 |
"\n",
|
2909 |
" iminf = np.argmin(fs)\n",
|
@@ -2915,10 +3202,20 @@
|
|
2915 |
" rounded_fs = np.copy(fs)\n",
|
2916 |
" rounded_fs[np.abs(rounded_fs) < 1e-2] = 0\n",
|
2917 |
" fs_sign = np.sign(rounded_fs)\n",
|
2918 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2919 |
"\n",
|
2920 |
-
" # rounded_ediff = np.diff(es)\n",
|
2921 |
-
" # rounded_ediff[np.abs(rounded_ediff) < zero_threshold] = 0\n",
|
2922 |
" ediff = np.diff(es)\n",
|
2923 |
" ediff[np.abs(ediff) < 1e-3] = 0\n",
|
2924 |
" ediff_sign = np.sign(ediff)\n",
|
@@ -2927,6 +3224,40 @@
|
|
2927 |
" ediff_sign = ediff_sign[mask]\n",
|
2928 |
" ediff_flip = np.diff(ediff_sign) != 0\n",
|
2929 |
" ejump = np.abs(ediff[:-1][ediff_flip]).sum() + np.abs(ediff[1:][ediff_flip]).sum()\n",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2930 |
"\n",
|
2931 |
" conservation_deviation = np.mean(np.abs(fs + de_dr))\n",
|
2932 |
" \n",
|
@@ -2936,11 +3267,12 @@
|
|
2936 |
" \"name\": da,\n",
|
2937 |
" \"method\": model_name,\n",
|
2938 |
" \"R\": rs,\n",
|
2939 |
-
" \"E\": es,\n",
|
2940 |
" \"F\": fs,\n",
|
2941 |
" \"S^2\": S2s,\n",
|
2942 |
-
" \"force-flip-times\": np.sum(
|
2943 |
" \"force-total-variation\": np.sum(np.abs(np.diff(fs))),\n",
|
|
|
2944 |
" \"energy-diff-flip-times\": np.sum(ediff_flip),\n",
|
2945 |
" \"energy-grad-norm-max\": np.max(np.abs(de_dr)),\n",
|
2946 |
" \"energy-jump\": ejump,\n",
|
@@ -2956,7 +3288,6 @@
|
|
2956 |
"\n",
|
2957 |
" df = pd.concat([df, pd.DataFrame([data])], ignore_index=True)\n",
|
2958 |
"\n",
|
2959 |
-
"\n",
|
2960 |
" json_fpath = Path(REGISTRY[model_name][\"family\"]) / \"homonuclear-diatomics.json\"\n",
|
2961 |
"\n",
|
2962 |
" if json_fpath.exists():\n",
|
@@ -2969,7 +3300,7 @@
|
|
2969 |
},
|
2970 |
{
|
2971 |
"cell_type": "code",
|
2972 |
-
"execution_count":
|
2973 |
"id": "e0dd4367-3dca-440f-a7a9-7fdd84183f2c",
|
2974 |
"metadata": {
|
2975 |
"tags": []
|
@@ -3014,6 +3345,7 @@
|
|
3014 |
" <th>spearman-repulsion-energy</th>\n",
|
3015 |
" <th>spearman-attraction-energy</th>\n",
|
3016 |
" <th>tortuosity</th>\n",
|
|
|
3017 |
" </tr>\n",
|
3018 |
" </thead>\n",
|
3019 |
" <tbody>\n",
|
@@ -3037,6 +3369,7 @@
|
|
3037 |
" <td>-0.986572</td>\n",
|
3038 |
" <td>0.844786</td>\n",
|
3039 |
" <td>1.797762</td>\n",
|
|
|
3040 |
" </tr>\n",
|
3041 |
" <tr>\n",
|
3042 |
" <th>119</th>\n",
|
@@ -3058,6 +3391,7 @@
|
|
3058 |
" <td>-0.720218</td>\n",
|
3059 |
" <td>0.609519</td>\n",
|
3060 |
" <td>3.921846</td>\n",
|
|
|
3061 |
" </tr>\n",
|
3062 |
" <tr>\n",
|
3063 |
" <th>120</th>\n",
|
@@ -3079,6 +3413,7 @@
|
|
3079 |
" <td>-0.991010</td>\n",
|
3080 |
" <td>-0.654715</td>\n",
|
3081 |
" <td>1.386696</td>\n",
|
|
|
3082 |
" </tr>\n",
|
3083 |
" <tr>\n",
|
3084 |
" <th>121</th>\n",
|
@@ -3100,6 +3435,7 @@
|
|
3100 |
" <td>-0.989962</td>\n",
|
3101 |
" <td>0.342476</td>\n",
|
3102 |
" <td>1.715953</td>\n",
|
|
|
3103 |
" </tr>\n",
|
3104 |
" <tr>\n",
|
3105 |
" <th>122</th>\n",
|
@@ -3121,6 +3457,7 @@
|
|
3121 |
" <td>-0.985024</td>\n",
|
3122 |
" <td>0.757880</td>\n",
|
3123 |
" <td>1.617372</td>\n",
|
|
|
3124 |
" </tr>\n",
|
3125 |
" <tr>\n",
|
3126 |
" <th>...</th>\n",
|
@@ -3142,6 +3479,7 @@
|
|
3142 |
" <td>...</td>\n",
|
3143 |
" <td>...</td>\n",
|
3144 |
" <td>...</td>\n",
|
|
|
3145 |
" </tr>\n",
|
3146 |
" <tr>\n",
|
3147 |
" <th>231</th>\n",
|
@@ -3163,6 +3501,7 @@
|
|
3163 |
" <td>-0.946770</td>\n",
|
3164 |
" <td>0.159576</td>\n",
|
3165 |
" <td>2.694147</td>\n",
|
|
|
3166 |
" </tr>\n",
|
3167 |
" <tr>\n",
|
3168 |
" <th>232</th>\n",
|
@@ -3184,6 +3523,7 @@
|
|
3184 |
" <td>-0.946770</td>\n",
|
3185 |
" <td>0.159576</td>\n",
|
3186 |
" <td>2.694147</td>\n",
|
|
|
3187 |
" </tr>\n",
|
3188 |
" <tr>\n",
|
3189 |
" <th>233</th>\n",
|
@@ -3205,6 +3545,7 @@
|
|
3205 |
" <td>-0.946770</td>\n",
|
3206 |
" <td>0.159576</td>\n",
|
3207 |
" <td>2.694147</td>\n",
|
|
|
3208 |
" </tr>\n",
|
3209 |
" <tr>\n",
|
3210 |
" <th>234</th>\n",
|
@@ -3226,6 +3567,7 @@
|
|
3226 |
" <td>-0.946770</td>\n",
|
3227 |
" <td>0.159576</td>\n",
|
3228 |
" <td>2.694147</td>\n",
|
|
|
3229 |
" </tr>\n",
|
3230 |
" <tr>\n",
|
3231 |
" <th>235</th>\n",
|
@@ -3247,10 +3589,11 @@
|
|
3247 |
" <td>-0.946770</td>\n",
|
3248 |
" <td>0.159576</td>\n",
|
3249 |
" <td>2.694147</td>\n",
|
|
|
3250 |
" </tr>\n",
|
3251 |
" </tbody>\n",
|
3252 |
"</table>\n",
|
3253 |
-
"<p>118 rows ×
|
3254 |
"</div>"
|
3255 |
],
|
3256 |
"text/plain": [
|
@@ -3332,23 +3675,36 @@
|
|
3332 |
"234 -0.249255 -0.316556 \n",
|
3333 |
"235 -0.249255 -0.316556 \n",
|
3334 |
"\n",
|
3335 |
-
" spearman-repulsion-energy spearman-attraction-energy tortuosity
|
3336 |
-
"118 -0.986572 0.844786 1.797762
|
3337 |
-
"119 -0.720218 0.609519 3.921846
|
3338 |
-
"120 -0.991010 -0.654715 1.386696
|
3339 |
-
"121 -0.989962 0.342476 1.715953
|
3340 |
-
"122 -0.985024 0.757880 1.617372
|
3341 |
-
".. ... ... ...
|
3342 |
-
"231 -0.946770 0.159576 2.694147
|
3343 |
-
"232 -0.946770 0.159576 2.694147
|
3344 |
-
"233 -0.946770 0.159576 2.694147
|
3345 |
-
"234 -0.946770 0.159576 2.694147
|
3346 |
-
"235 -0.946770 0.159576 2.694147
|
3347 |
"\n",
|
3348 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3349 |
]
|
3350 |
},
|
3351 |
-
"execution_count":
|
3352 |
"metadata": {},
|
3353 |
"output_type": "execute_result"
|
3354 |
}
|
@@ -3386,7 +3742,978 @@
|
|
3386 |
},
|
3387 |
"widgets": {
|
3388 |
"application/vnd.jupyter.widget-state+json": {
|
3389 |
-
"state": {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3390 |
"version_major": 2,
|
3391 |
"version_minor": 0
|
3392 |
}
|
|
|
23 |
"\n",
|
24 |
"from mlip_arena.models.utils import REGISTRY, MLIPEnum\n",
|
25 |
"\n",
|
26 |
+
"%matplotlib inline\n",
|
27 |
+
"\n",
|
28 |
"# model_name = \"MACE-MP(M)\"\n",
|
29 |
"\n",
|
30 |
"# calc = MLIPEnum[model_name].value()"
|
|
|
2802 |
},
|
2803 |
{
|
2804 |
"cell_type": "code",
|
2805 |
+
"execution_count": 2,
|
2806 |
"id": "a0ac2c09-370b-4fdd-bf74-ea5c4ade0215",
|
2807 |
"metadata": {
|
2808 |
+
"scrolled": true,
|
2809 |
"tags": []
|
2810 |
},
|
2811 |
"outputs": [
|
2812 |
+
{
|
2813 |
+
"name": "stdout",
|
2814 |
+
"output_type": "stream",
|
2815 |
+
"text": [
|
2816 |
+
"========== MACE-MP(M) ==========\n"
|
2817 |
+
]
|
2818 |
+
},
|
2819 |
+
{
|
2820 |
+
"data": {
|
2821 |
+
"application/vnd.jupyter.widget-view+json": {
|
2822 |
+
"model_id": "55562f662e56481ba346246ccc109626",
|
2823 |
+
"version_major": 2,
|
2824 |
+
"version_minor": 0
|
2825 |
+
},
|
2826 |
+
"text/plain": [
|
2827 |
+
" 0%| | 0/118 [00:00<?, ?it/s]"
|
2828 |
+
]
|
2829 |
+
},
|
2830 |
+
"metadata": {},
|
2831 |
+
"output_type": "display_data"
|
2832 |
+
},
|
2833 |
+
{
|
2834 |
+
"name": "stderr",
|
2835 |
+
"output_type": "stream",
|
2836 |
+
"text": [
|
2837 |
+
"/tmp/ipykernel_433641/3530606248.py:164: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
|
2838 |
+
" df = pd.concat([df, pd.DataFrame([data])], ignore_index=True)\n",
|
2839 |
+
"/tmp/ipykernel_433641/3530606248.py:156: RuntimeWarning: invalid value encountered in scalar divide\n",
|
2840 |
+
" \"tortuosity\": etv / (abs(es[0] - es.min()) + (es[-1] - es.min())),\n",
|
2841 |
+
"/tmp/ipykernel_433641/3530606248.py:158: ConstantInputWarning: An input array is constant; the correlation coefficient is not defined.\n",
|
2842 |
+
" \"spearman-descending-force\": stats.spearmanr(rs[iminf:], fs[iminf:]).statistic,\n",
|
2843 |
+
"/tmp/ipykernel_433641/3530606248.py:160: ConstantInputWarning: An input array is constant; the correlation coefficient is not defined.\n",
|
2844 |
+
" \"spearman-repulsion-energy\": stats.spearmanr(rs[imine:], es[imine:]).statistic,\n"
|
2845 |
+
]
|
2846 |
+
},
|
2847 |
+
{
|
2848 |
+
"name": "stdout",
|
2849 |
+
"output_type": "stream",
|
2850 |
+
"text": [
|
2851 |
+
"========== CHGNet ==========\n"
|
2852 |
+
]
|
2853 |
+
},
|
2854 |
+
{
|
2855 |
+
"data": {
|
2856 |
+
"application/vnd.jupyter.widget-view+json": {
|
2857 |
+
"model_id": "3a2235b0309e4dacab34cd8348b5963a",
|
2858 |
+
"version_major": 2,
|
2859 |
+
"version_minor": 0
|
2860 |
+
},
|
2861 |
+
"text/plain": [
|
2862 |
+
" 0%| | 0/118 [00:00<?, ?it/s]"
|
2863 |
+
]
|
2864 |
+
},
|
2865 |
+
"metadata": {},
|
2866 |
+
"output_type": "display_data"
|
2867 |
+
},
|
2868 |
+
{
|
2869 |
+
"name": "stderr",
|
2870 |
+
"output_type": "stream",
|
2871 |
+
"text": [
|
2872 |
+
"/tmp/ipykernel_433641/3530606248.py:164: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
|
2873 |
+
" df = pd.concat([df, pd.DataFrame([data])], ignore_index=True)\n"
|
2874 |
+
]
|
2875 |
+
},
|
2876 |
+
{
|
2877 |
+
"name": "stdout",
|
2878 |
+
"output_type": "stream",
|
2879 |
+
"text": [
|
2880 |
+
"========== M3GNet ==========\n"
|
2881 |
+
]
|
2882 |
+
},
|
2883 |
+
{
|
2884 |
+
"data": {
|
2885 |
+
"application/vnd.jupyter.widget-view+json": {
|
2886 |
+
"model_id": "34c651d05a494eb2a0e7988adc9a9835",
|
2887 |
+
"version_major": 2,
|
2888 |
+
"version_minor": 0
|
2889 |
+
},
|
2890 |
+
"text/plain": [
|
2891 |
+
" 0%| | 0/118 [00:00<?, ?it/s]"
|
2892 |
+
]
|
2893 |
+
},
|
2894 |
+
"metadata": {},
|
2895 |
+
"output_type": "display_data"
|
2896 |
+
},
|
2897 |
+
{
|
2898 |
+
"name": "stderr",
|
2899 |
+
"output_type": "stream",
|
2900 |
+
"text": [
|
2901 |
+
"/tmp/ipykernel_433641/3530606248.py:164: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
|
2902 |
+
" df = pd.concat([df, pd.DataFrame([data])], ignore_index=True)\n",
|
2903 |
+
"/tmp/ipykernel_433641/3530606248.py:159: ConstantInputWarning: An input array is constant; the correlation coefficient is not defined.\n",
|
2904 |
+
" \"spearman-ascending-force\": stats.spearmanr(rs[:iminf], fs[:iminf]).statistic,\n"
|
2905 |
+
]
|
2906 |
+
},
|
2907 |
+
{
|
2908 |
+
"name": "stdout",
|
2909 |
+
"output_type": "stream",
|
2910 |
+
"text": [
|
2911 |
+
"========== ORB ==========\n"
|
2912 |
+
]
|
2913 |
+
},
|
2914 |
+
{
|
2915 |
+
"data": {
|
2916 |
+
"application/vnd.jupyter.widget-view+json": {
|
2917 |
+
"model_id": "7d0004a7880d4aeeb42532e4718d34e2",
|
2918 |
+
"version_major": 2,
|
2919 |
+
"version_minor": 0
|
2920 |
+
},
|
2921 |
+
"text/plain": [
|
2922 |
+
" 0%| | 0/118 [00:00<?, ?it/s]"
|
2923 |
+
]
|
2924 |
+
},
|
2925 |
+
"metadata": {},
|
2926 |
+
"output_type": "display_data"
|
2927 |
+
},
|
2928 |
+
{
|
2929 |
+
"name": "stderr",
|
2930 |
+
"output_type": "stream",
|
2931 |
+
"text": [
|
2932 |
+
"/tmp/ipykernel_433641/3530606248.py:164: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
|
2933 |
+
" df = pd.concat([df, pd.DataFrame([data])], ignore_index=True)\n"
|
2934 |
+
]
|
2935 |
+
},
|
2936 |
+
{
|
2937 |
+
"name": "stdout",
|
2938 |
+
"output_type": "stream",
|
2939 |
+
"text": [
|
2940 |
+
"========== SevenNet ==========\n"
|
2941 |
+
]
|
2942 |
+
},
|
2943 |
+
{
|
2944 |
+
"data": {
|
2945 |
+
"application/vnd.jupyter.widget-view+json": {
|
2946 |
+
"model_id": "8e181eeb14f24447933b76dac47b9514",
|
2947 |
+
"version_major": 2,
|
2948 |
+
"version_minor": 0
|
2949 |
+
},
|
2950 |
+
"text/plain": [
|
2951 |
+
" 0%| | 0/118 [00:00<?, ?it/s]"
|
2952 |
+
]
|
2953 |
+
},
|
2954 |
+
"metadata": {},
|
2955 |
+
"output_type": "display_data"
|
2956 |
+
},
|
2957 |
+
{
|
2958 |
+
"name": "stderr",
|
2959 |
+
"output_type": "stream",
|
2960 |
+
"text": [
|
2961 |
+
"/tmp/ipykernel_433641/3530606248.py:164: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
|
2962 |
+
" df = pd.concat([df, pd.DataFrame([data])], ignore_index=True)\n",
|
2963 |
+
"/tmp/ipykernel_433641/3530606248.py:161: ConstantInputWarning: An input array is constant; the correlation coefficient is not defined.\n",
|
2964 |
+
" \"spearman-attraction-energy\": stats.spearmanr(rs[:imine], es[:imine]).statistic,\n"
|
2965 |
+
]
|
2966 |
+
},
|
2967 |
+
{
|
2968 |
+
"name": "stdout",
|
2969 |
+
"output_type": "stream",
|
2970 |
+
"text": [
|
2971 |
+
"========== EquiformerV2(OC22) ==========\n"
|
2972 |
+
]
|
2973 |
+
},
|
2974 |
+
{
|
2975 |
+
"data": {
|
2976 |
+
"application/vnd.jupyter.widget-view+json": {
|
2977 |
+
"model_id": "0fda48c6de7b47ae93b62fde68263493",
|
2978 |
+
"version_major": 2,
|
2979 |
+
"version_minor": 0
|
2980 |
+
},
|
2981 |
+
"text/plain": [
|
2982 |
+
" 0%| | 0/118 [00:00<?, ?it/s]"
|
2983 |
+
]
|
2984 |
+
},
|
2985 |
+
"metadata": {},
|
2986 |
+
"output_type": "display_data"
|
2987 |
+
},
|
2988 |
+
{
|
2989 |
+
"name": "stderr",
|
2990 |
+
"output_type": "stream",
|
2991 |
+
"text": [
|
2992 |
+
"/tmp/ipykernel_433641/3530606248.py:164: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
|
2993 |
+
" df = pd.concat([df, pd.DataFrame([data])], ignore_index=True)\n",
|
2994 |
+
"/tmp/ipykernel_433641/3530606248.py:156: RuntimeWarning: invalid value encountered in scalar divide\n",
|
2995 |
+
" \"tortuosity\": etv / (abs(es[0] - es.min()) + (es[-1] - es.min())),\n",
|
2996 |
+
"/tmp/ipykernel_433641/3530606248.py:160: ConstantInputWarning: An input array is constant; the correlation coefficient is not defined.\n",
|
2997 |
+
" \"spearman-repulsion-energy\": stats.spearmanr(rs[imine:], es[imine:]).statistic,\n",
|
2998 |
+
"/tmp/ipykernel_433641/3530606248.py:161: ConstantInputWarning: An input array is constant; the correlation coefficient is not defined.\n",
|
2999 |
+
" \"spearman-attraction-energy\": stats.spearmanr(rs[:imine], es[:imine]).statistic,\n",
|
3000 |
+
"/tmp/ipykernel_433641/3530606248.py:156: RuntimeWarning: divide by zero encountered in scalar divide\n",
|
3001 |
+
" \"tortuosity\": etv / (abs(es[0] - es.min()) + (es[-1] - es.min())),\n"
|
3002 |
+
]
|
3003 |
+
},
|
3004 |
+
{
|
3005 |
+
"name": "stdout",
|
3006 |
+
"output_type": "stream",
|
3007 |
+
"text": [
|
3008 |
+
"========== EquiformerV2(OC20) ==========\n"
|
3009 |
+
]
|
3010 |
+
},
|
3011 |
+
{
|
3012 |
+
"data": {
|
3013 |
+
"application/vnd.jupyter.widget-view+json": {
|
3014 |
+
"model_id": "f49debc4e85e4e2aa5c24de17cfa337a",
|
3015 |
+
"version_major": 2,
|
3016 |
+
"version_minor": 0
|
3017 |
+
},
|
3018 |
+
"text/plain": [
|
3019 |
+
" 0%| | 0/118 [00:00<?, ?it/s]"
|
3020 |
+
]
|
3021 |
+
},
|
3022 |
+
"metadata": {},
|
3023 |
+
"output_type": "display_data"
|
3024 |
+
},
|
3025 |
+
{
|
3026 |
+
"name": "stderr",
|
3027 |
+
"output_type": "stream",
|
3028 |
+
"text": [
|
3029 |
+
"/tmp/ipykernel_433641/3530606248.py:164: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
|
3030 |
+
" df = pd.concat([df, pd.DataFrame([data])], ignore_index=True)\n"
|
3031 |
+
]
|
3032 |
+
},
|
3033 |
{
|
3034 |
"name": "stdout",
|
3035 |
"output_type": "stream",
|
|
|
3040 |
{
|
3041 |
"data": {
|
3042 |
"application/vnd.jupyter.widget-view+json": {
|
3043 |
+
"model_id": "55c068cb90a3463484ffd851c34a6ab8",
|
3044 |
"version_major": 2,
|
3045 |
"version_minor": 0
|
3046 |
},
|
|
|
3055 |
"name": "stderr",
|
3056 |
"output_type": "stream",
|
3057 |
"text": [
|
3058 |
+
"/tmp/ipykernel_433641/3530606248.py:164: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
|
3059 |
" df = pd.concat([df, pd.DataFrame([data])], ignore_index=True)\n"
|
3060 |
]
|
3061 |
+
},
|
3062 |
+
{
|
3063 |
+
"name": "stdout",
|
3064 |
+
"output_type": "stream",
|
3065 |
+
"text": [
|
3066 |
+
"========== MACE-OFF(M) ==========\n"
|
3067 |
+
]
|
3068 |
+
},
|
3069 |
+
{
|
3070 |
+
"data": {
|
3071 |
+
"application/vnd.jupyter.widget-view+json": {
|
3072 |
+
"model_id": "f23884741dd74e2a9853298cc6c631b5",
|
3073 |
+
"version_major": 2,
|
3074 |
+
"version_minor": 0
|
3075 |
+
},
|
3076 |
+
"text/plain": [
|
3077 |
+
" 0%| | 0/118 [00:00<?, ?it/s]"
|
3078 |
+
]
|
3079 |
+
},
|
3080 |
+
"metadata": {},
|
3081 |
+
"output_type": "display_data"
|
3082 |
+
},
|
3083 |
+
{
|
3084 |
+
"name": "stderr",
|
3085 |
+
"output_type": "stream",
|
3086 |
+
"text": [
|
3087 |
+
"/tmp/ipykernel_433641/3530606248.py:164: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
|
3088 |
+
" df = pd.concat([df, pd.DataFrame([data])], ignore_index=True)\n"
|
3089 |
+
]
|
3090 |
+
},
|
3091 |
+
{
|
3092 |
+
"name": "stdout",
|
3093 |
+
"output_type": "stream",
|
3094 |
+
"text": [
|
3095 |
+
"========== ALIGNN ==========\n"
|
3096 |
+
]
|
3097 |
+
},
|
3098 |
+
{
|
3099 |
+
"data": {
|
3100 |
+
"application/vnd.jupyter.widget-view+json": {
|
3101 |
+
"model_id": "3da8dc9a994a4bd7b95d62413a73306f",
|
3102 |
+
"version_major": 2,
|
3103 |
+
"version_minor": 0
|
3104 |
+
},
|
3105 |
+
"text/plain": [
|
3106 |
+
" 0%| | 0/118 [00:00<?, ?it/s]"
|
3107 |
+
]
|
3108 |
+
},
|
3109 |
+
"metadata": {},
|
3110 |
+
"output_type": "display_data"
|
3111 |
+
},
|
3112 |
+
{
|
3113 |
+
"name": "stderr",
|
3114 |
+
"output_type": "stream",
|
3115 |
+
"text": [
|
3116 |
+
"/tmp/ipykernel_433641/3530606248.py:164: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
|
3117 |
+
" df = pd.concat([df, pd.DataFrame([data])], ignore_index=True)\n",
|
3118 |
+
"/tmp/ipykernel_433641/3530606248.py:161: ConstantInputWarning: An input array is constant; the correlation coefficient is not defined.\n",
|
3119 |
+
" \"spearman-attraction-energy\": stats.spearmanr(rs[:imine], es[:imine]).statistic,\n"
|
3120 |
+
]
|
3121 |
}
|
3122 |
],
|
3123 |
"source": [
|
|
|
3131 |
" \n",
|
3132 |
"# if json_fpath.exists():\n",
|
3133 |
"# continue\n",
|
3134 |
+
"\n",
|
3135 |
" print(f\"========== {model_name} ==========\")\n",
|
3136 |
" \n",
|
3137 |
" df = pd.DataFrame(columns=[\n",
|
|
|
3140 |
" \"R\", \"E\", \"F\", \"S^2\", \n",
|
3141 |
" \"force-flip-times\",\n",
|
3142 |
" \"force-total-variation\",\n",
|
3143 |
+
" \"force-jump\",\n",
|
3144 |
" \"energy-diff-flip-times\",\n",
|
3145 |
" \"energy-grad-norm-max\",\n",
|
3146 |
" \"energy-jump\",\n",
|
|
|
3189 |
" indices = np.argsort(rs)[::-1]\n",
|
3190 |
" rs = rs[indices]\n",
|
3191 |
" es = es[indices]\n",
|
3192 |
+
" eshift = es[0]\n",
|
3193 |
+
" es -= eshift\n",
|
3194 |
" fs = fs[indices]\n",
|
3195 |
"\n",
|
3196 |
" iminf = np.argmin(fs)\n",
|
|
|
3202 |
" rounded_fs = np.copy(fs)\n",
|
3203 |
" rounded_fs[np.abs(rounded_fs) < 1e-2] = 0\n",
|
3204 |
" fs_sign = np.sign(rounded_fs)\n",
|
3205 |
+
" mask = fs_sign != 0\n",
|
3206 |
+
" rounded_fs = rounded_fs[mask]\n",
|
3207 |
+
" fs_sign = fs_sign[mask]\n",
|
3208 |
+
" f_flip = np.diff(fs_sign) != 0\n",
|
3209 |
+
" \n",
|
3210 |
+
" fdiff = np.diff(fs)\n",
|
3211 |
+
" fdiff_sign = np.sign(fdiff)\n",
|
3212 |
+
" mask = fdiff_sign != 0\n",
|
3213 |
+
" fdiff = fdiff[mask]\n",
|
3214 |
+
" fdiff_sign = fdiff_sign[mask]\n",
|
3215 |
+
" fdiff_flip = np.diff(fdiff_sign) != 0\n",
|
3216 |
+
" fjump = np.abs(fdiff[:-1][fdiff_flip]).sum() + np.abs(fdiff[1:][fdiff_flip]).sum()\n",
|
3217 |
+
" \n",
|
3218 |
"\n",
|
|
|
|
|
3219 |
" ediff = np.diff(es)\n",
|
3220 |
" ediff[np.abs(ediff) < 1e-3] = 0\n",
|
3221 |
" ediff_sign = np.sign(ediff)\n",
|
|
|
3224 |
" ediff_sign = ediff_sign[mask]\n",
|
3225 |
" ediff_flip = np.diff(ediff_sign) != 0\n",
|
3226 |
" ejump = np.abs(ediff[:-1][ediff_flip]).sum() + np.abs(ediff[1:][ediff_flip]).sum()\n",
|
3227 |
+
" \n",
|
3228 |
+
" \n",
|
3229 |
+
"# edged_es = np.convolve(es, [1, -2, 1], mode='valid')\n",
|
3230 |
+
"# # edged_es[np.abs(edged_es) < 0.1] = 0\n",
|
3231 |
+
"# prob = np.exp(-es[1:-1]) / np.sum(np.exp(-es[1:-1]))\n",
|
3232 |
+
"# edged_es *= prob\n",
|
3233 |
+
"# # edged_es /= np.abs(es[1:-1])\n",
|
3234 |
+
"# ejump = np.linalg.norm(edged_es)\n",
|
3235 |
+
"# ejump = np.abs(edged_es).sum() / 2.0\n",
|
3236 |
+
" \n",
|
3237 |
+
"# edged_fs = np.convolve(fs, [1, -2, 1], mode='valid')\n",
|
3238 |
+
"# # edged_fs[np.abs(edged_fs) < 0.1] = 0\n",
|
3239 |
+
"# edged_fs *= prob\n",
|
3240 |
+
"# fjump = np.linalg.norm(edged_fs)\n",
|
3241 |
+
" # fjump = np.abs(edged_fs).sum() / 2.0\n",
|
3242 |
+
" \n",
|
3243 |
+
"# fig, axes = plt.subplot_mosaic(\n",
|
3244 |
+
"# \"\"\"\n",
|
3245 |
+
"# ac\n",
|
3246 |
+
"# bd\n",
|
3247 |
+
"# \"\"\",\n",
|
3248 |
+
"# constrained_layout=True\n",
|
3249 |
+
"# )\n",
|
3250 |
+
" \n",
|
3251 |
+
"\n",
|
3252 |
+
"# axes['a'].plot(rs, es)\n",
|
3253 |
+
"# axes['b'].plot(rs[1:-1], edged_es)\n",
|
3254 |
+
"# # axes['b'].plot(0.5*(rs[1:] + rs[:-1]), np.diff(es))\n",
|
3255 |
+
"# axes['b'].text(0.7, 0.7, f\"{ejump:.3e}\", transform=axes['b'].transAxes)\n",
|
3256 |
+
" \n",
|
3257 |
+
"# axes['c'].plot(rs, fs)\n",
|
3258 |
+
"# axes['d'].plot(rs[1:-1], edged_fs)\n",
|
3259 |
+
"# axes['d'].text(0.7, 0.7, f\"{fjump:.3e}\", transform=axes['d'].transAxes)\n",
|
3260 |
+
" \n",
|
3261 |
"\n",
|
3262 |
" conservation_deviation = np.mean(np.abs(fs + de_dr))\n",
|
3263 |
" \n",
|
|
|
3267 |
" \"name\": da,\n",
|
3268 |
" \"method\": model_name,\n",
|
3269 |
" \"R\": rs,\n",
|
3270 |
+
" \"E\": es + eshift,\n",
|
3271 |
" \"F\": fs,\n",
|
3272 |
" \"S^2\": S2s,\n",
|
3273 |
+
" \"force-flip-times\": np.sum(f_flip),\n",
|
3274 |
" \"force-total-variation\": np.sum(np.abs(np.diff(fs))),\n",
|
3275 |
+
" \"force-jump\": fjump,\n",
|
3276 |
" \"energy-diff-flip-times\": np.sum(ediff_flip),\n",
|
3277 |
" \"energy-grad-norm-max\": np.max(np.abs(de_dr)),\n",
|
3278 |
" \"energy-jump\": ejump,\n",
|
|
|
3288 |
"\n",
|
3289 |
" df = pd.concat([df, pd.DataFrame([data])], ignore_index=True)\n",
|
3290 |
"\n",
|
|
|
3291 |
" json_fpath = Path(REGISTRY[model_name][\"family\"]) / \"homonuclear-diatomics.json\"\n",
|
3292 |
"\n",
|
3293 |
" if json_fpath.exists():\n",
|
|
|
3300 |
},
|
3301 |
{
|
3302 |
"cell_type": "code",
|
3303 |
+
"execution_count": 3,
|
3304 |
"id": "e0dd4367-3dca-440f-a7a9-7fdd84183f2c",
|
3305 |
"metadata": {
|
3306 |
"tags": []
|
|
|
3345 |
" <th>spearman-repulsion-energy</th>\n",
|
3346 |
" <th>spearman-attraction-energy</th>\n",
|
3347 |
" <th>tortuosity</th>\n",
|
3348 |
+
" <th>force-jump</th>\n",
|
3349 |
" </tr>\n",
|
3350 |
" </thead>\n",
|
3351 |
" <tbody>\n",
|
|
|
3369 |
" <td>-0.986572</td>\n",
|
3370 |
" <td>0.844786</td>\n",
|
3371 |
" <td>1.797762</td>\n",
|
3372 |
+
" <td>458.210954</td>\n",
|
3373 |
" </tr>\n",
|
3374 |
" <tr>\n",
|
3375 |
" <th>119</th>\n",
|
|
|
3391 |
" <td>-0.720218</td>\n",
|
3392 |
" <td>0.609519</td>\n",
|
3393 |
" <td>3.921846</td>\n",
|
3394 |
+
" <td>1582.685197</td>\n",
|
3395 |
" </tr>\n",
|
3396 |
" <tr>\n",
|
3397 |
" <th>120</th>\n",
|
|
|
3413 |
" <td>-0.991010</td>\n",
|
3414 |
" <td>-0.654715</td>\n",
|
3415 |
" <td>1.386696</td>\n",
|
3416 |
+
" <td>1721.766498</td>\n",
|
3417 |
" </tr>\n",
|
3418 |
" <tr>\n",
|
3419 |
" <th>121</th>\n",
|
|
|
3435 |
" <td>-0.989962</td>\n",
|
3436 |
" <td>0.342476</td>\n",
|
3437 |
" <td>1.715953</td>\n",
|
3438 |
+
" <td>1775.001526</td>\n",
|
3439 |
" </tr>\n",
|
3440 |
" <tr>\n",
|
3441 |
" <th>122</th>\n",
|
|
|
3457 |
" <td>-0.985024</td>\n",
|
3458 |
" <td>0.757880</td>\n",
|
3459 |
" <td>1.617372</td>\n",
|
3460 |
+
" <td>1799.183469</td>\n",
|
3461 |
" </tr>\n",
|
3462 |
" <tr>\n",
|
3463 |
" <th>...</th>\n",
|
|
|
3479 |
" <td>...</td>\n",
|
3480 |
" <td>...</td>\n",
|
3481 |
" <td>...</td>\n",
|
3482 |
+
" <td>...</td>\n",
|
3483 |
" </tr>\n",
|
3484 |
" <tr>\n",
|
3485 |
" <th>231</th>\n",
|
|
|
3501 |
" <td>-0.946770</td>\n",
|
3502 |
" <td>0.159576</td>\n",
|
3503 |
" <td>2.694147</td>\n",
|
3504 |
+
" <td>3926.252725</td>\n",
|
3505 |
" </tr>\n",
|
3506 |
" <tr>\n",
|
3507 |
" <th>232</th>\n",
|
|
|
3523 |
" <td>-0.946770</td>\n",
|
3524 |
" <td>0.159576</td>\n",
|
3525 |
" <td>2.694147</td>\n",
|
3526 |
+
" <td>3926.252725</td>\n",
|
3527 |
" </tr>\n",
|
3528 |
" <tr>\n",
|
3529 |
" <th>233</th>\n",
|
|
|
3545 |
" <td>-0.946770</td>\n",
|
3546 |
" <td>0.159576</td>\n",
|
3547 |
" <td>2.694147</td>\n",
|
3548 |
+
" <td>3926.252725</td>\n",
|
3549 |
" </tr>\n",
|
3550 |
" <tr>\n",
|
3551 |
" <th>234</th>\n",
|
|
|
3567 |
" <td>-0.946770</td>\n",
|
3568 |
" <td>0.159576</td>\n",
|
3569 |
" <td>2.694147</td>\n",
|
3570 |
+
" <td>3926.252725</td>\n",
|
3571 |
" </tr>\n",
|
3572 |
" <tr>\n",
|
3573 |
" <th>235</th>\n",
|
|
|
3589 |
" <td>-0.946770</td>\n",
|
3590 |
" <td>0.159576</td>\n",
|
3591 |
" <td>2.694147</td>\n",
|
3592 |
+
" <td>3926.252725</td>\n",
|
3593 |
" </tr>\n",
|
3594 |
" </tbody>\n",
|
3595 |
"</table>\n",
|
3596 |
+
"<p>118 rows × 19 columns</p>\n",
|
3597 |
"</div>"
|
3598 |
],
|
3599 |
"text/plain": [
|
|
|
3675 |
"234 -0.249255 -0.316556 \n",
|
3676 |
"235 -0.249255 -0.316556 \n",
|
3677 |
"\n",
|
3678 |
+
" spearman-repulsion-energy spearman-attraction-energy tortuosity \\\n",
|
3679 |
+
"118 -0.986572 0.844786 1.797762 \n",
|
3680 |
+
"119 -0.720218 0.609519 3.921846 \n",
|
3681 |
+
"120 -0.991010 -0.654715 1.386696 \n",
|
3682 |
+
"121 -0.989962 0.342476 1.715953 \n",
|
3683 |
+
"122 -0.985024 0.757880 1.617372 \n",
|
3684 |
+
".. ... ... ... \n",
|
3685 |
+
"231 -0.946770 0.159576 2.694147 \n",
|
3686 |
+
"232 -0.946770 0.159576 2.694147 \n",
|
3687 |
+
"233 -0.946770 0.159576 2.694147 \n",
|
3688 |
+
"234 -0.946770 0.159576 2.694147 \n",
|
3689 |
+
"235 -0.946770 0.159576 2.694147 \n",
|
3690 |
"\n",
|
3691 |
+
" force-jump \n",
|
3692 |
+
"118 458.210954 \n",
|
3693 |
+
"119 1582.685197 \n",
|
3694 |
+
"120 1721.766498 \n",
|
3695 |
+
"121 1775.001526 \n",
|
3696 |
+
"122 1799.183469 \n",
|
3697 |
+
".. ... \n",
|
3698 |
+
"231 3926.252725 \n",
|
3699 |
+
"232 3926.252725 \n",
|
3700 |
+
"233 3926.252725 \n",
|
3701 |
+
"234 3926.252725 \n",
|
3702 |
+
"235 3926.252725 \n",
|
3703 |
+
"\n",
|
3704 |
+
"[118 rows x 19 columns]"
|
3705 |
]
|
3706 |
},
|
3707 |
+
"execution_count": 3,
|
3708 |
"metadata": {},
|
3709 |
"output_type": "execute_result"
|
3710 |
}
|
|
|
3742 |
},
|
3743 |
"widgets": {
|
3744 |
"application/vnd.jupyter.widget-state+json": {
|
3745 |
+
"state": {
|
3746 |
+
"0ab5d0f3c74d4c4cba3a62d642cb99b1": {
|
3747 |
+
"model_module": "@jupyter-widgets/controls",
|
3748 |
+
"model_module_version": "2.0.0",
|
3749 |
+
"model_name": "HTMLModel",
|
3750 |
+
"state": {
|
3751 |
+
"layout": "IPY_MODEL_db860024663d4cc7859e4808a518cc09",
|
3752 |
+
"style": "IPY_MODEL_b1afe346307644d18fda893e52ea93b8",
|
3753 |
+
"value": " 118/118 [00:25<00:00, 3.97it/s]"
|
3754 |
+
}
|
3755 |
+
},
|
3756 |
+
"0b6d7e7c471540b7b4b3771488c9a210": {
|
3757 |
+
"model_module": "@jupyter-widgets/base",
|
3758 |
+
"model_module_version": "2.0.0",
|
3759 |
+
"model_name": "LayoutModel",
|
3760 |
+
"state": {}
|
3761 |
+
},
|
3762 |
+
"0c589f4517e446f3b2091c5283072e3d": {
|
3763 |
+
"model_module": "@jupyter-widgets/controls",
|
3764 |
+
"model_module_version": "2.0.0",
|
3765 |
+
"model_name": "HTMLStyleModel",
|
3766 |
+
"state": {
|
3767 |
+
"description_width": "",
|
3768 |
+
"font_size": null,
|
3769 |
+
"text_color": null
|
3770 |
+
}
|
3771 |
+
},
|
3772 |
+
"0cdbae6c34704fd98cabfbdd5404c6db": {
|
3773 |
+
"model_module": "@jupyter-widgets/base",
|
3774 |
+
"model_module_version": "2.0.0",
|
3775 |
+
"model_name": "LayoutModel",
|
3776 |
+
"state": {}
|
3777 |
+
},
|
3778 |
+
"0cded1953fb641969da232bc7dda3207": {
|
3779 |
+
"model_module": "@jupyter-widgets/base",
|
3780 |
+
"model_module_version": "2.0.0",
|
3781 |
+
"model_name": "LayoutModel",
|
3782 |
+
"state": {}
|
3783 |
+
},
|
3784 |
+
"0ce144ef22854dc6bee81352022b3074": {
|
3785 |
+
"model_module": "@jupyter-widgets/controls",
|
3786 |
+
"model_module_version": "2.0.0",
|
3787 |
+
"model_name": "FloatProgressModel",
|
3788 |
+
"state": {
|
3789 |
+
"bar_style": "success",
|
3790 |
+
"layout": "IPY_MODEL_5b05067d2381420e91790696a2cd3519",
|
3791 |
+
"max": 118,
|
3792 |
+
"style": "IPY_MODEL_5d6e7ddfc71240c5b5ac9274c31b78bd",
|
3793 |
+
"value": 118
|
3794 |
+
}
|
3795 |
+
},
|
3796 |
+
"0ed26ebe44e24e5fa07e946503735553": {
|
3797 |
+
"model_module": "@jupyter-widgets/controls",
|
3798 |
+
"model_module_version": "2.0.0",
|
3799 |
+
"model_name": "HTMLModel",
|
3800 |
+
"state": {
|
3801 |
+
"layout": "IPY_MODEL_f5210ca8dd5c4040a7368211d308abb4",
|
3802 |
+
"style": "IPY_MODEL_5ed200ebc48c4d6382a8bec1f8836783",
|
3803 |
+
"value": "100%"
|
3804 |
+
}
|
3805 |
+
},
|
3806 |
+
"0fda48c6de7b47ae93b62fde68263493": {
|
3807 |
+
"model_module": "@jupyter-widgets/controls",
|
3808 |
+
"model_module_version": "2.0.0",
|
3809 |
+
"model_name": "HBoxModel",
|
3810 |
+
"state": {
|
3811 |
+
"children": [
|
3812 |
+
"IPY_MODEL_c44f65cce025403ca9d39ad50044ea46",
|
3813 |
+
"IPY_MODEL_cfd3ce4dce01407499562d73e1b40540",
|
3814 |
+
"IPY_MODEL_7e7ac4bb45b9478f8aa6ce76d4a43b5a"
|
3815 |
+
],
|
3816 |
+
"layout": "IPY_MODEL_541074eff2ca4e2cb14a5ae0931d8844"
|
3817 |
+
}
|
3818 |
+
},
|
3819 |
+
"12c376723c444ab1bc7d86aaeebaa299": {
|
3820 |
+
"model_module": "@jupyter-widgets/controls",
|
3821 |
+
"model_module_version": "2.0.0",
|
3822 |
+
"model_name": "HTMLModel",
|
3823 |
+
"state": {
|
3824 |
+
"layout": "IPY_MODEL_d9119d0d18c04a7eab1531dca1a71f9c",
|
3825 |
+
"style": "IPY_MODEL_9a28bb5f413145fc8af90abbc055b2b1",
|
3826 |
+
"value": "100%"
|
3827 |
+
}
|
3828 |
+
},
|
3829 |
+
"1403f930c2324c4fa08125ea34f19123": {
|
3830 |
+
"model_module": "@jupyter-widgets/controls",
|
3831 |
+
"model_module_version": "2.0.0",
|
3832 |
+
"model_name": "HTMLModel",
|
3833 |
+
"state": {
|
3834 |
+
"layout": "IPY_MODEL_23116387d8f64fd38b2af86dc47dd54c",
|
3835 |
+
"style": "IPY_MODEL_bb4189f8cd2b4cb38d47be1e46893cd4",
|
3836 |
+
"value": "100%"
|
3837 |
+
}
|
3838 |
+
},
|
3839 |
+
"142c7a24cd4b4d898e29f93f4d6195df": {
|
3840 |
+
"model_module": "@jupyter-widgets/controls",
|
3841 |
+
"model_module_version": "2.0.0",
|
3842 |
+
"model_name": "HTMLModel",
|
3843 |
+
"state": {
|
3844 |
+
"layout": "IPY_MODEL_288343a2cd814c478a62d7cc0e4e92fa",
|
3845 |
+
"style": "IPY_MODEL_e047b2428ade4f76a403019d9e559093",
|
3846 |
+
"value": " 118/118 [00:26<00:00, 3.37it/s]"
|
3847 |
+
}
|
3848 |
+
},
|
3849 |
+
"18d993ad92214f71aa4607d4f6bb47c6": {
|
3850 |
+
"model_module": "@jupyter-widgets/base",
|
3851 |
+
"model_module_version": "2.0.0",
|
3852 |
+
"model_name": "LayoutModel",
|
3853 |
+
"state": {}
|
3854 |
+
},
|
3855 |
+
"18feade13b3c475782f5541d835eb714": {
|
3856 |
+
"model_module": "@jupyter-widgets/controls",
|
3857 |
+
"model_module_version": "2.0.0",
|
3858 |
+
"model_name": "HTMLStyleModel",
|
3859 |
+
"state": {
|
3860 |
+
"description_width": "",
|
3861 |
+
"font_size": null,
|
3862 |
+
"text_color": null
|
3863 |
+
}
|
3864 |
+
},
|
3865 |
+
"1903fb3dfd654bd9b8740e65c4e4ec69": {
|
3866 |
+
"model_module": "@jupyter-widgets/base",
|
3867 |
+
"model_module_version": "2.0.0",
|
3868 |
+
"model_name": "LayoutModel",
|
3869 |
+
"state": {}
|
3870 |
+
},
|
3871 |
+
"1d6ea3ca0867417981c636de639abf9f": {
|
3872 |
+
"model_module": "@jupyter-widgets/controls",
|
3873 |
+
"model_module_version": "2.0.0",
|
3874 |
+
"model_name": "HTMLModel",
|
3875 |
+
"state": {
|
3876 |
+
"layout": "IPY_MODEL_d343048da6a04360931989f9b92a1fd8",
|
3877 |
+
"style": "IPY_MODEL_18feade13b3c475782f5541d835eb714",
|
3878 |
+
"value": "100%"
|
3879 |
+
}
|
3880 |
+
},
|
3881 |
+
"1f51b02c7350488892f789cfebce7b1e": {
|
3882 |
+
"model_module": "@jupyter-widgets/base",
|
3883 |
+
"model_module_version": "2.0.0",
|
3884 |
+
"model_name": "LayoutModel",
|
3885 |
+
"state": {}
|
3886 |
+
},
|
3887 |
+
"206172e87b3642c6ac6582b0ebbf6f80": {
|
3888 |
+
"model_module": "@jupyter-widgets/controls",
|
3889 |
+
"model_module_version": "2.0.0",
|
3890 |
+
"model_name": "HTMLStyleModel",
|
3891 |
+
"state": {
|
3892 |
+
"description_width": "",
|
3893 |
+
"font_size": null,
|
3894 |
+
"text_color": null
|
3895 |
+
}
|
3896 |
+
},
|
3897 |
+
"20b3b53459634971b8ede3e6e42bdb22": {
|
3898 |
+
"model_module": "@jupyter-widgets/base",
|
3899 |
+
"model_module_version": "2.0.0",
|
3900 |
+
"model_name": "LayoutModel",
|
3901 |
+
"state": {}
|
3902 |
+
},
|
3903 |
+
"23116387d8f64fd38b2af86dc47dd54c": {
|
3904 |
+
"model_module": "@jupyter-widgets/base",
|
3905 |
+
"model_module_version": "2.0.0",
|
3906 |
+
"model_name": "LayoutModel",
|
3907 |
+
"state": {}
|
3908 |
+
},
|
3909 |
+
"24371d8e9f3f49b394b3f9be9eb40295": {
|
3910 |
+
"model_module": "@jupyter-widgets/base",
|
3911 |
+
"model_module_version": "2.0.0",
|
3912 |
+
"model_name": "LayoutModel",
|
3913 |
+
"state": {}
|
3914 |
+
},
|
3915 |
+
"2717f12178e54818864eca87f9374dec": {
|
3916 |
+
"model_module": "@jupyter-widgets/controls",
|
3917 |
+
"model_module_version": "2.0.0",
|
3918 |
+
"model_name": "HTMLModel",
|
3919 |
+
"state": {
|
3920 |
+
"layout": "IPY_MODEL_ea030b8eacad4f1a9a00fe1060e7f7a6",
|
3921 |
+
"style": "IPY_MODEL_8bbcd88274414f01ae1cb8fcc43b1c3e",
|
3922 |
+
"value": "100%"
|
3923 |
+
}
|
3924 |
+
},
|
3925 |
+
"288343a2cd814c478a62d7cc0e4e92fa": {
|
3926 |
+
"model_module": "@jupyter-widgets/base",
|
3927 |
+
"model_module_version": "2.0.0",
|
3928 |
+
"model_name": "LayoutModel",
|
3929 |
+
"state": {}
|
3930 |
+
},
|
3931 |
+
"29d3ca80c25b4a8090aa0d931c0fa3f0": {
|
3932 |
+
"model_module": "@jupyter-widgets/controls",
|
3933 |
+
"model_module_version": "2.0.0",
|
3934 |
+
"model_name": "FloatProgressModel",
|
3935 |
+
"state": {
|
3936 |
+
"bar_style": "success",
|
3937 |
+
"layout": "IPY_MODEL_baa62618ad75474c874991a8ee7efa28",
|
3938 |
+
"max": 118,
|
3939 |
+
"style": "IPY_MODEL_8cadb0d7721f47daaa500deee5f696a8",
|
3940 |
+
"value": 118
|
3941 |
+
}
|
3942 |
+
},
|
3943 |
+
"32692d276650455c9617184478d4be36": {
|
3944 |
+
"model_module": "@jupyter-widgets/base",
|
3945 |
+
"model_module_version": "2.0.0",
|
3946 |
+
"model_name": "LayoutModel",
|
3947 |
+
"state": {}
|
3948 |
+
},
|
3949 |
+
"33917568acc94ed788eb2e40567251f9": {
|
3950 |
+
"model_module": "@jupyter-widgets/base",
|
3951 |
+
"model_module_version": "2.0.0",
|
3952 |
+
"model_name": "LayoutModel",
|
3953 |
+
"state": {}
|
3954 |
+
},
|
3955 |
+
"34c651d05a494eb2a0e7988adc9a9835": {
|
3956 |
+
"model_module": "@jupyter-widgets/controls",
|
3957 |
+
"model_module_version": "2.0.0",
|
3958 |
+
"model_name": "HBoxModel",
|
3959 |
+
"state": {
|
3960 |
+
"children": [
|
3961 |
+
"IPY_MODEL_12c376723c444ab1bc7d86aaeebaa299",
|
3962 |
+
"IPY_MODEL_894a816d99da47dfb9ff8aab4c4e8063",
|
3963 |
+
"IPY_MODEL_ad102543dcd24813a5cb6778017f1cbb"
|
3964 |
+
],
|
3965 |
+
"layout": "IPY_MODEL_c57c7e23c4ee4728824c3582992d1a1b"
|
3966 |
+
}
|
3967 |
+
},
|
3968 |
+
"35552075d3894247810490a5c7e157fb": {
|
3969 |
+
"model_module": "@jupyter-widgets/controls",
|
3970 |
+
"model_module_version": "2.0.0",
|
3971 |
+
"model_name": "HTMLStyleModel",
|
3972 |
+
"state": {
|
3973 |
+
"description_width": "",
|
3974 |
+
"font_size": null,
|
3975 |
+
"text_color": null
|
3976 |
+
}
|
3977 |
+
},
|
3978 |
+
"37ee4dbe42f6450181aeefc9d917780c": {
|
3979 |
+
"model_module": "@jupyter-widgets/base",
|
3980 |
+
"model_module_version": "2.0.0",
|
3981 |
+
"model_name": "LayoutModel",
|
3982 |
+
"state": {}
|
3983 |
+
},
|
3984 |
+
"3a2235b0309e4dacab34cd8348b5963a": {
|
3985 |
+
"model_module": "@jupyter-widgets/controls",
|
3986 |
+
"model_module_version": "2.0.0",
|
3987 |
+
"model_name": "HBoxModel",
|
3988 |
+
"state": {
|
3989 |
+
"children": [
|
3990 |
+
"IPY_MODEL_3b4d7acfb2fa4226ae4800873fa58bda",
|
3991 |
+
"IPY_MODEL_710afbb6b30c4332ac6a46e7f04f47d4",
|
3992 |
+
"IPY_MODEL_142c7a24cd4b4d898e29f93f4d6195df"
|
3993 |
+
],
|
3994 |
+
"layout": "IPY_MODEL_70861822edf24a0e80bb52f42fdd80ef"
|
3995 |
+
}
|
3996 |
+
},
|
3997 |
+
"3a53326aa86b4c5ea26f15752b38ae67": {
|
3998 |
+
"model_module": "@jupyter-widgets/base",
|
3999 |
+
"model_module_version": "2.0.0",
|
4000 |
+
"model_name": "LayoutModel",
|
4001 |
+
"state": {}
|
4002 |
+
},
|
4003 |
+
"3b4d7acfb2fa4226ae4800873fa58bda": {
|
4004 |
+
"model_module": "@jupyter-widgets/controls",
|
4005 |
+
"model_module_version": "2.0.0",
|
4006 |
+
"model_name": "HTMLModel",
|
4007 |
+
"state": {
|
4008 |
+
"layout": "IPY_MODEL_422aa5d6dec748afa06e7c47bc2473a0",
|
4009 |
+
"style": "IPY_MODEL_f60c31e316b741b288c553ecc69443b9",
|
4010 |
+
"value": "100%"
|
4011 |
+
}
|
4012 |
+
},
|
4013 |
+
"3b57a14b679b41a1b16c9c864a09617b": {
|
4014 |
+
"model_module": "@jupyter-widgets/controls",
|
4015 |
+
"model_module_version": "2.0.0",
|
4016 |
+
"model_name": "ProgressStyleModel",
|
4017 |
+
"state": {
|
4018 |
+
"description_width": ""
|
4019 |
+
}
|
4020 |
+
},
|
4021 |
+
"3b626570b96d40b2bccf6874afe72ab2": {
|
4022 |
+
"model_module": "@jupyter-widgets/base",
|
4023 |
+
"model_module_version": "2.0.0",
|
4024 |
+
"model_name": "LayoutModel",
|
4025 |
+
"state": {}
|
4026 |
+
},
|
4027 |
+
"3da8dc9a994a4bd7b95d62413a73306f": {
|
4028 |
+
"model_module": "@jupyter-widgets/controls",
|
4029 |
+
"model_module_version": "2.0.0",
|
4030 |
+
"model_name": "HBoxModel",
|
4031 |
+
"state": {
|
4032 |
+
"children": [
|
4033 |
+
"IPY_MODEL_86e7388e00c44e4aa5eecfdba0eb71bd",
|
4034 |
+
"IPY_MODEL_4cbd608c3f5b44838586ef09f19b9f76",
|
4035 |
+
"IPY_MODEL_739bae7033024608b64e34a29df54c4c"
|
4036 |
+
],
|
4037 |
+
"layout": "IPY_MODEL_6167b7914d194cba8d6860f6a24fd037"
|
4038 |
+
}
|
4039 |
+
},
|
4040 |
+
"422aa5d6dec748afa06e7c47bc2473a0": {
|
4041 |
+
"model_module": "@jupyter-widgets/base",
|
4042 |
+
"model_module_version": "2.0.0",
|
4043 |
+
"model_name": "LayoutModel",
|
4044 |
+
"state": {}
|
4045 |
+
},
|
4046 |
+
"4a693d0251c64c849c8e3c57c4b5bf66": {
|
4047 |
+
"model_module": "@jupyter-widgets/base",
|
4048 |
+
"model_module_version": "2.0.0",
|
4049 |
+
"model_name": "LayoutModel",
|
4050 |
+
"state": {}
|
4051 |
+
},
|
4052 |
+
"4cbd608c3f5b44838586ef09f19b9f76": {
|
4053 |
+
"model_module": "@jupyter-widgets/controls",
|
4054 |
+
"model_module_version": "2.0.0",
|
4055 |
+
"model_name": "FloatProgressModel",
|
4056 |
+
"state": {
|
4057 |
+
"bar_style": "success",
|
4058 |
+
"layout": "IPY_MODEL_f5dc54554e48411f926a60dd14a4bf61",
|
4059 |
+
"max": 118,
|
4060 |
+
"style": "IPY_MODEL_76925037e828414387d0eed2623415ed",
|
4061 |
+
"value": 118
|
4062 |
+
}
|
4063 |
+
},
|
4064 |
+
"4d744acd8d5042d78257c01108c81c65": {
|
4065 |
+
"model_module": "@jupyter-widgets/controls",
|
4066 |
+
"model_module_version": "2.0.0",
|
4067 |
+
"model_name": "ProgressStyleModel",
|
4068 |
+
"state": {
|
4069 |
+
"description_width": ""
|
4070 |
+
}
|
4071 |
+
},
|
4072 |
+
"5088f5dc07ab4ebf8a06c121884171ca": {
|
4073 |
+
"model_module": "@jupyter-widgets/controls",
|
4074 |
+
"model_module_version": "2.0.0",
|
4075 |
+
"model_name": "HTMLModel",
|
4076 |
+
"state": {
|
4077 |
+
"layout": "IPY_MODEL_a94a375fe34646b892eaee9c4cb81c40",
|
4078 |
+
"style": "IPY_MODEL_dc176dfbd3e14fb588b48290061ad612",
|
4079 |
+
"value": " 118/118 [00:22<00:00, 4.53it/s]"
|
4080 |
+
}
|
4081 |
+
},
|
4082 |
+
"53c90d01f6de45e899ace60dab91d5b7": {
|
4083 |
+
"model_module": "@jupyter-widgets/controls",
|
4084 |
+
"model_module_version": "2.0.0",
|
4085 |
+
"model_name": "HTMLStyleModel",
|
4086 |
+
"state": {
|
4087 |
+
"description_width": "",
|
4088 |
+
"font_size": null,
|
4089 |
+
"text_color": null
|
4090 |
+
}
|
4091 |
+
},
|
4092 |
+
"541074eff2ca4e2cb14a5ae0931d8844": {
|
4093 |
+
"model_module": "@jupyter-widgets/base",
|
4094 |
+
"model_module_version": "2.0.0",
|
4095 |
+
"model_name": "LayoutModel",
|
4096 |
+
"state": {}
|
4097 |
+
},
|
4098 |
+
"5506630107dc4e71a5fd313a844f3976": {
|
4099 |
+
"model_module": "@jupyter-widgets/base",
|
4100 |
+
"model_module_version": "2.0.0",
|
4101 |
+
"model_name": "LayoutModel",
|
4102 |
+
"state": {}
|
4103 |
+
},
|
4104 |
+
"55562f662e56481ba346246ccc109626": {
|
4105 |
+
"model_module": "@jupyter-widgets/controls",
|
4106 |
+
"model_module_version": "2.0.0",
|
4107 |
+
"model_name": "HBoxModel",
|
4108 |
+
"state": {
|
4109 |
+
"children": [
|
4110 |
+
"IPY_MODEL_1d6ea3ca0867417981c636de639abf9f",
|
4111 |
+
"IPY_MODEL_dc0b1e9a493f42f293bc5673ac162da7",
|
4112 |
+
"IPY_MODEL_0ab5d0f3c74d4c4cba3a62d642cb99b1"
|
4113 |
+
],
|
4114 |
+
"layout": "IPY_MODEL_18d993ad92214f71aa4607d4f6bb47c6"
|
4115 |
+
}
|
4116 |
+
},
|
4117 |
+
"55c068cb90a3463484ffd851c34a6ab8": {
|
4118 |
+
"model_module": "@jupyter-widgets/controls",
|
4119 |
+
"model_module_version": "2.0.0",
|
4120 |
+
"model_name": "HBoxModel",
|
4121 |
+
"state": {
|
4122 |
+
"children": [
|
4123 |
+
"IPY_MODEL_0ed26ebe44e24e5fa07e946503735553",
|
4124 |
+
"IPY_MODEL_805ebd0e10ed4bfb98728a78028146d3",
|
4125 |
+
"IPY_MODEL_d0ef47d1fd78494aa63b4c3538b90a67"
|
4126 |
+
],
|
4127 |
+
"layout": "IPY_MODEL_b64e15735fb6459f92f9ff249fc21d0e"
|
4128 |
+
}
|
4129 |
+
},
|
4130 |
+
"5b05067d2381420e91790696a2cd3519": {
|
4131 |
+
"model_module": "@jupyter-widgets/base",
|
4132 |
+
"model_module_version": "2.0.0",
|
4133 |
+
"model_name": "LayoutModel",
|
4134 |
+
"state": {}
|
4135 |
+
},
|
4136 |
+
"5d6e7ddfc71240c5b5ac9274c31b78bd": {
|
4137 |
+
"model_module": "@jupyter-widgets/controls",
|
4138 |
+
"model_module_version": "2.0.0",
|
4139 |
+
"model_name": "ProgressStyleModel",
|
4140 |
+
"state": {
|
4141 |
+
"description_width": ""
|
4142 |
+
}
|
4143 |
+
},
|
4144 |
+
"5ed200ebc48c4d6382a8bec1f8836783": {
|
4145 |
+
"model_module": "@jupyter-widgets/controls",
|
4146 |
+
"model_module_version": "2.0.0",
|
4147 |
+
"model_name": "HTMLStyleModel",
|
4148 |
+
"state": {
|
4149 |
+
"description_width": "",
|
4150 |
+
"font_size": null,
|
4151 |
+
"text_color": null
|
4152 |
+
}
|
4153 |
+
},
|
4154 |
+
"61361bf4390448a9941dbd37a280e28e": {
|
4155 |
+
"model_module": "@jupyter-widgets/controls",
|
4156 |
+
"model_module_version": "2.0.0",
|
4157 |
+
"model_name": "ProgressStyleModel",
|
4158 |
+
"state": {
|
4159 |
+
"description_width": ""
|
4160 |
+
}
|
4161 |
+
},
|
4162 |
+
"6167b7914d194cba8d6860f6a24fd037": {
|
4163 |
+
"model_module": "@jupyter-widgets/base",
|
4164 |
+
"model_module_version": "2.0.0",
|
4165 |
+
"model_name": "LayoutModel",
|
4166 |
+
"state": {}
|
4167 |
+
},
|
4168 |
+
"674cd8b0d6264d0d958d4292fcf31d75": {
|
4169 |
+
"model_module": "@jupyter-widgets/controls",
|
4170 |
+
"model_module_version": "2.0.0",
|
4171 |
+
"model_name": "HTMLModel",
|
4172 |
+
"state": {
|
4173 |
+
"layout": "IPY_MODEL_0cded1953fb641969da232bc7dda3207",
|
4174 |
+
"style": "IPY_MODEL_fcab8f6cc0b8437fb41e4cd6b6953722",
|
4175 |
+
"value": "100%"
|
4176 |
+
}
|
4177 |
+
},
|
4178 |
+
"6af74179f34b49a79620fb72411ee763": {
|
4179 |
+
"model_module": "@jupyter-widgets/base",
|
4180 |
+
"model_module_version": "2.0.0",
|
4181 |
+
"model_name": "LayoutModel",
|
4182 |
+
"state": {}
|
4183 |
+
},
|
4184 |
+
"70073ff888d642189a9767a874470b5b": {
|
4185 |
+
"model_module": "@jupyter-widgets/controls",
|
4186 |
+
"model_module_version": "2.0.0",
|
4187 |
+
"model_name": "ProgressStyleModel",
|
4188 |
+
"state": {
|
4189 |
+
"description_width": ""
|
4190 |
+
}
|
4191 |
+
},
|
4192 |
+
"70861822edf24a0e80bb52f42fdd80ef": {
|
4193 |
+
"model_module": "@jupyter-widgets/base",
|
4194 |
+
"model_module_version": "2.0.0",
|
4195 |
+
"model_name": "LayoutModel",
|
4196 |
+
"state": {}
|
4197 |
+
},
|
4198 |
+
"710afbb6b30c4332ac6a46e7f04f47d4": {
|
4199 |
+
"model_module": "@jupyter-widgets/controls",
|
4200 |
+
"model_module_version": "2.0.0",
|
4201 |
+
"model_name": "FloatProgressModel",
|
4202 |
+
"state": {
|
4203 |
+
"bar_style": "success",
|
4204 |
+
"layout": "IPY_MODEL_b1069386e89341d49d790c3315f95a7c",
|
4205 |
+
"max": 118,
|
4206 |
+
"style": "IPY_MODEL_714eeb184a984cf3bcd1c3e0a7cdbf76",
|
4207 |
+
"value": 118
|
4208 |
+
}
|
4209 |
+
},
|
4210 |
+
"714eeb184a984cf3bcd1c3e0a7cdbf76": {
|
4211 |
+
"model_module": "@jupyter-widgets/controls",
|
4212 |
+
"model_module_version": "2.0.0",
|
4213 |
+
"model_name": "ProgressStyleModel",
|
4214 |
+
"state": {
|
4215 |
+
"description_width": ""
|
4216 |
+
}
|
4217 |
+
},
|
4218 |
+
"734b0f1c05ec429cbe4887417b6b6b55": {
|
4219 |
+
"model_module": "@jupyter-widgets/controls",
|
4220 |
+
"model_module_version": "2.0.0",
|
4221 |
+
"model_name": "HTMLModel",
|
4222 |
+
"state": {
|
4223 |
+
"layout": "IPY_MODEL_a89ff36c048747c29d998f519c2efcdb",
|
4224 |
+
"style": "IPY_MODEL_35552075d3894247810490a5c7e157fb",
|
4225 |
+
"value": " 118/118 [00:34<00:00, 3.14it/s]"
|
4226 |
+
}
|
4227 |
+
},
|
4228 |
+
"739bae7033024608b64e34a29df54c4c": {
|
4229 |
+
"model_module": "@jupyter-widgets/controls",
|
4230 |
+
"model_module_version": "2.0.0",
|
4231 |
+
"model_name": "HTMLModel",
|
4232 |
+
"state": {
|
4233 |
+
"layout": "IPY_MODEL_37ee4dbe42f6450181aeefc9d917780c",
|
4234 |
+
"style": "IPY_MODEL_95f0d8ad3a8e4c55a3db1629f2d537fd",
|
4235 |
+
"value": " 118/118 [00:33<00:00, 3.78it/s]"
|
4236 |
+
}
|
4237 |
+
},
|
4238 |
+
"76925037e828414387d0eed2623415ed": {
|
4239 |
+
"model_module": "@jupyter-widgets/controls",
|
4240 |
+
"model_module_version": "2.0.0",
|
4241 |
+
"model_name": "ProgressStyleModel",
|
4242 |
+
"state": {
|
4243 |
+
"description_width": ""
|
4244 |
+
}
|
4245 |
+
},
|
4246 |
+
"7cefefaa5c37402faecf27c7973157a5": {
|
4247 |
+
"model_module": "@jupyter-widgets/controls",
|
4248 |
+
"model_module_version": "2.0.0",
|
4249 |
+
"model_name": "FloatProgressModel",
|
4250 |
+
"state": {
|
4251 |
+
"bar_style": "success",
|
4252 |
+
"layout": "IPY_MODEL_6af74179f34b49a79620fb72411ee763",
|
4253 |
+
"max": 118,
|
4254 |
+
"style": "IPY_MODEL_ccb72d0da17d4184ae89125db001a9aa",
|
4255 |
+
"value": 118
|
4256 |
+
}
|
4257 |
+
},
|
4258 |
+
"7d0004a7880d4aeeb42532e4718d34e2": {
|
4259 |
+
"model_module": "@jupyter-widgets/controls",
|
4260 |
+
"model_module_version": "2.0.0",
|
4261 |
+
"model_name": "HBoxModel",
|
4262 |
+
"state": {
|
4263 |
+
"children": [
|
4264 |
+
"IPY_MODEL_c38d653a12fa46849e28ceabab397e24",
|
4265 |
+
"IPY_MODEL_0ce144ef22854dc6bee81352022b3074",
|
4266 |
+
"IPY_MODEL_734b0f1c05ec429cbe4887417b6b6b55"
|
4267 |
+
],
|
4268 |
+
"layout": "IPY_MODEL_4a693d0251c64c849c8e3c57c4b5bf66"
|
4269 |
+
}
|
4270 |
+
},
|
4271 |
+
"7d6dcb54900b4dc1a657e89159799a9e": {
|
4272 |
+
"model_module": "@jupyter-widgets/controls",
|
4273 |
+
"model_module_version": "2.0.0",
|
4274 |
+
"model_name": "HTMLStyleModel",
|
4275 |
+
"state": {
|
4276 |
+
"description_width": "",
|
4277 |
+
"font_size": null,
|
4278 |
+
"text_color": null
|
4279 |
+
}
|
4280 |
+
},
|
4281 |
+
"7e7ac4bb45b9478f8aa6ce76d4a43b5a": {
|
4282 |
+
"model_module": "@jupyter-widgets/controls",
|
4283 |
+
"model_module_version": "2.0.0",
|
4284 |
+
"model_name": "HTMLModel",
|
4285 |
+
"state": {
|
4286 |
+
"layout": "IPY_MODEL_bf0a54995604496291dcfaa17bbdd504",
|
4287 |
+
"style": "IPY_MODEL_7d6dcb54900b4dc1a657e89159799a9e",
|
4288 |
+
"value": " 118/118 [00:23<00:00, 4.40it/s]"
|
4289 |
+
}
|
4290 |
+
},
|
4291 |
+
"805ebd0e10ed4bfb98728a78028146d3": {
|
4292 |
+
"model_module": "@jupyter-widgets/controls",
|
4293 |
+
"model_module_version": "2.0.0",
|
4294 |
+
"model_name": "FloatProgressModel",
|
4295 |
+
"state": {
|
4296 |
+
"bar_style": "success",
|
4297 |
+
"layout": "IPY_MODEL_1f51b02c7350488892f789cfebce7b1e",
|
4298 |
+
"max": 118,
|
4299 |
+
"style": "IPY_MODEL_61361bf4390448a9941dbd37a280e28e",
|
4300 |
+
"value": 118
|
4301 |
+
}
|
4302 |
+
},
|
4303 |
+
"86e7388e00c44e4aa5eecfdba0eb71bd": {
|
4304 |
+
"model_module": "@jupyter-widgets/controls",
|
4305 |
+
"model_module_version": "2.0.0",
|
4306 |
+
"model_name": "HTMLModel",
|
4307 |
+
"state": {
|
4308 |
+
"layout": "IPY_MODEL_b6d72a6ce2c84a38afe2bc4a2ecf8385",
|
4309 |
+
"style": "IPY_MODEL_c9084458f72c48bc8350824fc8a2161b",
|
4310 |
+
"value": "100%"
|
4311 |
+
}
|
4312 |
+
},
|
4313 |
+
"894a816d99da47dfb9ff8aab4c4e8063": {
|
4314 |
+
"model_module": "@jupyter-widgets/controls",
|
4315 |
+
"model_module_version": "2.0.0",
|
4316 |
+
"model_name": "FloatProgressModel",
|
4317 |
+
"state": {
|
4318 |
+
"bar_style": "success",
|
4319 |
+
"layout": "IPY_MODEL_0cdbae6c34704fd98cabfbdd5404c6db",
|
4320 |
+
"max": 118,
|
4321 |
+
"style": "IPY_MODEL_d42052c447c14dd499f35a3e135af714",
|
4322 |
+
"value": 118
|
4323 |
+
}
|
4324 |
+
},
|
4325 |
+
"89c3bd8612c74f71be28aea79cc9237d": {
|
4326 |
+
"model_module": "@jupyter-widgets/controls",
|
4327 |
+
"model_module_version": "2.0.0",
|
4328 |
+
"model_name": "HTMLModel",
|
4329 |
+
"state": {
|
4330 |
+
"layout": "IPY_MODEL_5506630107dc4e71a5fd313a844f3976",
|
4331 |
+
"style": "IPY_MODEL_0c589f4517e446f3b2091c5283072e3d",
|
4332 |
+
"value": " 118/118 [00:02<00:00, 42.18it/s]"
|
4333 |
+
}
|
4334 |
+
},
|
4335 |
+
"8b89d0a64778494491fd7d6dcea6b7d9": {
|
4336 |
+
"model_module": "@jupyter-widgets/controls",
|
4337 |
+
"model_module_version": "2.0.0",
|
4338 |
+
"model_name": "HTMLStyleModel",
|
4339 |
+
"state": {
|
4340 |
+
"description_width": "",
|
4341 |
+
"font_size": null,
|
4342 |
+
"text_color": null
|
4343 |
+
}
|
4344 |
+
},
|
4345 |
+
"8bbcd88274414f01ae1cb8fcc43b1c3e": {
|
4346 |
+
"model_module": "@jupyter-widgets/controls",
|
4347 |
+
"model_module_version": "2.0.0",
|
4348 |
+
"model_name": "HTMLStyleModel",
|
4349 |
+
"state": {
|
4350 |
+
"description_width": "",
|
4351 |
+
"font_size": null,
|
4352 |
+
"text_color": null
|
4353 |
+
}
|
4354 |
+
},
|
4355 |
+
"8cadb0d7721f47daaa500deee5f696a8": {
|
4356 |
+
"model_module": "@jupyter-widgets/controls",
|
4357 |
+
"model_module_version": "2.0.0",
|
4358 |
+
"model_name": "ProgressStyleModel",
|
4359 |
+
"state": {
|
4360 |
+
"description_width": ""
|
4361 |
+
}
|
4362 |
+
},
|
4363 |
+
"8e181eeb14f24447933b76dac47b9514": {
|
4364 |
+
"model_module": "@jupyter-widgets/controls",
|
4365 |
+
"model_module_version": "2.0.0",
|
4366 |
+
"model_name": "HBoxModel",
|
4367 |
+
"state": {
|
4368 |
+
"children": [
|
4369 |
+
"IPY_MODEL_674cd8b0d6264d0d958d4292fcf31d75",
|
4370 |
+
"IPY_MODEL_e849d7345f1043158c1d8b7c4c5fc9df",
|
4371 |
+
"IPY_MODEL_92ffef207b554a799cf754b9f33387e0"
|
4372 |
+
],
|
4373 |
+
"layout": "IPY_MODEL_f89ba8b9da494ec0972d6fc800aefa0a"
|
4374 |
+
}
|
4375 |
+
},
|
4376 |
+
"92ffef207b554a799cf754b9f33387e0": {
|
4377 |
+
"model_module": "@jupyter-widgets/controls",
|
4378 |
+
"model_module_version": "2.0.0",
|
4379 |
+
"model_name": "HTMLModel",
|
4380 |
+
"state": {
|
4381 |
+
"layout": "IPY_MODEL_33917568acc94ed788eb2e40567251f9",
|
4382 |
+
"style": "IPY_MODEL_a036de6b54d74784a9bac32af0db9873",
|
4383 |
+
"value": " 118/118 [00:25<00:00, 3.88it/s]"
|
4384 |
+
}
|
4385 |
+
},
|
4386 |
+
"95f0d8ad3a8e4c55a3db1629f2d537fd": {
|
4387 |
+
"model_module": "@jupyter-widgets/controls",
|
4388 |
+
"model_module_version": "2.0.0",
|
4389 |
+
"model_name": "HTMLStyleModel",
|
4390 |
+
"state": {
|
4391 |
+
"description_width": "",
|
4392 |
+
"font_size": null,
|
4393 |
+
"text_color": null
|
4394 |
+
}
|
4395 |
+
},
|
4396 |
+
"961228b9019d4b62a27fc84e373db5b1": {
|
4397 |
+
"model_module": "@jupyter-widgets/controls",
|
4398 |
+
"model_module_version": "2.0.0",
|
4399 |
+
"model_name": "HTMLStyleModel",
|
4400 |
+
"state": {
|
4401 |
+
"description_width": "",
|
4402 |
+
"font_size": null,
|
4403 |
+
"text_color": null
|
4404 |
+
}
|
4405 |
+
},
|
4406 |
+
"9a28bb5f413145fc8af90abbc055b2b1": {
|
4407 |
+
"model_module": "@jupyter-widgets/controls",
|
4408 |
+
"model_module_version": "2.0.0",
|
4409 |
+
"model_name": "HTMLStyleModel",
|
4410 |
+
"state": {
|
4411 |
+
"description_width": "",
|
4412 |
+
"font_size": null,
|
4413 |
+
"text_color": null
|
4414 |
+
}
|
4415 |
+
},
|
4416 |
+
"a036de6b54d74784a9bac32af0db9873": {
|
4417 |
+
"model_module": "@jupyter-widgets/controls",
|
4418 |
+
"model_module_version": "2.0.0",
|
4419 |
+
"model_name": "HTMLStyleModel",
|
4420 |
+
"state": {
|
4421 |
+
"description_width": "",
|
4422 |
+
"font_size": null,
|
4423 |
+
"text_color": null
|
4424 |
+
}
|
4425 |
+
},
|
4426 |
+
"a89ff36c048747c29d998f519c2efcdb": {
|
4427 |
+
"model_module": "@jupyter-widgets/base",
|
4428 |
+
"model_module_version": "2.0.0",
|
4429 |
+
"model_name": "LayoutModel",
|
4430 |
+
"state": {}
|
4431 |
+
},
|
4432 |
+
"a94a375fe34646b892eaee9c4cb81c40": {
|
4433 |
+
"model_module": "@jupyter-widgets/base",
|
4434 |
+
"model_module_version": "2.0.0",
|
4435 |
+
"model_name": "LayoutModel",
|
4436 |
+
"state": {}
|
4437 |
+
},
|
4438 |
+
"ad102543dcd24813a5cb6778017f1cbb": {
|
4439 |
+
"model_module": "@jupyter-widgets/controls",
|
4440 |
+
"model_module_version": "2.0.0",
|
4441 |
+
"model_name": "HTMLModel",
|
4442 |
+
"state": {
|
4443 |
+
"layout": "IPY_MODEL_20b3b53459634971b8ede3e6e42bdb22",
|
4444 |
+
"style": "IPY_MODEL_206172e87b3642c6ac6582b0ebbf6f80",
|
4445 |
+
"value": " 118/118 [00:24<00:00, 4.12it/s]"
|
4446 |
+
}
|
4447 |
+
},
|
4448 |
+
"b1069386e89341d49d790c3315f95a7c": {
|
4449 |
+
"model_module": "@jupyter-widgets/base",
|
4450 |
+
"model_module_version": "2.0.0",
|
4451 |
+
"model_name": "LayoutModel",
|
4452 |
+
"state": {}
|
4453 |
+
},
|
4454 |
+
"b1afe346307644d18fda893e52ea93b8": {
|
4455 |
+
"model_module": "@jupyter-widgets/controls",
|
4456 |
+
"model_module_version": "2.0.0",
|
4457 |
+
"model_name": "HTMLStyleModel",
|
4458 |
+
"state": {
|
4459 |
+
"description_width": "",
|
4460 |
+
"font_size": null,
|
4461 |
+
"text_color": null
|
4462 |
+
}
|
4463 |
+
},
|
4464 |
+
"b64e15735fb6459f92f9ff249fc21d0e": {
|
4465 |
+
"model_module": "@jupyter-widgets/base",
|
4466 |
+
"model_module_version": "2.0.0",
|
4467 |
+
"model_name": "LayoutModel",
|
4468 |
+
"state": {}
|
4469 |
+
},
|
4470 |
+
"b6d72a6ce2c84a38afe2bc4a2ecf8385": {
|
4471 |
+
"model_module": "@jupyter-widgets/base",
|
4472 |
+
"model_module_version": "2.0.0",
|
4473 |
+
"model_name": "LayoutModel",
|
4474 |
+
"state": {}
|
4475 |
+
},
|
4476 |
+
"b753d3dd93744e0aaec7dabe187e1b7d": {
|
4477 |
+
"model_module": "@jupyter-widgets/base",
|
4478 |
+
"model_module_version": "2.0.0",
|
4479 |
+
"model_name": "LayoutModel",
|
4480 |
+
"state": {}
|
4481 |
+
},
|
4482 |
+
"baa62618ad75474c874991a8ee7efa28": {
|
4483 |
+
"model_module": "@jupyter-widgets/base",
|
4484 |
+
"model_module_version": "2.0.0",
|
4485 |
+
"model_name": "LayoutModel",
|
4486 |
+
"state": {}
|
4487 |
+
},
|
4488 |
+
"bb4189f8cd2b4cb38d47be1e46893cd4": {
|
4489 |
+
"model_module": "@jupyter-widgets/controls",
|
4490 |
+
"model_module_version": "2.0.0",
|
4491 |
+
"model_name": "HTMLStyleModel",
|
4492 |
+
"state": {
|
4493 |
+
"description_width": "",
|
4494 |
+
"font_size": null,
|
4495 |
+
"text_color": null
|
4496 |
+
}
|
4497 |
+
},
|
4498 |
+
"bf0a54995604496291dcfaa17bbdd504": {
|
4499 |
+
"model_module": "@jupyter-widgets/base",
|
4500 |
+
"model_module_version": "2.0.0",
|
4501 |
+
"model_name": "LayoutModel",
|
4502 |
+
"state": {}
|
4503 |
+
},
|
4504 |
+
"c38d653a12fa46849e28ceabab397e24": {
|
4505 |
+
"model_module": "@jupyter-widgets/controls",
|
4506 |
+
"model_module_version": "2.0.0",
|
4507 |
+
"model_name": "HTMLModel",
|
4508 |
+
"state": {
|
4509 |
+
"layout": "IPY_MODEL_32692d276650455c9617184478d4be36",
|
4510 |
+
"style": "IPY_MODEL_53c90d01f6de45e899ace60dab91d5b7",
|
4511 |
+
"value": "100%"
|
4512 |
+
}
|
4513 |
+
},
|
4514 |
+
"c44f65cce025403ca9d39ad50044ea46": {
|
4515 |
+
"model_module": "@jupyter-widgets/controls",
|
4516 |
+
"model_module_version": "2.0.0",
|
4517 |
+
"model_name": "HTMLModel",
|
4518 |
+
"state": {
|
4519 |
+
"layout": "IPY_MODEL_f4fa13dca645493984620cc32469e31b",
|
4520 |
+
"style": "IPY_MODEL_961228b9019d4b62a27fc84e373db5b1",
|
4521 |
+
"value": "100%"
|
4522 |
+
}
|
4523 |
+
},
|
4524 |
+
"c57c7e23c4ee4728824c3582992d1a1b": {
|
4525 |
+
"model_module": "@jupyter-widgets/base",
|
4526 |
+
"model_module_version": "2.0.0",
|
4527 |
+
"model_name": "LayoutModel",
|
4528 |
+
"state": {}
|
4529 |
+
},
|
4530 |
+
"c9084458f72c48bc8350824fc8a2161b": {
|
4531 |
+
"model_module": "@jupyter-widgets/controls",
|
4532 |
+
"model_module_version": "2.0.0",
|
4533 |
+
"model_name": "HTMLStyleModel",
|
4534 |
+
"state": {
|
4535 |
+
"description_width": "",
|
4536 |
+
"font_size": null,
|
4537 |
+
"text_color": null
|
4538 |
+
}
|
4539 |
+
},
|
4540 |
+
"ccb72d0da17d4184ae89125db001a9aa": {
|
4541 |
+
"model_module": "@jupyter-widgets/controls",
|
4542 |
+
"model_module_version": "2.0.0",
|
4543 |
+
"model_name": "ProgressStyleModel",
|
4544 |
+
"state": {
|
4545 |
+
"description_width": ""
|
4546 |
+
}
|
4547 |
+
},
|
4548 |
+
"cfd3ce4dce01407499562d73e1b40540": {
|
4549 |
+
"model_module": "@jupyter-widgets/controls",
|
4550 |
+
"model_module_version": "2.0.0",
|
4551 |
+
"model_name": "FloatProgressModel",
|
4552 |
+
"state": {
|
4553 |
+
"bar_style": "success",
|
4554 |
+
"layout": "IPY_MODEL_24371d8e9f3f49b394b3f9be9eb40295",
|
4555 |
+
"max": 118,
|
4556 |
+
"style": "IPY_MODEL_70073ff888d642189a9767a874470b5b",
|
4557 |
+
"value": 118
|
4558 |
+
}
|
4559 |
+
},
|
4560 |
+
"d0ef47d1fd78494aa63b4c3538b90a67": {
|
4561 |
+
"model_module": "@jupyter-widgets/controls",
|
4562 |
+
"model_module_version": "2.0.0",
|
4563 |
+
"model_name": "HTMLModel",
|
4564 |
+
"state": {
|
4565 |
+
"layout": "IPY_MODEL_3b626570b96d40b2bccf6874afe72ab2",
|
4566 |
+
"style": "IPY_MODEL_8b89d0a64778494491fd7d6dcea6b7d9",
|
4567 |
+
"value": " 118/118 [00:22<00:00, 4.55it/s]"
|
4568 |
+
}
|
4569 |
+
},
|
4570 |
+
"d343048da6a04360931989f9b92a1fd8": {
|
4571 |
+
"model_module": "@jupyter-widgets/base",
|
4572 |
+
"model_module_version": "2.0.0",
|
4573 |
+
"model_name": "LayoutModel",
|
4574 |
+
"state": {}
|
4575 |
+
},
|
4576 |
+
"d42052c447c14dd499f35a3e135af714": {
|
4577 |
+
"model_module": "@jupyter-widgets/controls",
|
4578 |
+
"model_module_version": "2.0.0",
|
4579 |
+
"model_name": "ProgressStyleModel",
|
4580 |
+
"state": {
|
4581 |
+
"description_width": ""
|
4582 |
+
}
|
4583 |
+
},
|
4584 |
+
"d9119d0d18c04a7eab1531dca1a71f9c": {
|
4585 |
+
"model_module": "@jupyter-widgets/base",
|
4586 |
+
"model_module_version": "2.0.0",
|
4587 |
+
"model_name": "LayoutModel",
|
4588 |
+
"state": {}
|
4589 |
+
},
|
4590 |
+
"db860024663d4cc7859e4808a518cc09": {
|
4591 |
+
"model_module": "@jupyter-widgets/base",
|
4592 |
+
"model_module_version": "2.0.0",
|
4593 |
+
"model_name": "LayoutModel",
|
4594 |
+
"state": {}
|
4595 |
+
},
|
4596 |
+
"dc0b1e9a493f42f293bc5673ac162da7": {
|
4597 |
+
"model_module": "@jupyter-widgets/controls",
|
4598 |
+
"model_module_version": "2.0.0",
|
4599 |
+
"model_name": "FloatProgressModel",
|
4600 |
+
"state": {
|
4601 |
+
"bar_style": "success",
|
4602 |
+
"layout": "IPY_MODEL_1903fb3dfd654bd9b8740e65c4e4ec69",
|
4603 |
+
"max": 118,
|
4604 |
+
"style": "IPY_MODEL_3b57a14b679b41a1b16c9c864a09617b",
|
4605 |
+
"value": 118
|
4606 |
+
}
|
4607 |
+
},
|
4608 |
+
"dc176dfbd3e14fb588b48290061ad612": {
|
4609 |
+
"model_module": "@jupyter-widgets/controls",
|
4610 |
+
"model_module_version": "2.0.0",
|
4611 |
+
"model_name": "HTMLStyleModel",
|
4612 |
+
"state": {
|
4613 |
+
"description_width": "",
|
4614 |
+
"font_size": null,
|
4615 |
+
"text_color": null
|
4616 |
+
}
|
4617 |
+
},
|
4618 |
+
"e047b2428ade4f76a403019d9e559093": {
|
4619 |
+
"model_module": "@jupyter-widgets/controls",
|
4620 |
+
"model_module_version": "2.0.0",
|
4621 |
+
"model_name": "HTMLStyleModel",
|
4622 |
+
"state": {
|
4623 |
+
"description_width": "",
|
4624 |
+
"font_size": null,
|
4625 |
+
"text_color": null
|
4626 |
+
}
|
4627 |
+
},
|
4628 |
+
"e849d7345f1043158c1d8b7c4c5fc9df": {
|
4629 |
+
"model_module": "@jupyter-widgets/controls",
|
4630 |
+
"model_module_version": "2.0.0",
|
4631 |
+
"model_name": "FloatProgressModel",
|
4632 |
+
"state": {
|
4633 |
+
"bar_style": "success",
|
4634 |
+
"layout": "IPY_MODEL_0b6d7e7c471540b7b4b3771488c9a210",
|
4635 |
+
"max": 118,
|
4636 |
+
"style": "IPY_MODEL_4d744acd8d5042d78257c01108c81c65",
|
4637 |
+
"value": 118
|
4638 |
+
}
|
4639 |
+
},
|
4640 |
+
"ea030b8eacad4f1a9a00fe1060e7f7a6": {
|
4641 |
+
"model_module": "@jupyter-widgets/base",
|
4642 |
+
"model_module_version": "2.0.0",
|
4643 |
+
"model_name": "LayoutModel",
|
4644 |
+
"state": {}
|
4645 |
+
},
|
4646 |
+
"f23884741dd74e2a9853298cc6c631b5": {
|
4647 |
+
"model_module": "@jupyter-widgets/controls",
|
4648 |
+
"model_module_version": "2.0.0",
|
4649 |
+
"model_name": "HBoxModel",
|
4650 |
+
"state": {
|
4651 |
+
"children": [
|
4652 |
+
"IPY_MODEL_2717f12178e54818864eca87f9374dec",
|
4653 |
+
"IPY_MODEL_29d3ca80c25b4a8090aa0d931c0fa3f0",
|
4654 |
+
"IPY_MODEL_89c3bd8612c74f71be28aea79cc9237d"
|
4655 |
+
],
|
4656 |
+
"layout": "IPY_MODEL_b753d3dd93744e0aaec7dabe187e1b7d"
|
4657 |
+
}
|
4658 |
+
},
|
4659 |
+
"f49debc4e85e4e2aa5c24de17cfa337a": {
|
4660 |
+
"model_module": "@jupyter-widgets/controls",
|
4661 |
+
"model_module_version": "2.0.0",
|
4662 |
+
"model_name": "HBoxModel",
|
4663 |
+
"state": {
|
4664 |
+
"children": [
|
4665 |
+
"IPY_MODEL_1403f930c2324c4fa08125ea34f19123",
|
4666 |
+
"IPY_MODEL_7cefefaa5c37402faecf27c7973157a5",
|
4667 |
+
"IPY_MODEL_5088f5dc07ab4ebf8a06c121884171ca"
|
4668 |
+
],
|
4669 |
+
"layout": "IPY_MODEL_3a53326aa86b4c5ea26f15752b38ae67"
|
4670 |
+
}
|
4671 |
+
},
|
4672 |
+
"f4fa13dca645493984620cc32469e31b": {
|
4673 |
+
"model_module": "@jupyter-widgets/base",
|
4674 |
+
"model_module_version": "2.0.0",
|
4675 |
+
"model_name": "LayoutModel",
|
4676 |
+
"state": {}
|
4677 |
+
},
|
4678 |
+
"f5210ca8dd5c4040a7368211d308abb4": {
|
4679 |
+
"model_module": "@jupyter-widgets/base",
|
4680 |
+
"model_module_version": "2.0.0",
|
4681 |
+
"model_name": "LayoutModel",
|
4682 |
+
"state": {}
|
4683 |
+
},
|
4684 |
+
"f5dc54554e48411f926a60dd14a4bf61": {
|
4685 |
+
"model_module": "@jupyter-widgets/base",
|
4686 |
+
"model_module_version": "2.0.0",
|
4687 |
+
"model_name": "LayoutModel",
|
4688 |
+
"state": {}
|
4689 |
+
},
|
4690 |
+
"f60c31e316b741b288c553ecc69443b9": {
|
4691 |
+
"model_module": "@jupyter-widgets/controls",
|
4692 |
+
"model_module_version": "2.0.0",
|
4693 |
+
"model_name": "HTMLStyleModel",
|
4694 |
+
"state": {
|
4695 |
+
"description_width": "",
|
4696 |
+
"font_size": null,
|
4697 |
+
"text_color": null
|
4698 |
+
}
|
4699 |
+
},
|
4700 |
+
"f89ba8b9da494ec0972d6fc800aefa0a": {
|
4701 |
+
"model_module": "@jupyter-widgets/base",
|
4702 |
+
"model_module_version": "2.0.0",
|
4703 |
+
"model_name": "LayoutModel",
|
4704 |
+
"state": {}
|
4705 |
+
},
|
4706 |
+
"fcab8f6cc0b8437fb41e4cd6b6953722": {
|
4707 |
+
"model_module": "@jupyter-widgets/controls",
|
4708 |
+
"model_module_version": "2.0.0",
|
4709 |
+
"model_name": "HTMLStyleModel",
|
4710 |
+
"state": {
|
4711 |
+
"description_width": "",
|
4712 |
+
"font_size": null,
|
4713 |
+
"text_color": null
|
4714 |
+
}
|
4715 |
+
}
|
4716 |
+
},
|
4717 |
"version_major": 2,
|
4718 |
"version_minor": 0
|
4719 |
}
|
mlip_arena/tasks/diatomics/sevennet/homonuclear-diatomics.json
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
serve/tasks/combustion.py
CHANGED
@@ -145,14 +145,44 @@ fig.add_trace(
|
|
145 |
fig.update_layout(
|
146 |
title="Hydrogen Combustion (2H2 + O2 -> 2H2O, 64 units)",
|
147 |
xaxis_title="Timestep",
|
148 |
-
yaxis_title="
|
149 |
-
yaxis2=dict(
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
# template="plotly_dark",
|
157 |
)
|
158 |
|
@@ -213,7 +243,7 @@ st.plotly_chart(fig)
|
|
213 |
st.markdown("""### Center of mass drift
|
214 |
|
215 |
The center of mass (COM) drift is a measure of the stability of the simulation. A well-behaved simulation should have a COM drift close to zero. The COM drift is calculated as the displacement of the COM of the system from the initial position.
|
216 |
-
|
217 |
|
218 |
|
219 |
@st.cache_data
|
@@ -229,7 +259,9 @@ def get_com_drifts(df):
|
|
229 |
df_flat = df_exploded.drop(columns=["com_drifts"])
|
230 |
|
231 |
df_flat["total_com_drift"] = np.sqrt(
|
232 |
-
df_flat["com_drift_x"] ** 2
|
|
|
|
|
233 |
)
|
234 |
|
235 |
return df_flat
|
@@ -290,7 +322,11 @@ def draw_com_drifts_plot():
|
|
290 |
x="com_drift_x",
|
291 |
y="com_drift_y",
|
292 |
z="com_drift_z",
|
293 |
-
labels={
|
|
|
|
|
|
|
|
|
294 |
category_orders={"method": df_exploded["method"].unique()},
|
295 |
color_discrete_sequence=[
|
296 |
method_color_mapping[method] for method in df_exploded["method"].unique()
|
@@ -313,31 +349,33 @@ def draw_com_drifts_plot():
|
|
313 |
bgcolor="rgba(0, 0, 0, 0)",
|
314 |
),
|
315 |
)
|
316 |
-
fig.add_traces(
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
|
|
|
|
339 |
|
340 |
st.plotly_chart(fig)
|
341 |
|
342 |
|
343 |
-
draw_com_drifts_plot()
|
|
|
145 |
fig.update_layout(
|
146 |
title="Hydrogen Combustion (2H2 + O2 -> 2H2O, 64 units)",
|
147 |
xaxis_title="Timestep",
|
148 |
+
yaxis_title="Temperature (K)",
|
149 |
+
# yaxis2=dict(
|
150 |
+
# title="Product Percentage (%)",
|
151 |
+
# overlaying="y",
|
152 |
+
# side="right",
|
153 |
+
# range=[0, 100],
|
154 |
+
# tickmode="sync",
|
155 |
+
# ),
|
156 |
+
# template="plotly_dark",
|
157 |
+
)
|
158 |
+
|
159 |
+
st.plotly_chart(fig)
|
160 |
+
|
161 |
+
# Energy
|
162 |
+
|
163 |
+
fig = go.Figure()
|
164 |
+
|
165 |
+
for method in df["method"].unique():
|
166 |
+
row = df[df["method"] == method].iloc[0]
|
167 |
+
fig.add_trace(
|
168 |
+
go.Scatter(
|
169 |
+
x=row["timestep"],
|
170 |
+
y=np.array(row["energies"]) - row["energies"][0],
|
171 |
+
mode="lines",
|
172 |
+
name=method,
|
173 |
+
line=dict(
|
174 |
+
color=method_color_mapping[method],
|
175 |
+
# width=1
|
176 |
+
),
|
177 |
+
marker=dict(color=method_color_mapping[method], size=3),
|
178 |
+
showlegend=True,
|
179 |
+
),
|
180 |
+
)
|
181 |
+
|
182 |
+
fig.update_layout(
|
183 |
+
title="Hydrogen Combustion (2H2 + O2 -> 2H2O, 64 units)",
|
184 |
+
xaxis_title="Timestep",
|
185 |
+
yaxis_title="ΔE (eV)",
|
186 |
# template="plotly_dark",
|
187 |
)
|
188 |
|
|
|
243 |
st.markdown("""### Center of mass drift
|
244 |
|
245 |
The center of mass (COM) drift is a measure of the stability of the simulation. A well-behaved simulation should have a COM drift close to zero. The COM drift is calculated as the displacement of the COM of the system from the initial position.
|
246 |
+
""")
|
247 |
|
248 |
|
249 |
@st.cache_data
|
|
|
259 |
df_flat = df_exploded.drop(columns=["com_drifts"])
|
260 |
|
261 |
df_flat["total_com_drift"] = np.sqrt(
|
262 |
+
df_flat["com_drift_x"] ** 2
|
263 |
+
+ df_flat["com_drift_y"] ** 2
|
264 |
+
+ df_flat["com_drift_z"] ** 2
|
265 |
)
|
266 |
|
267 |
return df_flat
|
|
|
322 |
x="com_drift_x",
|
323 |
y="com_drift_y",
|
324 |
z="com_drift_z",
|
325 |
+
labels={
|
326 |
+
"com_drift_x": "Δx (Å)",
|
327 |
+
"com_drift_y": "Δy (Å)",
|
328 |
+
"com_drift_z": "Δz (Å)",
|
329 |
+
},
|
330 |
category_orders={"method": df_exploded["method"].unique()},
|
331 |
color_discrete_sequence=[
|
332 |
method_color_mapping[method] for method in df_exploded["method"].unique()
|
|
|
349 |
bgcolor="rgba(0, 0, 0, 0)",
|
350 |
),
|
351 |
)
|
352 |
+
fig.add_traces(
|
353 |
+
[
|
354 |
+
go.Scatter3d(
|
355 |
+
x=[0],
|
356 |
+
y=[0],
|
357 |
+
z=[0],
|
358 |
+
mode="markers",
|
359 |
+
marker=dict(size=3, color="white"),
|
360 |
+
name="origin",
|
361 |
+
),
|
362 |
+
# add last point of each method and annotate the total drift
|
363 |
+
go.Scatter3d(
|
364 |
+
# df_filtered.groupby("method")["com_drift_x"].last(),
|
365 |
+
x=df_filtered.groupby("method")["com_drift_x"].last(),
|
366 |
+
y=df_filtered.groupby("method")["com_drift_y"].last(),
|
367 |
+
z=df_filtered.groupby("method")["com_drift_z"].last(),
|
368 |
+
mode="markers+text",
|
369 |
+
marker=dict(size=3, color="white", opacity=0.5),
|
370 |
+
text=df_filtered.groupby("method")["total_com_drift"].last().round(3),
|
371 |
+
# size=5,
|
372 |
+
name="total drifts",
|
373 |
+
textposition="top center",
|
374 |
+
),
|
375 |
+
]
|
376 |
+
)
|
377 |
|
378 |
st.plotly_chart(fig)
|
379 |
|
380 |
|
381 |
+
draw_com_drifts_plot()
|