团簇&Gaussian分享 http://blog.sciencenet.cn/u/yanrding 量化计算/Gaussian/团簇/... ...

博文

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

已有 16302 次阅读 2011-11-4 10:11 |个人分类:Gaussian|系统分类:科研笔记| style, face, 温度, 热力学

高斯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)

 



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

上一篇:超氧和过氧
下一篇:GaussView画MO,density时的成键问题
收藏 IP: 219.234.148.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (5 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-12-22 16:21

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部