欢迎大家来到IT世界,在知识的湖畔探索吧!
如在前面介绍中说明的,输入文件至少应当包含以下信息:
- 几何结构;
- 单电子基组(虽然基组有默认值);
- 多电子波函数计算方法;可以顺序进行不同类型的计算。
本文依次考虑这三部分。所有的输入可以用大写或小写,以自由格式给出。大多数的输入行从关键词开始,之后是数值或其它声明(选项)。每一行的不同项之间应当用逗号(,)隔开。
一、几何结构
定义原子坐标最简单的方法是使用直角坐标和XYZ输入格式,这是很多程序的标准格式。这种情况下,结构输入如下所示(以甲醛为例):
geometry={ 4 FORMALDEHYDE C 0.0000000000 0.0000000000 -0. O 0.0000000000 0.0000000000 0. H 0.0000000000 -0. -1. H 0.0000000000 0. -1. }
欢迎大家来到IT世界,在知识的湖畔探索吧!
如例中所示,结构在geometry块中定义,用geometry={和}包围起来。xyz结构区域的第一行是原子个数(自由格式)。第二行是任意的标题。最后,对每个原子定义一行直角坐标(x,y,z),单位是埃Å。为了简化,也可以忽略前两行(2009.1之前的老版本不可忽略)。
也可以用Z-矩阵(Z–matrix)形式定义结构,有很多程序也使用这种格式。这种情况下,结构用距离和角度定义。这种方式有点复杂,在这里只给一个简单的例子,还是甲醛:
欢迎大家来到IT世界,在知识的湖畔探索吧!angstrom geometry={ C O C 1.182 H1 C 1.102 O 122.1789 H2 C 1.102 O 122.1789 H1 180 }
这里,1.182和1.102分别是C-O和C-H的键长(单位为埃)。122.1789是H-O-C的夹角(度),180是H1-C-O和H2-C-O两个平面的夹角(二面角)。注意,默认的键长是原子单位(Bohr),但这里用angstrom关键词使用单位Å。
作为前面讲述的xyz输入的另外一种形式,还可以在Z-矩阵中定义直角坐标。这种坐标的形式如下(注意逗号不可忽略):
angstrom geometry={ C,, 0.0000000000 , 0.0000000000 , -0. O,, 0.0000000000 , 0.0000000000 , 0. H,, 0.0000000000 , -0. , -1. H,, 0.0000000000 , 0. , -1. }
Z-矩阵中除了常数,还可以使用变量。例如,甲醛的输入可以写作:
欢迎大家来到IT世界,在知识的湖畔探索吧!geometry={ C O , C , rco H1 , C , rch , O , hco H2 , C , rch , O , hco , H1 , 180 } rco=1.182 Ang rch=1.102 Ang hco=122.1789 Degree
变量的值可以在计算过程中变化,因而在一个运行任务中可以对结构进行动态改变。
程序默认会重定位和转动分子,以使坐标轴的原点为分子质心,并且与主惯性轴一致。为了使程序识别和使用点群对称性,这一做法通常是必需的,但是可以通过在ORIENT命令中指定参数来修改。程序默认将试图找到和使用最高的阿贝尔(abelian)点群对称性,但可以用SYMMETRY命令来控制。
二、基组
在很多情况下,单电子基组可以用简单的形式指定,
basis=name
其中的name代表基组库中的基组名称。在Molpro的网站中(https://www.molpro.net/info/basis.php?portal=user&choice=Basis+library),你可以找到所有可能的基组。
用于高级别计算的常用基组是Dunning等人的关联一致极化基组(correlation-consistent polarized basis),表示为cc-pVDZ(双zeta),cc-pVTZ(三zeta),cc-pVQZ(四zeta),cc-pV5Z(五zeta)。这些名称可以直接使用,也可以简化为VDZ,VTZ,VQZ 等。对于某些性质的计算,例如电子亲和(affinities),极化率(polarizabilities),或者分子间势,还需要加上弥散(diffuse)基函数,这些函数包含在扩充的关联一致基组中,表示为aug-cc-pVDZ,aug-cc-pVTZ等。这些名称可以简写为AVDZ,AVTZ,AVQZ 等。
另一个常用的选择是使用Pople等人的高斯基组,例如6-31G(双zeta),6-311G (2DF,2PD)(三zeta),6-311G++(2DF,2PD)(扩充的三zeta)等。这里要注意,Molpro默认使用球谐函数(spherical harmonics)(5d,7f, …),而Gaussian等程序默认使用直角函数(6d,10f,…)。这会产生略微不同的能量。Molpro也能使用直角函数,但是必须在基组定义之前给出cartesian关键词。
还可以对不同的原子使用不同的基组。这种情况下的最简输入如下,
basis,c=vtz,o=avtz,h=vdz
也可以手动定义基组(指数和收缩因子)。详见Molpro用户手册。
最后,如果没有指定基组,Molpro将使用cc-pVDZ,但是并不意味着这是最佳选择!
三、计算方法和波函数
在定义了结构和基组之后(顺序任意),还必须指定使用的计算方法。这可以简单地用关键词实现,通常就是方法的缩写(如HF表示Hartree-Fock,MP2表示二阶Møller-Plesset 微扰理论,CCSD(T)表示单双激发和微扰三激发耦合簇)。在大多数情况下,第一步是Hartree-Fock计算,其中对随后用于电子关联处理的分子轨道做了优化。只需给出相应的关键词,之后可以连续执行任意数量的不同方法。例如,
geometry={...} basis=... hf ! 用HF优化轨道 mp2 ! 用HF轨道进行MP2计算 mp4 ! 用HF轨道进行MP4计算 ccsd(t) ! 用HF轨道进行CCSD(T)计算
注意,MP2是MP4和CCSD(T)的一部分,因此以上输入中的mp2计算是多余的。
四、变量
Molpro把所有重要的结果存储在变量中。例如,Hartree-Fock程序会设置变量ENERGY,DMX,DMY,DMZ,用于保存最终的能量和偶极矩。这些变量可用于进一步的分析。关于其它程序设定的变量列表,可参见用户手册。可以在表达式中使用变量,这非常类似于Fortran。例如,可以在一个任务中计算反应,以CO + H2 → H2CO为例,
*, example for reaction energy basis=avtz ! 基组(用于所有分子) geometry={c;o,c ,2.13} ! CO的结构 hf ! Hartree-Fock计算 ccsd(t) ! ccsd(t)计算 e_co=energy ! 保存CO分子能量 geometry ={h1;h2 ,H1 ,1.4} ! H2的结构 hf ! Hartree -Fock计算 ccsd(t) ! ccsd(t)计算 e_h2=energy ! 保存CO分子的能量 geometry ={ ! H2CO的结构 C O , C , rco H1 , C , rch , O , hco H2 , C , rch , O , hco , H1 , 180 } rco =1.182 Ang rch =1.102 Ang hco =122.1789 Degree hf ! Hartree-Fock计算 ccsd(t) ! ccsd(t)计算 e_h2co=energy ! 保存H2CO的能量 de=(e_h2co -e_h2 -e_co)*tokJ ! 反应能,单位是KJ/mol
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/85290.html