跳至主要内容

lammps vasp 弹性常数计算方法

VASP弹性常数计算:
ISYM=0
IBRION=6                        # CG Geom Opt
ISIF=3                          # Relax atoms and cell
NFREE=4


要在不同的系统上运行它,只需要修改文件 init.mod(温度 结构数据) 和 potential.mod(势文件)。 为了正确计算弹性常数,必须注意在 init.mod 中指定正确的单位(units、cfac 和 cunits)。 验证应力分量的 MD 采样是否生成准确的统计平均值也很重要。 一个迹象是弹性常数对 init.mod 中变量 ${up} 的选择不敏感。 另一个是检查有限大小效应。

  1. relaxBox 0压0温度/data/gpfs/assoc/matersimul/kunluo/Mg/dpgen/MD/relaxBox(in.elastic里有relaxbox的命令,所以不是必须的)
  2. 计算elastic 0温度
    1. Copy需要的文件 displace.mod(不变), in.elastic(不变), , init.mod(结构信息), potential.mod(势文件), restart.Mgrelax, slurm
    2. 修改文件 init.mod,带温度的是不同的文件
      1. Init.mod 区别:up 1.0e-3, 例子是1.0e-6,整体感觉和高温的差很多,还是用1.0e-3 (需要多算几个测试一下 建议可以提高到1.0e-2, castep 默认是0.003 即3.0e-3), 有温度就用2.0e-2
      2. 用read_restart      restart.npt 替换read_data       data.CdTeconcell,直接读取之前的结果
      3. read_restart      restart.Mgrelax
      4. change_box   all triclinic
      5. Mass 1  24.305
    3. 修改potential.mod
      1. deepmd /data/gpfs/assoc/matersimul/kunluo/Mg/dpgen/iter.000044/00.train/000/Mg4400.pb
  3. Npt 1bar 300K 10ps /data/gpfs/assoc/matersimul/kunluo/Mg/dpgen/MD/npt300
    1. 修改文件 init.mod,带温度的是不同的init.mod文件
      1. variable up equal 2.0e-2
      2. variable temp equal 300.0
      3. read_restart      restart.Mgnpt
      4. change_box   all triclinic
      5. Mass 1  24.305
    2. 修改potential.mod
      1. deepmd /data/gpfs/assoc/matersimul/kunluo/Mg/dpgen/iter.000044/00.train/001/Mg4401.pb

评论