alamode_scph计算高温声子谱


Alamode计算高温声子色散

Anharmonic Phonons (self-consistent phonon theory)

主要使用alamode软件。 版本:alamode-1.1.0

输入文件

vasprun.xml #分子动力学输出文件
Dfile  #包含原子的力和位移
extract_disp.py #选取结构,并计算位移
extract_force.py #选取结构,并获得受力
PPOSCAR #初始超胞
alm.in #提取力常数的输入文件
anphono.in #计算声子谱的输入文件

1 从分子动力学数据中选取一定数量的结构,并提取它们的力和计算与初始状态相比的位移,输出到Dfile文件当中

python extract_disp.py 
#运行后根据提示输入开始的步数和间隔步数
#例如总共1000步,从第一步开始提取,每间隔五步提取一次
#得到disp.dat

python extract_force.py #方法同上
#得到force.dat

将disp.dat和force.dat文件按如下形式合并到一起

disp1x  disp1y  disp1z   force1x  force1y  force1z
       ......
       ......
dispNx  dispNy  dispNz   forceNx  forceNy  forceNz

2 获取力常数

提取四阶力常数的alm.in文件如下(使用LASSO方法):

二阶力常数可以通过有限位移法提取(详见官网手册)

&general
  PREFIX = ThO2_ENET
  MODE = optimize
  NAT = 81; NKD = 2
  KD = Th O
#  PRINTSYM=1
/

&interaction
  NORDER = 5  # 1: harmonic, 2: cubic, ..
  NBODY = 2 3 3 2 2
/

&cell
  1 # factor in Bohr unit
  0.0000000000000   15.919498944104   15.919498944104
  15.919498944104   0.0000000000000   15.919498944104
  15.919498944104   15.919498944104   0.0000000000000
/

&optimize
  LMODEL= enet
  FC2XML = ThO2_2nd.xml
  DFSET=ThO2_dffile

  CV = 0
  L1_RATIO = 1.0
  L1_ALPHA = 1.0e-06
  CV_MINALPHA = 1.0e-6
  CV_MAXALPHA = 0.02
  CV_NALPHA = 100

  STANDARDIZE = 1
  CONV_TOL = 1.0e-9
/

&cutoff 
  *-* None None 12.0 12.0 12.0
/

