高斯freq改变温度压强等计算热力学数据
(2014-11-05 09:59:05)
标签:
股票 |
分类: Gaussian |
方法一:使用下面的输入文件即可,关键词freq(readiso,readfc)。
%chk=chk.chk
#B3LYP chkbasis freq(readiso,readfc) geom=allcheck guess=read
500.0
1.0
(足够多的空行)
方法二:使用下面的输入文件即可,关键词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大气压,修正系数1,默认原子质量(默认同位素丰度的平均质量)时的热力学数值。后者简单得到4个能量。
方法三有一点不方便的是,仅给出修正能量,需要用SCF Done的能量与这个相加,才可以得到对应的能量。
方法三中freqchk的参数的意义,可直接运行 freqchk,可以有提示,一步一步完成上面的操作。
方法四:直接使用log文件中的频率数值,用热力学公式直接计算不同温度下的数值(可编程完成)。
前三种方法,都必须使用chk。对于没有chk的情况,只能使用方法四。
最后,以第三种方法为例,提供Linux下计算多个温度热力学数值的一个小脚本,需要一个计算了freq的chk文件(文件名chk.chk),脚本文件runT.sh,内容如下。运行时输入 sh runT.sh “300 400 500 ”即可得到300,400,500K的热力学数值。注意需要计算的所有温度要在一个引号里面。
#! /bin/bash
for T in $1
do
echo “−−−−−−−−”$T” K−−−−−−−−−−”
freqchk chk.chk N $T 1 1 Y N | grep -A3 Hartree
done
---------------------
根据上面的内容,可以很容易地扩展到不同压力,频率因子等等较为复杂情况的计算。
by ding (dingxl@iccas.ac.cn)
http://blog.sciencenet.cn/blog-482864-504434.html