13. Frequently Asked Questions (FAQs)

您有任何新的问题不在本文档中,欢迎您向我们反馈:QQ群:295488187,96259578

13.1. 续算相关

13.1.1. 如何续算?

假设CALYPSO的MaxStep=30, 即最大代数为30代,而在运行到第20代的时候由于断电或其他原因导致程序停掉,此时首先需要删除results目录中的pso_ini_20, pso_opt_20, 将input.dat中的pickstep设置为19,重新运行即可。

13.2. Python版本相关

13.2.1. CALYPSO运行出现以下报错改如何处理?

  File "contcar.py", line 64, in <module>
    icontcar('./')
  File "contcar.py", line 50, in <module>
    if linetmp[j] < 0.:
TypeError: 'map' object is not subscriptable
Traceback (most recent call last):
  File "contcar.py", line 64, in <module>
    icontcar('./')
  File "contcar.py", line 50, in <module>
    if linetmp[j] < 0.:
TypeError: 'map' object is not subscriptable
  File "genenth.py", line 135
    print enthalpy('./')

或者是

  evo istruct=         177
  evo istruct=         178
  evo istruct=         179
  evo istruct=         180
    File  "mpi.py", line 16
      print '''Warning: multiprocessing is not found.\n'''
                                                         ^
SyntaxError: Missing parentheses in call to 'print', Did you mean print('''Warning: multiprocessing is not found.\n''')
  Step=         10
  evo istruct=         181

CALYPSO在运行过程中会多次调用python脚本,而这些脚本使用的均为python2,因此您需要保证,在提交CALYPSO任务时,命令行当前的python环境为python2而非python3。(后续会对所有脚本进行升级)

2023年更新:目前CALYPSO全面支持Python3的环境,后续将只维护Python3版本。

13.2.2. cak.py如何安装?

  • 下载CALYPSO_ANALYSIS_KIT安装包

  • tar xzvf CALYPSO_ANALYSIS_KIT.tar.gz

  • cd CALYPSO_ANALYSIS_KIT

  • 修改MakefilePYBIN=XXX,将XXX改为自己的python路径

  • make

13.3. VASP相关

13.3.1. KGRID参数无法产生K点文件?

该参数已失效,请在INCAR文件中通过KSPACING参数指定。

13.3.2. 设置KSPACING后产生K点的方式是G方式还是M方式?

KGAMMA=True,为GAMMA;KGAMMA=False, 为M,KGAMMA默认为True

