Q21
Q21:在使用 MS 进行计算的时候,中间的 xcd 文件无法及时更新,而其他文件则能正常显示,为什么?
A21:如果遇到这种情况,那么请检查初始的 xsd 文件中是不是中间有小数点(.),如果有小数点的话,那么可以正常进行计算,但是表格文件无法正常更新,并且只能出现小数点前的文件名称。
Q22
Q22:怎么样在 MesoDyn 中加入各种不同的限制?
A22:在 MesoDyn 的隐含文件 mask.MesoDyn_ascii 中,能看到一个三维矩阵,该矩阵定义了mask 的形状和大小,只需要修改此文件即可保证出现各种 mask 结构,该文件的格式为:
X1 {Y Z}
X2 {Y Z}
…………
Q23
Q23:MS 给出的 DOS 和能带图不是很清楚,我能不能自己来做图?
A23:可以,首先使用 MS 做出 Band Structure 和 DOS 图,并在图上单击右键选择 Copy,打开Excel 就可以将数据粘贴到单元格。DOS 可以直接使用 Origin 做图,而能带结构则需要认真处理(按照 K 点采样来处理的)。
Q24
Q24:怎么样能让 CASTEP 在并行计算时更有效?
A24:CASTEP 是按照两种方式来并行计算的,分别为 G Vectors 和 K Points 并行。G-Vectors表示 FFT 格点,K Points 表示布里渊区采样数目。在 MS 中,CASTEP 程序是使用 GK 也就是综合考虑两者的比例来确定并行数的,所以,在分配 CPU 前一定要认真考虑。
(G Vectors 似乎是呈现 1/2 次幂的方式来增长的,增长速度并不很明显)
Q25
Q25:在使用 DMol 计算过渡态结构时,经常会发现出现不止一个虚频,怎么回事?
A25:在 DMol 计算过程中,如果始态与终态结构优化不完全,或者反应路径设计不合理的话,很可能在过渡态中带来多个虚频。这时候就要注意振动的模式了,如果只是某些键的扭转,或者一些不大的平动,那么基本上就可以忽略过去了。在计算过渡态的时候,最重要的是虚频最大的振动,一定要在始态和终态之间振荡,这样才能保证过渡态基本合理,此判据也用到某些原子必须固定的优化计算中,例如沸石分子筛的催化反应等。
Q26
Q26:怎么在 Altix350 上安装 MS 的 Castep 和 DMol 的补丁加速运算速度?
A26:首先,正常安装 MS3.2,这时候,一定要确保 CASTEP 和 DMol 可以正常进行并行计算。
注意:此时,CASTEP 和 DMol 可能在进行超过 8CPUs 并行计算时出错,不用管它,只要能够在 2CPUs 以上并行正常就可以打补丁了,打完补丁后,遇到的问题就可以解决了。如果不打补丁,那么请修改~msi/ms/share/bin/ms_setup.sh 文件,将 globmemory 8000000 改大即可。
正常安装 MS 后,请按照以下流程打补丁:
1.root 登录,运行 rpm –qa glibc,察看 glibc 版本,并选择相对应的 CASTEP 和 DMol 补丁,如 glibc2.3.2 的选择 DMol2.3.2 的补丁;
2.使用补丁包中的 castepexe_mpi_altix.exe 文件替换~msi/ms/CASTEP/bin/ castepexe_mpi.exe 文件;同样的使用 dmol3_mpi_altix.exe 文件替换~msi/ms/DMol3/bin/dmol3_mpi.exe 文件;
3.msi 登录,运行 which mpirun,并记录相关目录。进入~msi/ms/share/bin 下,修改 ms_setup.sh文件,找到
mpiroot="/opt/hpmpi"
mpicommand="/opt/hpmpi/bin/mpirun -np ,并改为
mpiroot="/usr/bin/"
mpicommand="/usr/bin/mpirun -np "
重新启动 gateway,并在 Windows 的 server console 中对 mpi 路径作相关修改,修改完成后即可顺利运行。
注意,对于 DMol 程序还需要注意 MKL 的版本,如果是 7.2 以前版本,将无法正常运行 DMol,需要重新安装 MKL 的补丁。方法如下:将 libmkl_i2p.so.gz 文件拷贝到~msi/ms/share/lib 下,解压缩替换 libmkl_i2p.so,修改该文件权限为 755,完成后即可。
Q27
Q27:为什么我在 Linux 下安装 license 的时候,总是报错呢?
A27:License 文件的格式如下:
SERVER Altix 08006911E33A 1715
DAEMON msi /usr/msi/REL/PLATFORM/exe/special/msid 其中,Server 表示 License Server 的主机名称与网卡的 MAC 地址,其中主机名称可以自行修改,而 MAC 地址是万万动不了的,否则会报错。MAC 地址可以通过 ifconfig –a (windows 下使用 ipconfig/all)来查找,如果发现 License 文件出错,则可使用~msi/License_Pack/ Linux_2_Intel_32/exe 下使用mshostid 来查看 MAC 地址,如果不符合,那么可能需要重新申请。
DAEMON 表示后台程序的位置,主要指定的是 msid 这个后台程序的位置,对于 32 位和 64 位Linux 机器,位置一般为/home/msi/License_Pack/Linux_2_Intel_32/exe/msid。
如果还是不行,那么还可以在安装 License 文件后使用以下命令来检查 license 文件的合法性,为(License Pack.6.5 及以前版本):
> source ~msi/License_Pack/msi_lic_cshrc
> lmstat (查看当前 license 文件是否能够正常运行)
> license_verifier (查看当前 License 文件的合法性,如果有问题,会有提示)
注意上述两个命令使用后所出现的结果,并详细检查 License 文件格式。
在 License Pack7.0 中,以上的命令改为:
# 进入/bin/下,运行 lp_admin –console 读取帮助信息,也可以直接执行以下命
令:
> source ~msi/LicensePack/etc/lp_cshrc
> lp_install (安装 license 文件)
> lp_server -c port@hostname (配置 license server)
> lp_server –s (启动 license server)
> lp_server -x (关闭 license server)
> lp_tester (检测 license 是否合法)
Q28
Q28:在使用 SGI Altix350,打补丁后运行 RunCASTEP.sh –np n seedname 的时候,出现错误:MPI:asgetnetinfo_array('(null)') failed : array services not available,怎么解决?
A28:这是由于 array 服务没有开启所造成的,解决方案如下:
以 root 登录,进入/etc/init.d/,运行:
> ./array start (开启 array 服务)
> chkconfig array on (将 array 加入到启动列表中)
Q29
Q29:MS 的 GFA 是怎么对参数进行杂交的?参数多少与内存有无关系?
A29:QSAR 模块中的 GFA 计算是需要一定的内存的。如果使用 10 个参数做一个简单的计算就可以发现:
参数
数目 操作 公式
none 10 无操作 n
Binary
Interaction 55 A, B, C, A*B, B*C, and A*C n+ 2 Cn
Simple Quadratic 20 A, B, C, A^2, B^2, and C^2 2n
Full Quadratic 65 A, B, C, A^2, B^2, C^2, A*B, B*C, and
A*C 2n+ 2 Cn
Simple Cubic 20 A, B, C, A^3, B^3, and C^3 2n
Full Cubic 285
A, B, C, A^2, B^2, C^2, A*B, B*C, A*C,
A^3, B^3, C^3, A^2*B, A^2*C, B^2*A,
B^2*C, C^2*A, C^2*B, and A*B*C
3n+3 2 Cn + 3 Cn
随着复杂性的增加,参数数目的增长呈级数增长,这就导致了随着参数增大的时候,所需要的内存数目迅速增加。实际测试发现,当参数的数目增加到 160 个的时候,所需要的内存达到了 900M左右,此时,CPU 的使用率保持在 99%以上。此时,应该已经达到了 GFA 在 1G 内存机器上处理体系的上限值。
提示:在实际进行 QSAR 研究时,160 个参数已经是非常多的体系了,建议在进行处理之前,先使用相关性矩阵将所有的参数进行排序,剔除出那些相关性非常高的参数,这样,在进行 GFA分析时会大大降低参数的数目,同时,也会帮助我们对得到的回归方程进行分析。
Q30
Q30:DFT 方法对计算量和内存的要求是什么样的?
A30:使用 DFT 理论计算时,使用的 Ψ 与电子密度成正比,也就是说,在求解薛定谔方程时,计算量和电子数目的立方成正比。如果是同一体系,简单来讲计算量和原子数目的立方成正比。体系所需要的内存和硬盘与体系的电子密度的平方倍成正比,如果是同一体系,简单来讲计算量和原子数目的平方成正比。例如,对于 ZnO 体系而言,当截取(100)表面,且真空层统一定为 10A 时,使用 CASTEP 程序进行计算,在考虑自旋极化的情况下。所需要的内存、硬盘以及 CPU 计算时间如下表所示:
相应的计算时间、内存、硬盘与原子数目关系如下图所示:
注意:由于 DFT 理论方法受计算资源的限制非常明显,在计算大作业之前,最好能够初步判断一下所需要的内存和 CPU 时间,并尽可能调整计算参数和模型。这样,才能比较好的利用计算资源。
备注:对于 CASTEP 程序而言,除了和原子的数量有关外,还和空体积数有关。其关系为线形增长,即计算时间与体积成线形增长,内存也与体积成线形。