量子化学计算方法 章永凡福州大学化学系2011年2月 课程主要内容 一 有限尺度体系 分子 团簇等 电子结构计算方法 G03程序的使用二 无限周期体系 一维链状化合物 二维层状化合物或固体表面 三维固体体相 电子结构计算方法 VASP CASTEP程序的使用主要参考资料 G03用户手册或G03的帮助文件相应网址 VASP程序用户手册 简介 量子化学软件目的在于将量子化学复杂计算过程程序化 从而便于人们的使用 提高计算效率并具有较强的普适性 绝多数量子化学程序是采用Fortran语言编写的 Fortran77或Fortran90 通常由上万行语句组成 软件分类 计算原理 基于从头算或第一性原理方法 abinitio firstprinciples Gaussian ADF Dalton Gamess Crystal VASP Wien Dmol Castep等 基于半经验或分子力学方法MOPAC EHMO NNEW3等 研究对象 有限尺度体系 分子 簇合物等 Gaussian ADF Dalton Gamess MOPAC EHMO等 无限周期重复体系 晶体 固体表面 链状聚合物等 Crystal NNEW3 VASP Wien等 本研究室目前常用的量化软件 Gaussian03 由Pople等人编写 经过几十年的发展和完善 该软件已成为国际上公认的 计算结果具有较高可靠性的量子化学软件 它包含从头算 半经验以及分子力学等多种方法 可适用于不同尺度的有限体系 除了部分稀土和放射性元素外 它可处理周期表中其它元素形成的各种化合物 Crystal09 该软件由意大利都灵大学理论化学研究所开发 采用基于原子轨道线性组合的从头算方法来研究固体及表面的电子结构 VASP 该软件由奥地利维也纳大学开发 采用基于平面波基组的密度泛函理论来研究固体及表面的构型以及动力学过程 CASTEP MS软件模块之一 与VASP程序类似 Dmol MS软件模块之一 主要用于有限尺度体系电子结构研究 采用理论方法要解决的问题 当前的研究状况 包括实验和理论研究现状 已解决和尚未解决的问题 一般计算过程 化合物构型的确定 具体途径包括 利用实验测定结果 或者采用软件进行构造等 根据现有的计算条件 模型的大小以及所要解决的问题 选择可行的计算方法和相应程序 对计算结果进行加工和提取有用的信息 一般包括构型描述 能量分析 轨道组成 电荷和成键分析等 并与实验结果比较 计算模型和方法的选取是保证计算结果可靠性的关键 理想的情况是 1 所选取的计算模型与实际情形一致 2 采用高级别的计算方法 但是 由于受到计算软硬件的限制 在多数情况下 很难同时做到上述两点要求 实际操作中 当计算模型较大时 只能选择精确度较低的计算方法 只有对较小的模型才能选取高级的计算方法 因此 当确定了一种计算模型和方法后 最好对其进行验证 以保证计算结果的可靠性 假设当前的研究对象是化合物A 可通过下列途径进行验证 1 与A化合物现有实验结果之间的比较 2 若无实验方面的报道 可对与A类似的化合物B进行研究 此时以B的实验结果作为参照 3 当上述方法行不通时 可以采用较大模型和较为高级的计算方法得到的计算结果作为参照 该方法主要用于系列化合物的研究 如对A1 A2 A3 先用大模型和基组对A1进行研究 然后以该结果为参照 确定计算量适中的模型和方法并应用于A1 A2 A3 Gaussian03程序的使用 G03的安装和运行 G03的功能和程序结构 输入文件的编写与主要功能的使用 补充说明 G03程序的安装和运行 1 G03程序的安装 1 确定运行平台 Windows或Linux 2 对Windows平台 直接运行setup exe 其余步骤按提示操作即可 也可将其它机器上将已安装好的G03直接拷贝到本机 但需设置运行环境 对Linux平台 a 若G03是经过压缩过的 文件结尾为gz 用gunzip命令解压 例如 gunzipg03 linux tar gzb 若G03是打包的 文件结尾为tar 用tar命令将其释放 例如 tarxvfg03 linux tar c 设置环境变量 以cshell为例 在用户根目录下的 cshrc文件添加下列内容 也可在执行g03前逐条运行 setenvg03root home USER 设置g03所在目录 根据实际情况修改 source g03root g03 bsd g03 login 激活g03运行时所需环境变量 setenvGAUSS SCRDIR home USER g03 tmp 设置临时目录 d 运行bsd install 自动配置并行计算环境注 对Linux平台 运行g03时 需注意权限问题 可用chmod命令更改权限 将所安装的g03对所有用户开放 对于多节点并行计算还需保证各节点之间能无密码互相访问 2 G03程序的运行 1 对Windows平台 a 对于刚安装好的g03 先检查环境设置情况 左侧至上而下依次为 默认的文本编辑器 g03可执行文件所在目录 计算中间结果存放目录 缺省的计算结果存储目录 缺省的输入文件所在目录 PDB分子构型浏览器 右侧至上而下依次为 设置显示属性 如背景色等 设置文本编辑器属性 计算过程控制属性 尤其是批作业过程 Default Rou文件的编辑 该文件内容为默认情况下 计算所花费的内存及硬盘大小 需设置正确 否则运行将出错 b 编写或打开g03输入文件 点击RUN 并给定输出文件名后开始运行 c g03运行过程的控制 最上行按钮的功能从左至右依次为 开始运行g03 暂停进程 运行至下一模块 link 时暂停进程 重新启动进程 清除进程 停止运算 编辑批作业 运行完当前任务后 暂停批作业 停止批作业的运算 观看计算结果 打开文本编辑器 不要随意点击 交换机 计算节点 计算节点 计算节点 网关 用户终端 基于Linux系统的计算拓扑结构 内部网 高速 外部网 普通 Window系统 Linux系统 2 Linux平台 说明 网关作用类似于防火墙 用于保证内部网的安全和稳定 作为网关的计算机通常配有2个网卡 分别用于外部网和内部网的连接 本实验室网关机子IP地址 219 229 135 210 非固定IP 可能发生改变 计算作业提交过程 a 用户登录网关 通过SSH远程登录软件实现SSH软件 SSHSecureShellClient 3 2 9 exe 可从网络上免费下载 安装过程与通常软件安装类似 安装完毕后 设置网关外部网的IP地址以及账号名即可使用 点击Profiles设置IP地址及用户名 b 从网关登录到计算节点 采用telnet命令实现例如 telnet134 14 83 5 c Linux常用命令 1 ls 显示文件清单 相当于DOS下的dir命令 文件属性 所属用户 大小 创建时间 注 Linux系统下字符是大小写区分的 2 cp 复制文件命令 相当于DOS下的copy命令 cp rf 3 mkdir 创建目录 相当于DOS下的md命令 4 rm 删除文件或目录 相当于DOS下的del命令 删除文件 删除目录 5 top 显示当前进程和CPU以及内存使用情况 6 kill 终止某个进程 格式为 killPID号 PID号由top命令可得 受权限限制 7 pwd 显示用户当前所在目录 格式为 pwd 8 cat 显示文件内容 格式为 cat文件名 9 grep 一般用于从某个或多个文件中搜索某串字符 格式为 grep 字符串 文件名例 grep F vasp out 10 scp 用于网关与内部网内各计算节点或外部网络之间的文件传输格式为 从其它到网关 scp文件用户名 网关IP 目录例 scpvasp outzyf zyf 2400 trans从网关到其它 scp用户名 网关IP 目录 文件名目标目录例 scpzyf zyf 2400 trans vasp out该命令也可用于同一节点不同用户之间的文件传输 11 vi 文本编辑命令该命令常用但较为复杂 它有2种模式 命令模式和插入模式 二者之间关系为 iEsccommandmode insertmode commandmode在命令模式下 可实现以下功能及其对应按键 deleteacharacter xdeletealine ddsearchastring 向后 向前 savethechange wsavethechangeandquit wuitewithoutsaving q pagedown Ctrl dpageup Ctrl ugotofileend shift ggotonline n 12 tar 文件打包命令 适用文件扩展名为tar 该命令用于多个文件 目录的打包或解包 常用格式有 文件打包 tarcvf要打包成的文件名要打包的文件例 tarcvfmodel tar 生成model tar文件解包 tarxvf要解包的文件名例 tarxvfmodel tar 13 gzip gunzip 文件压缩 解压命令 文件扩展名为gz 例 gzipmodel tar生成model tar gz文件gunzipmodel tar gz生产model tar文件 14 du 察看当前目录所占硬盘空间大小 类似命令df 例 du hdf h 察看硬盘各分区大小 15 rsh或ssh 用于从某个节点登录到其它节点例 rshc0102登录到c0102节点上 为当前用户名rshzyf c0102与上相同 但用户名为zyfsshc0102sshzyf c0102根据rsh或ssh服务的具体设置来确定是否需要提供密码 16 su 从当前用户转变为超级用户或其它用户例 su转变为超级用户suzyf将用户转变为zyf用户 17 ifconfig 察看网络设置 18 dmesg 察看系统日志 19 adduser passwd d 运行g03过程 1 编写输入文件 用vi命令编写或在Windows下编写完毕后ftp至Linux系统 vitest gjf 2 运行g03 g03输出文件名 例 g03test out 说明 1 末尾的 符号表示将作业提交到后台计算 否则在用户退出Linux时 作业将终止 2 若运行g03出错 请检查环境变量是否设置正确 尤其是用户权限上的问题 3 观看计算结果 使用vi命令 或采用tail命令跟踪计算输出 tail f输出文件名 4 运行过程的控制 采用top命令观察g03运行到那个模块 通过renice命令改变进程的优先级来调整g03的运行速度 课堂练习安装G03Linux版本采用vi命令编辑Gaussian输入文件 具体内容如下 mem 32mb pb3lyp 6 311 G optGeomOptimizationofC2H40 1CC11 5H11 02120 0H11 02120 03180 0H21 01120 030 0H21 01120 03180 03 运行g03 采用top tail命令察看进程以及用vi和grep命令参看计算输出等 G03的主要功能和程序结构1 主要功能 分子构型的优化 基态 Groundstate 激发态 Excitedstate 反应过渡态 Transitionstate 能量计算 基态和激发态能量 化学键的键能 电子亲合能和电离能 化学反应途径和势能面 光谱计算 IR光谱 Raman光谱 吸收 发射光谱以及二阶或三阶非线性光学性质 NMR 其它功能 电荷分布和电荷密度 偶极矩和超极矩 热力学参数 适用体系 气相和溶液 2 程序结构 a 由主引导模块 g03 exe 和各分模块 l exe 组成 b 常用模块的功能 L0 初始化模块 L1 读入输入文件 根据所给关键词确定将要使用的模块 L101 102 与构型优化和反应过渡态相关的模块 L202 输出距离矩阵 判断化合物点群及确定新的坐标系 L301 302 309 与基组和赝势有关模块 L310 319 计算单电子及双电子积分。