KSPACING is the smallest allowed spacing between k points in units of A^-1. The number of k points increases when the spacing is decreased. The number of k points in the direction of the first, second and third reciprocal lattice vectores \vecb_i \veca_j = 2pi\deltaij. The generated grid is either centred at the \gamma point, i.e., includes the \gamma point when (KGAMMA = .TRUE., or is shifted away from the \gamma point, as done for Monkhorst-Pack grids when (KGAMMA=.FALSE.. The default is to include the \gamma point.)

Warning: This implementation is not entirely consistent with the automatic k-point generation (Mode=A) used in the KPOINTS file.

if the k points are generated using the automatic mode in the KPOINTS file, N is calculated as N=max(1, |\vecbi|/(2pi*KSPACING)) and rounding is to the nearest integer. We recommend using the KSPACING tag in the INCAR file and avoiding the automatic mode via the KPOINTS file.

KGAMMA = [logical] Default: KGAMMA = .TRUE. Description: Determines whether the k points (specified by the KSPACING tag) include (KGAMMA=.TRUE.)

13.3.3. CALYPSO运行过程中VASP报错怎么办?

CALYPSO的工作流程为:

  • 产生随机(演化)结构

  • 利用VASP(或其他结构优化软件)优化

如果VASP报错只能说明该结构不合理或您的参数不合理,不合理的结构会被CALYPSO检测并将能量设置为610612509,在使用cak.py分析结果时甚至不会在Analysis_Output.dat中显示,也不会影响CALYPSO的正常运行。

Hint

如果遇到了VASP的报错不知道如何解决,您可以参考以下几个网站,他们提供了部分VASP报错的一些解决方案 :star: :

13.3.4. CALYPSO运行过程中出现如图所示问题该如何处理?

 istruct=          19
 istruct=          20
 istruct=          21
 istruct=          22
 istruct=          23
 istruct=          24
 istruct=          25
 run istruct=          1
 grep: .//OUTCAR: 没有那个文件或目录
 grep: .//OUTCAR: 没有那个文件或目录
 run istruct=          2
...

说明VASP(或其他结构优化软件)没有被正常调用,因此没有产生OUTCAR,请检查submit.shVASP路径是否正确。

13.3.5. 关于正常模式(非split模式)submit.sh提交结构优化任务的一些解释

CALYPSO软件通过读取input.dat文件中sh command参数,调用外部脚本进行结构优化,这里通常sh command=submit.sh,所以CALYPSO通过调用submit中的命令进行结构优化,关于结构优化软件运行的环境,可在提交CALYPSO的脚本中加载,也可在submit.sh中加载(如:module load intelxxx等)。

13.4. 机器学习势相关

13.4.1. 拟合GAP机器学习势中WeightOfAtoms改如何设置?

该参数在训练势函数中仅仅起到标记不用元素的作用,只需保证该参数的数目与元素种类相同,且不同元素权重不同即可,如:

一种元素:0

两种元素:0 1 (1 -1)等等

三种元素:-1 0 1( 2 3 4)等等以此类推

13.5. 其他

13.5.1. 为什么在计算目录会出现而很多CONTCAR_*、OSZICAR_*、OUTCAR_*等文件?

[mym@login8 2]$ ls
2.lsf                 getforce.py     OUTCAR_14.bz2
caly.log              gpid.py         OUTCAR_15.bz2
calypso.x             gulpt.py        OUTCAR_16.bz2
CHG                   IBZKPT          OUTCAR_17.bz2
CHGCAR                INCAR           OUTCAR_18.bz2
CONTCAR               INCAR_1         OUTCAR_19.bz2
CONTCAR_10.bz2        INCAR_2         OUTCAR_1.bz2
CONTCAR_11.bz2        INCAR_3         OUTCAR_20.bz2
CONTCAR_12.bz2        input.dat       OUTCAR_21.bz2
CONTCAR_13.bz2        mpidata.py      OUTCAR_22.bz2
CONTCAR_14.bz2        mpi.py          OUTCAR_23.bz2
CONTCAR_15.bz2        OSZICAR         OUTCAR_24.bz2
CONTCAR_16.bz2        OSZICAR_10.bz2  OUTCAR_25.bz2
CONTCAR_17.bz2        OSZICAR_11.bz2  OUTCAR_26.bz2
CONTCAR_18.bz2        OSZICAR_12.bz2  OUTCAR_27.bz2
CONTCAR_19.bz2        OSZICAR_13.bz2  OUTCAR_28.bz2
CONTCAR_20.bz2        OSZICAR_14.bz2  OUTCAR_29.bz2
CONTCAR_21.bz2        OSZICAR_15.bz2  OUTCAR_2.bz2
CONTCAR_22.bz2        OSZICAR_16.bz2  OUTCAR_30.bz2
CONTCAR_23.bz2        OSZICAR_17.bz2  OUTCAR_31.bz2
CONTCAR_24.bz2        OSZICAR_18.bz2  OUTCAR_32.bz2
CONTCAR_25.bz2        OSZICAR_19.bz2  OUTCAR_33.bz2
CONTCAR_26.bz2        OSZICAR_1.bz2   OUTCAR_34.bz2
CONTCAR_27.bz2        OSZICAR_20.bz2  OUTCAR_35.bz2
CONTCAR_28.bz2        OSZICAR_21.bz2  OUTCAR_36.bz2
CONTCAR_29.bz2        OSZICAR_22.bz2  OUTCAR_37.bz2
CONTCAR_2.bz2         OSZICAR_23.bz2  OUTCAR_38.bz2
CONTCAR_30.bz2        OSZICAR_24.bz2  OUTCAR_39.bz2
CONTCAR_31.bz2        OSZICAR_25.bz2  OUTCAR_3.bz2
CONTCAR_32.bz2        OSZICAR_26.bz2  OUTCAR_40.bz2
CONTCAR_33.bz2        OSZICAR_27.bz2  OUTCAR_41.bz2
CONTCAR_34.bz2        OSZICAR_28.bz2  OUTCAR_42.bz2
CONTCAR_35.bz2        OSZICAR_29.bz2  OUTCAR_43.bz2
CONTCAR_36.bz2        OSZICAR_2.bz2   OUTCAR_44.bz2
CONTCAR_37.bz2        OSZICAR_30.bz2  OUTCAR_45.bz2
CONTCAR_38.bz2        OSZICAR_31.bz2  OUTCAR_46.bz2
CONTCAR_39.bz2        OSZICAR_32.bz2  OUTCAR_47.bz2
CONTCAR_3.bz2         OSZICAR_33.bz2  OUTCAR_4.bz2
CONTCAR_40.bz2        OSZICAR_34.bz2  OUTCAR_5.bz2
CONTCAR_41.bz2        OSZICAR_35.bz2  OUTCAR_6.bz2
CONTCAR_42.bz2        OSZICAR_36.bz2  OUTCAR_7.bz2
CONTCAR_43.bz2        OSZICAR_37.bz2  OUTCAR_8.bz2
CONTCAR_44.bz2        OSZICAR_38.bz2  OUTCAR_9.bz2
CONTCAR_45.bz2        OSZICAR_39.bz2  PCDAT
CONTCAR_46.bz2        OSZICAR_3.bz2   pos2find.py
CONTCAR_47.bz2        OSZICAR_40.bz2  POSCAR
CONTCAR_48.bz2        OSZICAR_41.bz2  POSCAR.bak
CONTCAR_4.bz2         OSZICAR_42.bz2  poscar.py
CONTCAR_5.bz2         OSZICAR_43.bz2  POTCAR
CONTCAR_6.bz2         OSZICAR_44.bz2  pwscf.py
CONTCAR_7.bz2         OSZICAR_45.bz2  readcell.py
CONTCAR_8.bz2         OSZICAR_46.bz2  read_lammps.py
CONTCAR_9.bz2         OSZICAR_47.bz2  remoteparallel.py
CONTCAR_PSO           OSZICAR_4.bz2   REPORT
contcar.py            OSZICAR_5.bz2   results
cp2k.py               OSZICAR_6.bz2   rvasp.py
DOSCAR                OSZICAR_7.bz2   submit.sh
EIGENVAL              OSZICAR_8.bz2   surface_run.py
getenergy.py          OSZICAR_9.bz2   v2lammps.py
getenthclu.py         outcar          vasp.log
getenth.py            OUTCAR          vasprun.xml
getes_castep.py       OUTCAR_10.bz2   WAVECAR
getes_lammps.py       OUTCAR_11.bz2   writekp.py
getes_lammps_reax.py  OUTCAR_12.bz2   XDATCAR
getes.py              OUTCAR_13.bz2

出现如图所示情况说明在input.dat中的RecordOUTCAR开关被打开,将其设置为RecordOUTCAR=F即可。(该开关作用为记录并保存每个结构优化之后的参数文件如OSZICAROUTCARCONTCAR等)

13.5.2. 出现VASP was kiled by CALYPSO是什么原因?

  _______  _______  _              _______  _______  _______
 (  ____ \(  ___  )( \   |\     /|(  ____ )(  ____ \(  ___  )
 | (    \/| (   ) || (   ( \   / )| (    )|| (    \/| (   ) |
 | |      | (___) || |    \ (_) / | (____)|| (_____ | |   | |
 | |      |  ___  || |     \   /  |  _____)(_____  )| |   | |
 | |      | (   ) || |      ) (   | (            ) || |   | |
 | (____/\| )   ( || (____/\| |   | )      /\____) || (___) |
 (_______/|/     \|(_______/\_/   |/       \_______)(_______)

Program CALYPSO   v.6.0      starts ...
Today is 26Nov2021 at 15:32:46
  Step :   1
  Step :   2
  Step :   3
  Step :   4
  Step :   5
      vasp is killed by calypso.x
  Step :   6
      vasp is killed by calypso.x
      vasp is killed by calypso.x
      vasp is killed by calypso.x
      vasp is killed by calypso.x
      vasp is killed by calypso.x
      vasp is killed by calypso.x
      vasp is killed by calypso.x
      vasp is killed by calypso.x
      vasp is killed by calypso.x
      vasp is killed by calypso.x
      vasp is killed by calypso.x
      vasp is killed by calypso.x
      vasp is killed by calypso.x
      vasp is killed by calypso.x
      vasp is killed by calypso.x

由于CALYPSO会根据空间群对称性随机产生结构,而随机结构难免会有不合理的构型存在,当VASP对这些不合理构型进行优化时,优化时间往往会很久,当该结构的优化时间超过input.dat中的MaxTime参数设定的时间后,该结构的优化会被CALYPSO杀掉。

13.5.3. ./calypso.x: Peimission denied. 怎么办?

执行chmod +x calypso.x

13.5.4. Analysis_Output.dat中全部为Null,pso_opt_*中全部为610612509,且VASP正常运行,怎么办?

依次检查:

  • VASP是否运行

  • 检测ICNAR中是否有PSTRESS参数(团簇不需要)

  • 提高INCAR的优化精度

  • 提高input.datMaxtime

13.5.5. 报错end-of-file during read, unit -5, file Internal List-Directed Read

input.dat书写错误

13.5.6. 已经安装spglib, 仍然提示EORRE: please install libpyspg

CALYPSO_ANALYSIS_KIT第19行改为import spglib as spg, 把libpyspg拷贝到系统pythonlib下面

13.5.7. CALYPSO一直卡在产生第一个结构,程序无法继续?

检查键长矩阵以及设置的一倍晶胞体积是否合理,通常体积要设置的偏大一些,键长设置的偏小一些(正常键长的百分之八十左右),如果体积太小键长太大会无法产生满足条件的结构。

13.5.8. 预测输出的结构里面没有出现实验中报道的结构是什么原因呢?

结构预测不一定能保证跑出实验报道的结构,请比较预测结构和实验结构的能量判断基态。此外搜索的胞内原子数、搜索代数均有一定影响。

13.5.9. CALYPSO能否搜索亚稳态?

CALYPSO可以搜索亚稳态

13.5.10. 如何确定是不是亚稳态。

  • 从热力学的角度来看,只要某个结构的能量在波恩奥本海默势能面上不是最低点,那么他就可以认为是一个亚稳态。

  • 声子谱不稳定代表存在能量更低的结构,假设Analysis前三个结构声子谱存在虚频,第四个结构动力学稳定,但第四个能量比前三个能量高,所以第四个结构一定不是基态结构;即使Analysis前几个结构声子谱不稳定,下一个结构声子谱稳定,该声子谱稳定结构也一定不是基态

  • 对于声子谱不稳定结构,可以通过扩胞或软膜方法找到能量更低的声子谱稳定结构。

13.5.11. 解除系统堆栈限制

  • 执行ulimit -s unlimited

  • 再次执行ulimit -s,查看输出是否为unlimit,若不是则可能需要重新编译VASP

13.5.12. CALYPSO无法执行

  1. intel版本不匹配,需要加载新版本的intel,一般来讲推荐2020及以上

最新版本CALYPSO(7.3.2)已经不再需要用户额外激活intel即可运行

由于CALYPSO编译中使用了intel的动态库,导致在具有其他非相同版本的Intel环境的机器上运行出现缺库的问题,目前在最新版本已经将intel的动态库编译为静态库使问题得以解决。

./calypso.x: error while loading shared libraries: libiomp5.so: cannot open shared object file: No such file or directory
  1. GLIBC版本不匹配

如果您出现了以下报错,说明您使用的可能是比较旧的系统版本,可在群里联系@王振雨或@罗啸山协助您解决。

FATAL: kernel too old
Aborted (core dumped)

./calypso.x: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./calypso.x)

Here is a mapping list of GLIBC related to Ubuntu Version and CentOS Version provided by ChatGPT, for reference.

GLIBC Version Ubuntu Releases CentOS Releases
2.17 Ubuntu 12.04 LTS CentOS 7
2.18 Ubuntu 13.10
2.19 Ubuntu 14.04 LTS
2.20
2.21 Ubuntu 15.04
2.22
2.23 Ubuntu 16.04 LTS
2.24
2.25 Ubuntu 17.04
2.26
2.27 Ubuntu 18.04 LTS
2.28 Ubuntu 19.04 CentOS 8
2.29 Ubuntu 19.10
2.30 Ubuntu 20.04 LTS
2.31 Ubuntu 20.04 LTS (Focal Fossa)
2.32 Ubuntu 20.10, 21.04
2.33 Ubuntu 21.10, 22.04 LTS (planned)
2.34 Ubuntu 21.04 (Hirsute Hippo) CentOS Stream
Ubuntu future releases (beyond 22.04 LTS)