&position
1  0.0000000000000000  0.0000000000000000  0.0000000000000000
1  0.3333333333333333  0.0000000000000000  0.0000000000000000
1  0.6666666666666666  0.0000000000000000  0.0000000000000000
1  0.0000000000000000  0.3333333333333333  0.0000000000000000
1  0.3333333333333333  0.3333333333333333  0.0000000000000000
1  0.6666666666666666  0.3333333333333333  0.0000000000000000
1  0.0000000000000000  0.6666666666666666  0.0000000000000000
1  0.3333333333333333  0.6666666666666666  0.0000000000000000
1  0.6666666666666666  0.6666666666666666  0.0000000000000000
1  0.0000000000000000  0.0000000000000000  0.3333333333333333
1  0.3333333333333333  0.0000000000000000  0.3333333333333333
1  0.6666666666666666  0.0000000000000000  0.3333333333333333
1  0.0000000000000000  0.3333333333333333  0.3333333333333333
1  0.3333333333333333  0.3333333333333333  0.3333333333333333
1  0.6666666666666666  0.3333333333333333  0.3333333333333333
1  0.0000000000000000  0.6666666666666666  0.3333333333333333
1  0.3333333333333333  0.6666666666666666  0.3333333333333333
1  0.6666666666666666  0.6666666666666666  0.3333333333333333
1  0.0000000000000000  0.0000000000000000  0.6666666666666666
1  0.3333333333333333  0.0000000000000000  0.6666666666666666
1  0.6666666666666666  0.0000000000000000  0.6666666666666666
1  0.0000000000000000  0.3333333333333333  0.6666666666666666
1  0.3333333333333333  0.3333333333333333  0.6666666666666666
1  0.6666666666666666  0.3333333333333333  0.6666666666666666
1  0.0000000000000000  0.6666666666666666  0.6666666666666666
1  0.3333333333333333  0.6666666666666666  0.6666666666666666
1  0.6666666666666666  0.6666666666666666  0.6666666666666666
2  0.0833333333333333  0.0833333333333333  0.0833333333333333
2  0.4166666666666666  0.0833333333333333  0.0833333333333333
2  0.7500000000000000  0.0833333333333333  0.0833333333333333
2  0.0833333333333333  0.4166666666666666  0.0833333333333333
2  0.4166666666666666  0.4166666666666666  0.0833333333333333
2  0.7500000000000000  0.4166666666666666  0.0833333333333333
2  0.0833333333333333  0.7500000000000000  0.0833333333333333
2  0.4166666666666666  0.7500000000000000  0.0833333333333333
2  0.7500000000000000  0.7500000000000000  0.0833333333333333
2  0.0833333333333333  0.0833333333333333  0.4166666666666666
2  0.4166666666666666  0.0833333333333333  0.4166666666666666
2  0.7500000000000000  0.0833333333333333  0.4166666666666666
2  0.0833333333333333  0.4166666666666666  0.4166666666666666
2  0.4166666666666666  0.4166666666666666  0.4166666666666666
2  0.7500000000000000  0.4166666666666666  0.4166666666666666
2  0.0833333333333333  0.7500000000000000  0.4166666666666666
2  0.4166666666666666  0.7500000000000000  0.4166666666666666
2  0.7500000000000000  0.7500000000000000  0.4166666666666666
2  0.0833333333333333  0.0833333333333333  0.7500000000000000
2  0.4166666666666666  0.0833333333333333  0.7500000000000000
2  0.7500000000000000  0.0833333333333333  0.7500000000000000
2  0.0833333333333333  0.4166666666666666  0.7500000000000000
2  0.4166666666666666  0.4166666666666666  0.7500000000000000
2  0.7500000000000000  0.4166666666666666  0.7500000000000000
2  0.0833333333333333  0.7500000000000000  0.7500000000000000
2  0.4166666666666666  0.7500000000000000  0.7500000000000000
2  0.7500000000000000  0.7500000000000000  0.7500000000000000
2  0.2500000000000000  0.2500000000000000  0.2500000000000000
2  0.5833333333333333  0.2500000000000000  0.2500000000000000
2  0.9166666666666666  0.2500000000000000  0.2500000000000000
2  0.2500000000000000  0.5833333333333333  0.2500000000000000
2  0.5833333333333333  0.5833333333333333  0.2500000000000000
2  0.9166666666666666  0.5833333333333333  0.2500000000000000
2  0.2500000000000000  0.9166666666666666  0.2500000000000000
2  0.5833333333333333  0.9166666666666666  0.2500000000000000
2  0.9166666666666666  0.9166666666666666  0.2500000000000000
2  0.2500000000000000  0.2500000000000000  0.5833333333333333
2  0.5833333333333333  0.2500000000000000  0.5833333333333333
2  0.9166666666666666  0.2500000000000000  0.5833333333333333
2  0.2500000000000000  0.5833333333333333  0.5833333333333333
2  0.5833333333333333  0.5833333333333333  0.5833333333333333
2  0.9166666666666666  0.5833333333333333  0.5833333333333333
2  0.2500000000000000  0.9166666666666666  0.5833333333333333
2  0.5833333333333333  0.9166666666666666  0.5833333333333333
2  0.9166666666666666  0.9166666666666666  0.5833333333333333
2  0.2500000000000000  0.2500000000000000  0.9166666666666666
2  0.5833333333333333  0.2500000000000000  0.9166666666666666
2  0.9166666666666666  0.2500000000000000  0.9166666666666666
2  0.2500000000000000  0.5833333333333333  0.9166666666666666
2  0.5833333333333333  0.5833333333333333  0.9166666666666666
2  0.9166666666666666  0.5833333333333333  0.9166666666666666
2  0.2500000000000000  0.9166666666666666  0.9166666666666666
2  0.5833333333333333  0.9166666666666666  0.9166666666666666
2  0.9166666666666666  0.9166666666666666  0.9166666666666666
/

注意晶格常数单位的转换 $1 Bohr= 0.529177208 Angstrom$

在终端运行:

alm alm.in > alm.log

得到Nb.xml

3 Anharmonic Phonon

anphono.in输入文件如下:

&general
 PREFIX =scph
 MODE = SCPH
 FCSXML =Nb.xml #forceconstant file

 NKD = 1; KD = Nb
 MASS = 92.90638

 #NONANALYTIC = 0; BORNINFO = PbTe.born

 TMIN = 0; TMAX = 300; DT = 100   #Temperature and step
/

&scph
 KMESH_SCPH        = 6 6 6
 KMESH_INTERPOLATE = 6 6 6

 SELF_OFFDIAG = 0
 RESTART_SCPH = 0

 MIXALPHA = 0.1
 MAXITER = 500
 TOL_SCPH = 1.0e-10
/

&cell   ## primitive cell is best
  6.2507550151332
  -0.5  0.5  0.5
   0.5 -0.5  0.5
   0.5  0.5 -0.5
/

&kpoint
  1  # KPMODE = 1: get phonon band  2: get others properties
  G 0.0 0.0 0.0 H 0.5 -0.5 0.5 201
  H 0.5 -0.5 0.5 P 0.25 0.25 0.25 201
  P 0.25 0.25 0.25 G 0.0 0.0 0.0 201
  G 0.0 0.0 0.0  N 0.0 0.0 0.5 201
/

在终端运行:

anphon anphono.in > anphono.log

得到scph.scph_bands,里面有不同温度下的声子谱


文章作者: 天帝君豪
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 天帝君豪 !
 上一篇
vasprun.xml to json file vasprun.xml to json file
将vasprun.xml 的configuration 转为 json file主要用于FitSNAP程序的前期数据集的获取 import json import numpy as np #read energy lattice pos
2020-07-10
下一篇 
TDEP计算高温声子谱 TDEP计算高温声子谱
TDEP计算高温声子色散lammps输入文件 in.lammps #lammps计算的输入文件 data.cell #lammps计算需要的超胞文件,可以直接在in.lammps中设置 grep_dump.sh #处理lammps输
2020-06-28
  目录