ADF的计算过程是:首先用Slater基组计算原子,得到原子的轨道,用原子的轨道作为基组,计算整个分子。因此在logfile里面,可以看到,先完成原子的计算,然后列出分子的坐标,然后计算整个分子。具体如下:
检查生成的logfile文件,正常的logfile文件可以看出结构大致如下:
<Oct07-2014> <16:46:45> ADF 2014 RunTime: Oct07-2014 16:46:45 Nodes: 1 Procs: 1 <Oct07-2014> <16:46:45> Hydrogen (DZ) <Oct07-2014> <16:46:45> RunType : CREATE <Oct07-2014> <16:46:45> Net Charge: 0 (Nuclei minus Electrons) <Oct07-2014> <16:46:45> Symmetry : ATOM Coordinates Atom X Y Z (Angstrom) 1.H 0.000000 0.000000 0.000000 …… <Oct07-2014> <16:46:45> NORMAL TERMINATION <Oct07-2014> <16:46:45> END
这是一个原子的计算结束,体系中包含多少种元素,就需要如此计算多少次,例如本例中计算了H原子,如果是水分子,则还需要计算O 原子,内容与上面类似。
原子计算结束后,开始计算整个分子。正常的情况应该是出现类似如下信息(本例是进行结构优化):
<Oct07-2014> <16:46:59> ADF 2014 RunTime: Oct07-2014 16:46:59 Nodes: 1 Procs: 4 <Oct07-2014> <16:47:00> *** (NO TITLE) *** <Oct07-2014> <16:47:00> RunType : GEOMETRY OPTIMIZATION <Oct07-2014> <16:47:00> Net Charge: 0 (Nuclei minus Electrons) <Oct07-2014> <16:47:00> Symmetry : NOSYM <Oct07-2014> <16:47:00> >>>> FRAGM Coordinates in Geometry Cycle 1 Atom X Y Z (Angstrom) 1.O 1.284562 0.324947 0.006385 2.H 1.441312 -0.581801 -0.267179 3.H 0.814314 0.329950 0.843309
这里列出了要计算的整个分子的坐标,之后开始了分子的计算。
但如果这部分内容一直不能开始,也检查不到adf.exe的进程,那么这很可能是由于无密码通讯设置不完善造成。
对于Linux:
一般在集群或单个服务器(联网或不联网都是如此),在节点间切换,例如从node01节点切换到node02节点,可以在node01的命令行输入ssh node02回车。然后就会登陆到node02节点,正常情况下,是不需要输入密码的,系统管理员一般而言,已经完成了免密码登录的配置;如果是单个服务器,例如ip是192.168.1.100,那么自己切换到自己,应该是不需要输入密码的——即如果当前在192.168.1.100服务器上,在命令行执行ssh 192.168.1.100回车,之后是不需要输入密码的。
倘若这种设置没有完善,在节点切换时,需要输入密码,那么就会导致计算不能进行(能够完成原子计算部分,而分子计算部分则一直不开始,也不结束,无论等多久都没有任何反应)。
对于Windows:
往往是杀毒软件把ADF并行计算禁止了,这在安装过程中,防火墙会弹出提示,如果不理会,则会自动禁止。WSASocket failed, error 10060报错,就是由于防火墙引起的,关闭防火墙就正常工作了。或者把AMS进程加入到白名单。
对于这种情况,完成免密码登录的配置即可解决——这一般由系统管理员或维护人员完成。
如果自己就是管理员,或者没有其他专业人员帮忙,可以参考如下步骤(范例中是对root用户,普通用户类似,只是普通用户的主目录不是/root,通过执行cd ~即进入主目录,生成的.ssh文件夹也是在该目录下),范例为两个节点,名为node01和node02.如果是一个节点,也是类似的:
1、更改/etc/hosts文件 #vi /etc/hosts 打开hosts文件,更改如下: node01的IP node01 node02的IP node02 2、在node01生成SSH秘钥对. #ssh-keygen -t rsa 一路回车即可 产生.ssh文件, #ls -a 查看是否有.ssh文件夹 3、进入.ssh目录 #cd .ssh 4、生成authorized_keys文件 #cp id_rsa.pub authorized_keys 5、退出到root目录 #cd .. 6、建立本身的信任连接 #ssh node01 按提示输入yes(三个字母要打全) 7、设置node02(node02的root目录下) #ssh-keygen -t rsa 生成.ssh文件夹 #scp node01的IP:/root/.ssh/* /root/.ssh 拷贝node01上的.ssh文件夹覆盖本地的 #scp node01的IP:/etc/hosts /etc/hosts 拷贝node01上的hosts文件覆盖本地的 #ssh node01 提示处输入yes回车 8、确认2台机器的信任连接已建立 对每个节点执行: #ssh node01 #ssh node02 在提示处输入yes回车,最后确定无需输入密码并且没有任何提示信息即可登陆。
如果有多于两个节点的话,其余节点按node02类似设置
对于Windows系统,这种情况很可能是防火墙和杀毒软件引起的,也就是并行进程被不小心列入防火墙禁止名单里面了。应该将其从禁止名单里面删除。或者卸载,重新安装,安装的过程中,留意防火墙的提示,应允许ADF所有操作。