高斯freq改變溫度壓強(qiáng)等計算熱力學(xué)數(shù)據(jù)

本文轉(zhuǎn)自丁迅雷的博客:http://blog.sciencenet.cn/blog-482864-504434.html
高斯freq改變溫度壓強(qiáng)等計算熱力學(xué)數(shù)據(jù)的方法
方法一,使用下面的輸入文件即可,關(guān)鍵詞freq(readiso,readfc)。
%chk=chk.chk
#B3LYP chkbasis freq(readiso,readfc) geom=allcheck guess=read
?
500.0 1.0???//溫度,壓強(qiáng),系數(shù)
(足夠多的空行)
?
方法二,使用下面的輸入文件即可,關(guān)鍵詞freq(readfc) temperature。
%chk=chk.chk
#B3LYP chkbasis freq(readfc) temperature=500.0 geom=allcheck guess=read
?
方法三,使用高斯自帶工具freqchk
freqchk chk.chk N 300 1 1 Y N
或者
freqchk chk.chk N 300 1 1 Y N | grep -A3 Hartree
?
前者可從chk.chk文件中,得到300K,1大氣壓,修正系數(shù)1,默認(rèn)原子質(zhì)量(默認(rèn)同位素豐度的平均質(zhì)量)時的熱力學(xué)數(shù)值。后者簡單得到4個能量。
方法三有一點(diǎn)不方便的是,僅給出修正能量,需要用SCF Done的能量與這個相加,才可以得到對應(yīng)的能量。
方法三中freqchk的參數(shù)的意義,可直接運(yùn)行?freqchk,可以有提示,一步一步完成上面的操作。
?
方法四,直接使用log文件中的頻率數(shù)值,用熱力學(xué)公式直接計算不同溫度下的數(shù)值(可編程完成)。
前三種方法,都必須使用chk。對于沒有chk的情況,只能使用方法四。
?
最后,以第三種方法為例,提供Linux下計算 多個 溫度 熱力學(xué)數(shù)值的一個小腳本,需要一個計算了freq的chk文件(文件名chk.chk),腳本文件runT.sh,內(nèi)容如下。運(yùn)行時輸入?sh runT.sh “300 400 500 ”即可得到300,400,500K的熱力學(xué)數(shù)值。注意需要計算的所有溫度要在一個引號里面。
?------------以下為runT.sh的內(nèi)容----------------------
#! /bin/bash
for T in $1
do
echo “????????”$T” K??????????”
freqchk chk.chk N $T 1 1 Y N | grep -A3 Hartree
done
?
?
---------------------
?
根據(jù)上面的內(nèi)容,可以很容易地擴(kuò)展到不同壓力,頻率因子等等較為復(fù)雜情況的計算。
by ding (dingxl@iccas.ac.cn)