不知道论坛有没有人搞高分子材料这块的,搞材料的Materials Studio用的比较多吧,希望会喜欢!
目
录
Q1:为什么使用Discover进行Dynamics计算时,如果设定了Pressure=1GPa,在计算结果中会出现Pressure等于0,而Stress的XX、YY、ZZ方向为1GPa的情况?... 4
Q2:如何在Discover计算中分别对相同环境原子分配不同力场类型?... 4
Q3:如何在CASTEP计算中限制某个原子的移动方向?... 4
Q4:在安装新的MS时,事先没有停掉License Server,在卸载、安装MS后,发现MS的License Server无常启动。
5
Q5:如何修改Windows或者Linux下的端口号:... 5
Q6:如何使用DMol3进行动力学计算?... 6
Q7:如何让Discover程序输出.arc文件?... 7
Q8:如何使用rattle关键词来限制水分子的几何结构?... 7
Q9,如何使用Standalone方式运行DMol程序?... 7
Q10:如何在DMol中加入外界电场?... 7
Q12,如何以Standalone方式运行Discover作业?... 8
Q13:为什么我在QSAR模块中无法找到新加入的Jurs和DMol3描述符?... 8
Q14:如何在DMol模块中,对某一分子只允许其沿着Z方向进行优化,而XY方向则不变?... 8
Q15:如果CASTEP计算过程中断电,怎么能够重新开始计算呢?在Keywords中有两个关键词Reuse和Continuation,它们有什么差异呢?... 8
Q16:如果我在Cleave一个平面的时候,选择的是(111)面,或者该晶体原来就是一个三斜晶胞,我怎么才能切出一个长方形的表面来呢?... 9
Q17:在使用DMol进行结构优化的时候失败,通过对轨迹的回放发现,整个分子在平面上下进行翻转,并由此导致能量振荡,这种情况应当如何处理?... 9
Q18:如何使用XRD数据快速建立相关的晶体结构。... 9
Q19:如何在DMol中考虑溶剂化效应?... 10
Q20:如何使用MS软件计算高分子的玻璃化温度?... 11
Q21:在使用MS进行计算的时候,中间的xcd文件无法及时更新,而其他文件则能正常显示,为什么?
12
Q22:怎么样在MesoDyn中加入各种不同的限制?... 12
Q23:MS给出的DOS和能带图不是很清楚,我能不能自己来做图?... 12
Q24:怎么样能让CASTEP在并行计算时更有效?... 12
Q25:在使用DMol计算过渡态结构时,经常会发现出现不止一个虚频,怎么回事?... 13
Q26:怎么在Altix350上安装MS的Castep和DMol的补丁加速运算速度?... 13
Q27:为什么我在Linux下安装license的时候,总是报错呢?... 13
Q28:在使用SGI Altix350,打补丁后运行RunCASTEP.sh
–np
n
seedname的时候,出现错误:MPI:asgetnetinfo_array('(null)') failed : array services not available,怎么解决?... 14
Q29:MS的GFA是怎么对参数进行杂交的?参数多少与内存有无关系?... 14
Q30:DFT方法对计算量和内存的要求是什么样的?... 15
Q31:为什么当DMol3在我机器上运行过的时候,总是出现以下错误:floating-point assist fault?... 16
Q32:在使用DMol3算频率的时候,突然断电了,怎么才能继续算频率呢?... 16
Q33:在Castep模块中,Electronic中的Pseudopotential representation,有Real Space和Reciprocal space,如何取舍?
17
Q34:如何从Discover的输出文件中查看每桢中原子的坐标以及速率等信息?... 17
Q35:我使用的是Standalone方式进行Castep和DMol3计算,完成后怎么才能看到最终结构和轨迹呢?
17
Q36:DMol中有TS Conformation也有TS Optimization,应该选取哪一个来搜索过渡态?... 17
Q37:在使用CASTEP进行过渡态(TS)搜索时,当用reaction preview产生一个轨迹文件之后,对该轨迹文件进行TS search 运算时,在本机直接计算可以进行,但是进行save files时,却无法完成提示Unable to set UserID. Trajectory file will be invalid.
18
Q38:在Castep中,怎样输出电荷密度?相关数据的单位是什么?... 18
Q39:如何在Discover中使用BTCL语言进行多步MD计算?... 18
Q40:如何用Dmol3计算Overlay Matrix,并进一步分析?... 21
Q41:如何使用Castep程序计算IR振动,为什么计算老是说不收敛?... 22
Q42:为什么我在手工使用Castep计算能带结构、态密度或者声子谱的时候,程序始终提示没有Check文件?
22
Q43:Discover的Non-bond中Summation的三种方法有什么区别?... 22
Q44:Castep中的Empty Band有何用处?怎么设置?... 24
Q45:CASTEP中如何控制能带结构的精细程度?... 24
Q46:如何在MS中加入非限制性约束条件,例如约束两个原子间距离?... 26
Q47:如何在DMol3中显示大于999号轨道的Homo和Lumo轨道?... 26
Q1:为什么使用Discover进行Dynamics计算时,如果设定了Pressure=1GPa,在计算结果中会出现Pressure等于0,而Stress的XX、YY、ZZ方向为1GPa的情况?
A1:这是由于在进行Dynamics计算时,选用的Ensemble不相同,如果选用了Parrinello方法,将使用Stress来进行判断,此方法允许晶胞形状与大小都发生变化,已形成剪切,从而使内部的Stress与外部Pressure相等。对于晶体计算来说,此方法应该更加合理。而Andersen方法则只改变晶胞大小,不改变晶胞形状,此时使用Pressure来作为判断标准。因此,计算后的Pressure值和设定值相同。 Q2:如何在Discover计算中分别对相同环境原子分配不同力场类型?
A2:在Discover中,使用Assign按钮为原子分配不同的力场类型。在Setup选项中,将Automation中的FF和Partial Charge设置为No。然后进行计算即可。 注意:在具有周期边界条件的体系中,在No-bond中,选择Summation方式为Ewald(考虑分子间长程作用)然后进行计算才能正确生成能量表达式,其他方式计算可能会导致错误发生(分母为零)。 Q3:如何在CASTEP计算中限制某个原子的移动方向?
A3:CASTEP计算中只支持Fraction坐标,不支持Coordinate坐标。采用常规方式无法限制原子的移动方向,需要手动修改CASTEP的Cell文件,具体方式如下,在 %BLOCK POSITIONS_FRAC
Al
0.0000000000
0.0000000000
0.0000000000
Al
0.2270171283
0.2094837802
0.5009850469
Al
0.5000000000
0.0000000000
0.5000000000
Al
0.5000000000
0.5000000000
0.0000000000 %ENDBLOCK POSITIONS_FRAC 中包括每个原子的分数坐标,请留意每个原子的编号,在下面的计算中会有所帮助。 在Cell文件中,关于原子坐标限制的部分如下: FIX_COM : false %BLOCK IONIC_CONSTRAINTS 1
Al
1
1.0000000000
0.0000000000
0.0000000000 2
Al
1
0.0000000000
1.0000000000
0.0000000000 3
Al
1
0.0000000000
0.0000000000
1.0000000000 4
Al
3
1.0000000000
0.0000000000
0.0000000000 5
Al
3
0.0000000000
1.0000000000
0.0000000000 6
Al
3
0.0000000000
0.0000000000
1.0000000000 7
Al
4
1.0000000000
0.0000000000
0.0000000000 8
Al
4
0.0000000000
1.0000000000
0.0000000000 9
Al
4
0.0000000000
0.0000000000
1.0000000000 %ENDBLOCK IONIC_CONSTRAINTS 其中包括每行编号(紫色),原子类型(红色),原子编号(绿色)和需要限制的分数坐标(黑色)。如果要限制第二个Al原子不能沿着X方向移动,那么在该部分的设置如下: 1
Al
1
1.0000000000
0.0000000000
0.0000000000 2
Al
1
0.0000000000
1.0000000000
0.0000000000 3
Al
1
0.0000000000
0.0000000000
1.0000000000 4
Al
2
1.0000000000
0.0000000000
0.0000000000 5
Al
2
0.0000000000
0.0000000000
1.0000000000 6
Al
3
1.0000000000
0.0000000000
0.0000000000 7
Al
3
0.0000000000
1.0000000000
0.0000000000 8
Al
3
0.0000000000
0.0000000000
1.0000000000 9
Al
4
1.0000000000
0.0000000000
0.0000000000 10
Al
4
0.0000000000
1.0000000000
0.0000000000 11
Al
4
0.0000000000
0.0000000000
1.0000000000
注意,编号要顺次后移,否则会出错,黑色部分分别对应于x、y、z三个方向,完成后,使用Run Files方式即可进行计算。 此外,在 %BLOCK CELL_CONSTRAINTS
1
2
3
4
5
6 %ENDBLOCK CELL_CONSTRAINTS 中可以限制晶胞向量的变化,第一行分别表示三个晶胞参数a、b、c, 第二行表示晶胞角度α、β、γ。上述结构表明参数可以被优化,如果需要加以限制,则需要改为0。 Q4:在安装新的MS时,事先没有停掉License Server,在卸载、安装MS后,发现MS的License Server无常启动。
A4:在“控制面板 | 管理工具 | 服务”中,可以看到Accelrys License Server启动,首先将此服务设置为“禁用”,然后在“开始 |
运行”中键入“Regedit”命令,查找“License Server”,多选项只选择“项”,然后进行查找,将“Server”目录下的“Accelrys License Server”全部删除。 重新启动机器。按照正常流程启动License Server即可。 Q5:如何修改Windows或者Linux下的端口号:
A5:在License文件中,第一行能够看到以下信息: SERVER Itanium 00306EF38B48 1715 其中,Itanium是机器的主机名称(Hostname),00306EF38B48是机器网卡的物理地址(MAC地址),而1715表示的是License Server的端口号,可以在这里将端口号改为任意端口XXXX(大于1000),按照标准方式安装License文件,此时,开放的端口就是所指定的端口XXXX了。 如果要改变Gateway的端口18888,在Linux下请执行以下几个命令: 1.进入<MS>/Gateway 2.运行./msgateway_control_18888 stop
(18888是程序默认端口号) 3.运行./deconfigureall
(删除已有的Gateway信息) 4.进入<MS>/Gateway/config/,找到并修改gateway_config.pl,找到下面这一行: $defs{gw_port} = 18888;
# the default port to use
(程序默认使用的端口号) 将18888改为任意端口1XXXX,保存并退出。 5.运行./configure gateway
(重新生成Gateway信息) 6.进入上�****************柯迹⒃诵� ./msgateway_control_1XXXX start
(重新启动gateway) 经过上述步骤后,Gateway的端口号即被改为1XXXX。 Q6:如何使用DMol3进行动力学计算?
A6:需要使�*************************钚械姆绞浇刑峤唬父龉丶适牵�"MD_Time_Step", "MD_Velocity", and "MD_SimAnn_Panel",详细地设置请参看:http://www.accelrys.com/doc/materials/cerius40/quantum/D_DMol3Keywords.html,user:science,passwd:faster。一个简单的例子如下所示:# Task parameters Calculate
Molecular_Dynamics Opt_energy_convergence
2.0000e-005 Opt_gradient_convergence
4.0000e-003 A Opt_displacement_convergence
5.0000e-003 A Opt_iterations
50 Opt_max_displacement
0.3000 A Symmetry
on #MD and Simulated Annealing Keywords MD_Time_Step
0.46185671 MD_Velocity
Random
0 MD_SimAnn_Panel
1
1
100
MD_NVT
300.000
10.000 # Electronic parameters Spin_polarization
restricted Charge
0 Basis
dnd Pseudopotential
none Functional
gga(p91) Aux_density
octupole Integration_grid
medium Occupation
fermi Cutoff_Global
3.3000 angstrom Scf_density_convergence
1.0000e-005 Scf_charge_mixing
0.2000 Scf_iterations
50 Scf_diis
6 pulay # Print options Print
eigval_last_it # Calculated properties Frequency_ysis
on Q7:如何让Discover程序输出.arc文件?
A7:打开.inp文件,在文件最后能够看到{print history},将其改为{print archive}即可,如果只要输出坐标,那么可以采用 + coordinates关键词。完成后运行即可。 Q8:如何使用rattle关键词来限制水分子的几何结构?
A8:首先打开所需要进行限制的分子结构,在Dynamics选项下保存文件,会发现有一个叫做.car的文件,打开此文件进行编辑。其中,关于水分子的部分按照如下方式进行修改: H1
1.964314103
-0.771667838
8.750601768 WTR
1
h*
H
0.410 O1
1.497763872
-0.131740466
8.158240318 WTR
1
o*
O
-0.820 H2
0.676835179
-0.641967356
8.043372154 WTR
1
h*
H
0.410 end 注意红色显示部分。WTR 为水分子的类型,注意WTR后有一个空格,为四字符格式。完成后另存到其它目录。然后重新打开此文件,在此文件的基础上进行修改,然后在.inp文件中加入以下语句: rattle water -waterType SPC -tolerance 1e-4完成上述操作后,运行此文件即可。需要注意的有两点:1. 水分子必须是单独的结构,不要一堆水分子放在一起分不清楚(单个分子以end结束);2. 修改完.car文件后,建议将原来的目录完全删除,这样再次打开的文件后缀将是.xsd文件,否则可能为.car。 通过此方法,还可以限制其它分子的几何结构。 Q9,如何使用Standalone方式运行DMol程序?
A9:在MS中完成DMol设置后,保存Files,然后将.car和.input文件上传到Linux服务器上。采用dos2unix命令转换.input文件格式。完成后,使用RunDMol.sh –np n seedname来运行即可。上传时请采用ftp工具,不要使用MS自带FTP工具。 Q10:如何在DMol中加入外界电场?
A10:在DMol的Input文件中加入以下命令: Keywords:
Electric_Field
x y z 其中xyz为电场的方向,例如要沿着Z方向加电场,则可输入 0.0
0.0
0.2,其单位为标准单位制Hartree/Bohr,或者意味着52V/A(非常大的数量级,需要和实际体系联系起来使用,公式为E=U/l)。下面是加了电场和没加电场得到的数据对比: water
No EF
EF(Z)
EF(X) Energy
-76.4228083
-76.5010767
-76.5010767
Dipole
0.81340
1.09938
1.09938
O Charge
-0.809
-0.813
-0.813 H Charge
0.405
0.406
0.406 HOMO
-0.248311
-0.278503
-0.278503 C nanocube
No EF
EF Energy
-2666.5623585
-2683.287989 Homo
-0.2204
-0.0295 Q12,如何以Standalone方式运行Discover作业?
A12,在MS中完成DMol设置后,保存Files,对于MM和MD有不同的处理方式,对MM,需要上传.car和.inp文件到Linux操作系统下,使�*************************�dos2unix将.inp文件转换为Unix格式,再使用<Discover安装目录>/bin/RunDiscover.sh <seedname>来运行MM计算;对MD计算,需要上传.car、.inp和.mdf文件到Linux操作系统下,使�*************************�dos2unixj将.inp和.mdf文件转换为Unix格式,再使用<Discover安装目录>/bin/RunDiscover.sh <seedname>来运行MD计算。 Q13:为什么我在QSAR模块中无法找到新加入的Jurs和DMol3描述符?
A13:使用这两种描述符需要在QSAR模块中引入引入新的QSAR模块,具体方法是:打开QSAR模块,在右侧工具栏上选择Import Model,在<MS安装目录>/Data/Resources/QSAR/Model中,选择DMol3MolecularModel.xmd、DMol3PeriodicModel.xmd和JursDescriptorModel.xmd,导入即可使用相关模块。通过文本编辑器,可以打开相关的文件,从中可以看到相关的描述说明。 Q14:如何在DMol模块中,对某一分子只允许其沿着Z方向进行优化,而XY方向则不变?
A14:首先选择要优化的原子,在Modify菜单的Constrains中,固定其XYZ坐标,然后在DMol的Calculation对话框中进行相关设置,完成后Save Files。 打开Input文件,找到下面一行文件: # Cartesian constraints Opt_fixed 1
XYZ 其中,XYZ表示对XYZ坐标都进行限制,如果只沿着Z方向进行优化,那么要将这一行改为1 XY,保存文件,并Run Files就可以了。 如果1、2代表的原子不清楚,那么请打开mdf文件去查询。 Q15:如果CASTEP计算过程中断电,怎么能够重新开始计算呢?在Keywords中有两个关键词Reuse和Continuation,它们有什么差异呢?
A15: 这两个关键词都是为了在上一步成功计算的基础上,使用最终结构和输入参数进行更进一步的计算的,无法在断电未生成check文件时重新开始计算。 1)用reuse reruse是开始一个全新的计算,使用最终结构以及其他的相关信息。在这里可以对相关设置进行修改已开始其他的计算工作。 2)用continuation 也是开始一个新的计算工作,会使用到最终结构,参数设置和上次工作的几乎完全一致。 注意:使用reuse和continuation关键词都会使用到.chk文件,如果工作计算失败,并且没有得到.chk文件,那么只能使用第一种方法开始重新计算。 如果要在断电后重新计算,那么可以采用以下方法。 用已经部分优化了的几何构型重新交作业; 使用的是最后一桢优化过的结构,能够接着上面的工作继续开始优化,但是第一次SCF计算过程会比较长一些,因为要估算受力情况,接下来就进入了正常计算部分。 Q16:如果我在Cleave一个平面的时候,选择的是(111)面,或者该晶体原来就是一个三斜晶胞,我怎么才能切出一个长方形的表面来呢?
A16:首先Cleave所需要的米勒面,例如(111)面,然后使用Lattice工具将此表面放大,找出垂直于U或者V轴的某个垂线上的原子X,将该原子X作为新的V轴或者U轴的末端点,并找到相应的分数坐标,然后在Cleave工具的Surface Mesh中定义U、V取向即可。 小技巧:可以先剪切平面,选择要重新定义u、v轴所对应的原子,然后到原来的晶体中去找该原子的分数坐标,直接输入mesh即可。 注意:查找原子的XYZ坐标的目的是为了找到原来原子的分数坐标,如果能够通过数学变化来的得到的话,也可以直接进行数学变化。另外,如果为了转换晶胞(如三斜转换为正交,在Cleave Surface的时候需要对Depth特别注意,一定要让上层原子和下层原子完全重合,然后再加0A的真空层。) Q17:在使用DMol进行结构优化的时候失败,通过对轨迹的回放发现,整个分子在平面上下进行翻转,并由此导致能量振荡,这种情况应当如何处理?
A17:在使用DMol进行优化的时候,可以在Optimization的设置中,将Max Step Size调小,默认值为0.5,可以改为0.3或者0.1,从而使计算收敛。 Q18:如何使用XRD数据快速建立相关的晶体结构。
A18:在这里需要Word和Excel程序联用了。首先,将晶体的分数坐标拷贝到Word中,使用“表格 | 转换 | 文本转换为表格”,将文本转换为表格形式。将数据拷贝到Excel中,并使用晶胞参数将分数坐标转换为笛卡儿坐标(注意,这里不用管Alpha、Beta和Sigma的角度),选取原子类型、笛卡儿坐标,并将其拷贝到任意文本中,并保存为.xyz格式文件。 Number of atoms Title Coordinate (A1
X1 Y1 Z1 A2
X2 Y2 Z2) 使用MS打开该.xyz文件,会显示出相关的原子来。现在请使用Build Crystal工具搭建晶体结构,请使用相关的分子点群和晶胞参数(Alpha=Beta=Sigma=90)。 使用Lattice Parameter将相应的Alpha、Beta和Sigma调整至合适角度。 最后请使用Find Symmetry工具再次确实空间群。 Q19:如何在DMol中考虑溶剂化效应?
A19:建立好模型后不要急着计算,请选择Save Files,然后在input文件中加入相关语句。 COO
on (使用COO方法考虑溶剂化效应) COnductor-like Screening Model是连续介质模型,用介电常数的连续介质来反映溶液,而溶质分子会形成孔穴。溶质的电荷分布会使电介质发生发生极化,而电介质的响应则用孔穴表面所产生的屏蔽(或者极化)电荷来描述。详细的机理如下图所示: COO_Dielectric
XX (介电常数值,用来表示不同溶剂。默认设置为999.9,表示导体,水在室温下为78.4) COO_Grid_Size
1082 (程序对每个原子考虑选取多少个格点来进行计算。 允许的值为:12, 32, 42, 92, 122, 162, 272, 362, 482, 642, 812, 1082, 1442, 1922。) COO表面是环绕着溶质分子,以不同原子为中心的球体表面重叠而成的。球体依靠离散点来描述,所以称之为Basis Grid。) COO_Segments
92
(指定了每个原子表面的最大片段数。允许的值为12, 32, 42, 92, 122, 162, 272, 362, 482, 642, 812, 1082, 1442, 1922。) 程序将格点分配给不同的片断,并在不同的片断上加屏蔽电荷,电荷个数等于片段数。这是Coo方法中的主要参数,它决定了COO方法的主要性能。 COO_Solvent_Radius 1.3 (指定溶剂探针的半径,允许的值在0.5到2.0之间) 注意,该参数用于构造Coo孔穴,不应该改变,特别在执行COO_RS关键词时更是如此。 COO_A-Matrix_Cutoff
7.0 (决定了COO表面静电相互作用的精确性。该参数不应当小于2.0) 表面上电荷之间的静电相互作用不仅决定于片断而且也和格点有关系,这依赖于该参数设置的距离大小。如果两个片段间的距离小于设置的Cutoff值,那么片段间的相互作用就会使用格点来进行计算。在更短距离内的格点计算方法将提供更高的精确度。 COO_Radius_Incr 0.0
(指定构造Coo孔穴时原子半径的增量) 注意,该参数用于构造Coo孔穴,不应该改变,特别在执行COO_RS关键词时更是如此。 COO_RadCorr_Incr
0.15
(用来构造外部孔穴,以进行远离中心的电荷校正) 注意,该参数用于构造Coo孔穴,不应该改变,特别在执行COO_RS关键词时更是如此。 是一个非常重要的校正,用于解决耗散到孔穴边界外部的电子密度。对于阴离子计算特别重要。 校正的Coo能量公式如下(以水为例) Total energy corrected (au) [TE(corr)]
{TE(corr) = TE + DE(corr) - DE} = -76.4617695727 对于包括非静电溶剂化能的校正分析来说,能量表达式可以表述为: Total energy corrected (au) [TE(corr)]
+ Nonelectrostatic Energy = -76.4576895922 COO_RS
on
(使用此关键词考虑溶剂的宏观热力学性质) Q20:如何使用MS软件计算高分子的玻璃化温度?
A20:这需要计算高分子的密度-温度曲线,在得到了相关曲线后,就可以得到体系的Tg温度以及Free Volume,具体图示如下所示:
注意:力场对计算结果非常重要,可以使用COMPASS力场来计算密度值。此外,在计算密度时会用到NPT系综,可以选择各向同性的Andersen方法。 Q21:在使用MS进行计算的时候,中间的xcd文件无法及时更新,而其他文件则能正常显示,为什么?
A21:如果遇到这种情况,那么请检查初始的xsd文件中是不是中间有小数点(.),如果有小数点的话,那么可以正常进行计算,但是表格文件无常更新,并且只能出现小数点前的文件名称。 Q22:怎么样在MesoDyn中加入各种不同的限制?
A22:在MesoDyn的隐含文件mask.MesoDyn_ascii中,能看到一个三维矩阵,该矩阵定义了mask的形状和大小,只需要修改此文件即可保证出现各种mask结构,该文件的格式为: X1
{Y Z} X2
{Y Z} ………… Q23:MS给出的DOS和能带图不是很清楚,我能不能自己来做图?
A23:可以,首先使用MS做出Band Structure和DOS图,并在图上单击右键选择Copy,打开Excel就可以将数据粘贴到单元格。DOS可以直接使用Origin做图,而能带结构则需要认真处理(按照K点采样来处理的)。 Q24:怎么样能让CASTEP在并行计算时更有效?
A24:CASTEP是按照两种方式来并行计算的,分别为G Vectors和K Points并行。G-Vectors表示FFT格点,K Points表示布里渊区采样数目。在MS中,CASTEP程序是使用GK也就是综合考虑两者的比例来确定并行数的,所以,在分配CPU前一定要认真考虑。 (G Vectors似乎是呈现1/2次幂的方式来增长的,增长速度并不很明显) Q25:在使用DMol计算过渡态结构时,经常会发现出现不止一个虚频,怎么回事?
A25:在DMol计算过程中,如果始态与终态结构优化不完全,或者反应路径设计不合理的话,很可能在过渡态中带来多个虚频。这时候就要注意振动的模式了,如果只是某些键的扭转,或者一些不大的平动,那么基本上就可以忽略过去了。在计算过渡态的时候,最重要的是虚频最大的振动,一定要在始态和终态之间振荡,这样才能保证过渡态基本合理,此判据也用到某些原子必须固定的优化计算中,例如沸石分子筛的催化反应等。 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:为什么我在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中,以上的命令改为: # 进入<MS安装目录>/bin/下,运行lp_admin –console 读取帮助信息,也可以直接执行以下命令: > source ~msi/LicensePack/etc/lp_cshrc > lp_install <license文件位置>
(安装license文件) > lp_server -c
port@hostname
(配置license server) > lp_server –s
(启动license server) > lp_server -x
(关闭license server) > lp_tester
(检测license是否合法) 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:MS的GFA是怎么对参数进行杂交的?参数多少与内存有无关系?
A29:QSAR模块中的GFA计算是需要一定的内存的。如果使用10个参数做一个简单的计算就可以发现:
|
参数数目
|
操作
|
公式
|
none
|
10
|
无操作
|
n
|
Binary Interaction
|
55
|
A, B, C, A*B, B*C, and A*C
|
n+
|
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+
|
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 +
|
随着复杂性的增加,参数数目的增长呈级数增长,这就导致了随着参数增大的时候,所需要的内存数目迅速增加。实际测试发现,当参数的数目增加到160个的时候,所需要的内存达到了900M左右,此时,CPU的使用率保持在99%以上。此时,应该已经达到了GFA在1G内存机器上处理体系的上限值。 提示:在实际进行QSAR研究时,160个参数已经是非常多的体系了,建议在进行处理之前,先使用相关性矩阵将所有的参数进行排序,剔除出那些相关性非常高的参数,这样,在进行GFA分析时会大大降低参数的数目,同时,也会帮助我们对得到的回归方程进行分析。 Q30:DFT方法对计算量和内存的要求是什么样的?
A30:使用DFT理论计算时,使用的Ψ与电子密度成正比,也就是说,在求解薛定谔方程时,计算量和电子数目的立方成正比。如果是同一体系,简单来讲计算量和原子数目的立方成正比。 体系所需要的内存和硬盘与体系的电子密度的平方倍成正比,如果是同一体系,简单来讲计算量和原子数目的平方成正比。 例如,对于ZnO体系而言,当截取(100)表面,且真空层统一定为10A时,使用CASTEP程序进行计算,在考虑自旋极化的情况下。所需要的内存、硬盘以及CPU计算时间如下表所示:
层数
|
原子数
|
计算时间
(S)
|
迭代次数
|
单SCF计算时间(S)
|
总内存
(MB)
|
硬盘空间
(MB)
|
2
|
4
|
552.96
|
21
|
26.33
|
143.0
|
47.6
|
4
|
8
|
932.57
|
22
|
42.39
|
179.3
|
61.5
|
6
|
12
|
2416.95
|
23
|
105.08
|
311.3
|
114.8
|
8
|
16
|
4173.51
|
23
|
181.46
|
479.7
|
182.5
|
16
|
32
|
30621.19
|
27
|
1134.12
|
1548.7
|
612.5
|
相应的计算时间、内存、硬盘与原子数目关系如下图所示: 注意:由于DFT理论方法受计算资源的限制非常明显,在计算大作业之前,最好能够初步判断一下所需要的内存和CPU时间,并尽可能调整计算参数和模型。这样,才能比较好的利用计算资源。 备注:对于CASTEP程序而言,除了和原子的数量有关外,还和空体积数有关。其关系为线形增长,即计算时间与体积成线形增长,内存也与体积成线形。
Q31:为什么当DMol3在我机器上运行过的时候,总是出现以下错误:floating-point assist fault?
A31:在IA64机器上,会出现此类错误,需要在安装软件的用户登录脚本(.profile, .bash_profile, .login)中,加入以下语句: prctl --fpemu=silent 这样在运行作业的时候,就不会出现上述错误了。 Q32:在使用DMol3算频率的时候,突然断电了,怎么才能继续算频率呢?
A32:在input文件中使用Vibration_Restart关键词,就可以重新开始频率计算了,文件的格式为:on 重新开始频率计算,需要runname.hesswd文件 off 不重新开始频率计算 file 重新开始频率计算,需要从下一行读入数据。 Q33:在Castep模块中,Electronic中的Pseudopotential representation,有Real Space和Reciprocal space,如何取舍?
A33:Real Space对于大体系计算,性能提升比较大。而对于那些原子核半径与晶胞参数项比较大的小晶胞而言,最好不要使用此方法。也就是说,对较空的晶体可以采用Real Space来计算,而其他的体系最好还是用Reciprocal space来处理。 Q34:如何从Discover的输出文件中查看每桢中原子的坐标以及速率等信息?
A34:请使用formhis.exe文件,参看F:\Shiwei\Materials Studio\Bug and Patch\formhis.zip 需要执行以下命令: # (动力学后会产生一个隐含的 *.his文件,假设名字为test.his) #
在命令行方式下 打开formhis.exe文件 test(回车) # 不需要打后缀 # 得到的ascii文件名为test.fhis fhis文件为ASCII格式文件,可以直接读取,文件格式请参看F:\Shiwei\Materials Studio\Info form Accelrys\Common File Formats.mht。 Q35:我使用的是Standalone方式进行Castep和DMol3计算,完成后怎么才能看到最终结构和轨迹呢?
A35:可以按照以下方式处理此类问题:
1. 建立模型,并在设置计算参数;
2. 保存文件,会生成一个新的目录(该目录不能够删除,否则会影响以后的计算);
3. 以standalone方式进行运算,完成后将所有生成文件拷贝并覆盖原有文件夹中的文件;
4. 在Project Explorer上选择Refresh,并双击激活原有的xsd文件;
5. 打开ysis对话框,选择Structure,按下Update按钮可以更新结构文件,按下Create按钮可以产生轨迹文件。 Q36:DMol中有TS Conformation也有TS Optimization,应该选取哪一个来搜索过渡态?
A36:在做过渡态搜索时候,有几种方法,一种是使用得QST2的方法,即知道了反应物和产物,通过搜索反应路径上的一阶鞍点来搜寻过渡态的方法,在DMol3里,即为TS Search,另一种是直接从单个分子出发,搜索可能的过渡态结构,此方法单纯计算能量的二阶导数,看是否有只有一个虚频点,在DMol中,即为TS Optimization。 一般我们使用DMol搜索过渡态的流程是这样的: 1.
构造反应物和产物分子,并使用DMol计算这两个结构的最佳构型(需要计算频率使体系无虚频,如果有部分结构固定,则可以忽略频率验证部分); 2.
使用Reaction Preview工具设计可能的反应路径,首先要保证化学上的合理性; 3.
使用TS Search搜索可能反应路径中的过渡态结构,此时需要计算频率,通过振动方式来判断该过渡态是否真正一阶鞍点,是否连接反应物与产物; 4.
通过TS Conformation来判断反应路径上是否有其他中间体与过渡态,如果有,那么需要对新的中间体进行优化,并重复使用2-4的过程进一步进行搜索,以判断体系的真正反应路径。 TS Optimization一般是对过渡态结构进行精修时使用,不过由于此方法并不能判断过渡态是否连接反应物与产物,只能作为辅助手段。如果优化出来的过渡态与反应物分子非常相近,那么有可能是因为势能面较为复杂,在反应物附近就有能量较低的一阶鞍点,造成优化失败。 Q37:在使用CASTEP进行过渡态(TS)搜索时,当用reaction preview产生一个轨迹文件之后,对该轨迹文件进行TS search 运算时,在本机直接计算可以进行,但是进行save files时,却无法完成提示Unable to set UserID. Trajectory file will be invalid.A37:这实际上是由于文件名格式的问题,在进行TS Search的时候,程序要求生成一个叫做“seedname Trajectory.xtd”的文件,注意,在Seedname和Trajectory之间是有空格的,而保存的时候,正是由于这个空格导致计算无常进行。 对于这个问题,可以按照以下方式进行处理:
1. 如果使用图形界面,则直接按下Calculate按钮即可,程序会自动进行处理的;
2. 如果要使用Standalone方式进行计算,那么请按下Calculate按钮,在出现相应文件夹后,Stop该工作 本部分内容设定了隐藏,需要回复后才能看到
[ 此帖被firewolf在2009-05-11 22:11重新编辑 ]