| 9 | 1/1 | 返回列表 |
| 查看: 4032 | 回復(fù): 8 | |||
valenhou001至尊木蟲 (職業(yè)作家)
|
[交流]
從VASP的OUTCAR提取xyz以及結(jié)構(gòu)優(yōu)化的軌跡 已有4人參與
|
|
將以下內(nèi)容考慮至一個文件,比如命名為getvaspxyz.sh,然后將它的屬性改為可執(zhí)行的, chmod +x getvaspxyz.sh。另外在linux下,還可能需要使用命令dos2unix來去掉文件里每行多余隱藏的字符:dos2unix getvaspxyz.sh。在含有OUTCAR文件的目錄下運行g(shù)etvaspxyz.sh,就可以取出原子的位置,以及原子所受的力。按xyz的格式輸出。 xyz格式的文件可以用Jmol等軟件來可視化。 一個缺點就是,如果所計算的體系所包含的原子個數(shù)比較多,另外結(jié)構(gòu)弛豫的步數(shù)比較多的話,在得到軌跡文件比較慢。 #!/bin/bash pwd1=`echo ${PWD##*/}` natom=`grep \'NIONS\' OUTCAR|tail -1 |awk \'{printf "%s\\n", $12}\'` last=`sed -n \'/total drift:/=\' OUTCAR |tail -1` iaf=`echo "$last - 2 - $natom" |bc -l ` echo $natom > opt.xyz sed -n "$iaf",+"$natom"p OUTCAR >>opt.xyz echo "The latest atomic positions are written to opt.xyz!" iptc=`grep \'ions per type =\' OUTCAR|tail -1 ` ipt=(`echo "${iptc##*=}"`) ats=(`grep \'VRHFIN =\' OUTCAR | sed -e \'s/=/ /g\' |sed -e \'s/:/ /g\'| awk \'{printf "%s\\n", $2}\' `) ntp=${#ipt[@]} i=2 for it in `seq 0 $((${ntp}-1))`;do for j in `seq 1 ${ipt[$it]}`;do i=`echo "$i +1 " |bc` elem=${ats[$it]} sed -i "$i s/^/$elem/" opt.xyz done done cp opt.xyz opt-"$pwd1".xyz nstep=(`sed -n \'/total drift:/=\' OUTCAR `) etot=(`grep \'energy without entropy=\' OUTCAR |awk \'{printf "%20.8f\\n", $4}\' `) myFile="trajec.xyz" if [ ! -e "$myFile" ]; then echo $natom > $myFile sed -i \'1d\' $myFile fi for k in `seq 0 $((${#nstep[@]}-1))`;do iaf=`echo "${nstep[k]} - 2 - $natom" |bc -l ` if [ $k -eq 0 ];then echo $natom > $myFile else echo $natom >> $myFile fi sed -n "$iaf",+"$natom"p OUTCAR >> $myFile i=`echo "$k * ($natom+2) + 2"|bc -l` sed -i "$i s/^/#Etotal: ${etot[k]} eV/" $myFile for it in `seq 0 $((${ntp}-1))`;do for j in `seq 1 ${ipt[$it]}`;do i=`echo "$i +1 " |bc` elem=${ats[$it]} sed -i "$i s/^/$elem/" $myFile done done done echo "The atomic positions in each optimization step are written to trajec.xyz!" cp trajec.xyz trajec-"$pwd1".xyz |
至尊木蟲 (正式寫手)
木蟲 (職業(yè)作家)
至尊木蟲 (職業(yè)作家)
木蟲 (職業(yè)作家)
木蟲 (著名寫手)
金蟲 (正式寫手)
至尊木蟲 (職業(yè)作家)
至尊木蟲 (職業(yè)作家)
|
在用jmol顯示這個腳本所提取出來的軌跡時。通過在jmol的控制臺使用如下命令: set vectorScale 5.0 set vectorsCentered set vectorSymmetry FALSE set vibrationPeriod 2.0 set vibrationScale 2.0 set defaults PyMOL vector ON vector 0.05 vibration ON 可以用來顯示原子所受的力的矢量。 或者將以上幾行命令放到一個文件比如名為"label.spt"的文件中,然后將該文件通過鼠標(biāo)拖到j(luò)mol已打開了原子軌跡顯示的窗口,那這些原子上就會顯示出相應(yīng)所受的力的矢量,以及原子沿著這個矢量上的振動,這樣可以很清楚地看到那個原子受的力是很大。 |
| 9 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 一志愿中國石油大學(xué)(華東) 本科齊魯工業(yè)大學(xué) 求調(diào)劑 +3 | snw石 2026-03-07 | 3/150 |
|
|---|---|---|---|---|
|
[考博] 26申博自薦 +7 | 烷基八氮- 2026-03-06 | 8/400 |
|
|
[考研] 求調(diào)劑 +4 | 呼呼?~+123456 2026-03-05 | 5/250 |
|
|
[考研] 哈爾濱理工大學(xué)2026年研究生調(diào)劑,材料科學(xué)與化學(xué)工程學(xué)院研究生調(diào)劑 +3 | xinliu866 2026-03-06 | 3/150 |
|
|
[考研] 化學(xué)專業(yè)調(diào)劑 +5 | 好好好1233 2026-03-04 | 6/300 |
|
|
[考研] 材料與化工354調(diào)劑 +4 | Lucy-xiao 2026-03-06 | 7/350 |
|
|
[考研] 化工282求調(diào)劑一志愿211 +5 | NA0912 2026-03-05 | 6/300 |
|
|
[考研] 材料調(diào)劑 +5 | ws 上岸鴨 2026-03-05 | 5/250 |
|
|
[考研] 調(diào)劑材料學(xué)碩 +6 | 詞凝Y 2026-03-02 | 6/300 |
|
|
[考研] 化學(xué)工程求調(diào)劑 +10 | 化工人999 2026-03-04 | 10/500 |
|
|
[考研] 求調(diào)劑 +7 | 博斯特525 2026-03-04 | 7/350 |
|
|
[考研] 學(xué)碩材料275調(diào)劑 +9 | 路三三 2026-03-03 | 9/450 |
|
|
[考研] 291求調(diào)劑 +3 | 咕嚕咕嚕123123 2026-03-02 | 4/200 |
|
|
[論文投稿]
EST拒稿重投
5+3
|
15102603076 2026-03-02 | 3/150 |
|
|
[考研] 298求調(diào)劑一志愿中海洋 +3 | lour. 2026-03-03 | 3/150 |
|
|
[考研]
材料270求調(diào)劑
6+6
|
Eiiiio 2026-03-01 | 11/550 |
|
|
[考研] 268求調(diào)劑 +6 | 好運連綿不絕 2026-03-02 | 6/300 |
|
|
[考研] 338求調(diào)劑 +5 | 18162027187 2026-03-02 | 6/300 |
|
|
[考研] 調(diào)劑 +3 | 13853210211 2026-03-02 | 4/200 |
|
|
[考研] 291分工科求調(diào)劑 +9 | science餓餓 2026-03-01 | 10/500 |
|