PWscf常见问题解答_第1页
PWscf常见问题解答_第2页
PWscf常见问题解答_第3页
PWscf常见问题解答_第4页
PWscf常见问题解答_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PWscf常见问题解答1. 常用PWscf帮助文档及网址User Guide:/guide.htm官方用户指南,PWscf的编译、安装、使用、常见问题等信息非常全面,通俗易懂。初学者必读。结合examples使用l ExamplesPWscf安装目录下的Examples包含30多个常见实例,直接将run_example的shell脚本拖入终端即可运行。运行后在results文件夹下可以看对应输入文件和输出结果。可以参照示例写自己的输入文件。l DocPWscf安装目录下的Doc文件夹内有许多html文件,内容包括各种输入文件中所有变量和标签的详细定义和规范

2、,在写输入文件的时候一定要仔细阅读。l PWscf邮件列表http:/www.democritos.it/mailman/listinfo/pw_users在Google里搜索PWscf的问题排在第一的往往就是PWscf官方的邮件列表。这里汇集了全球PWscf用户的常见问题及解答。你的问题往往就在里面。对于常见的小问题这里的答案往往简单明了,事半功倍。有需要的同学可以订阅。l 大学及研究所的课件、讲义、ppt等 (以下译自PWscf的wiki Tutorials and Examples)Hands-on Tutorial of Quantum Espresso 关于理论背景和计算实例的一些p

3、ptSchool on Electronic Structure Calculations and their applications in Materials Science, 25 April-6 May 2005, 伊朗某大学关于计算材料学的课程的一些lectures3.320 Atomistic Modeling of Materials, MIT的课件MSE791K Modeling from the nanoscale to the macroscale,北卡州立大学的课件Quantum Espresso Survival Guide Lecture videosUIUC计算材料

4、中心2006年夏令营的课件和视频Building Nanostructures Bit by Bit康奈尔大学纳米科技中心2006年秋季研讨会的讲座和指南,包括平面波赝势法、密度泛函理论、分子动力学、纳米光学等方面的资料VLab Lectures密度泛函理论和实例 2. 如何安装编译PWscf?l 单机安装简易版(适用Ubuntu32位操作系统)from Sunforever首先安装编译环境,确认联网并更新了软件源,在终端下输入:sudo apt-get install gfortransudo apt-get install mpich-bin然后去PWscf网站下载免费的源码包 www.p

5、wscf .org解压到任意目录在终端窗口进入解压目录,方法如下:输入: cd 路径 (可直接把文件夹拖拽进终端自动生成路径)然后输入./configure等屏幕上一堆字刷完再输入make all继续等刷屏 大概十分钟以后应该就好了测试软件 进入解压目录下的examples文件夹看到有很多example01 example02等目录随便进一个 把run_example文件拖进终端窗口看运行是否正常也可以运行examples文件夹下的run_all_examples文件运行所有的示例计算结果在各自文件夹下的results目录里要清除计算结果 运行examples下的make clean文件本教程

6、应该适用于32位Ubuntu为基础的所有衍生版64位Ubuntu源里好像没有mpich,需要自己下源码编译l 一个台湾人写的安装教程(适用于Ubuntu8.10)转自Hialan 的嘴砲天地pwscf - ubuntu 8.10 安裝筆記 前幾天應數所的學弟玩 Linux 碰到問題,原來是不會裝這個.PWscf 是用來做工程及科學計算的,PWscf 的介紹如下,總之先幫他裝起來吧!PWscf 首頁上的介紹:PWscf (Plane-Wave Self-Consistent Field) is a computer code for electronic-structure calculatio

7、ns within Density-Functional Theory and Density-Functional Perturbation Theory, using pseudopotentials and a plane-wave basis set. PWscf is part of the Quantum ESPRESSOthe atomic scale. PWscf is released under the GNU General Public License. distribution of codes for the quantum simulation of matter

8、 at因為學弟的電腦是 Ubuntu 8.10 ,我也不知道在其他 distribution 可不可以依照相同的步驟安裝;這裡列出一些套件,找相對應的裝應該就差不多了吧。下載PWscfPWscf: /download.phpGUI 介面:PWGui: http:/www-k3.ijs.si/kokalj/pwgui/安裝 pwscf1. 預先安裝套件,請安裝下列套件,或 sudo apt-get install 套件名稱 即可編譯環境:build-essentialFFT: fftw-double-dev fftw-single-devMPI: libmp

9、ich1.0-devSSH: sshFortran: gfortran2. 設定MPICH,我們需要的是 ssh 自動登入,把其中設定 ssh 自動登入的步驟列舉如下基本步驟摘要 (只用於一台):打 cd /.ssh(注意 ssh 前面有一個點)進入使用者個人隱藏的 ssh 設定目錄(在 UNIX 下凡是名稱以一點作為開始的檔案及目錄,都會隱藏,只用 ls 看不見,要用 ls -a 才看得見)。打 ssh-keygen 產生 ssh 的鑰匙,它會問要輸入 passphrase,給不給都可以,之後你在目錄下看會到 id_rsa 及 id_rsa.pub 兩個檔案。把 id_rsa.pub 拷貝為

10、檔名叫作 authorized_keys 的檔案。/.ssh 底下的 id_rsa、id_rsa.pub、authorized_keys 等檔案,都要 chmod 成為群組 (g) 與其他 (o) 皆不可讀與寫。chmod g-w filename 、 chmod g-r filename ,比較快的方法是 chmod 500 filename。現在可以試著以 ssh usernamehostname (遠端)或 ssh localhost (本機)試著用 ssh 以不需要密碼的方式登入遠端或本機系統,如果不需要密碼可以登入,則表示設定成功。設置多台 ssh 可進入之免密碼機器組觀念是,遠端的

11、那台機器上之使用者的 .ssh 子目錄下之 authorized_keys 檔案之中要有記載想免密碼近端機器之公鑰匙。按上面的方法,先在近端機器的使用者目錄下產生 .ssh 子目錄以及其下相關檔案。把其中 id_rsa.pub 傳送到遠端,並利用 cat id_rsa.pub authorized_keys(注意是兩個大於號,代表追加)來把其內容加入到遠端機器的 authorized_keys 檔案中。測試從近端到遠端以 ssh 登入,看是否需要密碼。3. 打開終端機,cd espresso-4.0.44. ./configure5. make all安裝 pwgui6. tar zxvf P

12、Wgui-4.1CVS.tgz7. cd PWgui-4.1CVS8. 執行PWGui: ./pwgui註:後來發現 pwscf 的目錄裡本來就帶有 pwgui 了,或許可以直接執行 ./pwgui 測試看看可不可以使用。設定 pwgui設定 pwgui 可執行檔的路徑如下圖,此例中 pwscf 被解壓縮在這個目錄下:/home/labpc/PWgui/espreso-4.0.4/測試 pwscfpwscf 已經提供非常多 example 在原始碼裡面,在我們的路徑下為:/home/labpc/PWgui/espreso-4.0.4/examples/以 example01 為例:cd /ho

13、me/labpc/PWgui/espreso-4.0.4/ (此為解開之後的路徑)cd example01 ./run_example計算的結果會存在 results/ 目錄下面如何从MS中导出原子坐标?by Sunforever首先,在MS中完成建模然后用castep进行运算,参数随便,只要run一下就可以了,开始计算后马上把任务停掉去硬盘上你的计算任务路径下的/Documents目录,在文件夹选项里设置“显示隐藏文件”,找到.cell文件,用记事本打开打开后就可以看到原子坐标了。这里的坐标单位是晶胞长,坐标值是晶胞尺寸的分数。在PWscf中使用时要把单位改成crystal C 0.8902

14、5 0.70661 0.66403 C 0.89025 0.70661 0.66402 O 0.66667 0.33333 0.99997 O 0.33333 0.66667 0.99997 O 0.66666 0.33333 0.99997 O 0.33334 0.66669 0.99997 O 0.66667 0.33333 0.99997 O 0.33333 0.66667 0.99997 O 0.66666 0.33334 0.99997 O 0.33334 0.66667 0.99997 O 0.66667 0.33333 0.99997 O 0.33333 0.66667 0.99

15、998 O 0.66666 0.33333 0.99997 O 0.33334 0.66669 0.99998 O 0.66667 0.33333 0.99997 O 0.33333 0.66667 0.99998 O 0.66666 0.33334 0.99997 O 0.33334 0.66667 0.99998 Zn 0.66667 0.33333 0.00001 Zn 0.33333 0.66667 0.00000 Zn 0.66666 0.33333 0.00001 Zn 0.33334 0.66669 0.00000 Zn 0.66667 0.33333 0.00001 Zn 0.

16、33333 0.66667 0.00000 Zn 0.66666 0.33334 0.00001 Zn 0.33334 0.66667 0.00000 Zn 0.66667 0.33333 0.00001 Zn 0.33333 0.66667 0.00000 Zn 0.66666 0.33333 0.00001 Zn 0.33334 0.66669 0.00000 Zn 0.66667 0.33333 0.00001 Zn 0.33333 0.66667 0.00000 Zn 0.66666 0.33334 0.00001 Zn 0.33334 0.66667 0.00000PWscf输入文件

17、原子坐标部分示例如下:ATOMIC_POSITIONS crystal C 0.89025 0.70661 0.66403 C 0.89025 0.70661 0.66402 O 0.66667 0.33333 0.99997 O 0.33333 0.66667 0.99997 O 0.66666 0.33333 0.99997 O 0.33334 0.66669 0.99997 O 0.66667 0.33333 0.99997 O 0.33333 0.66667 0.99997 O 0.66666 0.33334 0.99997 O 0.33334 0.66667 0.99997 O 0.

18、66667 0.33333 0.99997 O 0.33333 0.66667 0.99998 O 0.66666 0.33333 0.99997 O 0.33334 0.66669 0.99998 O 0.66667 0.33333 0.99997 O 0.33333 0.66667 0.99998 O 0.66666 0.33334 0.99997 O 0.33334 0.66667 0.99998 Zn 0.66667 0.33333 0.00001 Zn 0.33333 0.66667 0.00000 Zn 0.66666 0.33333 0.00001 Zn 0.33334 0.66

19、669 0.00000 Zn 0.66667 0.33333 0.00001 Zn 0.33333 0.66667 0.00000 Zn 0.66666 0.33334 0.00001 Zn 0.33334 0.66667 0.00000 Zn 0.66667 0.33333 0.00001 Zn 0.33333 0.66667 0.00000 Zn 0.66666 0.33333 0.00001 Zn 0.33334 0.66669 0.00000 Zn 0.66667 0.33333 0.00001 Zn 0.33333 0.66667 0.00000 Zn 0.66666 0.33334

20、 0.00001 Zn 0.33334 0.66667 0.00000就这么简单运行castep那一步是为了生成cell文件,所以只要运行一下下就好感谢Cutie同学的指导l 如何进行结构优化?转自:/user1/11542/archives/2006/.shtml在pwscf中提供了两种优化方法对原子位置进行驰豫:a) BFGS quasi-newton algorithm, b)最速下降法(quick-min Verlet)。除非初始位置很接近平衡位置,一般采用BFGS准牛顿算法比较快。在结构优化时,calculation需设置为relax,下面相

21、关的参数有时也需要设置:一、在&control ./中设置优化的收敛标准参数、步数等nstep :优化的最大步数;tstress :设置True,表示要计算体系的应力;tprnfor:设置为True,表示要计算原子所受的力,在calculation=relax时,默认为.True.;etot_conv_thr:用来控制原子位置优化时,总能变化收敛的标准;默认值为1.0D-4 Ha;forc_conv_thr:用来控制原子位置优化时,原子所受力的收敛标准,默认值为1.0D-3 Ha/a.u,只有当etot_conv_thr和forc_conv_thr的标准都满足时,优化才停止;二、在&IONS.

22、/中设置优化方法中的相关参数在calculation=relax时,ion_dynamics设置为bfgs表示用BFGS准牛顿算法来进行优化,设置为damp表示用最速下降法来进行优化。pot_extrapolation:用来控制优化或电子迭代过程中势的混合方式,在原子位置优化时,最好设置为second_order,表示采用二阶方式来进行混合;wfc_extrapolation:用来控制优化或电子迭代过程中波函数的混合方式,在原子位置优化时,最好设置为second_order,表示采用二阶方式来进行混合;当设置了采用BFGS准牛顿算法来优化后,下面的参数需设置:upscale:用来控制conv_

23、thr在结构优化过程中最可能的缩小值,在优化快接近收敛时,conv_thr会自动减小以保证所计算的力仍然很精确,但是conv_thr并不会减小到conv_thr/upscale;bfgs_ndim:用来控制有多少个旧的力和位移矢量会用在残差矢量的Pulay混合中,其中残差矢量是基于BFGS算法中的Hessian矩阵的逆来得到的。设置为1,就是标准的BFGS准牛顿算法;trust_radius_max:离子优化过程中,离子每一步最大移动量;默认值为0.8D0;trust_radius_min:离子优化过程中,当trust_radius小于trust_radius_min 时,离子每一步最小移动量

24、; 默认值为 1.D-3;trust_radius_ini:默认值为 0.5D0,在原子位置优化计算中初始的离子位移量;w_1, w_2 :用在基于Wolfe条件的线性搜索方法中的参数。例子1:优化CO分子&CONTROL calculation = relax, prefix = CO, pseudo_dir = ./, outdir = ./,tprnfor=.true.forc_conv_thr=1.0D-4/&SYSTEM ibrav = 1, celldm(1) = 12.D0, nat = 2, ntyp = 2, ecutwfc = 24.D0, ecutrho = 144.D0

25、,/&ELECTRONS conv_thr = 1.D-7, mixing_beta = 0.7D0,/&IONS ion_dynamics=bfgs,pot_extrapolation = second_order, wfc_extrapolation = second_order,/ATOMIC_SPECIESO 1.00 O.LDA.US.RRKJ3.UPFC 1.00 C.pz-rrkjus.UPFATOMIC_POSITIONS bohrC 2.256 0.0 0.0O 0.000 0.0 0.0 0 0 0K_POINTS Gammal 如何进行自洽计算?PWSCF程序包(早期的叫

26、法),或称为ESPRESSO程序(改名后的叫法),它包括了多几个计算模块,主要的是电子自洽计算模块pw.x,晶格动力学计算模块(ph.x, phcg.x, dynmat.x,d3.x等),后续数据处理模块pp.x,电子输运性质计算模块pwcond.x,分子动力学模块cp.x等 一、自洽计算 例子:fcc Cu的自洽计算 &control calculation=scf restart_mode=from_scratch, pseudo_dir = ./, outdir=./ prefix=cu tstress = .true. tprnfor = .true. / &system ibrav

27、= 2, celldm(1) =6.73, nat= 1, ntyp= 1, ecutwfc = 25.0, ecutrho = 300.0 occupations=smearing, smearing=gaussian, degauss=0.02 / &electrons diagonalization=david conv_thr = 1.0e-8 mixing_beta = 0.7 / ATOMIC_SPECIES Cu 63.55 Cu.pz-d-rrkjus.UPF ATOMIC_POSITIONS Cu 0.0 0.0 0.0 K_POINTS (automatic) 8 8 8

28、0 0 0 解释: 在电子自洽计算中需设置以下几个方面的参数: 1)控制计算的部分,也就是要设置 &control . 第一个/之间的关键词。 关键词calculation赋值为scf表示此计算是进行自洽电荷密度计算; restart_mode表示是否是接着上一次的计算而继续的计算,赋值为from_scratch意味着是进行一次全新的计算开始; pseudo_dir用来设置赝势文件所在的目录,赋值为./表示赝势文件放在当前计算目录; outdir用来设置计算过程中输出文件(比如波函数、电荷密度以及势)输出到哪个目录中。赋值为./表示这些输出文件将放到当前计算目录中; prefix用来定义当前计

29、算作业的标题名,它将是一些主要输出文件的文件名。赋值为cu用来标记当前计算作业是对Cu进行计算; tstress 用来设置在自洽计算过程中是否计算体系的应力,设置为 .true.表示在自洽计算过程中要计算体系的应力; tprnfor 用来设置在自洽计算过程中是否计算体系中原子所受的力,设置为 .true.表示在自洽计算过程中要计算体系中原子所受的力; 2)、描述所计算的体系(包括它的晶格类型、晶格常数或结构参数、原胞基矢、原胞中原子的类型数目和总的原子数目)、平面波的切断动能(也就是在展开KS轨道或晶体波函数的平面波切断动能;另外,还包括在计算电荷密度时,展开的平面波的切断动能)、确定电子占有

30、数的方法及相关的参数。也就是由 &system . 第二/之间的关键词来设置。 ibrav用来归属体系所属的晶格类型,赋值为2表示所计算的体系是fcc结构; celldm(1)用来设置体系的第一个晶格常数,因为所计算的体系是fcc结构,只需设置celldm(1),相当于指定晶格常数a的值; nat用来指明体系的原胞中原子的总共数目,赋值为1表示所计算的原胞中只有一个原子; ntyp用来指明体系中原子类型的数目,赋值为1表示所计算的体系只有一种类型的原子; occupations用来设置确定电子占有数的方法,赋值为smearing表示采用smearing的方法来确定电子的占有数,随后须设置sme

31、aring和degauss关键词; smearing用来指明确定电子占有数的一种具体的smearing方法,赋值为gaussian表示采用Gaussian函数来确定电子占有数; degauss用来确定smearing方法中有关函数的展宽参数,赋值为0.02表示上面Gaussian函数中的展宽参数为0.02。 3)、设置电子自洽计算中本征矢量(波函数)和本征值的计算算法,自洽收敛的标准。也就是 &electrons . 和第三个/之间的关键词来设置。 diagonalization用来设置在求KS方程的本征矢量和本征值时,采用具体的什么算法,赋值为david表示采用Davidson iterat

32、ive diagonalization with overlap matrix方法; conv_thr用来设置自洽收敛标准,赋值为自洽循环过程总能的变化小于1.0e-8的化,那自洽计算就停止; mixing_beta用来设置自洽计算过程中前后两次电荷密度混合的参数。 4)、指明体系中原子的元素名,原子量以及所采用的赝势,即ATOMIC_SPECIES 后面的设置,它们的顺序要和后面原子的坐标一一对应起来。 Cu 63.55 Cu.pz-d-rrkjus.UPF 表示所计算的体系中原子是Cu,它的原子量为63.55,它的赝势文件为Cu.pz-d-rrkjus.UPF。 5)、给出体系原胞中原子的

33、坐标位置,也就是ATOMIC_POSITIONS 后面的设置: Cu 0.0 0.0 0.0 表示原胞中第一个原子是Cu,它位于原胞的原点。 6)、k点取样的设置,也就是K_POINTS 后面的设置: K_POINTS (automatic) 表示由程序采用M-P方法自动确定k点,需给出k点取样网格的大小,以及是否在产生k点后对这些点进行平移。 8 8 8 0 0 0 表示采用8x8x8的网格来确定k点,而且不对k点进行平移。 l 如何计算能带结构?转自:/user1/11542/archives/2006/.shtml计算fcc Cu的能带结构&co

34、ntrolcalculation=bandspseudo_dir = ./,outdir=./,prefix=cu/&systemibrav = 2, celldm(1) =6.73, nat= 1, ntyp= 1,ecutwfc = 25.0, ecutrho = 300.0, nbnd = 8/&electronsdiagonalization=david/ATOMIC_SPECIESCu 63.55 Cu.pz-d-rrkjus.UPFATOMIC_POSITIONSCu 0.0 0.0 0.0K_POINTS280.0 0.0 0.0 1.00.0 0.0 0.1 1.00.0 0.

35、0 0.2 1.00.0 0.0 0.3 1.00.0 0.0 0.4 1.00.0 0.0 0.5 1.00.0 0.0 0.6 1.00.0 0.0 0.7 1.00.0 0.0 0.8 1.00.0 0.0 0.9 1.00.0 0.0 1.0 1.00.0 0.0 0.0 1.00.0 0.1 0.1 1.00.0 0.2 0.2 1.00.0 0.3 0.3 1.00.0 0.4 0.4 1.00.0 0.5 0.5 1.00.0 0.6 0.6 1.00.0 0.7 0.7 1.00.0 0.8 0.8 1.00.0 0.9 0.9 1.00.0 1.0 1.0 1.00.0 0.

36、0 0.0 1.00.1 0.1 0.1 1.00.2 0.2 0.2 1.00.3 0.3 0.3 1.00.4 0.4 0.4 1.00.5 0.5 0.5 1.0解释:在进行能带计算时,calculation须设置为bands,而且在此之前须进行一次相应的自洽计算,而且要有上一步计算得到输出文件供能带计算时读入。另外最好在&system中设置nbnd,以指定计算多少条能带。在计算能带时要自己先选定一些高对称点,并产生这些高对称点之间其他点。在这个例子中,计算沿G-X-L点之间的高对称线上的能带。在产生所要计算的特殊k点时,可以采用下面简单的f77程序来实现:c +-c For gener

