2. Phonopy 的安装
phonopy 主要由 python 开发,其中的找晶体空间群功能是由 C 语言(spglib)实现。在安装 phonopy 时需要安装以下它所依赖的软件包: Python 的开发包 numpy ,numpy-dev matplotlib python-lxml python-yaml
如果是使用的 Ubuntu/Debian 系统只需:
sudo aptitude install python-dev python-numpy \\ python-matplotlib python-tk python-lxml python-yaml 如果是 OpenSUSE 则可以去
http://software.opensuse.org/search 搜索下载安装相关软件包。
去 https://sourceforge.net/projects/phonopy/ 下载 phonopy 的最新软件包. 解压后进入 软件包的 c 目录, su
python setup.py install 编译安装所需要的 python 模块。 将 PATH/phonopy-0.6.1 $PATH 里:
比如:
export PATH=~/opt/phonopy-0.6.1:$PATH 3. Phonopy 的简单使用
下面我以 BC5 为例说明如何和 VASP 做接口计算声子谱: a, 建立超胞 准备 POSCAR 文件 单胞和原胞都可以 准备 INPHON 文件 ATOM_NAME = B C NDIM = 2 2 1 LSUPER = .TRUE. 简单说明:
第一行为原子符号名 B C ,注意要和 POSCAR 中的顺序相同。 第二行为要建的超胞的维数。
第三行是指要建立移动原子的 POSCAR. 然后输入命令: phonopy.py
就会输出 DISP, POSCAR-* (001, 002, 003, …) 在本例出会输出 12 个 POSCAR-*, 依次为 POSCAR-001,…POSCAR-012 b, 计算力常数
将这些 POSCAR-* 做 SCF, 将输出文件 vasprun.xml 保存下来。
我的计算脚本为: #!/bin/sh
for a in 01 02 03 04 05 06 07 08 09 10 11 12 do
cp POSCAR-0$a POSCAR
/opt/intel/impi/3.1/bin64/mpiexec -n 8
/share/apps/vasp/bin/vaspmpi_mkl10_O1 >>out.vasp 2>>err.vasp& wait
cp vasprun.xml vasprun.xml-0$a done
我的 INCAR 为: SYSTEM = BC5 PREC = Accurate ENCUT = 520 EDIFF = 1e-5 NSW = 0 ISMEAR = 0 SIGMA = 0.05 LCHARG = FALSE LWAVE = FALSE
这样计算结束后会得到 vasprun.xml-001, …, vasprun.xml-012 然后,执行命令:
phonopy.py -f vasprun.xml-* 就会得到文件 FORCES c, 得到声子谱
有了文件 FORCES 后就可以计算声子谱了,这时将 INPHON 改为以下内容: ATOM_NAME = B C NDIM = 2 2 1 ND = 7 NPOINTS = 51
QI = 0.0 0.0 0.5 0.0 0.5 0.5 0.0 0.5 0.0 0.0 0.0 0.0 0.5 0.5 0.0 0.5 0.0 0.0 0.5 0.0 0.5
QF = 0.0 0.5 0.5 0.0 0.5 0.0 0.0 0.0 0.0 0.5 0.5 0.0 0.5 0.0 0.0 0.5 0.0 0.5 0.5 0.5 0.5 简单说明:
ND 是指有几条路径;
NPOINTS 是指在每两个高对称性点间插入多少个点,包括边界; QI 和 QF 给出路径的起始和结束点。 其中我用的 Q 点顺序为: 0.0 0.0 0.5 Z
0.0 0.5 0.5 T 0.0 0.5 0.0 Y 0.0 0.0 0.0 G 0.5 0.5 0.0 S 0.5 0.0 0.0 X 0.5 0.0 0.5 U 0.5 0.5 0.5 R 执行 命令 phonopy.py -p
即可画出声子谱, 如果执行 phonopy.py -p -s
即可将声子谱曲线保存为 PDF 文件。
其中 声子谱的数据是以 yaml 格式保存在 band.yaml 里的。 如果你想用 Origin, Qtiplot, Xmgrace 等工具画图的话,可以用我写的 python 脚本,
readband.py (http://www.zhuli.name/file/readband.py) 将 band.yaml 转换一下,输出文件有两个 band.dat, qpoint.dat.
其中 band.dat 是声子谱数据, qpoint.dat 是高对称性点的数据。
以上只是 phonopy 的其本用法,如果要计算声子态度度和热力学性质的话可以参考
http://phonopy.sourceforge.net 上的文档,还是比较简单的。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库phononpy中文使用说明(3)在线全文阅读。
相关推荐: