PWscf常见问题解答.docx
《PWscf常见问题解答.docx》由会员分享,可在线阅读,更多相关《PWscf常见问题解答.docx(41页珍藏版)》请在冰豆网上搜索。
PWscf常见问题解答
PWscf常见问题解答
1.常用PWscf帮助文档及网址
UserGuide:
http:
//www.pwscf.org/guide.htm
官方用户指南,PWscf的编译、安装、使用、常见问题等信息非常全面,通俗易懂。
初学者必读。
结合examples使用
●Examples
PWscf安装目录下的Examples包含30多个常见实例,直接将run_example的shell脚本拖入终端即可运行。
运行后在results文件夹下可以看对应输入文件和输出结果。
可以参照示例写自己的输入文件。
●Doc
PWscf安装目录下的Doc文件夹内有许多html文件,内容包括各种输入文件中所有变量和标签的详细定义和规范,在写输入文件的时候一定要仔细阅读。
●PWscf邮件列表
http:
//www.democritos.it/mailman/listinfo/pw_users
在Google里搜索PWscf的问题排在第一的往往就是PWscf官方的邮件列表。
这里汇集了全球PWscf用户的常见问题及解答。
你的问题往往就在里面。
对于常见的小问题这里的答案往往简单明了,事半功倍。
有需要的同学可以订阅。
●大学及研究所的课件、讲义、ppt等(以下译自PWscf的wikiTutorialsandExamples)
Hands-onTutorialofQuantumEspresso
关于理论背景和计算实例的一些ppt
SchoolonElectronicStructureCalculationsandtheirapplicationsinMaterialsScience,25April-6May2005,
伊朗某大学关于计算材料学的课程的一些lectures
3.320AtomisticModelingofMaterials,
MIT的课件
MSE791KModelingfromthenanoscaletothemacroscale,
北卡州立大学的课件
QuantumEspressoSurvivalGuide
Lecturevideos
UIUC计算材料中心2006年夏令营的课件和视频
BuildingNanostructuresBitbyBit
康奈尔大学纳米科技中心2006年秋季研讨会的讲座和指南,包括平面波赝势法、密度泛函理论、分子动力学、纳米光学等方面的资料
VLabLectures
密度泛函理论和实例
2.如何安装编译PWscf?
●单机安装简易版(适用Ubuntu32位操作系统)fromSunforever
首先安装编译环境,确认联网并更新了软件源,在终端下输入:
sudoapt-getinstallgfortran
sudoapt-getinstallmpich-bin
然后去PWscf网站下载免费的源码包www.pwscf.org
解压到任意目录
在终端窗口进入解压目录,方法如下:
输入:
cd路径(可直接把文件夹拖拽进终端自动生成路径)
然后输入./configure
等屏幕上一堆字刷完再输入makeall
继续等刷屏大概十分钟以后应该就好了
测试软件进入解压目录下的examples文件夹
看到有很多example01example02等目录
随便进一个把run_example文件拖进终端窗口
看运行是否正常
也可以运行examples文件夹下的run_all_examples文件
运行所有的示例
计算结果在各自文件夹下的results目录里
要清除计算结果运行examples下的makeclean文件
本教程应该适用于32位Ubuntu为基础的所有衍生版
64位Ubuntu源里好像没有mpich,需要自己下源码编译
●一个台湾人写的安装教程(适用于Ubuntu8.10)转自Hialan的嘴砲天地
pwscf-ubuntu8.10安裝筆記
前幾天應數所的學弟玩Linux碰到問題,原來是不會裝這個...
PWscf是用來做工程及科學計算的,PWscf的介紹如下,總之先幫他裝起來吧!
PWscf首頁上的介紹:
PWscf(Plane-WaveSelf-ConsistentField)isacomputercodeforelectronic-structurecalculationswithinDensity-FunctionalTheoryandDensity-FunctionalPerturbationTheory,usingpseudopotentialsandaplane-wavebasisset.PWscfispartoftheQuantumESPRESSO
theatomicscale.PWscfisreleasedundertheGNUGeneralPublicLicense.distributionofcodesforthequantumsimulationofmatterat
因為學弟的電腦是Ubuntu8.10,我也不知道在其他distribution可不可以依照相同的步驟安裝;這裡列出一些套件,找相對應的裝應該就差不多了吧。
下載
PWscf
PWscf:
http:
//www.pwscf.org/download.php
GUI介面:
PWGui:
http:
//www-k3.ijs.si/kokalj/pwgui/
安裝pwscf
1.預先安裝套件,請安裝下列套件,或sudoapt-getinstall套件名稱即可
編譯環境:
build-essential
FFT:
fftw-double-devfftw-single-dev
MPI:
libmpich1.0-dev
SSH:
ssh
Fortran:
gfortran
2.設定MPICH,我們需要的是ssh自動登入,把其中設定ssh自動登入的步驟列舉如下
基本步驟摘要(只用於一台):
打cd~/.ssh(注意ssh前面有一個點)進入使用者個人隱藏的ssh設定目錄(在UNIX下凡是名稱以一點作為開始的檔案及目錄,都會隱藏,只用ls看不見,要用ls-a才看得見)。
打ssh-keygen產生ssh的鑰匙,它會問要輸入passphrase,給不給都可以,之後你在目錄下看會到id_rsa及id_rsa.pub兩個檔案。
把id_rsa.pub拷貝為檔名叫作authorized_keys的檔案。
~/.ssh底下的id_rsa、id_rsa.pub、authorized_keys等檔案,都要chmod成為群組(g)與其他(o)皆不可讀與寫。
chmodg-w[filename]、chmodg-r[filename],比較快的方法是chmod500[filename]。
現在可以試著以sshusername@hostname(遠端)或sshlocalhost(本機)試著用ssh以不需要密碼的方式登入遠端或本機系統,如果不需要密碼可以登入,則表示設定成功。
設置多台ssh可進入之免密碼機器組
觀念是,遠端的那台機器上之使用者的.ssh子目錄下之authorized_keys檔案之中要有記載想免密碼近端機器之公鑰匙。
按上面的方法,先在近端機器的使用者目錄下產生.ssh子目錄以及其下相關檔案。
把其中id_rsa.pub傳送到遠端,並利用catid_rsa.pub>>authorized_keys(注意是兩個大於號,代表追加)來把其內容加入到遠端機器的authorized_keys檔案中。
測試從近端到遠端以ssh登入,看是否需要密碼。
3.打開終端機,cdespresso-4.0.4
4../configure
5.makeall
安裝pwgui
6.tarzxvfPWgui-4.1CVS.tgz
7.cdPWgui-4.1CVS
8.執行PWGui:
./pwgui
註:
後來發現pwscf的目錄裡本來就帶有pwgui了,或許可以直接執行./pwgui測試看看可不可以使用。
設定pwgui
設定pwgui可執行檔的路徑如下圖,此例中pwscf被解壓縮在這個目錄下:
/home/labpc/PWgui/espreso-4.0.4/
測試pwscf
pwscf已經提供非常多example在原始碼裡面,在我們的路徑下為:
/home/labpc/PWgui/espreso-4.0.4/examples/
以example01為例:
cd/home/labpc/PWgui/espreso-4.0.4/(此為解開之後的路徑)
cdexample01
./run_example
計算的結果會存在results/目錄下面
如何从MS中导出原子坐标?
bySunforever
首先,在MS中完成建模
然后用castep进行运算,参数随便,只要run一下就可以了,开始计算后马上把任务停掉
去硬盘上你的计算任务路径下的/Documents目录,在文件夹选项里设置“显示隐藏文件”,找到.cell文件,用记事本打开
打开后就可以看到原子坐标了。
这里的坐标单位是晶胞长,坐标值是晶胞尺寸的分数。
在PWscf中使用时要把单位改成{crystal}
C0.50837246033890250.49485365985706610.3224282293666403
C0.50837246033890250.49485365985706610.8224282293666402
O0.166********666670.33333333333333330.1912999999999997
O0.33333333333333330.166********666670.4412999999999997
O0.66666666666666660.33333333333333330.1912999999999997
O0.83333333333333340.166********666690.4412999999999997
O0.166********666670.83333333333333330.1912999999999997
O0.33333333333333330.66666666666666670.4412999999999997
O0.66666666666666660.83333333333333340.1912999999999997
O0.83333333333333340.66666666666666670.4412999999999997
O0.166********666670.33333333333333330.6912999999999997
O0.33333333333333330.166********666670.9412999999999998
O0.66666666666666660.33333333333333330.6912999999999997
O0.83333333333333340.166********666690.9412999999999998
O0.166********666670.83333333333333330.6912999999999997
O0.33333333333333330.66666666666666670.9412999999999998
O0.66666666666666660.83333333333333340.6912999999999997
O0.83333333333333340.66666666666666670.9412999999999998
Zn0.166********666670.33333333333333330.0000000000000001
Zn0.33333333333333330.166********666670.2500000000000000
Zn0.66666666666666660.33333333333333330.0000000000000001
Zn0.83333333333333340.166********666690.2500000000000000
Zn0.166********666670.83333333333333330.0000000000000001
Zn0.33333333333333330.66666666666666670.2500000000000000
Zn0.66666666666666660.83333333333333340.0000000000000001
Zn0.83333333333333340.66666666666666670.2500000000000000
Zn0.166********666670.33333333333333330.5000000000000001
Zn0.33333333333333330.166********666670.7500000000000000
Zn0.66666666666666660.33333333333333330.5000000000000001
Zn0.83333333333333340.166********666690.7500000000000000
Zn0.166********666670.83333333333333330.5000000000000001
Zn0.33333333333333330.66666666666666670.7500000000000000
Zn0.66666666666666660.83333333333333340.5000000000000001
Zn0.83333333333333340.66666666666666670.7500000000000000
PWscf输入文件原子坐标部分示例如下:
ATOMIC_POSITIONS{crystal}
C0.50837246033890250.49485365985706610.3224282293666403
C0.50837246033890250.49485365985706610.8224282293666402
O0.166********666670.33333333333333330.1912999999999997
O0.33333333333333330.166********666670.4412999999999997
O0.66666666666666660.33333333333333330.1912999999999997
O0.83333333333333340.166********666690.4412999999999997
O0.166********666670.83333333333333330.1912999999999997
O0.33333333333333330.66666666666666670.4412999999999997
O0.66666666666666660.83333333333333340.1912999999999997
O0.83333333333333340.66666666666666670.4412999999999997
O0.166********666670.33333333333333330.6912999999999997
O0.33333333333333330.166********666670.9412999999999998
O0.66666666666666660.33333333333333330.6912999999999997
O0.83333333333333340.166********666690.9412999999999998
O0.166********666670.83333333333333330.6912999999999997
O0.33333333333333330.66666666666666670.9412999999999998
O0.66666666666666660.83333333333333340.6912999999999997
O0.83333333333333340.66666666666666670.9412999999999998
Zn0.166********666670.33333333333333330.0000000000000001
Zn0.33333333333333330.166********666670.2500000000000000
Zn0.66666666666666660.33333333333333330.0000000000000001
Zn0.83333333333333340.166********666690.2500000000000000
Zn0.166********666670.83333333333333330.0000000000000001
Zn0.33333333333333330.66666666666666670.2500000000000000
Zn0.66666666666666660.83333333333333340.0000000000000001
Zn0.83333333333333340.66666666666666670.2500000000000000
Zn0.166********666670.33333333333333330.5000000000000001
Zn0.33333333333333330.166********666670.7500000000000000
Zn0.66666666666666660.33333333333333330.5000000000000001
Zn0.83333333333333340.166********666690.7500000000000000
Zn0.166********666670.83333333333333330.5000000000000001
Zn0.33333333333333330.66666666666666670.7500000000000000
Zn0.66666666666666660.83333333333333340.5000000000000001
Zn0.83333333333333340.66666666666666670.7500000000000000
就这么简单
运行castep那一步是为了生成cell文件,所以只要运行一下下就好
感谢Cutie同学的指导
●如何进行结构优化?
转自:
在pwscf中提供了两种优化方法对原子位置进行驰豫:
a)BFGSquasi-newtonalgorithm,b)最速下降法(quick-minVerlet)。
除非初始位置很接近平衡位置,一般采用BFGS准牛顿算法比较快。
在结构优化时,calculation需设置为"relax",下面相关的参数有时也需要设置:
一、在&control.../中设置优化的收敛标准参数、步数等
nstep:
优化的最大步数;
tstress:
设置True,表示要计算体系的应力;
tprnfor:
设置为True,表示要计算原子所受的力,在calculation='relax'时,默认为.True.;
etot_conv_thr:
用来控制原子位置优化时,总能变化收敛的标准;默认值为1.0D-4Ha;
forc_conv_thr:
用来控制原子位置优化时,原子所受力的收敛标准,默认值为1.0D-3Ha/a.u,只有当etot_conv_thr和forc_conv_thr的标准都满足时,优化才停止;
二、在&IONS..../中设置优化方法中的相关参数
在calculation='relax'时,ion_dynamics设置为'bfgs'表示用BFGS准牛顿算法来进行优化,设置为'damp'表示用最速下降法来进行优化。
pot_extrapolation:
用来控制优化或电子迭代过程中势的混合方式,在原子位置优化时,最好设置为'second_order',表示采用二阶方式来进行混合;
wfc_extrapolation:
用来控制优化或电子迭代过程中波函数的混合方式,在原子位置优化时,最好设置为'second_order',表示采用二阶方式来进行混合;
当设置了采用BFGS准牛顿算法来优化后,下面的参数需设置:
upscale:
用来控制conv_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时,离子每一步最小移动量;默认值为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,
/
&ELECTRONS
conv_thr=1.D-7,
mixing_beta=0.7D0,
/
&ION