| 查看: 646 | 回复: 0 | ||||
| 当前主题已经存档。 | ||||
雪狼乖乖
|
[交流]
【交流】gaussian03 UNIX运行
|
|||
|
gaussian03 运行 这一章讲述用于在UNIX计算机系统上运行Gaussian所需要的操作系统命令。对于其它操作系统的等效信息,见随程序一起的说明书。G03W运行简单,这里不再叙述。这一章假定程序已经像在第6章所讲的那样安装完毕。本章最后一部分列出了构成Gaussian 03程序的链接。 运行Gaussian包含以下步骤: l 创建描述Gaussian计算的输入文件。 l 指定各scratch文件的位置。 l 指定资源需求 l 以交互或批处理模式开始执行程序。 在这一章,我们假定已经创建了基本的Gaussian输入文件,我们的讨论将分析列表中的剩余三项。 指定scratch文件的操作和位置 Gaussian在计算过程中使用数个scratch文件。它们包括: l Checkpoint文件:name.chk l 读写文件:name.rwf l 双电子积分文件:name.int l 双电子积分的导数文件:name.d2e 默认情况下,这些文件由Gaussian处理进程的ID命名,并存储于由(UNIX)环境变量GAUSS_SCRDIR定义的scratch目录中。还可以在这个目录中察看name.inp形式的文件。这些是程序使用的内部输入文件。如果没有设置环境变量,则路径默认为Gaussian计算的当前工作目录。 这些文件在计算成功结束后默认删除。但是,你可能会希望保存checkpoint文件,用于以后其它的Gaussian计算任务,用于可视化程序,或者重新开始一个失败的计算,等等。这可以通过在Gaussian输入文件中使用%Chk命令,对checkpoint文件直接命名和/或为其提供路径来实现。例如: %Chk=water 这一位于输入文件开始的命令(位于计算执行路径之前,详见第3章),给出checkpoint文件的名称water.chk,覆盖通常产生的名称,使这个文件在任务结束后被保存。这样,这个文件就保留在当前目录中。但是,下面的命令将指定其它的目录位置和文件名: %Chk=/chem/scratch2/water 如果scratch文件目录的磁盘空间有限,但是系统有其它的磁盘空间可用,可以把scratch文件分割后存储到几个磁盘位置中。下面的命令可以定义其它scratch文件的名称和位置: %RWF=path 读写文件 %Int=path 积分文件 %D2E=path 积分导数文件 一般情况下,读写文件是最大的,所以经常为它指定其它位置。 跨磁盘分割scratch文件 对于在两个或更多磁盘(或文件系统中)上分割读写文件,积分文件,和/或积分导数文件,提供了可选的语法。下面是%RWF命令的语法: %RWF=loc1,size1,loc2,size2,… 其中的每个loc是目录位置或文件路径名,每一个size是该目录中文件片段的最大尺寸。Gaussian将对任何定义目录的loc自动产生唯一的文件名。在UNIX系统中,目录说明(不包含文件名)必须在末尾包含斜线“/”。 默认的尺寸以字节为单位;数值后可以接KB,MB或GB(中间不插入空格)分别表示KB,MB或GB,或接KW,MW或GW,分别表示千位,兆位或吉位。注意1 MB=10242位=1,048,576位(而不是1,000,000位)。 值-1接任何尺寸参数表示使用所有可用的空间,0值表示使用当前磁盘分区的空间。-1仅对最后指定的文件是有用的,在这种情况下是默认的。 例如,下面的指令把读写文件分割到三个磁盘中: %RWF=/Dalton/s0/,60MW,/scratch/,800MB,/temp/s0/my_job,-1 文件片段的最大尺寸分别是480 MB,800 MB,和无限制。Gaussian将对前两个片段产生文件名,第三个的名称给定为my_job。注意目录说明的末尾包含斜线。 由于目前UNIX设备的限制,使用-1需要当心,因为它可能把一个文件片段延伸,超过系统所有剩余的磁盘空间;它的另一个作用是防止使用保存在列表中的任何附加的文件片段。 保存和删除scratch文件 未命名的scratch文件在Gaussian计算结束后默认被删除,命名的则被保存。%NoSave命令可以用来改变这一默认约定。当在输入文件中包含这一指令时,指令出现在输入文件%NoSave以前的已命名scratch文件(以及所有未命名的scratch文件)将在计算后被删除。但是如果命名文件的%指令出现在%NoSave指令之后,文件将被保存。例如,下面的命令定义checkpoint文件名,以及读写文件的替代名称和目录位置,导致在Gaussian任务结束后只保存checkpoint文件: %RWF=/chem/scratch2/water 到这里为止的文件都被删除 %NoSave %Chk=water 到这里为止的文件都被保存 初始化文件 Gaussian系统包含初始化文件,设置用于运行程序的用户环境。这些文件是: $g03root/g03/bsd/g03.login C shell $g03root/g03/bsd/g03.profile Bourne shell 注意g03root环境变量必须由用户设置。因此对于Gaussian用户,习惯在.login或.profile文件中包含下面的命令: .login文件: setenv g03root 路径 source $g03root/g03/bsd/g03.login .profile文件: G03root=路径 export g03root . $g03root/g03/bsd/g03.profile 正确设置后,使用g03命令运行Gaussian 03(见下)。 控制内存使用 %Mem命令控制Gaussian使用的动态内存总量。默认使用6 MW。这可以通过n个双精度位改变,定义: %Mem=n 例如,下面的命令设置使用64 MB内存: %Mem=8000000 %Mem的值也可接KB,KW,MB,MW,GB或GW(中间不要插入空格)表示其它单位。例如,下面的命令同样设置使用64 MB动态内存: %Mem=64MB 对于非常大的直接SCF计算,需要分配的内存更大——至少3N3位,其中的N是基函数数量。如果可能的话,频率和包含f函数的后-SCF计算需要6 MW内存。对于大多数系统,中等尺寸(即,小于500个基函数的直接SCF)的计算使用6 MW以上的内存并不能改善运行。 警告:如果使用多于实际物理内存的内存总量,会使运行效率极差。 如果Gaussian用在很少物理内存的计算机上,使得默认的48 MB内存不可用,那么在安装时应当对默认算法和默认的内存分配进行设置。关于提高Gaussian效率的更多细节参见第4章。 在UNIX系统中运行Gaussian 一旦准备好所有的输入和设备说明,就可以准备运行程序了。Gaussian 03可以使用两种命令形式之一进行交互运行: G03 job-name 或 g98 在第一种形式中,程序从job-name.com读取输入,并把输出写到job-name.log中。当没有指定job-name时,程序从标准的键盘输入读取,并写到标准输出中,这可以使用通常的UNIX形式重新定位或用管道传递。和任何shell命令方式相同,使用&可以强制两种形式命令中的任何一种在后台运行。 脚本与Gaussian 运行Gaussian 03的脚本可以用几种方法创建(这些例子中我们使用C shell)。首先,像上面的g03命令可以包含在shell脚本中。第二,用<<结构,把Gaussian实际的输入包含在脚本中: #!/bin/csh G03 < %Chk=water #RHF/6-31G(d) water energy 0 1 O H 1 1.0 H 1 1.0 2 120.0 END echo “Job done.” 在接<<符号的字符串前,所有的行都看作是g03的输入命令。 最后,可以建立循环,依次运行几个Gaussian任务。例如,下面的脚本运行所有命令行参数指定的Gaussian输入文件,并把活动的日志文件保存到Status文件中: #!/bin/csh echo “Current Job Status:” > Status echo “Starting file $file at ‘date’ ” >> Status g98 < $file > $file:r.log echo “$file Done with status $status” >> Status end echo “All Done.” >> Status 下面更复杂的脚本可以从作为脚本命令行参数文件的部分输入中,创建即时的Gaussian输入文件。使用的文件缺少完整的计算执行路径;它们的计算执行路径简单地由#符号,或由包含用于分子体系的特殊关键字,但没有方法、基组或计算类型的#行构成。 脚本对每一个部分输入文件,创建一个两步的任务——Hartree-Fock优化之后是MP2单点能计算——都由脚本中的文字命令和脚本执行时指定的每个文件的内容构成。它通过使用Gaussian 03的@包含文件机制,来包含后者: #!/bin/csh echo “Current Job Status:” > Status foreach file ($argv) echo “Starting file $file at ‘date’ ” >> Status g03 << END> $file:r.log %Chk=$file:r # HF/6-31G(d) FOpt @$file/N --Link1— %Chk=$file:r %NoSave # MP2/6-31G(d,p) SP Guess=Read Geom=AllCheck END echo “$file Done with status $status” >> Status end # end of foreach echo “All Done.” >> Status 用NQS批处理 Gaussian可以使用UNIX系统支持的NQS批处理工具。初始化文件中定义的subg03命令可以把输入任务提交到批处理序列中。它的语法是: Subg03 序列名 任务名 [-scrdir dir1] [-exedir dir2] [-p n] 两个必需的参数是序列名和文件名。输入来自job-name.com,输出为job-namelog,与交互运行一样。NQS日志文件发送到job-name.batch-log。可选的参数-scrdir和-exedir分别用于代替默认的scratch和执行目录。其它参数来自NQS选项。特别是-p n可用于设置序列中优先为n。它在启动时优先计算(1是最低的),并不影响运行时间的优先权。 从交互方式提交NQS任务,需要创建类似于下面的文件(文件名为name.job): # QSUB –r name –o name.out –eo # QSUB –lt 2000 –lT 2100 # QSUB –lm 7mw –lM 7mw g98 其中的name应当用实际计算使用的名称代替。第一行命名运行的任务,输出文件名,以及在输出文件中包含出错信息。不同的时间参数允许加入用于清除的任务控制(例如,如果事件超过运行时间限制,就保存checkpoint文件)。内存参数用于最初执行任务的时间安排,以及由程序确定动态内存的使用。 这个任务接下来使用以下的命令提交: $ qsub name.job 输出的文件将放在当前的工作目录。 Gaussian 03的链接 下面的表列出了Gaussian 03的构成程序——也就是所说的链接(link)——及其主要功能: 链接 功能 L0 初始化程序,控制占位 L1 处理计算执行路径,创建执行链接的列表,并初始化scratch文件 L101 读取标题和分子说明部分 L102 FP优化 L103 Berny优化到最小值和TS,STQN过渡态寻找 L105 MS优化 L106 力常数或偶极矩的数值微分,用以获得极化率或超极化率 L107 线性同步过渡(LST)的过渡态寻找 L108 势能曲面扫描 L109 Newton-Raphson优化 L110 能量的二阶数值微分产生频率 L111 能量的二阶数值微分,用以计算极化率和超极化率 L113 使用解析梯度进行EF优化 L114 EF数值优化(仅使用能量) L115 使用内反应坐标(IRC)追踪反应路径 L116 数值的自恰反应场(SCRF) L117 后-SCF SCRF L118 轨迹计算 L120 控制ONIOM计算 L121 ADMP计算 L122 平衡计算 L202 重新定位坐标,计算对称性,检查变量 L301 产生基组信息 L302 计算重叠积分,动能和势能积分 L303 计算多极积分 L308 计算偶极速率和Rx▽积分 L310 用简单方式计算spdf双电子积分 L311 计算sp双电子积分 L314 计算spdf双电子积分 L316 打印双电子积分 L319 对近似的自旋-轨道耦合计算单电子积分 L401 形成初始MO猜测 L402 进行半经验和分子力学计算 L405 初始化MCSCF计算 L502 迭代求解SCF方程(用于通常的UHF和ROHF,所有的直接方法,以及SCRF) L503 使用直接最小化迭代求解SCF方程 L506 进行ROHF或GVB-PP计算 L508 二次收敛SCF程序 L510 MC-SCF L601 布居数和相关的分析(包括多极矩) L602 单电子特性(势,场,和场梯度) L604 求解MO,或一个网格点的密度 L607 进行NBO分析 L608 非迭代DFT能量 L609 分子中的原子特性 L701 单电子积分一阶或二阶导数 L702 双电子积分一阶或二阶导数(sp) L703 双电子积分一阶或二阶导数(spdf) L716 处理优化和频率的信息 L801 双电子积分变换的初始化 L802 进行积分变换(对in-core方法是N3) L804 积分变换 L811 变换积分导数,并计算其对MP2二阶导数的贡献 L901 反对称化双电子积分 L902 确定Hartree-Fock波函的稳定性 L903 旧的in-core MP2 L905 复合的MP2 L906 半直接的MP2 L908 OVGF (闭壳层) L909 OVGF (开壳层) L913 计算后-SCF能量和梯度项 L914 CIS,RPA和Zindo激发能;SCF稳定性 L915 计算五阶的量(用于MP5,QCISD(TQ)和BD(TQ)) L916 旧的MP4和CCSD L918 重新优化波函 L1002 迭代求解CPHF方程;计算各种特性(包括NMR) L1003 迭代求解CP-MCSCF方程 L1014 计算解析的CIS二阶导数 L1101 计算单电子积分导数 L1102 计算偶极导数积分 L1110 双电子积分导数对Fock矩阵的贡献 L1111 2 PDM和后-SCF导数 L1112 MP2二阶导数 L9999 完成计算和输出 [ Last edited by cadick on 2009-12-12 at 00:14 ] |
» 收录本帖的淘帖专辑推荐
敏化太阳能电池 |
» 猜你喜欢
085404(计算机技术)293分 希望调剂到材料相关专业
已经有0人回复
ELISA试验中不容忽视的细节盘点(二)
已经有0人回复
物理化学论文润色/翻译怎么收费?
已经有94人回复
汕头大学化学招调剂,相关内容如下。
已经有4人回复
细胞培养,这22个细节一定要注意!(一)
已经有0人回复
CSC访学博后项目获批,外方学校暂停合作该怎么办?
已经有51人回复
半透性容器进行高湿或者低湿研究
已经有0人回复
分子动力学模拟合作需求
已经有0人回复














回复此楼
