| 9 | 1/1 | 返回列表 |
| 查看: 4036 | 回復(fù): 8 | |||
valenhou001至尊木蟲 (職業(yè)作家)
|
[交流]
從VASP的OUTCAR提取xyz以及結(jié)構(gòu)優(yōu)化的軌跡 已有4人參與
|
|
將以下內(nèi)容考慮至一個(gè)文件,比如命名為getvaspxyz.sh,然后將它的屬性改為可執(zhí)行的, chmod +x getvaspxyz.sh。另外在linux下,還可能需要使用命令dos2unix來去掉文件里每行多余隱藏的字符:dos2unix getvaspxyz.sh。在含有OUTCAR文件的目錄下運(yùn)行g(shù)etvaspxyz.sh,就可以取出原子的位置,以及原子所受的力。按xyz的格式輸出。 xyz格式的文件可以用Jmol等軟件來可視化。 一個(gè)缺點(diǎn)就是,如果所計(jì)算的體系所包含的原子個(gè)數(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顯示這個(gè)腳本所提取出來的軌跡時(shí)。通過在jmol的控制臺(tái)使用如下命令: 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 可以用來顯示原子所受的力的矢量。 或者將以上幾行命令放到一個(gè)文件比如名為"label.spt"的文件中,然后將該文件通過鼠標(biāo)拖到j(luò)mol已打開了原子軌跡顯示的窗口,那這些原子上就會(huì)顯示出相應(yīng)所受的力的矢量,以及原子沿著這個(gè)矢量上的振動(dòng),這樣可以很清楚地看到那個(gè)原子受的力是很大。 |
| 9 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 復(fù)試調(diào)劑 +5 | 呼呼?~+123456 2026-03-08 | 6/300 |
|
|---|---|---|---|---|
|
[考研] 材料與化工 一志愿山大 321分 求調(diào)劑 +4 | 每天散步 2026-03-09 | 5/250 |
|
|
[考研] 化工284求調(diào)劑 +9 | 小黑想變白 2026-03-07 | 9/450 |
|
|
[考研] 一志愿中科大材料與化工。353分能調(diào)劑到哪? +3 | MayUxw1 2026-03-08 | 3/150 |
|
|
[考研] 337求調(diào)劑 +3 | 睡醒,。 2026-03-09 | 3/150 |
|
|
[考研] 一志愿東北大學(xué)080500,英一數(shù)二343分求調(diào)劑 +7 | Seele_v5 2026-03-04 | 7/350 |
|
|
[考博] 26申博自薦 +9 | 烷基八氮- 2026-03-06 | 11/550 |
|
|
[考研] 醫(yī)學(xué)檢驗(yàn)專業(yè)26考研求調(diào)劑 +3 | 琪ya 2026-03-03 | 5/250 |
|
|
[考研] 求調(diào)劑 +3 | 拾柒12。 2026-03-08 | 3/150 |
|
|
[考研] 085700資環(huán)求調(diào)劑,初始279,六級(jí)已過,英語能力強(qiáng) +4 | 085700資環(huán)調(diào)劑 2026-03-03 | 5/250 |
|
|
[考研] 083000,總分284,求調(diào)劑 +5 | 徐yr 2026-03-04 | 5/250 |
|
|
[考研] 化學(xué)290求調(diào)劑 +3 | 兩顆 西柚 2026-03-07 | 4/200 |
|
|
[考研] 278求調(diào)劑 +5 | Gale1314 2026-03-06 | 5/250 |
|
|
[考研] 復(fù)試調(diào)劑 +7 | 呼呼?~+123456 2026-03-05 | 10/500 |
|
|
[考研] 085600材料調(diào)劑 總分330 +6 | 池池丶 2026-03-03 | 6/300 |
|
|
[考研] 316求調(diào)劑 +3 | 林小星發(fā)大財(cái) 2026-03-05 | 5/250 |
|
|
[考研] 材料調(diào)劑 +4 | L9370 2026-03-05 | 4/200 |
|
|
[考研] 301求調(diào)劑 +4 | 李LJR 2026-03-04 | 4/200 |
|
|
[考研] 307求調(diào)劑 +4 | xuyuan111 2026-03-04 | 5/250 |
|
|
[考研] 085601 材料工程 320 +6 | 和樂瑤 2026-03-03 | 6/300 |
|