Bohrium
robot
新建

空间站广场

论文
Notebooks
比赛
课程
Apps
我的主页
我的Notebooks
我的论文库
我的足迹

我的工作空间

任务
节点
文件
数据集
镜像
项目
数据库
公开
Hands-on to APEX (v1.2) on Bohrium
APEX
Workflow
Material
English
simulation
APEXWorkflowMaterialEnglishsimulation
zhuoyli@connect.hku.hk
更新于 2024-08-08
推荐镜像 :Basic Image:ubuntu22.04-mojo0.3-notebook
推荐机型 :c2_m4_cpu
赞 4
5
apex_demo(v3)

Hands-on to APEX (v1.2) on Bohrium

Open In Bohrium

©️ Copyright 2024 @ Authors
作者: zhuoyli@connect.hku.hk 📨
日期:2024-03-15
共享协议:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
快速开始:点击上方的 开始连接 按钮,选择 APEX Demo 项目 ubuntu22.04-mojo0.3-notebook 镜像 和任意配置机型即可开始。

📖 Getting Started Guide
This document can be executed directly on the Bohrium Notebook. To begin, click the Connect button located at the top of the interface, then select APEX Demo project and the ubuntu22.04-mojo0.3-notebook Image and choose your desired machine configuration to proceed.

This Bohrium notebook demonstrates how to perform alloy properties simulation workflow via APEX (v1.2). The dflow server and simulation resources of this case are based on the Bohrium.

If you have any problems about the APEX, issues are welcomed in GitHub repository

代码
文本

Installation

Installation of APEX can be easily achieved through pip install pydflow or directly from source code:

