前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >XYG3型泛函的计算:xDH4Gau程序的使用简介

XYG3型泛函的计算:xDH4Gau程序的使用简介

作者头像
用户7592569
发布2024-01-02 11:13:37
1790
发布2024-01-02 11:13:37
举报
文章被收录于专栏:量子化学量子化学

关于XYG3型双杂化泛函的介绍,可参考苏乃强老师和徐昕老师的综述:

WIREs Comput Mol Sci 2016, 6:721–747

XYG3型泛函没有内置在主流的Gaussian、ORCA等程序中,因此需要一些其他方法来进行XYG3泛函的计算。我们曾经推送过两篇关于如何在Gaussian、PySCFORCA中实现XYG3泛函的计算。本文将在前文的基础上,更详细地介绍如何使用由张颖老师(XYG3泛函的主要开发者之一)开发的xDH4Gau程序来进行XYG3型双杂化泛函的计算。

一、程序下载

首先在张颖老师的Github上下载源代码:

代码语言:javascript
复制
https://github.com/igor-1982/xDH4Gau

下载的zip压缩包为xDH4Gau-master.zip,使用

代码语言:javascript
复制
unzip xDH4Gau-master.zip

命令进行解压,之后可将文件夹重命名为xDH4Gau。

二、程序安装与配置

xDH4Gau程序的运行需要Python3,因此要确保服务器上已经正确安装Python3。然后进入xDH4Gau目录,运行配置文件config

代码语言:javascript
复制
./config

这一步会做两件事,一是在用户根目录下创建两个隐藏文件~/.xdh_modules_path和~/.xdh_path用于程序的运行。二是会在用户的home目录下创建一个bin目录,并给xDH4Gau下的run_xDH_using_Gaussian.py程序创建一个软链接。然后需要在~/.bashrc中增加

代码语言:javascript
复制
export PATH=$HOME/bin:$PATH

以将run_xDH_using_Gaussian.py加入环境变量(笔者发现在CentOS上~/bin目录是自动进入$PATH变量的,因此无需进行这一步操作,其他操作系统待验证)。如果不愿意在自己的home目录下创建bin目录,则可直接将第一步中解压的xDH4Gau的目录写入~/.bashrc中,也可调用run_xDH_using_Gaussian.py。

由于xDH4Gau的主体计算部分是由Gaussian来完成,因此还要修改xDH4Gau目录下的GXX__Environment文件,其中GXX对应服务器上的Gaussian版本。比如笔者使用的是G16,则打开G16__Environment文件,将以下部分的两个变量进行修改:

代码语言:javascript
复制
#================================================
# System-dependent setting parameters, which
# should be defined by the users
#================================================
export g16root=/opt
. $g16root/g16/bsd/g16.profile
if [ ! -d "/scratch/$USER/gaussian" ]; then
   mkdir /scratch/$USER/gaussian
fi
export GAUSS_SCRDIR=/scratch/$USER/gaussian/XYG3
if [ ! -d "$GAUSS_SCRDIR" ]; then
   mkdir $GAUSS_SCRDIR
fi
#================================================

其中g16root部分为G16的安装位置,后面主要修改GAUSS_SCRDIR变量。此变量在安装Gaussian时已经进行了定义,改成当前服务器上的路径即可。需要注意的是,要在第10行的位置末尾加上一个目录,因为xDH4Gau的运行中会有比较多的临时文件,且在程序运行结束后会将整个GAUSS_SCRDIR目录删除,因此最好再建一个文件夹,否则会影响普通Gaussian任务的运行。

三、计算

在Tests目录中,提供了输入文件的示例。xDH4Gau程序的输入文件与Gaussian的输入文件一样,只需将方法写成XYG3即可,如

代码语言:javascript
复制
%nprocs=24
%mem=100GB
#p xyg3/cc-pvdz

water

0 1 
O     -2.18842208    0.47844928    0.00000000 
H     -1.24864578    0.49895528    0.00000000 
H     -2.44357611    1.38315720    0.00000000

默认做冻核近似,如果不做冻核近似,与Gaussian的写法一样,写作XYG3(full)。使用

代码语言:javascript
复制
run_xDH_using_Gaussian.py xxx.gjf

命令即可进行计算。若使用其他版本的Gaussian,则使用--gaussian-version=n(n为03、09或16(16为默认值))来控制版本。

输入文件为.xDH文件,除了XYG3,还会输出其他基于B3LYP密度的XYG系列泛函的计算结果:

代码语言:javascript
复制
=>"XYG3" is choosen for the question
==----------------------------------------------------------------------------==
  E(B3LYP)    =     -76.41904971 A.U.    E(XYG3)     =     -76.36146125 A.U.
==----------------------------------------------------------------------------==
=>XYG3 belongs to the family of xDH@B3LYP
=>E(XYGJ-OS)  =     -76.21597718 A.U.
=>E(revXYG3)  =     -76.36006667 A.U.
=>E(XYG5)     =     -76.25445639 A.U.
=>E(XYG6)     =     -76.23410169 A.U.
=>E(XYG7)     =     -75.99356330 A.U.
=>Job Type :: Single-Point Calculation
================================================================================
**                                                                            **
** THE JOB OF "water-xyg" IS DONE                                             **
**                                                                            **
================================================================================

此外,程序还支持基于PBE0密度的xDH-PBE0泛函,关键词写作XDHPBE0即可。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-12-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子化学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档