| 14 | 1/1 | 返回列表 |
| 查看: 3540 | 回復(fù): 13 | |||||
| 【獎(jiǎng)勵(lì)】 本帖被評(píng)價(jià)8次,作者sobereva增加金幣 6.2 個(gè) | |||||
sobereva至尊木蟲 (著名寫手)
|
[資源]
提取Gaussian的rwf文件信息的工具rwfdump簡(jiǎn)介 已有5人參與
|
||||
|
提取Gaussian的rwf文件信息的工具rwfdump簡(jiǎn)介 Gaussian程序是由一個(gè)個(gè)獨(dú)立的Link子程序組成的,完成一個(gè)計(jì)算任務(wù)需要各種Link按照指定順序和特定選項(xiàng)依次被調(diào)用,如同一條作業(yè)流水線。在每個(gè)Link之間傳遞臨時(shí)數(shù)據(jù)最主要依靠的是rwf文件,即讀寫文件,這個(gè)文件在計(jì)算任務(wù)一開始被初始化,隨著計(jì)算的進(jìn)行,不斷地被填進(jìn)更多的信息,如果沒(méi)有通過(guò)%rwf=xxx來(lái)指定rwf文件保存的位置,在任務(wù)正常結(jié)束時(shí)會(huì)被自動(dòng)刪除。rwf文件里面儲(chǔ)存的信息過(guò)于豐富,尤其是后HF計(jì)算中要需要儲(chǔ)存積分變換數(shù)據(jù),會(huì)十分龐大,不便于在硬盤上長(zhǎng)期保存和拷貝。為了解決這個(gè)問(wèn)題,rwf文件中一部分最重要的信息會(huì)在checkpoint文件(chk文件)中留有一個(gè)副本。由于chk文件只保留了rwf中的精華數(shù)據(jù),因此體積比較小,而且通過(guò)formchk工具可以轉(zhuǎn)換為文本格式,能夠方便地從中提取有用信息進(jìn)行進(jìn)一步分析。另外,重新啟動(dòng)中斷的任務(wù)也需要chk文件中的一部分信息。 rwf文件包含很多“子文件”,分別存放不同類別的信息,我更愿意將之稱為一個(gè)個(gè)槽位,畢竟rwf文件在硬盤上是作為一個(gè)而不是多個(gè)文件來(lái)保存的。每個(gè)槽位有一個(gè)對(duì)應(yīng)編號(hào),保存的內(nèi)容可以參考http://www.gaussian.com/g_tech/g_ur/e_progdev.htm當(dāng)中的RWF Numbers部分。以下是從其中截取的一部分 P 501 Gen array. P 502 /LABEL/—Title and atomic orbital labels. 503 Connectivity information (MxBond,0),NBond(NAtoms),IBond(MxBond,NAtoms),RBond(MxBond,NAtoms), where arrays are rounded to a multiple of IntPWP. 504 Dipole derivative matrices (NTT,3,NAt3). P 505 Array of copies of /Gen/ from potential surface scan. P 506 Saved basis set information before massage, uncontraction, etc. P 507 ZMAT/ and /ZSUBST/. P 508 /IBF/ Integral Bugger Format. 509 Incomplete integral buffer. T 510 /FPINFO/ Fletcher-Powell optimization program data. P 511 /GRDNT/ energy, First and second derivatives over variables, NVAR. P 512 Pseudo-potential information. P 513 /DIBF/ integral derivative buffer format. 514 Overlap matrix, optionally followed by absolute overlap and absolute overlap over primitives. 開頭有P的,代表這類信息也同時(shí)儲(chǔ)存在了chk文件里;有T的,說(shuō)明這類信息在任務(wù)執(zhí)行過(guò)程中被儲(chǔ)存在chk文件里,以備重新啟動(dòng)任務(wù)之需,但是由于普遍價(jià)值不大,在任務(wù)正常結(jié)束后就會(huì)從chk文件中刪掉;而開頭是空的信息,說(shuō)明只存在于rwf文件中而在chk文件中沒(méi)有副本。 也就是說(shuō),那些沒(méi)寫P的信息沒(méi)辦法在任務(wù)結(jié)束后從chk文件里找到。然而這些信息有時(shí)候卻很有用,在后續(xù)分析時(shí)可能要用到,比如基函數(shù)間的重疊積分矩陣。好在基函數(shù)間重疊矩陣通過(guò)guess=only iop(3/33=1)可以直接迅速輸出出來(lái),然而其它的一些信息,有的就沒(méi)有對(duì)應(yīng)IOp可以輸出,或者有對(duì)應(yīng)的命令能輸出之,但是還得把耗時(shí)的過(guò)程重新算一次才能輸出出來(lái),很不方便。 Gaussian中自帶了一個(gè)頗有用的小程序rwfdump,它就在Gaussian安裝目錄下,專門用來(lái)將rwf文件中指定槽位中的信息提取出來(lái)并轉(zhuǎn)化為可讀的文件。可惜這個(gè)小程序并未在Gaussian用戶手冊(cè),乃至程序員手冊(cè)中提及,導(dǎo)致被很多人忽視。本質(zhì)上,rwf文件指定槽位的信息是通過(guò)Gaussian代碼中FileIO子程序進(jìn)行讀寫的,rwfdump這個(gè)工具就是給FileIO子程序加個(gè)殼,使之成為能夠獨(dú)立運(yùn)行的程序罷了。 rwfdump通過(guò)命令行調(diào)用,語(yǔ)法是:rwfdump a.rwf a.txt iiix 其中a.rwf是被提取信息的rwf文件。a.txt是提取出的信息儲(chǔ)存的地方,如果輸出文件名只寫為一個(gè)橫杠-,那么就直接輸出到屏幕上。iii是rwf是信息的槽位編號(hào)。x控制輸出數(shù)據(jù)的數(shù)據(jù)類型,I代表十進(jìn)制整數(shù),H代表十六進(jìn)制數(shù),R代表浮點(diǎn)數(shù),A代表ASCII文本。 例如,從官方的表格中查到540號(hào)槽位儲(chǔ)存的是Molecular alpha-beta overlap (U), real,也就是非限制性計(jì)算中alpha軌道和beta軌道間的重疊積分,想提取它就可以輸入比如 rwfdump c:\idol-master\a.rwf d:\sob\BLOOD-C.txt 540R 這里用的例子是uhf/sto-3g下計(jì)算的三重態(tài)乙酸。打開d:\ltwd\BLOOD-C.txt,在一開始會(huì)看到一堆類似這樣的信息 Number 534 536 538 540 551 552 559 562 Base 121856 122368 129024 128000 104960 103936 107520 98304 End 122156 122668 129324 128576 104985 103950 107521 103801 End1 122368 122880 129536 129024 105472 104448 108032 103936 Wr Pntr 121856 122368 129024 128000 104960 103936 107520 98304 Rd Pntr 121856 122368 129024 128000 104960 103936 107520 98304 Length 300 300 300 576 25 14 1 5497 這些信息是rwf文件里各個(gè)槽位的匯總,包括起始偏移量(Base)、終止偏移量(End)、長(zhǎng)度(length,即End與Base之差)、寫/讀的指針位置(Wr/Rd Pntr),單位都是word(8字節(jié),即一個(gè)雙精度浮點(diǎn)數(shù)的大。?梢钥吹剑540號(hào)槽位的長(zhǎng)度是576。由于提取的數(shù)據(jù)類型是浮點(diǎn)數(shù),因此下面將出現(xiàn)576個(gè)數(shù)據(jù),對(duì)應(yīng)于這個(gè)體系中總共24個(gè)alpha軌道與24個(gè)beta軌道間的重疊積分。 以下內(nèi)容是那576個(gè)數(shù)據(jù)開頭的一部分 Dump of file 540 length 576 (read left to right): 0.99999749D+00 0.29425608D-03 0.26009204D-04 0.58930395D-06 -0.17093304D-02 0.75910206D-03 0.36841903D-03 0.63739342D-03 0.15016508D-03 -0.60968183D-08 -0.53159908D-03 0.21762391D-09 -0.82064171D-04 0.77445410D-04 -0.49774090D-09 -0.19852883D-04 -0.58360576D-08 0.67017502D-04 0.40140158D-03 -0.10351407D-03 0.13467769D-08 -0.14894984D-03 0.86191700D-04 0.61374239D-03 -0.29426013D-03 0.99999992D+00 0.15971966D-04 0.65829259D-06 -0.47920802D-04 -0.20630445D-03 0.50406617D-04 0.75184201D-04 -0.53428238D-04 -0.15868756D-08 -0.33577428D-04 ... -0.53159908D-03這種表示代表-0.00053159908,D是Fortran雙精度浮點(diǎn)數(shù)中代表10的多少次方的意思。在自旋極化體系的非限制性計(jì)算中,alpha軌道與alpha軌道間正交歸一,beta與beta軌道間正交歸一,但alpha與beta軌道間沒(méi)有正交歸一的限制,因此這些數(shù)據(jù)中并不是1或0。接近0的表明相應(yīng)alpha和beta軌道重疊積分很小,接近正交。而接近1的,可以認(rèn)為是幾乎配對(duì)、相互重合的alpha和beta軌道。rwfdump只是把數(shù)據(jù)簡(jiǎn)單提取出來(lái),并沒(méi)有自動(dòng)排成舒服、容易由人類讀取的格式,哪個(gè)數(shù)值對(duì)應(yīng)哪兩個(gè)alpha和beta軌道間重疊積分很難看出。實(shí)際上,在筆者的Multiwfn程序(http://codeplex.multiwfn.com)中有計(jì)算alpha和beta軌道間重疊積分矩陣的功能,載入wfn或fch文件后進(jìn)入主功能100選5就行了,經(jīng)過(guò)計(jì)算后會(huì)輸出諸如這樣的信息 1 2 3 4 5 1 0.999997D+00 -0.294260D-03 0.204458D-05 -0.251504D-04 0.101833D-02 2 0.294256D-03 0.100000D+01 0.987506D-06 -0.157908D-04 0.150142D-03 3 0.260092D-04 0.159720D-04 -0.103676D+00 0.994608D+00 0.892031D-03 4 0.589304D-06 0.658293D-06 0.994611D+00 0.103676D+00 -0.148590D-04 5 -0.170933D-02 -0.479208D-04 0.995302D-04 -0.832881D-03 0.847507D+00 6 0.759102D-03 -0.206304D-03 0.390161D-04 -0.322454D-03 0.529753D+00 ... 其中i行j列代表第i個(gè)alpha軌道與第j個(gè)beta軌道的重疊積分。Multiwfn給出的數(shù)據(jù)可以與rwfdump輸出的相互對(duì)應(yīng),rwfdump的橫著的一行一行的數(shù)據(jù)對(duì)應(yīng)于Multiwfn輸出的一列一列的數(shù)據(jù)。 另外,rwfdump也能用來(lái)從chk文件中直接提取指定槽位的數(shù)據(jù)。例如,從rwf槽位對(duì)照表中得知501儲(chǔ)存的是Gen數(shù)組(這個(gè)數(shù)組包含的是各種各樣的標(biāo)量數(shù)據(jù)),由于前面寫著P,表明它不僅保存在rwf文件里也保存在chk文件里,因此就可以從chk文件里提取它,即運(yùn)行比如rwfdump c:\ltwd\a.chk h:\K-ON\touhou.txt 501R 提取出的Gen數(shù)組的前幾行是 0.20068411D+01 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.20297583D+03 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.81962558D-08 0.20000118D+01 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.00000000D+00 0.40442442D+01 0.00000000D+00 0.00000000D+00 -0.22469385D+03 0.00000000D+00 0.00000000D+00 0.00000000D+00 通過(guò)查閱Gaussian程序員手冊(cè)得知Gen數(shù)組第32個(gè)數(shù)是SCF能量,這里即-0.22469385D+03,它與Gaussian輸出文件中顯示的E(UHF) = -224.693847643是完全對(duì)應(yīng)的。 |
量化學(xué)習(xí)資料 | 計(jì)算 | 淘貼 |
鐵桿木蟲 (職業(yè)作家)
禁蟲 (文壇精英)
禁言 (正式寫手)
|
本帖內(nèi)容被屏蔽 |


| 14 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 284求調(diào)劑 +14 | junqihahaha 2026-03-26 | 15/750 |
|
|---|---|---|---|---|
|
[考研] 070300一志愿211,312分求調(diào)劑院校 +4 | 小黃鴨寶 2026-03-30 | 4/200 |
|
|
[考研] 化學(xué)工程085602 305分求調(diào)劑 +25 | RichLi_ 2026-03-25 | 25/1250 |
|
|
[考研] 309求調(diào)劑 +10 | 誰(shuí)不是少年 2026-03-29 | 10/500 |
|
|
[考研] 327求調(diào)劑 +4 | 小卡不卡. 2026-03-29 | 4/200 |
|
|
[考研] 【求調(diào)劑】085601材料工程專碩 | 總分272 | +7 | 腳滑的守法公民 2026-03-27 | 7/350 |
|
|
[考研] 調(diào)劑310 +12 | 溫柔的晚安 2026-03-25 | 13/650 |
|
|
[考研] 一志愿北京理工大學(xué)本科211材料工程294求調(diào)劑 +8 | mikasa的圍巾 2026-03-28 | 8/400 |
|
|
[考研] 0856求調(diào)劑 +13 | zhn03 2026-03-25 | 14/700 |
|
|
[考研] 316求調(diào)劑 +7 | 江辭666 2026-03-26 | 7/350 |
|
|
[考研]
|
y7czhao 2026-03-26 | 10/500 |
|
|
[考研] 322求調(diào)劑 +5 | 舊吢 2026-03-24 | 5/250 |
|
|
[考研] 339求調(diào)劑,想調(diào)回江蘇 +6 | 烤麥芽 2026-03-27 | 8/400 |
|
|
[考研] 086000調(diào)劑 +3 | 7901117076 2026-03-26 | 3/150 |
|
|
[考研] 085600材料與化工調(diào)劑 +10 | A-哆啦Z夢(mèng) 2026-03-23 | 16/800 |
|
|
[考研] 材料求調(diào)劑 +5 | .m.. 2026-03-25 | 5/250 |
|
|
[碩博家園] 北京林業(yè)大學(xué)碩導(dǎo)招生廣告 +6 | kongweilin 2026-03-26 | 8/400 |
|
|
[考研] 359求調(diào)劑 +4 | 王了個(gè)楠 2026-03-25 | 4/200 |
|
|
[考研] 321求調(diào)劑 +6 | wasdssaa 2026-03-26 | 6/300 |
|
|
[考研] 285求調(diào)劑 +3 | AZMK 2026-03-24 | 3/150 |
|