计算化学公社

 找回密码 Forget password
 注册 Register
Views: 578|回复 Reply: 2
打印 Print 上一主题 Last thread 下一主题 Next thread

[VASP] vasp和ASE对接不成功

[复制链接 Copy URL]

100

帖子

0

威望

1153

eV
积分
1253

Level 4 (黑子)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 maoxinxina 于 2025-2-27 17:25 编辑

按照网页http://bbs.keinsci.com/thread-43794-1-1.html给出的帖子对几个环境变量进行设置,但是出现了问题。
export VASP_COMMAND=$HOME/users/maoxin/vasp/vasp_sub.shexport VASP_SCRIPT=$HOME/users/maoxin/vasp/run_vasp.py
export VASP_PP_PATH=$HOME

几个环境参数的设置。
其中vasp_sub.sh的内容如下:
#!/bin/bash
#SBATCH -J vasp
#SBATCH -N 1
#SBATCH --ntasks-per-node=32
#SBATCH -p wzhcnormal

module purge
source /work/home/acdsqiq3o7/apprepo/vasp/5.4.4-ioptcell_intelmpi2017_hdf5_libxc/scripts/env.sh

export MKL_DEBUG_CPU_TYPE=5 #加速代码
export MKL_CBWR=AVX2 #使cpu默认支持avx2
export I_MPI_PIN_DOMAIN=numa #内存位置与cpu位置绑定,加速内存读取。对于内存带宽要求高的计算提速明显

srun --mpi=pmi2 vasp_std  > vasp.out



run_vasp.py内容如下:
import os
exitcode = os.system('vasp_sub.sh')

这里对一个1.py来执行  python 1.py
from ase import Atoms, Atom

from ase.calculators.vasp import Vasp
from ase.build import bulk





atoms = bulk('Pt', 'fcc', a=3.5, cubic=True)

calc = Vasp(prec='Accurate', xc='PBE', lreal=False)

atoms.calc = calc

print(atoms.get_potential_energy())

报错如下:
Traceback (most recent call last):
  File "/work/home/**/users/maoxin/vasp/1.py", line 19, in <module>
    print(atoms.get_potential_energy())
  File "/work/home/**/anaconda3/envs/workflow/lib/python3.9/site-packages/ase/atoms.py", line 770, in get_potential_energy
    energy = self._calc.get_potential_energy(self)
  File "/work/home/**/anaconda3/envs/workflow/lib/python3.9/site-packages/ase/calculators/abc.py", line 24, in get_potential_energy
    return self.get_property(name, atoms)
  File "/work/home/**/anaconda3/envs/workflow/lib/python3.9/site-packages/ase/calculators/calculator.py", line 538, in get_property
    self.calculate(atoms, [name], system_changes)
  File "/work/home/**/anaconda3/envs/workflow/lib/python3.9/site-packages/ase/calculators/vasp/vasp.py", line 340, in calculate
    raise calculator.CalculationFailed(
ase.calculators.calculator.CalculationFailed: vasp in /work/home/**/users/**/vasp returned an error: 1 stderr srun: error: Unable to allocate resources: No partition specified or system default partition

在后面大哥的提醒下,把1.py里面计算这一行改为calc = Vasp(prec='Accurate', xc='PBE', lreal=False, command='srun --mpi=pmi2 vasp_std', directory = './tmp', txt='-')
在1.sh里面执行python3 1.py
最后再执行sbatch 1.sh就可以正常运行了。


3754

帖子

3

威望

1万

eV
积分
19676

Level 6 (一方通行)

围观吃瓜群众

2#
发表于 Post on 2025-2-27 14:07:49 | 只看该作者 Only view this author
那个帖子不知道在写点什么。slurm脚本你可以看成是一个shell脚本,里面的语法除了#SBATCH开头之外应该和shell没什么不同。我们假定先忽略那些带#SBATCH的部分,就像直接在单机上逐条执行这些命令:
1、在开始通过ase提交VASP计算前,应该清空环境,这里沿用你给定的部分 :
# 清空环境
module purge
# 加载环境
source /work/home/acdsqiq3o7/apprepo/vasp/5.4.4-ioptcell_intelmpi2017_hdf5_libxc/scripts/env.sh
export MKL_DEBUG_CPU_TYPE=5 #加速代码
export MKL_CBWR=AVX2 #使cpu默认支持avx2
export I_MPI_PIN_DOMAIN=numa #内存位置与cpu位置绑定,加速内存读取。对于内存带宽要求高的计算提速明显
2、然后对于ase调用vasp之前,需要设置的环境变量至少如下:
(1)$VASP_COMMAND用于指定调用vasp的命令是什么,比如你这里的srun --mpi=pmi2 vasp_std,你也可以不在slurm脚本中指定,可以在后续的python脚本中这样指定Vasp(command='srun --mpi=pmi2 vasp_std')。
(2)$VASP_PP_PATH用于指定赝势POTCAR文件的目录,这个目录下必须包含potpaw或potpaw_GGA或potpaw_PBE,分别对应于CA-PZ、PW91、PBE泛函的赝势文件,不必全都有缺哪个就用不了哪个(在python脚本中Vasp中指定pp参数指定)。
注:上述两个变量你可以放在slurm,也可以在python脚本用os.environ[变量]=值进行指定。
3、假定VASP对ase的调用接口是在vasp_run.py,内容我就不做过多说明,在编写完成后正常是执行:
python3 vasp_run.py
但在此之前你肯定也要加载对应的python环境,所以写到slurm当中,你需要module load [python环境],例如module load miniconda3。如果涉及到conda或者pyenv,例如conda专门做了个ase的环境,你需要conda activate ase,这些也要写到slurm,最后再是执行python3 vasp_run.py。

你可能得花点时间了解一下python和shell以及slurm的用法,ase尽量看看官网资料,写的还是比较详细的。

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
丁越 + 5

查看全部评分 View all ratings

日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。不做培*,不接代*,不接*发谢谢。

100

帖子

0

威望

1153

eV
积分
1253

Level 4 (黑子)

3#
 楼主 Author| 发表于 Post on 2025-2-27 17:22:58 | 只看该作者 Only view this author
卡开发发 发表于 2025-2-27 14:07
那个帖子不知道在写点什么。slurm脚本你可以看成是一个shell脚本,里面的语法除了#SBATCH开头之外应该和she ...

谢谢回复。

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2025-8-15 21:51 , Processed in 0.176813 second(s), 21 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list