37、ating k-points along the high-symmetry lines inc Brillouin zone and for calculate band-structures !c +-C -syml-c 6 : nhighkc 20 20 20 10 20 : ndiv(i)c X 0.5 0.0 0.5 : labhk(1),phighk(1,1),.c G 0.0 0.0 0.0c L 0.5 0.5 0.5c W 0.5 0.25 0.75c K 0.375 0.375 0.75c G 0.0 0.0 0.0c direct & reciprocal lattice

38、 vectors over emin, emax lineC -c max k-points = 200program gkimplicit real*8 (a-h,o-z)character*2 labhkdimension tkpt(200,3),pk(200,3),phighk(10,3)dimension disk(200),dish(10),labhk(10)dimension ndiv(10)copen(5,file=syml,status=old)open(7,file=inp.kpt)cread(5,*) nhighkread(5,*) (ndiv(i),i=1,nhighk-

39、1)do i=1,nhighk-1ntkp=ntkp+ndiv(i)enddontotkpt=ntkp+1 if(nhighk10)thenwrite(*,*)Number of high-symmetry k points must 200)thenwrite(*,*)Total number of k points must = 200!STOPendifdo i=1, nhighkread(5,*) labhk(i),(phighk(i,j),j=1,3)enddowrite(*,*) (labhk(i),i=1,nhighk)cc- generating k-points along

