加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

高斯freq改变温度压强等计算热力学数据

(2014-11-05 09:59:05)
标签:

股票

分类: Gaussian
高斯freq改变温度压强等计算热力学数据的方法

方法一:使用下面的输入文件即可,关键词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文件中,得到300K1大气压,修正系数1,默认原子质量(默认同位素丰度的平均质量)时的热力学数值。后者简单得到4个能量。

方法三有一点不方便的是,仅给出修正能量,需要用SCF Done的能量与这个相加,才可以得到对应的能量。

方法三中freqchk的参数的意义,可直接运行 freqchk,可以有提示,一步一步完成上面的操作。

 

方法四:直接使用log文件中的频率数值,用热力学公式直接计算不同温度下的数值(可编程完成)。

前三种方法,都必须使用chk。对于没有chk的情况,只能使用方法四。

 

最后,以第三种方法为例,提供Linux下计算多个温度热力学数值的一个小脚本,需要一个计算了freqchk文件(文件名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)

 



http://blog.sciencenet.cn/blog-482864-504434.html

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有