|||
方法一,使用下面的输入文件即可,关键词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的热力学数值。注意需要计算的所有温度要在一个引号里面。
------------以下为runT.sh的内容----------------------
#! /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)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-22 16:21
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社