40、high symmetric lines -ccpk(1,1)=phighk(1,1)pk(1,2)=phighk(1,2)pk(1,3)=phighk(1,3)ii=1do i = 2, nhighkdelx = (phighk(i,1) - phighk(i-1,1)/float(ndiv(i-1)dely = (phighk(i,2) - phighk(i-1,2)/float(ndiv(i-1)delz = (phighk(i,3) - phighk(i-1,3)/float(ndiv(i-1)do j=1, ndiv(i-1)ii = ii + 1pk(ii,1) = pk(ii-1

41、,1) + delxpk(ii,2) = pk(ii-1,2) + delypk(ii,3) = pk(ii-1,3) + delzenddoenddoc10 format(A34)weight=1.d0do i=1,ntotkptwrite(7,200) pk(i,1),pk(i,2),pk(i,3),weightenddo200 format(3F10.6,F6.2)stopendc- end -它的输入文件为syml,输出文件为inp.kpt。其中syml输入文件的格式如下:8 15 15 15 15 15 15 15G 0.0 0.0 0.0K -0. 0.67 0.H -0. 0.6

42、7 0.A 0.0 0.0 0.5G 0.0 0.0 0.0M 0.0 0.5 0.0L 0.0 0.5 0.5A 0.0 0.0 0.5第一行用来标记有多少个特殊k点,下面是这些特殊k点之间每个要分多少个k点,接着就是这些特殊k点的坐标。产生的inp.kpt可以之间拷贝到pw.x在计算能带时的输入文件中。如何画能带图?转自:/user1/11542/archives/2007/.shtmlpwscf 附带了band.x和plotband.x的工具,前者是将计算出来k点坐标以及相应的本征值从out文件中收集起来(或取出)专门存储到一个文件中,以便后一个

43、工具plotband.x进行处理。在计算能带时,先设置k点网格进行一次自洽计算,然后自己输入要计算的特殊k点并进行一次非自洽计算,得到这些特殊k点的本征值。再用band.x和ploband.x进行处理。1). band.x的输入文件格式&inputppprefix = sioutdir = ./tmpfilband = sibands.datspin_component=1/其中 prefix设置所计算体系的标题,以及输入文件的文件名(不包括扩展名,也就是. dot后面的);outdir用来设置上一步非自洽计算中的输出文件的目录;filband用来设置这一步band.x处理出来的k点和本征值的

44、输出文件(也就是将这些k点-本征值放到哪个文件中);spin_component为1表示处理的是非自旋极化计算的本征值,如果是2表示处理的是自旋极化计算的本征值。band.x的输出文件(fiband所设置的)的格式为:&plot nbnd= 8, nks= 36 /0. 0. 0.-3.418 -0.822 5.029 5.029 7.814 9.597 9.597 13.8380. 0. 0.-3.891 -0.102 5.102 5.102 7.900 9.679 9.679 13.9590. 0. 0.-4.659 1.404 5.319 5.319 8.138 9.803 9.803

45、13.845。与在声子计算中matdyn.x得到的q点与本征值的文件的格式是一样的。第一行中nbnd告诉了每个有多少个本征值,本征值单位是eV。nks告诉了总共有多少k点。第2行是k点的坐标,第3行是该k点对应的本征值。下面的与2、3两行类似。2)、plotband.x的输入文件格式sibands.dat-6.0 10sibands.xmgrsibands.ps6.2551.0 6.255第一行是band.x处理得到的k点本征值文件此例子中是sibands.dat;第二行是在这一步中输出的ps文件中纵坐标(本征值能量)刻度的最小值与最大值;第三行是用来设置所出输出xmgr格式的文件的文件名;第

46、四行是用来设置所输出文件ps格式的文件名;第五行是费米能级的值,这个在自洽计算的out文件中可以找到;第六行中第一个数是用来设置输出 ps格式文件纵坐标(能量)刻度的大小,第二个数是用来设置标出费米能级的位置,它与第五行中的数相同。同样ploband.x也可以用来处理声子本征值文件。如何计算态密度?转自:/user1/11542/archives/2006/.shtml例子,计算Cu的态密度 一、自洽计算(见前一个例子) 二、非自洽计算,增加k点,并采用四面体方法来确定电子的占有数 &control calculation=nscf prefix=cu

47、, pseudo_dir = ./, outdir=./ / &system ibrav=2, celldm(1) =6.73, nat=1, ntyp=1, ecutwfc = 25.0, ecutrho = 300, nbnd=8, occupations=tetrahedra / &electrons conv_thr = 1.0e-8 mixing_beta = 0.7 / ATOMIC_SPECIES Cu 63.55 Cu.pz-d-rrkjus.UPF ATOMIC_POSITIONS Cu 0.0 0.0 0.0 K_POINTS automatic 12 12 12 0 0

48、0 三、采用dos.x计算总态密度 &inputpp outdir=./ prefix=cu fildos=cu.dos, Emin=-5.0, Emax=25.0, DeltaE=0.1 / 四、采用projwfc.x来计算分波态密度 &inputpp outdir=./ prefix=cu Emin=-5.0, Emax=25.0, DeltaE=0.1 ngauss=1, degauss=0.02 / 在计算态密度的步骤就是如上面所述:a),先进行自洽计算,保留输出的势、电荷密度和波函数;b),然后读入上一步自洽计算得到的势或电荷密度或波函数,进行非自洽计算,其中增加k点网格,并采用四面

49、体方法来确定电子占有数; c),采用dos.x计算总态密度;d),采用projwfc.x计算分波态密度。 在自洽计算中occupations关键词的赋值已设置为tetrahedra表示采用四面体方法确定电子占有数和费米能级。另外,K_POINTS automatic 下面的k点设置已增密,设置为12x12x12,为使得计算的态密度光滑,有可能需设置的更密些。 在采用dos.x总态密度计算中,输入文件中由&inputpp 和/来之前的关键词来设置,它的关键词有: outdir用来设置计算上非自洽计算输出文件的目录,设置为./表示是当前目录; prefix用来标记当前所计算的体系,也确定了上一步非

50、自洽计算输出的势或电荷密度或波函数的文件的名称,此例子中设置为cu,注意它们的赋值应该与上一步的非自洽计算中的一致。 fildos用来指明所计算的总态密度将写到哪个文件中,此例子中赋值为cu.dos,表示总态密度将写到cu.dos文件; Emin用来设置计算态密度时,能量范围的最小值,赋值为-5.0,表示将从E=-5.0 eV开始输出对应的态密度值; Emax用来设置计算态密度时,能量范围的最大值,赋值为25.0,表示将到E=25.0eV为止输出对应的态密度; DeltaE用来设置计算态密度时,按多大的能量间隔输出态密度,这里设为0.1eV输出态密度。 在采用projwfc.x计算态密度时,&inputpp 和/来之前的关键词来设置,它的关键词与dos.x的输入文件中的关键词差不多: ngauss用来设置态密度时展宽的方法,这样是为了使得所计算的态密度看起来光滑,可以赋值: 0,表示采用简单的高斯函数 1,表示采用一阶Methfessel-Paxton函数 -1,表示采用Marzari-Vanderbilt“冷离散“方法,其实就是一种函数形式 -99,表示采用Fermi-Dirac函数 degauss

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论