代码
文本
[1]
!if [ -e APEX ];then rm -rf APEX; fi; # remove APEX package if exist
代码
文本
[2]
!git clone https://github.com/deepmodeling/APEX.git # clone APEX source code from GitHub repository
Cloning into 'APEX'...
remote: Enumerating objects: 3523, done.
remote: Counting objects: 100% (1042/1042), done.
remote: Compressing objects: 100% (369/369), done.
remote: Total 3523 (delta 728), reused 823 (delta 671), pack-reused 2481
Receiving objects: 100% (3523/3523), 16.31 MiB | 5.35 MiB/s, done.
Resolving deltas: 100% (2389/2389), done.
代码
文本
[3]
!pip install pip --upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple # upgrade pip
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: pip in /opt/conda/lib/python3.8/site-packages (23.1.2)
Collecting pip
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/8a/6a/19e9fe04fca059ccf770861c7d5721ab4c2aebc539889e97c7977528a53b/pip-24.0-py3-none-any.whl (2.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 7.9 MB/s eta 0:00:0000:0100:01
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 23.1.2
    Uninstalling pip-23.1.2:
      Successfully uninstalled pip-23.1.2
Successfully installed pip-24.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
代码
文本
[4]
pip install APEX/ -i https://pypi.tuna.tsinghua.edu.cn/simple # install apex-flow (APEX)
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Processing /APEX
  Preparing metadata (setup.py) ... done
Collecting pydflow>=1.7.83 (from apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/6f/79/bb179d2743d0805eaab0c72d0440ab2650003843593beca41bea1339e84a/pydflow-1.8.64-py3-none-any.whl (159 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 159.7/159.7 kB 5.0 MB/s eta 0:00:00
Collecting pymatgen>=2023.8.10 (from apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/10/d1/3d40d36f211f219fbb978fbcaef9039b71ecdd17fe4ba03ccd0fe2677378/pymatgen-2023.8.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.7/9.7 MB 10.9 MB/s eta 0:00:0000:0100:01
Collecting pymatgen-analysis-defects>=2023.8.22 (from apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/73/8b/6c79ba564238a6a835a7a8f4bfaddb1352c05fee62c73e77f4ce92c758cc/pymatgen_analysis_defects-2023.10.19-py3-none-any.whl (72 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 72.8/72.8 kB 14.8 MB/s eta 0:00:00
Collecting dpdata>=0.2.13 (from apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e8/22/d81cdd3fe3a936a705745730f2fbd2587f8bcb67ef7cca5ad4164a5a239c/dpdata-0.2.18-py3-none-any.whl (148 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 148.3/148.3 kB 570.1 kB/s eta 0:00:00a 0:00:01
Requirement already satisfied: dpdispatcher in /opt/conda/lib/python3.8/site-packages (from apex-flow==1.2.0) (0.5.11)
Collecting phonopy (from apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fa/98/61956761c7d6b452a093fa560827d3d4647e5f82b8cce3d39c6d7ca60b68/phonopy-2.23.1.tar.gz (4.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.0/4.0 MB 8.2 MB/s eta 0:00:00:00:0100:01
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting plotly (from apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/0b/f8/b65cdd2be32e442c4efe7b672f73c90b05eab5a7f3f4115efe181d432c60/plotly-5.22.0-py3-none-any.whl (16.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.4/16.4 MB 21.0 MB/s eta 0:00:0000:0100:01
Collecting dash (from apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/63/22/bc266b167111e70a2da940e78b78d22fea5b1ee32b512ed0789bd6cc2a9f/dash-2.17.0-py3-none-any.whl (7.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.5/7.5 MB 18.0 MB/s eta 0:00:0000:0100:01
Collecting dash_bootstrap_components (from apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/cc/72/dda12d6c6a9a2901f5549cea05c7f180e89dee6fb8c5f5f037ce7101ba24/dash_bootstrap_components-1.6.0-py3-none-any.whl (222 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 222.5/222.5 kB 23.7 MB/s eta 0:00:00
Collecting seekpath (from apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/30/2c/fcb31e185a3a74d4098d9c44ac108ddcf1a4c88d7d3cea5a569dd812c62b/seekpath-2.1.0-py2.py3-none-any.whl (77 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 77.5/77.5 kB 3.7 MB/s eta 0:00:00
Collecting fpop>=0.0.7 (from apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/3b/0e/8cf4fa4c1abd303cbe42c5fb345dd1dd866f7b2a5ea7b59c911c9a7d1e79/fpop-0.0.7-py3-none-any.whl (32 kB)
Collecting boto3 (from apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b4/a1/66d2002a3df35ec491e6e6d8fc05a0a9c5e1a29470f02537d5469c048606/boto3-1.34.102-py3-none-any.whl (139 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 139.3/139.3 kB 5.9 MB/s eta 0:00:00
Collecting pymongo (from apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/22/2b/3855f33990dde36a186f03539b868da0350714c03146ce691645e5ea904a/pymongo-4.7.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (686 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 686.2/686.2 kB 10.4 MB/s eta 0:00:00a 0:00:01
Requirement already satisfied: numpy>=1.14.3 in /opt/conda/lib/python3.8/site-packages (from dpdata>=0.2.13->apex-flow==1.2.0) (1.24.4)
Collecting monty (from dpdata>=0.2.13->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/5e/e5/d1d98b6c601ecab8d460efbff288724996e5c7aa7d54886fc67d8b2e5f57/monty-2023.9.25-py3-none-any.whl (63 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.4/63.4 kB 4.5 MB/s eta 0:00:00
Collecting scipy (from dpdata>=0.2.13->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/69/f0/fb07a9548e48b687b8bf2fa81d71aba9cfc548d365046ca1c791e24db99d/scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 34.5/34.5 MB 14.6 MB/s eta 0:00:0000:0100:01
Collecting h5py (from dpdata>=0.2.13->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/86/43/fd0bd74462b3c3fb35d98568935d3e5a435c8ec24d45ef408ac8869166af/h5py-3.11.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.3/5.3 MB 15.6 MB/s eta 0:00:0000:0100:01
Collecting wcmatch (from dpdata>=0.2.13->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/17/06/73f17a8c322de938809f570e7bb09f1345fc9821b8fbe37f0f785d403475/wcmatch-8.5.1-py3-none-any.whl (39 kB)
Requirement already satisfied: lbg in /opt/conda/lib/python3.8/site-packages (from fpop>=0.0.7->apex-flow==1.2.0) (1.2.20)
Requirement already satisfied: dargs in /opt/conda/lib/python3.8/site-packages (from fpop>=0.0.7->apex-flow==1.2.0) (0.3.5)
Requirement already satisfied: six in /opt/conda/lib/python3.8/site-packages (from pydflow>=1.7.83->apex-flow==1.2.0) (1.16.0)
Requirement already satisfied: python-dateutil in /opt/conda/lib/python3.8/site-packages (from pydflow>=1.7.83->apex-flow==1.2.0) (2.8.2)
Requirement already satisfied: urllib3 in /opt/conda/lib/python3.8/site-packages (from pydflow>=1.7.83->apex-flow==1.2.0) (1.26.16)
Requirement already satisfied: certifi in /opt/conda/lib/python3.8/site-packages (from pydflow>=1.7.83->apex-flow==1.2.0) (2023.7.22)
Collecting argo-workflows==5.0.0 (from pydflow>=1.7.83->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b1/6a/8f13d5124b111e8e054594d23782ea9c5dadda0517d1dd9ad08c7c055732/argo_workflows-5.0.0-py3-none-any.whl (452 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 452.5/452.5 kB 48.9 MB/s eta 0:00:00
Collecting jsonpickle (from pydflow>=1.7.83->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/19/c3/453e4e2da82d5efad9e653916a120d94daf5062f7eae43e28f39fff1bc6a/jsonpickle-3.0.4-py3-none-any.whl (39 kB)
Collecting minio (from pydflow>=1.7.83->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/51/9a/66fc4e8c861fa4e3029da41569531a56c471abb3c3e08d236115807fb476/minio-7.2.7-py3-none-any.whl (93 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 93.5/93.5 kB 17.7 MB/s eta 0:00:00
Collecting kubernetes (from pydflow>=1.7.83->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/6f/34/164e57fec8a9693d7e6ae2d1a345482020ea9e9b32eab95a90bb3eaea83d/kubernetes-29.0.0-py2.py3-none-any.whl (1.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 12.3 MB/s eta 0:00:00a 0:00:01
Requirement already satisfied: pyyaml in /opt/conda/lib/python3.8/site-packages (from pydflow>=1.7.83->apex-flow==1.2.0) (6.0.1)
Collecting cloudpickle==2.2.0 (from pydflow>=1.7.83->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/cf/26/cd6c4177273ee35f7a31245893489c68bc340988f12ca315b392f1f18a93/cloudpickle-2.2.0-py3-none-any.whl (25 kB)
Requirement already satisfied: requests in /opt/conda/lib/python3.8/site-packages (from pydflow>=1.7.83->apex-flow==1.2.0) (2.31.0)
Requirement already satisfied: tqdm in /opt/conda/lib/python3.8/site-packages (from pydflow>=1.7.83->apex-flow==1.2.0) (4.65.0)
Requirement already satisfied: psutil in /opt/conda/lib/python3.8/site-packages (from pydflow>=1.7.83->apex-flow==1.2.0) (5.9.5)
Requirement already satisfied: matplotlib>=1.5 in /opt/conda/lib/python3.8/site-packages (from pymatgen>=2023.8.10->apex-flow==1.2.0) (3.7.3)
Collecting mp-api>=0.27.3 (from pymatgen>=2023.8.10->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/1a/51/934a2a9fed5df59087854aa4a57820abeaa9b738f4305ff652fec2d25563/mp_api-0.35.1-py3-none-any.whl (97 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.3/97.3 kB 6.4 MB/s eta 0:00:00
Collecting networkx>=2.2 (from pymatgen>=2023.8.10->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a8/05/9d4f9b78ead6b2661d6e8ea772e111fc4a9fbd866ad0c81906c11206b55e/networkx-3.1-py3-none-any.whl (2.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 12.3 MB/s eta 0:00:00a 0:00:01
Collecting palettable>=3.1.1 (from pymatgen>=2023.8.10->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/cf/f7/3367feadd4ab56783b0971c9b7edfbdd68e0c70ce877949a5dd2117ed4a0/palettable-3.3.3-py2.py3-none-any.whl (332 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 332.3/332.3 kB 14.8 MB/s eta 0:00:00
Requirement already satisfied: pandas in /opt/conda/lib/python3.8/site-packages (from pymatgen>=2023.8.10->apex-flow==1.2.0) (2.0.3)
Collecting pybtex (from pymatgen>=2023.8.10->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/ad/5f/40d8e90f985a05133a8895fc454c6127ecec3de8b095dd35bba91382f803/pybtex-0.24.0-py2.py3-none-any.whl (561 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 561.4/561.4 kB 8.1 MB/s eta 0:00:00a 0:00:01
Collecting pydantic<2.0.0 (from pymatgen>=2023.8.10->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e7/7a/781fcd721a4c7d5a8dcb4d1ef585503cb00ad8cd7dbe8a1adc5de60c5d71/pydantic-1.10.15-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 18.0 MB/s eta 0:00:0000:0100:01
Requirement already satisfied: ruamel.yaml>=0.17.0 in /opt/conda/lib/python3.8/site-packages (from pymatgen>=2023.8.10->apex-flow==1.2.0) (0.17.21)
Collecting spglib>=2.0.2 (from pymatgen>=2023.8.10->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/83/4a/28991addc61cb8b00a6a20a4e30abf8767bf3e265a5fff39d22a15dbb91a/spglib-2.4.0-cp38-cp38-manylinux_2_17_x86_64.whl (809 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 809.2/809.2 kB 22.2 MB/s eta 0:00:0000:01
Collecting sympy (from pymatgen>=2023.8.10->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/d2/05/e6600db80270777c4a64238a98d442f0fd07cc8915be2a1c16da7f2b9e74/sympy-1.12-py3-none-any.whl (5.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.7/5.7 MB 21.7 MB/s eta 0:00:0000:0100:01
Collecting tabulate (from pymatgen>=2023.8.10->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/40/44/4a5f08c96eb108af5cb50b41f76142f0afa346dfa99d5296fe7202a11854/tabulate-0.9.0-py3-none-any.whl (35 kB)
Collecting uncertainties>=3.1.4 (from pymatgen>=2023.8.10->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/13/f7/9d94eeea3f6475456fb5c6b72d3a3cc652c1ecd342c5491274cbfc9ebaab/uncertainties-3.1.7-py2.py3-none-any.whl (98 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.4/98.4 kB 4.4 MB/s eta 0:00:00
Collecting joblib (from pymatgen>=2023.8.10->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/91/29/df4b9b42f2be0b623cbd5e2140cafcaa2bef0759a00b7b70104dcfe2fb51/joblib-1.4.2-py3-none-any.whl (301 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 301.8/301.8 kB 9.3 MB/s eta 0:00:00
Requirement already satisfied: tenacity>=6.2.0 in /opt/conda/lib/python3.8/site-packages (from plotly->apex-flow==1.2.0) (8.2.3)
Requirement already satisfied: packaging in /opt/conda/lib/python3.8/site-packages (from plotly->apex-flow==1.2.0) (23.0)
Collecting scikit-image>=0.19.3 (from pymatgen-analysis-defects>=2023.8.22->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/33/29/1d696450464d6e13358d3ef185a1fb14a11181c5dab1eb2837c02be86373/scikit_image-0.21.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.9/13.9 MB 20.3 MB/s eta 0:00:0000:0100:01
Collecting botocore<1.35.0,>=1.34.102 (from boto3->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/98/30/8074c9f41ee32663fe8669846526b6b900ae918abab7dab0443871e24421/botocore-1.34.102-py3-none-any.whl (12.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.2/12.2 MB 13.3 MB/s eta 0:00:0000:0100:01
Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in /opt/conda/lib/python3.8/site-packages (from boto3->apex-flow==1.2.0) (0.10.0)
Collecting s3transfer<0.11.0,>=0.10.0 (from boto3->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/83/37/395cdb6ee92925fa211e55d8f07b9f93cf93f60d7d4ce5e66fd73f1ea986/s3transfer-0.10.1-py3-none-any.whl (82 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 82.2/82.2 kB 3.9 MB/s eta 0:00:00
Collecting Flask<3.1,>=1.0.4 (from dash->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/61/80/ffe1da13ad9300f87c93af113edd0638c75138c42a0994becfacac078c06/flask-3.0.3-py3-none-any.whl (101 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 101.7/101.7 kB 1.9 MB/s eta 0:00:00a 0:00:01
Collecting Werkzeug<3.1 (from dash->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/9d/6e/e792999e816d19d7fcbfa94c730936750036d65656a76a5a688b57a656c4/werkzeug-3.0.3-py3-none-any.whl (227 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 227.3/227.3 kB 2.6 MB/s eta 0:00:00a 0:00:01
Collecting dash-html-components==2.0.0 (from dash->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/75/65/1b16b853844ef59b2742a7de74a598f376ac0ab581f0dcc34db294e5c90e/dash_html_components-2.0.0-py3-none-any.whl (4.1 kB)
Collecting dash-core-components==2.0.0 (from dash->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/00/9e/a29f726e84e531a36d56cff187e61d8c96d2cc253c5bcef9a7695acb7e6a/dash_core_components-2.0.0-py3-none-any.whl (3.8 kB)
Collecting dash-table==5.0.0 (from dash->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/da/ce/43f77dc8e7bbad02a9f88d07bf794eaf68359df756a28bb9f2f78e255bb1/dash_table-5.0.0-py3-none-any.whl (3.9 kB)
Requirement already satisfied: importlib-metadata in /opt/conda/lib/python3.8/site-packages (from dash->apex-flow==1.2.0) (6.8.0)
Requirement already satisfied: typing-extensions>=4.1.1 in /opt/conda/lib/python3.8/site-packages (from dash->apex-flow==1.2.0) (4.8.0)
Collecting retrying (from dash->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/8f/04/9e36f28be4c0532c0e9207ff9dc01fb13a2b0eb036476a213b0000837d0e/retrying-1.3.4-py3-none-any.whl (11 kB)
Requirement already satisfied: nest-asyncio in /opt/conda/lib/python3.8/site-packages (from dash->apex-flow==1.2.0) (1.5.6)
Requirement already satisfied: setuptools in /opt/conda/lib/python3.8/site-packages (from dash->apex-flow==1.2.0) (67.8.0)
Requirement already satisfied: paramiko in /opt/conda/lib/python3.8/site-packages (from dpdispatcher->apex-flow==1.2.0) (3.3.1)
Collecting dnspython<3.0.0,>=1.16.0 (from pymongo->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/87/a1/8c5287991ddb8d3e4662f71356d9656d91ab3a36618c3dd11b280df0d255/dnspython-2.6.1-py3-none-any.whl (307 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 307.7/307.7 kB 3.0 MB/s eta 0:00:00a 0:00:01
Requirement already satisfied: Jinja2>=3.1.2 in /opt/conda/lib/python3.8/site-packages (from Flask<3.1,>=1.0.4->dash->apex-flow==1.2.0) (3.1.2)
Collecting itsdangerous>=2.1.2 (from Flask<3.1,>=1.0.4->dash->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl (16 kB)
Requirement already satisfied: click>=8.1.3 in /opt/conda/lib/python3.8/site-packages (from Flask<3.1,>=1.0.4->dash->apex-flow==1.2.0) (8.1.7)
Collecting blinker>=1.6.2 (from Flask<3.1,>=1.0.4->dash->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/bb/2a/10164ed1f31196a2f7f3799368a821765c62851ead0e630ab52b8e14b4d0/blinker-1.8.2-py3-none-any.whl (9.5 kB)
Requirement already satisfied: zipp>=0.5 in /opt/conda/lib/python3.8/site-packages (from importlib-metadata->dash->apex-flow==1.2.0) (3.17.0)
Requirement already satisfied: contourpy>=1.0.1 in /opt/conda/lib/python3.8/site-packages (from matplotlib>=1.5->pymatgen>=2023.8.10->apex-flow==1.2.0) (1.1.1)
Requirement already satisfied: cycler>=0.10 in /opt/conda/lib/python3.8/site-packages (from matplotlib>=1.5->pymatgen>=2023.8.10->apex-flow==1.2.0) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in /opt/conda/lib/python3.8/site-packages (from matplotlib>=1.5->pymatgen>=2023.8.10->apex-flow==1.2.0) (4.42.1)
Requirement already satisfied: kiwisolver>=1.0.1 in /opt/conda/lib/python3.8/site-packages (from matplotlib>=1.5->pymatgen>=2023.8.10->apex-flow==1.2.0) (1.4.5)
Requirement already satisfied: pillow>=6.2.0 in /opt/conda/lib/python3.8/site-packages (from matplotlib>=1.5->pymatgen>=2023.8.10->apex-flow==1.2.0) (10.0.1)
Requirement already satisfied: pyparsing>=2.3.1 in /opt/conda/lib/python3.8/site-packages (from matplotlib>=1.5->pymatgen>=2023.8.10->apex-flow==1.2.0) (3.1.1)
Requirement already satisfied: importlib-resources>=3.2.0 in /opt/conda/lib/python3.8/site-packages (from matplotlib>=1.5->pymatgen>=2023.8.10->apex-flow==1.2.0) (6.1.0)
Collecting msgpack (from mp-api>=0.27.3->pymatgen>=2023.8.10->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/d6/9b/108d7447e612fcdb3a7ed957e59b912a8d2fc4cab7198cad976b30be94a9/msgpack-1.0.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (390 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 390.5/390.5 kB 4.3 MB/s eta 0:00:00a 0:00:01
Collecting emmet-core>=0.54.0 (from mp-api>=0.27.3->pymatgen>=2023.8.10->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/66/cd/7ab19c5aefaae2ad0827ded1883e3877a6bf3a4400ac699e8d5cae0c2843/emmet_core-0.68.0-py3-none-any.whl (170 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 170.7/170.7 kB 5.3 MB/s eta 0:00:00
Requirement already satisfied: charset-normalizer<4,>=2 in /opt/conda/lib/python3.8/site-packages (from requests->pydflow>=1.7.83->apex-flow==1.2.0) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in /opt/conda/lib/python3.8/site-packages (from requests->pydflow>=1.7.83->apex-flow==1.2.0) (3.4)
Requirement already satisfied: ruamel.yaml.clib>=0.2.6 in /opt/conda/lib/python3.8/site-packages (from ruamel.yaml>=0.17.0->pymatgen>=2023.8.10->apex-flow==1.2.0) (0.2.6)
Collecting imageio>=2.27 (from scikit-image>=0.19.3->pymatgen-analysis-defects>=2023.8.22->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a3/b6/39c7dad203d9984225f47e0aa39ac3ba3a47c77a02d0ef2a7be691855a06/imageio-2.34.1-py3-none-any.whl (313 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 313.5/313.5 kB 1.1 MB/s eta 0:00:0000:0100:01
Collecting tifffile>=2022.8.12 (from scikit-image>=0.19.3->pymatgen-analysis-defects>=2023.8.22->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/06/a3/68d17088a4f09565bc7341fd20490da8191ec4cddde479daaabbe07bb603/tifffile-2023.7.10-py3-none-any.whl (220 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 220.9/220.9 kB 7.7 MB/s eta 0:00:00
Collecting PyWavelets>=1.1.1 (from scikit-image>=0.19.3->pymatgen-analysis-defects>=2023.8.22->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/88/4b/b2b2a6f51e47c091c221bfde976a01a7e5f20e7e5e6341b2b9c4db73d2ed/PyWavelets-1.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.9/6.9 MB 8.7 MB/s eta 0:00:0000:0100:01
Collecting lazy_loader>=0.2 (from scikit-image>=0.19.3->pymatgen-analysis-defects>=2023.8.22->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/83/60/d497a310bde3f01cb805196ac61b7ad6dc5dcf8dce66634dc34364b20b4f/lazy_loader-0.4-py3-none-any.whl (12 kB)
Collecting future (from uncertainties>=3.1.4->pymatgen>=2023.8.10->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/da/71/ae30dadffc90b9006d77af76b393cb9dfbfc9629f339fc1574a1c52e6806/future-1.0.0-py3-none-any.whl (491 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 491.3/491.3 kB 8.8 MB/s eta 0:00:00a 0:00:01
Requirement already satisfied: MarkupSafe>=2.1.1 in /opt/conda/lib/python3.8/site-packages (from Werkzeug<3.1->dash->apex-flow==1.2.0) (2.1.1)
Collecting google-auth>=1.0.1 (from kubernetes->pydflow>=1.7.83->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/9e/8d/ddbcf81ec751d8ee5fd18ac11ff38a0e110f39dfbf105e6d9db69d556dd0/google_auth-2.29.0-py2.py3-none-any.whl (189 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 189.2/189.2 kB 9.1 MB/s eta 0:00:00
Requirement already satisfied: websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0 in /opt/conda/lib/python3.8/site-packages (from kubernetes->pydflow>=1.7.83->apex-flow==1.2.0) (1.6.3)
Collecting requests-oauthlib (from kubernetes->pydflow>=1.7.83->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/3b/5d/63d4ae3b9daea098d5d6f5da83984853c1bbacd5dc826764b249fe119d24/requests_oauthlib-2.0.0-py2.py3-none-any.whl (24 kB)
Collecting oauthlib>=3.2.2 (from kubernetes->pydflow>=1.7.83->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/7e/80/cab10959dc1faead58dc8384a781dfbf93cb4d33d50988f7a69f1b7c9bbe/oauthlib-3.2.2-py3-none-any.whl (151 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 151.7/151.7 kB 7.3 MB/s eta 0:00:00
Requirement already satisfied: oss2 in /opt/conda/lib/python3.8/site-packages (from lbg->fpop>=0.0.7->apex-flow==1.2.0) (2.18.2)
Requirement already satisfied: requests-toolbelt in /opt/conda/lib/python3.8/site-packages (from lbg->fpop>=0.0.7->apex-flow==1.2.0) (1.0.0)
Requirement already satisfied: aliyun-python-sdk-core in /opt/conda/lib/python3.8/site-packages (from lbg->fpop>=0.0.7->apex-flow==1.2.0) (2.14.0)
Requirement already satisfied: aliyun-python-sdk-kms in /opt/conda/lib/python3.8/site-packages (from lbg->fpop>=0.0.7->apex-flow==1.2.0) (2.16.2)
Requirement already satisfied: aliyun-python-sdk-sts in /opt/conda/lib/python3.8/site-packages (from lbg->fpop>=0.0.7->apex-flow==1.2.0) (3.1.1)
Requirement already satisfied: pytimeparse in /opt/conda/lib/python3.8/site-packages (from lbg->fpop>=0.0.7->apex-flow==1.2.0) (1.1.8)
Requirement already satisfied: colorama in /opt/conda/lib/python3.8/site-packages (from lbg->fpop>=0.0.7->apex-flow==1.2.0) (0.4.6)
Requirement already satisfied: readchar in /opt/conda/lib/python3.8/site-packages (from lbg->fpop>=0.0.7->apex-flow==1.2.0) (4.0.5)
Requirement already satisfied: pyreadline in /opt/conda/lib/python3.8/site-packages (from lbg->fpop>=0.0.7->apex-flow==1.2.0) (2.1)
Requirement already satisfied: pyreadline3 in /opt/conda/lib/python3.8/site-packages (from lbg->fpop>=0.0.7->apex-flow==1.2.0) (3.4.1)
Requirement already satisfied: validators in /opt/conda/lib/python3.8/site-packages (from lbg->fpop>=0.0.7->apex-flow==1.2.0) (0.22.0)
Requirement already satisfied: pyhumps in /opt/conda/lib/python3.8/site-packages (from lbg->fpop>=0.0.7->apex-flow==1.2.0) (3.8.0)
Requirement already satisfied: argcomplete in /opt/conda/lib/python3.8/site-packages (from lbg->fpop>=0.0.7->apex-flow==1.2.0) (3.1.2)
Requirement already satisfied: argon2-cffi in /opt/conda/lib/python3.8/site-packages (from minio->pydflow>=1.7.83->apex-flow==1.2.0) (23.1.0)
Requirement already satisfied: pycryptodome in /opt/conda/lib/python3.8/site-packages (from minio->pydflow>=1.7.83->apex-flow==1.2.0) (3.19.0)
Requirement already satisfied: pytz>=2020.1 in /opt/conda/lib/python3.8/site-packages (from pandas->pymatgen>=2023.8.10->apex-flow==1.2.0) (2023.3.post1)
Requirement already satisfied: tzdata>=2022.1 in /opt/conda/lib/python3.8/site-packages (from pandas->pymatgen>=2023.8.10->apex-flow==1.2.0) (2023.3)
Requirement already satisfied: bcrypt>=3.2 in /opt/conda/lib/python3.8/site-packages (from paramiko->dpdispatcher->apex-flow==1.2.0) (4.0.1)
Requirement already satisfied: cryptography>=3.3 in /opt/conda/lib/python3.8/site-packages (from paramiko->dpdispatcher->apex-flow==1.2.0) (39.0.1)
Requirement already satisfied: pynacl>=1.5 in /opt/conda/lib/python3.8/site-packages (from paramiko->dpdispatcher->apex-flow==1.2.0) (1.5.0)
Collecting latexcodec>=1.0.4 (from pybtex->pymatgen>=2023.8.10->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/b0/bf/ea8887e9f31a8f93ca306699d11909c6140151393a4216f0d9f85a004077/latexcodec-3.0.0-py3-none-any.whl (18 kB)
Collecting mpmath>=0.19 (from sympy->pymatgen>=2023.8.10->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl (536 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 10.6 MB/s eta 0:00:00a 0:00:01
Collecting bracex>=2.1.1 (from wcmatch->dpdata>=0.2.13->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/2b/f5/8f99837b32e2badc189382774dbe6227fa01e1e928a7eff857fdc89d8a75/bracex-2.4-py3-none-any.whl (11 kB)
Requirement already satisfied: cffi>=1.12 in /opt/conda/lib/python3.8/site-packages (from cryptography>=3.3->paramiko->dpdispatcher->apex-flow==1.2.0) (1.15.1)
Collecting cachetools<6.0,>=2.0.0 (from google-auth>=1.0.1->kubernetes->pydflow>=1.7.83->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/fb/2b/a64c2d25a37aeb921fddb929111413049fc5f8b9a4c1aefaffaafe768d54/cachetools-5.3.3-py3-none-any.whl (9.3 kB)
Collecting pyasn1-modules>=0.2.1 (from google-auth>=1.0.1->kubernetes->pydflow>=1.7.83->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/13/68/8906226b15ef38e71dc926c321d2fe99de8048e9098b5dfd38343011c886/pyasn1_modules-0.4.0-py3-none-any.whl (181 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 181.2/181.2 kB 13.6 MB/s eta 0:00:00
Collecting rsa<5,>=3.1.4 (from google-auth>=1.0.1->kubernetes->pydflow>=1.7.83->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/49/97/fa78e3d2f65c02c8e1268b9aba606569fe97f6c8f7c2d74394553347c145/rsa-4.9-py3-none-any.whl (34 kB)
Requirement already satisfied: argon2-cffi-bindings in /opt/conda/lib/python3.8/site-packages (from argon2-cffi->minio->pydflow>=1.7.83->apex-flow==1.2.0) (21.2.0)
Requirement already satisfied: crcmod>=1.7 in /opt/conda/lib/python3.8/site-packages (from oss2->lbg->fpop>=0.0.7->apex-flow==1.2.0) (1.7)
Requirement already satisfied: pycparser in /opt/conda/lib/python3.8/site-packages (from cffi>=1.12->cryptography>=3.3->paramiko->dpdispatcher->apex-flow==1.2.0) (2.21)
Collecting pyasn1<0.7.0,>=0.4.6 (from pyasn1-modules>=0.2.1->google-auth>=1.0.1->kubernetes->pydflow>=1.7.83->apex-flow==1.2.0)
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/23/7e/5f50d07d5e70a2addbccd90ac2950f81d1edd0783630651d9268d7f1db49/pyasn1-0.6.0-py2.py3-none-any.whl (85 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 85.3/85.3 kB 4.8 MB/s eta 0:00:00
Building wheels for collected packages: apex-flow, phonopy
  Building wheel for apex-flow (setup.py) ... done
  Created wheel for apex-flow: filename=apex_flow-1.2.0-py3-none-any.whl size=168433 sha256=a1da5569e2264f97a77ca15bd6c305a04be69161dcb5c5eb275f10b057438531
  Stored in directory: /tmp/pip-ephem-wheel-cache-t61_caho/wheels/3e/9f/8a/9a6c39c5c65351476a9903c22b1955b02f85f2580fb6836ba8
  Building wheel for phonopy (pyproject.toml) ... done
  Created wheel for phonopy: filename=phonopy-2.23.1-cp38-cp38-linux_x86_64.whl size=531952 sha256=75d4f89fa8eb4e0603fb7b0810196f8a326e03933548d1638259b84d8ea6a9d6
  Stored in directory: /root/.cache/pip/wheels/e4/4e/0b/5b594d700fa998171000f493425c2fc2c0196fe1dbd18b6f4e
Successfully built apex-flow phonopy
Installing collected packages: mpmath, dash-table, dash-html-components, dash-core-components, argo-workflows, Werkzeug, tifffile, tabulate, sympy, scipy, retrying, PyWavelets, pydantic, pyasn1, plotly, palettable, oauthlib, networkx, msgpack, monty, lazy_loader, latexcodec, jsonpickle, joblib, itsdangerous, imageio, h5py, future, dnspython, cloudpickle, cachetools, bracex, blinker, wcmatch, uncertainties, spglib, scikit-image, rsa, requests-oauthlib, pymongo, pybtex, pyasn1-modules, Flask, botocore, seekpath, s3transfer, phonopy, google-auth, dpdata, dash, minio, kubernetes, dash_bootstrap_components, boto3, pydflow, fpop, emmet-core, mp-api, pymatgen, pymatgen-analysis-defects, apex-flow
Successfully installed Flask-3.0.3 PyWavelets-1.4.1 Werkzeug-3.0.3 apex-flow-1.2.0 argo-workflows-5.0.0 blinker-1.8.2 boto3-1.34.102 botocore-1.34.102 bracex-2.4 cachetools-5.3.3 cloudpickle-2.2.0 dash-2.17.0 dash-core-components-2.0.0 dash-html-components-2.0.0 dash-table-5.0.0 dash_bootstrap_components-1.6.0 dnspython-2.6.1 dpdata-0.2.18 emmet-core-0.68.0 fpop-0.0.7 future-1.0.0 google-auth-2.29.0 h5py-3.11.0 imageio-2.34.1 itsdangerous-2.2.0 joblib-1.4.2 jsonpickle-3.0.4 kubernetes-29.0.0 latexcodec-3.0.0 lazy_loader-0.4 minio-7.2.7 monty-2023.9.25 mp-api-0.35.1 mpmath-1.3.0 msgpack-1.0.8 networkx-3.1 oauthlib-3.2.2 palettable-3.3.3 phonopy-2.23.1 plotly-5.22.0 pyasn1-0.6.0 pyasn1-modules-0.4.0 pybtex-0.24.0 pydantic-1.10.15 pydflow-1.8.64 pymatgen-2023.8.10 pymatgen-analysis-defects-2023.10.19 pymongo-4.7.2 requests-oauthlib-2.0.0 retrying-1.3.4 rsa-4.9 s3transfer-0.10.1 scikit-image-0.21.0 scipy-1.10.1 seekpath-2.1.0 spglib-2.4.0 sympy-1.12 tabulate-0.9.0 tifffile-2023.7.10 uncertainties-3.1.7 wcmatch-8.5.1
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Note: you may need to restart the kernel to use updated packages.
代码
文本

Check whether APEX is properly installed by version check:

代码
文本
[5]
!apex --version
APEX v1.2.0
代码
文本

LAMMPS Case Demonstration

1. Prepare work directory

Here we will use a DP potential [1] of titanium to do MD calculation for elastic properties and equation of state curve (EOS) of Ti for HCP, FCC and BCC phase respectively with one joint APEX workflow.

Firstly, change to the prepared example work directory:

代码
文本
[6]
!cp -r /bohr/apex-demo-kaay/v3/DP_Ti_case . # copy example work directory (DP_Ti_case)
代码
文本
[7]
cd ./DP_Ti_case
/DP_Ti_case
代码
文本

Use tree to see current file structure:

代码
文本
[8]
!sudo apt install tree # install tree command
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  tree
0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded.
Need to get 47.9 kB of archives.
After this operation, 116 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 tree amd64 2.0.2-1 [47.9 kB]
Fetched 47.9 kB in 1s (40.7 kB/s)[0m
debconf: delaying package configuration, since apt-utils is not installed

78Selecting previously unselected package tree.
(Reading database ... 26195 files and directories currently installed.)
Preparing to unpack .../tree_2.0.2-1_amd64.deb ...
7Progress: [  0%] [..........................................................] 87Progress: [ 20%] [###########...............................................] 8Unpacking tree (2.0.2-1) ...
7Progress: [ 40%] [#######################...................................] 8Setting up tree (2.0.2-1) ...
7Progress: [ 60%] [##################################........................] 87Progress: [ 80%] [##############################################............] 8
78
代码
文本
[9]
!tree
.
├── Ti_frozen_model.pb
├── confs
│   ├── std-bcc
│   │   └── POSCAR
│   ├── std-fcc
│   │   └── POSCAR
│   └── std-hcp
│       └── POSCAR
├── global_bohrium.json
└── param_joint.json

4 directories, 6 files
代码
文本

As seen from tree output above, four elements are prepared under current work directory:

  • confs: contains sub-pathes for initial POSCAR for HCP, FCC and BCC Ti seperately.
  • Ti_frozen_model.pb: DP potential file of Ti [1] for MD simulation
  • global_bohrium.json: JSON parameter file for global configuration settings including image name, machine info, computing resources and run command et al. (Note: a temporary Bohrium account has been configured only for demonstration. One can also substitute to use their own account and project of Bohrium platform)
  • param_joint.json: JSON parameter file for specific calculation settings of the joint workflow

we can cat to see them one by one (detailed parameter introduction can be found at GitHub repository):

代码
文本
[12]
!cat global_bohrium.json # browse global_bohrium.json
{
    "dflow_host": "https://workflows.deepmodeling.com",
    "k8s_api_server": "https://workflows.deepmodeling.com",
    "email": "a931126924@outlook.com",
    "password": "1tmpaccountpasswd!",
    "program_id": 26924,
    "apex_image_name":"registry.dp.tech/dptech/prod-11045/apex-dependency:1.2.0",
    "lammps_image_name": "registry.dp.tech/dptech/prod-11045/deepmdkit-phonolammps:2.1.1",
    "group_size": 3,
    "pool_size": 1,
    "run_command":"lmp -in in.lammps",
    "batch_type": "Bohrium",
    "context_type": "Bohrium",
    "scass_type":"c16_m62_1 * NVIDIA T4"
}
代码
文本

Before Submission: Please input your Bohrium account information and valid program_id with enough remaining balance by running following python code:

代码
文本
[16]
import os
import json
import getpass
from monty.serialization import loadfn, dumpfn

j = loadfn('global_bohrium.json')

j['email'] = getpass.getpass("Email: ")
j['phone'] = getpass.getpass("Phone: ")
j['password'] = getpass.getpass("Password: ")
j['program_id'] = int(os.environ.get("BOHRIUM_PROJECT_ID"))

j['scass_type'] = "1 * NVIDIA P100_16g"

with open('global_bohrium.json', 'w') as f: json.dump(j, f, indent=4)
Email:
Phone:
Password:
代码
文本
[14]
!cat param_joint.json # browse param_joint.json
{
    "structures":            ["confs/std-*"],
    "interaction": {
            "type":           "deepmd",
            "model":          "Ti_frozen_model.pb",
            "type_map":       {"Ti": 0}
	},
    "relaxation": {
            "cal_setting":   {"etol":       0,
                              "ftol":     1e-10,
                              "maxiter":   5000,
                              "maximal":  500000}
},
    "properties": [
        {
         "type":         "eos",
         "skip":         false,
         "vol_start":    0.6,
         "vol_end":      1.4,
         "vol_step":     0.05,
	 "cal_setting":  {"etol": 0,
                         "ftol": 1e-10}
        },
        {
         "type":         "elastic",
	 "skip":         false,
         "norm_deform":  1e-2,
         "shear_deform": 1e-2,
	 "cal_setting":  {"etol": 0,
                         "ftol": 1e-10}
        }
        ]
}
代码
文本

2. Submit workflow

Since eos and elastic has been turned on, we can directly submit a joint workflow by passing two parameter files to apex submit command:

Note:

  • Once the workflow is submitted, one can monitor it on the Argo UI via the workflow link.
  • DO NOT directly click the workflow link as it may override current page. Please open it in a new page (You may required to input account email and password again to access the Argo workflow)
  • Once a sub-workflow finished, its results will be retrieved automatically to local.
  • Wait for all seven sub-workflows to complete (totally takes about 5 - 10 minutes)
代码
文本
[17]
!apex submit param_joint.json -c global_bohrium.json # run the command to submit the workflow
---------------------------------------------------------------
░░░░░░█▐▓▓░████▄▄▄█▀▄▓▓▓▌█░░░░░░░░░░█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█░░░░░
░░░░░▄█▌▀▄▓▓▄▄▄▄▀▀▀▄▓▓▓▓▓▌█░░░░░░░░░█░░░░░░░░▓░░▓░░░░░░░░█░░░░░
░░░▄█▀▀▄▓█▓▓▓▓▓▓▓▓▓▓▓▓▀░▓▌█░░░░░░░░░█░░░▓░░░░░░░░░▄▄░▓░░░█░▄▄░░
░░█▀▄▓▓▓███▓▓▓███▓▓▓▄░░▄▓▐██░░░▄▀▀▄▄█░░░░░░░▓░░░░█░░▀▄▄▄▄▄▀░░█░
░█▌▓▓▓▀▀▓▓▓▓███▓▓▓▓▓▓▓▄▀▓▓▐█░░░█░░░░█░░░░░░░░░░░░█░░░░░░░░░░░█░
▐█▐██▐░▄▓▓▓▓▓▀▄░▀▓▓▓▓▓▓▓▓▓▌█░░░░▀▀▄▄█░░░░░▓░░░▓░█░░░█▒░░░░█▒░░█
█▌███▓▓▓▓▓▓▓▓▐░░▄▓▓███▓▓▓▄▀▐█░░░░░░░█░░▓░░░░▓░░░█░░░░░░░▀░░░░░█
█▐█▓▀░░▀▓▓▓▓▓▓▓▓▓██████▓▓▓▓▐█░░░░░▄▄█░░░░▓░░░░░░░█░░█▄▄█▄▄█░░█░
▌▓▄▌▀░▀░▐▀█▄▓▓██████████▓▓▓▌██░░░█░░░█▄▄▄▄▄▄▄▄▄▄█░█▄▄▄▄▄▄▄▄▄█░░
▌▓▓▓▄▄▀▀▓▓▓▀▓▓▓▓▓▓▓▓█▓█▓█▓▓▌██░░░█▄▄█░░█▄▄█░░░░░░█▄▄█░░█▄▄█░░░░
█▐▓▓▓▓▓▓▄▄▄▓▓▓▓▓▓█▓█▓█▓█▓▓▓▐█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
---------------------------------------------------------------
        AAAAA         PPPPPPPPP     EEEEEEEEEE  XXX       XXX
       AAA AAA        PPP     PPP   EEE           XXX   XXX
      AAA   AAA       PPP     PPP   EEE            XXX XXX
     AAAAAAAAAAA      PPPPPPPPP     EEEEEEEEE       XXXXX
    AAA       AAA     PPP           EEE            XXX XXX
   AAA         AAA    PPP           EEE           XXX   XXX
  AAA           AAA   PPP           EEEEEEEEEE  XXX       XXX
---------------------------------------------------------------
==>> Alloy Property EXplorer using simulations (v1.2.0)
Please cite DOI: 10.48550/arXiv.2404.17330
Li et al, An extendable cloud-native alloy property explorer (2024).
See https://github.com/deepmodeling/APEX for more information.
---------------------------------------------------------------
Checking input files...
-------Submit Workflow Mode-------
Running APEX calculation via lammps
Submitting joint workflow...
INFO:root:Working on: /DP_Ti_case
Workflow has been submitted (ID: dp-ti-case-joint-2g2df, UID: 382d6e21-fe0e-4583-a78f-6a94bc04516b)
Workflow link: https://workflows.deepmodeling.com/workflows/argo/dp-ti-case-joint-2g2df
Waiting for relaxation result...
Relaxation finished (ID: dp-ti-case-joint-2g2df, UID: 382d6e21-fe0e-4583-a78f-6a94bc04516b)
Retrieving completed tasks to local...
100%|█████████████████████████████████████████████| 1/1 [00:00<00:00,  6.63it/s]
Waiting for sub-property results (6 left)...
Sub-workflow propertycal-confs-std-fcc-eos-00 finished (ID: dp-ti-case-joint-2g2df, UID: 382d6e21-fe0e-4583-a78f-6a94bc04516b)
Retrieving completed tasks to local...
100%|█████████████████████████████████████████████| 1/1 [00:00<00:00,  7.88it/s]
Waiting for sub-property results (5 left)...
Sub-workflow propertycal-confs-std-bcc-eos-00 finished (ID: dp-ti-case-joint-2g2df, UID: 382d6e21-fe0e-4583-a78f-6a94bc04516b)
Retrieving completed tasks to local...
100%|█████████████████████████████████████████████| 1/1 [00:00<00:00,  7.46it/s]
Waiting for sub-property results (4 left)...
Sub-workflow propertycal-confs-std-hcp-eos-00 finished (ID: dp-ti-case-joint-2g2df, UID: 382d6e21-fe0e-4583-a78f-6a94bc04516b)
Retrieving completed tasks to local...
100%|█████████████████████████████████████████████| 1/1 [00:00<00:00,  8.20it/s]
Waiting for sub-property results (3 left)...
Sub-workflow propertycal-confs-std-bcc-elastic-00 finished (ID: dp-ti-case-joint-2g2df, UID: 382d6e21-fe0e-4583-a78f-6a94bc04516b)
Retrieving completed tasks to local...
100%|█████████████████████████████████████████████| 1/1 [00:00<00:00,  8.52it/s]
Waiting for sub-property results (2 left)...
Sub-workflow propertycal-confs-std-fcc-elastic-00 finished (ID: dp-ti-case-joint-2g2df, UID: 382d6e21-fe0e-4583-a78f-6a94bc04516b)
Retrieving completed tasks to local...
100%|█████████████████████████████████████████████| 1/1 [00:00<00:00,  8.48it/s]
Waiting for sub-property results (1 left)...
Sub-workflow propertycal-confs-std-hcp-elastic-00 finished (ID: dp-ti-case-joint-2g2df, UID: 382d6e21-fe0e-4583-a78f-6a94bc04516b)
Retrieving completed tasks to local...
100%|█████████████████████████████████████████████| 1/1 [00:00<00:00,  8.35it/s]
Workflow finished with 0 sub-property failed (ID: dp-ti-case-joint-2g2df, UID: 382d6e21-fe0e-4583-a78f-6a94bc04516b)
Archiving results of workflow (ID: dp-ti-case-joint-2g2df) into local...
=> Begin archiving /DP_Ti_case
INFO:root:extract results from /DP_Ti_case/confs/std-bcc/relaxation/relax_task
INFO:root:extract results from /DP_Ti_case/confs/std-fcc/relaxation/relax_task
INFO:root:extract results from /DP_Ti_case/confs/std-hcp/relaxation/relax_task
INFO:root:extract results from /DP_Ti_case/confs/std-bcc/eos_00
INFO:root:extract results from /DP_Ti_case/confs/std-bcc/elastic_00
INFO:root:extract results from /DP_Ti_case/confs/std-fcc/eos_00
INFO:root:extract results from /DP_Ti_case/confs/std-fcc/elastic_00
INFO:root:extract results from /DP_Ti_case/confs/std-hcp/eos_00
INFO:root:extract results from /DP_Ti_case/confs/std-hcp/elastic_00
Completed!
代码
文本

3. Check results

Once all workflows finished, all results will be archived to all_result.json under current directory by default.

we can tree again to see if all finished tasks are back to local directory:

代码
文本
[ ]
!tree -L 4
代码
文本

One can download all_result.json to local computer with interactive UI interface to call APEX visualization report function by apex report -w all_result.json.

Here we will just use some simple scripts to check the results:

代码
文本
[18]
elastic_hcp = 'confs/std-hcp/elastic_00/result.out'
elastic_bcc = 'confs/std-bcc/elastic_00/result.out'
elastic_fcc = 'confs/std-fcc/elastic_00/result.out'
with open(elastic_hcp, 'r') as f1: print(f1.read())
with open(elastic_bcc, 'r') as f1: print(f1.read())
with open(elastic_fcc, 'r') as f1: print(f1.read())
/tmp/inputs/artifacts/input_all/tmp/tmp0ekleboh/confs/std-hcp/elastic_00
 159.22   84.94   78.86   -0.00    0.00   -0.00 
  86.24  156.08   76.71    0.00    0.00   -0.00 
  79.81   79.81  188.18    0.00    0.00    0.00 
   0.00    0.00    0.00   39.14    0.00   -0.00 
   0.00    0.00    0.00   -0.00   39.20   -0.00 
   0.00    0.00    0.00    0.00    0.00   34.38 
# Bulk   Modulus BV = 109.98 GPa
# Shear  Modulus GV = 40.07 GPa
# Youngs Modulus EV = 107.20 GPa
# Poission Ratio uV = 0.34
 
/tmp/inputs/artifacts/input_all/tmp/tmp0ekleboh/confs/std-bcc/elastic_00
  92.90  108.83  108.83    0.00    0.00    0.00 
 108.83   92.90  108.83    0.00    0.00    0.00 
 108.83  108.83   92.90    0.00    0.00    0.00 
   0.00    0.00    0.00   40.25    0.00    0.00 
   0.00    0.00    0.00    0.00   40.25    0.00 
   0.00    0.00    0.00    0.00    0.00   40.25 
# Bulk   Modulus BV = 103.52 GPa
# Shear  Modulus GV = 20.96 GPa
# Youngs Modulus EV = 58.91 GPa
# Poission Ratio uV = 0.41
 
/tmp/inputs/artifacts/input_all/tmp/tmp0ekleboh/confs/std-fcc/elastic_00
 145.08   95.32   95.32    0.00    0.00    0.00 
  95.32  145.08   95.32    0.00    0.00    0.00 
  95.32   95.32  145.08    0.00    0.00    0.00 
   0.00    0.00    0.00   59.43    0.00    0.00 
   0.00    0.00    0.00    0.00   59.43    0.00 
   0.00    0.00    0.00    0.00    0.00   59.43 
# Bulk   Modulus BV = 111.91 GPa
# Shear  Modulus GV = 45.61 GPa
# Youngs Modulus EV = 120.46 GPa
# Poission Ratio uV = 0.32
 
代码
文本
[20]
import numpy as np
import matplotlib.pyplot as plt
from scipy import interpolate

# read & prepare data
def prep(l):
line = np.loadtxt(l, dtype=float, skiprows=2)
x = line[4:-4, 0]
y = line[4:-4, 1]
x_m = np.linspace(line[0, 0], line[-1, 0], 100)
Spline = interpolate.make_interp_spline(x, y)
y_m = Spline(x_m)
return x_m, y_m

eos_hcp = 'confs/std-hcp/eos_00/result.out'
eos_bcc = 'confs/std-bcc/eos_00/result.out'
eos_fcc = 'confs/std-fcc/eos_00/result.out'
hcp_x, hcp_y = prep(eos_hcp)
bcc_x, bcc_y = prep(eos_bcc)
fcc_x, fcc_y = prep(eos_fcc)

# plot figures
plt.figure(figsize=(25, 5))
plt.subplot(1,3,1)
plt.plot(hcp_x, hcp_y, 'g-')
plt.xlabel('volume per atom $(\AA^3)$')
plt.ylabel('Energy per atom E (eV/atom)')
plt.title('HCP')
plt.subplot(1,3,2)
plt.plot(bcc_x, bcc_y, 'r-')
plt.xlabel('volume per atom $(\AA^3)$')
plt.ylabel('Energy per atom E (eV/atom)')
plt.title('BCC')
plt.subplot(1,3,3)
plt.plot(fcc_x, fcc_y, 'b-')
plt.xlabel('volume per atom $(\AA^3)$')
plt.ylabel('Energy per atom E (eV/atom)')
plt.title('FCC')

# Adjust subplot spacing
plt.subplots_adjust(wspace=0.2)

plt.show()
代码
文本

Reference

[1] T. Wen, R. Wang, L. Zhu, L. Zhang, H. Wang, D. J. Srolovitz, and Z. Wu, Specialising neural network potentials for accurate properties and application to the mechanical response of titanium, npj Computational Materials 7, 206 (2021).

代码
文本
APEX
Workflow
Material
English
simulation
APEXWorkflowMaterialEnglishsimulation
已赞4
本文被以下合集收录
APEX
zhuoyli@connect.hku.hk
更新于 2024-03-17
1 篇0 人关注
推荐阅读
公开
asdfasdf
adf
adf
bulindog
发布于 2023-09-20
公开
test
Deep Learning
Deep Learning
bulindog
发布于 2023-09-20
3 转存文件