Phonopy 计算声子谱
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Phonopy 计算声子谱(2010-02-07 11:03)
注明:numpy , numpy-dev matplotlib python-lxml python-yaml其中numpy和matplotlib在安装vasputil(为了装ase)已经安装过了。所有本人先找到python-lxml-1.3.4-1.el5.rf.x86_64.rpm python-yaml-3.05-1.el5.rf.noarch.rpm安装,装好以后便安装phonopy,报错找不到numpy下的arrayobject.h,原来是找不到numpy的include,
export CPPFLAGS=-I/usr/lib64/python2.4/site-packages/numpy/core/include 顺便指定一下lib
export LDFLAGS=-L/usr/lib64/python2.4/site-packages/numpy/lib
然后找到了,在编译phonopy: python setup.py install --home=.,有一些警告,可能是没有安装numpy-dev的缘故,在网络上搜numpy-dev包,居然没有。只有numpy-1.2.1-2.el5.src.rpm。郁闷,我的numpy已经关联不能删除了,那还是用src包产生一个numpy-devel先。
编译src时说少了atlas-devel-3.8.3-1.el5.x86_64.rpm,还好有的下。装了
atlas-devel-3.8.3-1.el5.x86_64.rpm后,再: rpm -i numpy-1.2.1-2.el5.src.rpm 然后到
/usr/src/redhat/SPECS rpmbuild –bb numpy.spec以为可以得到numpy-devel,到
/usr/src/redhat/RPMS/x86_64却没有。哎!!!!!!!可是到官网仔细看看却是不需要numpy-devel,看来下来的介绍这点上有误,其余的都是正确的。
∙
∙
∙分类:Vasp标签: -
Phonopy 计算声子谱
October 7, 2009
Tags: Phonopy, Python
1. Phonopy 简介
Phonopy 是一个由 python 实现的的晶体声子分析程序。它是目前提供了 VASP 的 Wien2k 的接口用来计算原子受力。它的主要功能有:
计算声子色散谱;
计算声子态密度,包括分立态密度;
声子热力学性质,包括自由能,热容量,焓;
Phonopy 通过力常数的方法计算声子谱。力常数由计算原子在超晶胞中被移动后的受力得到
(Parlinsk-Li-Kawasoe 方法)。
同样类型的程序还有 phon, fropho, phonon. 其中 phonon 是商业软件,卖的很贵,fropho 和phonopy 的代码其实都是来自于 phon, fropho 是为了代替 phon 而开发的,目的是为了使用 phon 更方便,phon 和 fropho 主要都是由 fortran 开发的,而现在 fropho 已经停止开发,由 python 开发的 phonopy 代替了 fropho, phonopy 在使用上更为方便,在计算量上更为减少。因为 phon, fropho 和 phonon 在移动原子位置时都是一次只移动一个原子的一个方向,而 phonopy 则可以一次移动一个原子的多个方向,所以和其它程序相比, phonopy 最多可以减少 2/3 的计算量。
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 则可以去 /search 搜索下载安装相关软件包。
去 https:///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 保存下来。
我的计算脚本为: