2024年1月9日发(作者:)
目 录
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,打补丁后运行 –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有何用处?怎么设置? ................................................................ 25
Q45:CASTEP中如何控制能带结构的精细程度?...................................................................... 25
Q46:如何在MS中加入非限制性约束条件,例如约束两个原子间距离?................................... 26
Q47:如何在DMol3中显示大于999号轨道的Homo和Lumo轨道?......................................... 27
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. 0. 0.
Al 0.2270171283 0.2094837802 0.5009850469
Al 0.5000000000 0. 0.5000000000
Al 0.5000000000 0.5000000000 0.
%ENDBLOCK POSITIONS_FRAC
中包括每个原子的分数坐标,请留意每个原子的编号,在下面的计算中会有所帮助。
在Cell文件中,关于原子坐标限制的部分如下:
FIX_COM : false
%BLOCK IONIC_CONSTRAINTS
1
2
3
4
Al
Al
Al
Al
1
1
1
3
1.
0.
0.
1.
0.
1.
0.
0.
0.
0.
1.
0.
5 Al 3 0. 1. 0.
6 Al 3 0. 0. 1.
7 Al 4 1. 0. 0.
8 Al 4 0. 1. 0.
9 Al 4 0. 0. 1.
%ENDBLOCK IONIC_CONSTRAINTS
其中包括每行编号(紫色),原子类型(红色),原子编号(绿色)和需要限制的分数坐标(黑
色)。如果要限制第二个Al原子不能沿着X方向移动,那么在该部分的设置如下:
1
2
3
4
Al
Al
Al
Al
1
1
1
2
1.
0.
0.
1.
0.
1.
0.
0.
0.
0.
1.
0.
5 Al 2 0. 0. 1.
6 Al 3 1. 0. 0.
7 Al 3 0. 1. 0.
8 Al 3 0. 0. 1.
9 Al 4 1. 0. 0.
10 Al 4 0. 1. 0.
11 Al 4 0. 0. 1.
注意,编号要顺次后移,否则会出错,黑色部分分别对应于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.进入
2.运行./msgateway_control_18888 stop (18888是程序默认端口号)
3.运行./deconfigureall (删除已有的Gateway信息)
4.进入
$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",详细地设置请参看:
/doc/materials/cerius40/quantum/D_,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_analysis 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文件格式。完成后,使用 –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格式,再使用
Q13:为什么我在QSAR模块中无法找到新加入的Jurs和DMol3描述符?
A13:使用这两种描述符需要在QSAR模块中引入引入新的QSAR模块,具体方法是:打开QSAR模块,在右侧工具栏上选择Import Model,在
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文件中加入相关语句。
COSMO on (使用COSMO方法考虑溶剂化效应)
COnductor-like Screening Model是连续介质模型,用介电常数的连续介质来反映溶液,而溶质分子会形成孔穴。溶质的电荷分布会使电介质发生发生极化,而电介质的响应则用孔穴表面所产生的屏蔽(或者极化)电荷来描述。详细的机理如下图所示:
极化作用
溶质电荷分布
屏蔽电荷
电解质
COSMO_Dielectric XX (介电常数值,用来表示不同溶剂。默认设置为999.9,表示导体,水在室温下为78.4)
COSMO_Grid_Size 1082 (程序对每个原子考虑选取多少个格点来进行计算。
允许的值为:12, 32, 42, 92, 122, 162, 272, 362, 482, 642, 812, 1082, 1442, 1922。)
COSMO表面是环绕着溶质分子,以不同原子为中心的球体表面重叠而成的。球体依靠离散点来描述,所以称之为Basis Grid。)
COSMO_Segments 92 (指定了每个原子表面的最大片段数。允许的值为
12, 32, 42, 92, 122, 162, 272, 362, 482, 642, 812, 1082, 1442, 1922。)
程序将格点分配给不同的片断,并在不同的片断上加屏蔽电荷,电荷个数等于片段数。这是Cosmo方法中的主要参数,它决定了COSMO方法的主要性能。
COSMO_Solvent_Radius 1.3 (指定溶剂探针的半径,允许的值在0.5到2.0之间)
注意,该参数用于构造Cosmo孔穴,不应该改变,特别在执行COSMO_RS关键词时更是如此。
COSMO_A-Matrix_Cutoff 7.0 (决定了COSMO表面静电相互作用的精确性。该参数不应当小于2.0)
表面上电荷之间的静电相互作用不仅决定于片断而且也和格点有关系,这依赖于该参数设置的距离大小。如果两个片段间的距离小于设置的Cutoff值,那么片段间的相互作用就会使用格点来进行计算。在更短距离内的格点计算方法将提供更高的精确度。
COSMO_Radius_Incr 0.0 (指定构造Cosmo孔穴时原子半径的增量)
注意,该参数用于构造Cosmo孔穴,不应该改变,特别在执行COSMO_RS关键词时更是如此。
COSMO_RadCorr_Incr 0.15 (用来构造外部孔穴,以进行远离中心的电荷校正)
注意,该参数用于构造Cosmo孔穴,不应该改变,特别在执行COSMO_RS关键词时更是如此。
是一个非常重要的校正,用于解决耗散到孔穴边界外部的电子密度。对于阴离子计算特别重要。
校正的Cosmo能量公式如下(以水为例)
Total energy corrected (au) [TE(corr)]
{TE(corr) = TE + DE(corr) - DE} = -76.4617695727
对于包括非静电溶剂化能的校正分析来说,能量表达式可以表述为:
Total energy corrected (au) [TE(corr)]
+ Nonelectrostatic Energy = -76.4576895922
COSMO_RS on (使用此关键词考虑溶剂的宏观热力学性质)
Q20:如何使用MS软件计算高分子的玻璃化温度?
A20:这需要计算高分子的密度-温度曲线,在得到了相关曲线后,就可以得到体系的Tg温度以及Free Volume,具体图示如下所示:
VolumeTg
Free Volume
Temperature
注意:力场对计算结果非常重要,可以使用COMPASS力场来计算密度值。此外,在计算密度时会用到NPT系综,可以选择各向同性的Andersen方法。
Q21:在使用MS进行计算的时候,中间的xcd文件无法及时更新,而其他文件则能正常显示,为什么?
A21:如果遇到这种情况,那么请检查初始的xsd文件中是不是中间有小数点(.),如果有小数点的话,那么可以正常进行计算,但是表格文件无法正常更新,并且只能出现小数点前的文件名称。
Q22:怎么样在MesoDyn中加入各种不同的限制?
A22:在MesoDyn的隐含文件n_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_文件,将globmemory 8000000改大即可。
正常安装MS后,请按照以下流程打补丁:
1.root登录,运行rpm –qa glibc,察看glibc版本,并选择相对应的CASTEP和DMol补丁,如glibc2.3.2的选择DMol2.3.2的补丁;
2.使用补丁包中的castepexe_mpi_文件替换~msi/ms/CASTEP/bin/ castepexe_文件;同样的使用dmol3_mpi_文件替换~msi/ms/DMol3/bin/dmol3_文件;
3.msi登录,运行which mpirun,并记录相关目录。进入~msi/ms/share/bin下,修改ms_文件,找到
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_文件拷贝到~msi/ms/share/lib下,解压缩替换libmkl_,修改该文件权限为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中,以上的命令改为:
# 进入
> source ~msi/LicensePack/etc/lp_cshrc
> lp_install
> lp_server -c port@hostname (配置license server)
> lp_server –s (启动license server)
> lp_server -x (关闭license server)
> lp_tester (检测license是否合法)
Q28:在使用SGI Altix350,打补丁后运行 –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
Binary
Interaction
Simple Quadratic
Full Quadratic
Simple Cubic
Full Cubic
参数数目
10
55
20
65
20
285
操作
无操作
A, B, C, A*B, B*C, and A*C
A, B, C, A^2, B^2, and C^2
A, B, C, A^2, B^2, C^2, A*B, B*C, and
A*C
A, B, C, A^3, B^3, and C^3
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
n
公式
n+C2
n2n
2n+C2
n2n
3C3n+3C2+
nn随着复杂性的增加,参数数目的增长呈级数增长,这就导致了随着参数增大的时候,所需要的内存数目迅速增加。实际测试发现,当参数的数目增加到160个的时候,所需要的内存达到了900M左右,此时,CPU的使用率保持在99%以上。此时,应该已经达到了GFA在1G内存机器上处理体系的上限值。
提示:在实际进行QSAR研究时,160个参数已经是非常多的体系了,建议在进行处理之前,
先使用相关性矩阵将所有的参数进行排序,剔除出那些相关性非常高的参数,这样,在进行GFA分析时会大大降低参数的数目,同时,也会帮助我们对得到的回归方程进行分析。
Q30:DFT方法对计算量和内存的要求是什么样的?
A30:使用DFT理论计算时,使用的Ψ与电子密度成正比,也就是说,在求解薛定谔方程时,计算量和电子数目的立方成正比。如果是同一体系,简单来讲计算量和原子数目的立方成正比。
体系所需要的内存和硬盘与体系的电子密度的平方倍成正比,如果是同一体系,简单来讲计算量和原子数目的平方成正比。
例如,对于ZnO体系而言,当截取(100)表面,且真空层统一定为10A时,使用CASTEP程序进行计算,在考虑自旋极化的情况下。所需要的内存、硬盘以及CPU计算时间如下表所示:
层数
2
4
6
8
16
原子数
4
8
12
16
32
计算时间 迭代次数 单SCF计算时间(S)
(S)
552.96
932.57
2416.95
4173.51
30621.19
21
22
23
23
27
26.33
42.39
105.08
181.46
1134.12
总内存
(MB)
143.0
179.3
311.3
479.7
1548.7
硬盘空间
(MB)
47.6
61.5
114.8
182.5
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 重新开始频率计算,需要文件
off 不重新开始频率计算
file 重新开始频率计算,需要从下一行读入数据。
Q33:在Castep模块中,Electronic中的Pseudopotential representation,有Real Space和Reciprocal space,如何取舍?
A33:Real Space对于大体系计算,性能提升比较大。而对于那些原子核半径与晶胞参数项比较大的小晶胞而言,最好不要使用此方法。也就是说,对较空的晶体可以采用Real Space来计算,而其他的体系最好还是用Reciprocal space来处理。
Q34:如何从Discover的输出文件中查看每桢中原子的坐标以及速率等信息?
A34:请使用文件,参看F:ShiweiMaterials StudioBug and
需要执行以下命令:
# (动力学后会产生一个隐含的 *.his文件,假设名字为)
# 在命令行方式下
打开文件
test(回车)
# 不需要打后缀
# 得到的ascii文件名为
fhis文件为ASCII格式文件,可以直接读取,文件格式请参看F:ShiweiMaterials StudioInfo form
AccelrysCommon File 。
Q35:我使用的是Standalone方式进行Castep和DMol3计算,完成后怎么才能看到最终结构和轨迹呢?
A35:可以按照以下方式处理此类问题:
1. 建立模型,并在设置计算参数;
2. 保存文件,会生成一个新的目录(该目录不能够删除,否则会影响以后的计算);
3. 以standalone方式进行运算,完成后将所有生成文件拷贝并覆盖原有文件夹中的文件;
4. 在Project Explorer上选择Refresh,并双击激活原有的xsd文件;
5. 打开Analysis对话框,选择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 ”的文件,注意,在Seedname和Trajectory之间是有空格的,而保存的时候,正是由于这个空格导致计算无法正常进行。
对于这个问题,可以按照以下方式进行处理:
1. 如果使用图形界面,则直接按下Calculate按钮即可,程序会自动进行处理的;
2. 如果要使用Standalone方式进行计算,那么请按下Calculate按钮,在出现相应文件夹后,Stop该工作,并将相应文件拷贝到Linux下,注意这时候需要使用“seedname ”的方式(加双引号)进行修改。完成后,用标准命令启动Standalone计算即可。
Q38:在Castep中,怎样输出电荷密度?相关数据的单位是什么?
A38:Castep的Check文件是一个二进制文件,打开也是乱码文件了。但是,Castep可以将电子密度输出为.charg_frm文件,该文件是可读的。
在该文件中,每一个数据都是经过了标准化处理,表示的单位为e/A^3,即每个A^3中电子的数目,对整个体系积分之后,体系的总电子数与计算体系的外层价电子数目相等。如果要验证,有一个很简单的方法,即将所有格点的电荷相加,再除以所取格点的总数,这样得到的数目和体系的总价电子数目相等。
Q39:如何在Discover中使用BTCL语言进行多步MD计算?
A39:如果只是进行MD计算,可以仿照下列格式进行:
# Dynamics Section:
dynamics
time = 10000.00
timestep = 1.00
initial_temperature = 300.00
ensemble = NVT
temperature_control_method = andersen
collision_ratio = 1.00
temperature = 298.00 温度选项
deviation = 5000.00
execute frequency = 500.00
command = {print history file = } 保存文件为.his,文件名称为
readFile history file = frame = 11 读入histroy文件,文件名称为,第11桢
# Dynamics Section:
dynamics
time = 10000.00
timestep = 1.00
initial_temperature = 400.00
ensemble = NVT
temperature_control_method = andersen
collision_ratio = 1.00
temperature = 298.00
deviation = 5000.00
execute frequency = 500.00
command = {print history file = } 保存文件为.his,文件名称为
注意,完成后由于后面的his文件没有.car文件,需要手动生成car文件。随便新建一个就可以了。
如果要在MD后,还需要进行Minimizer优化,文件格式如下所示:
# Minimization Section:
minimize
method = newton
iteration_limit = 5000
sd
convergence = 1000.0000000
line_search_precision = 0.5000000
cg
convergence = 10.0000000
line_search_precision = 0.5000000
method = fletcher
newton
convergence = 0.1000000
line_search_precision = 0.5000000
max_atoms = 200
method = bfgs
#
# Write coordinate file:
writeFile coordinate filename = 将坐标文件输出为文件
readFile car file = 读入文件,读入坐标文件
# Dynamics Section:
dynamics
time = 10000.00
timestep = 1.00
initial_temperature = 300.00 设定温度
ensemble = NVT
temperature_control_method = andersen
collision_ratio = 1.00
temperature = 298.00
deviation = 5000.00
execute frequency = 500.00
command = {print history file = } 将坐标文件输出为
readFile history file =
# Minimization Section:
minimize
method = newton
iteration_limit = 5000
sd
convergence = 1000.0000000
line_search_precision = 0.5000000
cg
convergence = 10.0000000
line_search_precision = 0.5000000
method = fletcher
newton
convergence = 0.1000000
line_search_precision = 0.5000000
max_atoms = 200
method = bfgs
#
# Write coordinate file:
writeFile coordinate filename = 将坐标文件输出为文件
Q40:如何用Dmol3计算Overlay Matrix,并进一步分析?
A40:对于重叠矩阵,分析起来较为困难,关键在于计算出来的结果,其物理含义很难理解,下面我们将以H2O分子的重叠矩阵来解释相关数据的物理含义。
3H2O分子使用DMol模块,在BLYP/DN基组下计算得到的Mulliken Analysis结果:
对于Overlay Matrix,实际上是一个下三角矩阵,实际形状如下(重叠矩阵上的数据要除以1000才能得到最终值):
原子编号
轨轨伸展方向
10
20
20
21
21
21
21
21
21
10
10
10
10
0
0
0
-1
-1
0
0
1
1
0
0
0
0
2
1.95
-0.017
1.435
-0.005
1.994
0.006
1.333
-0.013
0.621
0.038
0.621
0.038
电子数目
1
10
0
1
20
0
1
20
0
1
21
-1
1
21
-1
电子重叠矩阵
1
21
0
1
21
0
1
21
1
1
21
1
2
10
0
2
10
0
3
10
0
3
10
0
道 道1
1
1
1
1
1
1
1
1
2
2
3
3
2001
0
0
0
0
0
0
0
0
-1
0
-1
0
0
2022
0
0
0
0
0
0
0
-22
-15
-22
-15
0
0
8
0
0
0
0
0
0
-13
1
-13
1
0
0
0
1178
0
0
0
0
0
239
18
0
0
0
0
0
0
2
0
0
0
0
-7
0
0
0
0
0
0
0
0
1994
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1036
0
18
2
257
20
0
0
0
0
0
0
0
0
4
-5
0
-12
0
-1
-22
-13
239
-7
0
0
18
-5
432
0
-28
7
0
-15
1
18
0
0
0
2
0
0
24
7
-1
-1
-22
-13
0
0
0
0
257
-12
-28
7
432
0
0
-15
1
0
0
0
0
20
0
7
-1
0
24
总电荷
10.00 2.00 1.95 -0.02 1.44 -0.01 1.99 0.01 1.33 -0.01 0.62 0.04 0.62 0.04
说明:在程序中出现的是下三角矩阵,上图中将该矩阵复原。在“电子重叠矩阵”部分,所有数据反映各轨道上的电子数目,其数据为真实值乘以1000,在处理时需要注意一下。“轨道”一项表明不同的分子轨道,例如10表示1S轨道,21则表示2P轨道。在“轨道伸展方向”一栏表明不同轨道的伸展方向,例如2Pxy或者2Pxz等。对各个轨道上电子的加合即为该轨道上的电子总数,例如对O的1S轨道进行加合,最终结果为2.00个电子。
如果要考察不同原子,如O原子本身的重叠电子密度以及O-H间的重叠电子密度,则需要考虑不同轨道重叠的具体情况。例如对于O原子本身,需要考察O的各个轨道上的总电子数。即sum(1S,22S,2P,3S,„„)。对于O-H的重叠电子密度,则需要考虑所有O和H轨道有重叠的电子数目。根据以上规则,我们可以得到O、H之间的电子密度值。
Full Mulliken
population analysis
O H H
O 8.251 0.215 0.215
H 0.215 0.456 -0.02
H 0.215 -0.02 0.456
有了这个表,就可以对各个原子间的键级来进行分析了。
在DMol 4.1中,默认的Population Analysis里面已经有Bond_Order分析了,在早版本的DMol中,可能需要关键词:
Bond_Order on
3Q41:如何使用Castep程序计算IR振动,为什么计算老是说不收敛?
A41:Castep程序通过线形相应方法来计算体系对于外界电场的扰动,不过在Castep中需要采用考虑全电子的Norm-Conserivng基组,同时在固定电子能带的情况下才能够计算体系的IR光谱。
注意,在计算IR的时候,SCF的收敛误差虽然给的是1.0e-5,但在实际计算的时候发现,只有当两次SCF之间的差值小于5.0e-9以后,才能够顺利开始计算体系的IR值。如果在50步范围之内未收敛,可以通过在SCF中调大迭代步数,或者将Density Mixing的Spin值调大的方式来帮助体系收敛。
Q42:为什么我在手工使用Castep计算能带结构、态密度或者声子谱的时候,程序始终提示没有Check文件?
A42:Castep程序在计算能带结构的时候,要求读入上次计算得到的Check文件,遇到这样的情况,可以手工将上次计算得到的Check文件改为所需要的Check文件名称,这样就可以继续计算了。
Q43:Discover的Non-bond中Summation的三种方法有什么区别?
A43:三种方法Atom Based、Group Based和Ewald Summation的介绍如下:
Atom Based
为直接计算法,即直接计算原子对之间的非键相互作用,当原子对超出一定距离(cutoff
distance)时,即认为原子对之间相互作用为零。此方法计算量较小,但是可能导致能量和其导数的不连续性。当原子对间距离在Cut Off半径附近变化时,由于前一步考虑了原子对之间的相互作用,而后一步不考虑,由此会导致能量发生跳跃。当然,对于较小的体系,则可以设置足够大的Cutoff半径来保证所有的相互作用都被考虑进来。
Group Based
大多数的分子力场都包括了每个原子之间点电荷的库仑相互作用。甚至在电中性的物种中也存在点电荷,例如水分子。点电荷实际上反映了分子中不同原子的电负性。在模拟中,点电荷一般是通过电荷平衡法(charge equilibrium)评价或者力场定义的电荷来分配的。当评价点电荷时,一定要小心不要在使用Cutoff技术时引入错误的单极项。要了解到这一点,可以参看如下事实:两个单极,当只有1e.u.电荷时,在10A的位置上其相互作用大约为33Kcal;而对于由单位单极分离1A所形成的两个偶极,相同距离其相互作用能不超过0.3Kcal/mol。
很明显,忽略单极-单极相互作用会导致错误的结果,而忽略偶极-偶极相互作用则是适度的近似。然而,如果单极相互作用处理不清的话,仍然会出问题。当non-bond Cutoff使用基于原子-原子基组时,就可能发生,会人为将偶极劈裂为两个“假”的单极(当一个偶极原子在Cutoff内,另一个在其外)。这就不是忽略了相对较小的偶极-偶极相互作用,而是人为引入了作用较大的单极-单极相互作用。为了避免这种人为现象,Materials Studio引入了在Charge Groups之上的Cutoff。
一个“Charge Group”是一个小的原子基团,其原子彼此接近,净电荷为0或者接近于0。在实际应用中,Charge Group一般是常见的化学官能团,例如羰基、甲基或者羧酸基团的净电荷接近于中性Charge Group。Charge Group之间的距离为一个官能团中心到另一个官能团中心的距离R,Cutoff设置与Atom Based相类戏。
Ewald Summation
Ewald是在周期性系统内计算Non-bond的一种技术。Ewald加和方法比较合适与结晶固体。原因在于无限的晶格内,Cutoff方法会产生较大的误差。然而,此方法放也可以用于无定形固体和溶液体系。Ewald计算量较大,为o(N^3/2),体系较大时,会占用较多的内存并花费较长的时间。
此方法原理较为复杂,在《分子模拟—从算法到应用》一书中用了接近10页的篇幅对其进行介绍,在这里无法一一说明。
一般情况下,基于Atom适合于孤立体系,对于周期性体系计算量较小,但是准确性较差;基于Group适合于周期性和非周期性体系,计算的准确性好一些,计算量最小;Ewald适合于周期性
能体系,计算最为准确,但计算量最大。
例如对于聚硅氧烷无定性体系,在边长为29X29X29,密度为1的盒子中有20个聚硅氧烷分子,使用Discover进行Dynamics计算。所采用的系综均为 NVT,温度为298.15K,Andersen控温,模拟时间为5ps。不同Cutoff时,分子的均方根位移数据如下:
Group Based Atom Based
Ewald
time
9.5 12.5 14.5 20 9.5 12.5 14.5 20
(ps)
0.5 0.43768 0.83541 1.3004 1.0832 0.19035 0.64198 0.79362 0.81006 1.3112
1 0.61633 1.1371 1.8843 1.3683 0.27804 0.87341 1.0704 1.0785 1.8468
1.5 0.74437 1.4105 2.4925 1.6651 0.36069 1.0187 1.2892 1.2853 2.3589
2 0.87208 1.6126 2.9768 1.8628 0.44117 1.1216 1.4963 1.4772 2.7707
2.5 0.97855 1.7926 3.4891 2.088 0.50979 1.2343 1.6574 1.6439 3.1829
3
3.5
4
4.5
CPU time
(S)
1.0783 2.0202 4.0173 2.2821 0.58392 1.3238 1.8346 1.8065 3.6581
1.1739 2.2631 4.6585 2.4274 0.6411 1.4034 2.0391 2.0509 4.1029
1.272 2.5347 5.3518 2.5754 0.71372 1.4429 2.2234 2.3499 4.5289
1.3976 2.9274 6.0066
300 616 955
2.73 0.7429 1.5022
2385 438 739
2.437 2.6956 4.7842
1098 2730 5540
根据以上均方根数据所绘制的图标如下:
最准确的方法应该是Ewald,而基于Group方法在Cutoff足够大的时候,数据与Ewald的计结果相类似,而基于Atom的效果最差,即使在cutoff设置为20的时候,数据也一样糟糕。
Q44:Castep中的Empty Band有何用处?怎么设置?
A44:在固体能带理论中,薛定格方程和晶体的空间群联系起来,可以发现晶体电子Hamilton算符H与空间群S是对易的,也就是[H,S(R)]=0。由此可知,方程HΨ=EΨ中的本征值E的本征函数u必定是该晶体所属空间群的不可约表示的基函数。
由Born-Karman条件,BZ内有N3个波矢,当N甚大时可看成连续的(N应该是最小的元胞数)。由于每一个能带含有N个波函数,可容纳的电子数为2N个。如果电子多于2N个,则还需要往上面的能带填充。这也就是SCF设置中Empty Band的来源,该项设置将直接影响到SCF计算的速度和准确性,并影响得到的Hamilton矩阵。
而Band Structure中的Empty Band则使用SCF中计算得到的Hamilton数据对能带进行填充。这时候单纯从能带理论出发,价带表明填充了电子的能带,而空带则表明未填充电子的能带。这时候设置Empty Band,则表明需要在Fermi面以上增加空带数。
Q45:CASTEP中如何控制能带结构的精细程度?
A45:在Castep中,通过在Electronic中设置K-points参数,对整个体系的BZ采样进行控制,设置的K点数目越多,SCF计算的结果越准确。而Band Structure则需要通过手动调整_文件才能够进行调整。例如对Al进行能带结构计算时,选择Save Files,在相关目录的Al_文件中有如下内容:
%BLOCK BS_KPOINT_LIST
0.5000 0.0000 0.0000 0.765
0.5000 0.1250 0.1250 0.765
0.5000 0.2500 0.2500 0.765
0.5000 0.3750 0.3750 0.765
0.5000 0.5000 0.5000 0.3529
0.5000 0.5000 0.3333333333333334 0.765
0.5000 0.5000 0.66667 0.765
0.5000 0.5000 0.0000 0.765
0.3750 0.3750 0.0000 0.765
0.2500 0.2500 0.0000 0.765
0.1250 0.1250 0.0000 0.765
0.0000 0.0000 0.0000 0.765
0.1000 0.1000 0.1000 0.765
0.2000 0.2000 0.2000 0.765
0.3000 0.3000 0.3000 0.765
333 0.4000 0.4000 0.4000 0.765
%ENDBLOCK BS_KPOINT_LIST
该数据是对K点进行详细说明,并根据以上k点进行采样,计算能带结构。该数据的含义是:
X
0.5
0.5
0.5
0.5
0
0.125
0.25
0.375
0
0.125
0.25
0.375
0.0588235
0.0588235
0.0588235
0.0588235
Div:4
R
R
Div:3
M
M
Div:4
G
G
Div:5
R
0.5
0.5
0.5
0.5
0.5
0.5
0.375
0.25
0.125
0
0
0.1
0.2
0.3
0.4
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.375
0.25
0.125
0
0
0.1
0.2
0.3
0.4
0.5
0.5
0.5
0.1176471
0.1176471
0.3333333 0.0588235
0.1666667 0.0588235
0
0
0
0
0
0
0
0.1
0.2
0.3
0.4
0.5
0.0588235
0.0588235
0.0588235
0.0588235
0.0588235
0.0588235
0.0588235
0.0588235
0.0588235
0.0588235
0.0588235
0.1176471
在上表中,X、R、M、G都是相关的K点路径,Div表明在该路径上所取的点数,对应于Castep的Band Structure中的K-Points Path:
如果要改变K点的采样间隔,只需要对该Cell文件进行相关修改就可以了。注意,精确到小数点后15位。黄色部分为权重因子,需要根据采样结果进行取值。
编辑完成后保存相关文件,并双击打开.param文件,RunFiles即可获得更精确的能带结构图。
Q46:如何在MS中加入非限制性约束条件,例如约束两个原子间距离?
3A46:目前在MS中,可以通过以下几种方式对原子进行约束,首先是固定原子坐标,对于DMol、Discover、Forcite需要固定XYZ坐标;对于Castep则需要固定分数坐标。
对于非线性限制,如距离、角度、扭转角,则需要先定义,然后在Modify中选择Fix。对DMol3、Discover和Forcite,直接计算就可以了。但是对于CASTEP,则需要注意,首先在.cell文件中会有相关字段:
%BLOCK NONLINEAR_CONSTRAINTS
CONSTRAIN_TYPE atom1 atom2 (atom3 atom4)
CONSTRAIN_TYPE atom1 atom2 (atom3 atom4)
%ENDBLOCK NONLINEAR_CONSTRAINTS
表明固定的类型,以及原子,例如对于甲烷,若固定相应距离和角度,则需要写作:
%BLOCK NONLINEAR_CONSTRAINTS
distance H 4 0 0 0 O 2 0 1 0
bend H 5 0 0 0 C 1 1 0 1 H 2 0 0 0
torsion H 6 0 0 0 H 3 1 0 0 H 1 0 0 1 H 9 1 1 0
%ENDBLOCK NONLINEAR_CONSTRAINTS
Q47:如何在DMol3中显示大于999号轨道的Homo和Lumo轨道?
A47:在计算的时候,只要选择了Orbital选项,程序会自动计算相关的HOMO和LUMO轨道以及指定的相关轨道,相关数据会输出到Windows相关目录下,但是DMol3 Analysis工具却只能够分析前999号轨道。如果要分析大于此数目的轨道,则需要用到以下方法:
首先,从Windows文件管理器中到相关目录下找到*_和*_文件,去掉它们的隐藏属性。
然后,在Materials Studio软件左侧的Projects Explorer中,单击右键选择Refresh,会出现刚才我们看到的两个文件。
下面,打开xsd文件,单击右键选择Copy,再次打开*_,选择Paste,将相关的原子模型粘贴到轨道文件中,这样就可以将原子和轨道形状联系到一起了。
接着,从Volume Visualization工具中(从View菜单的Toolbars中选择)单击Create
Isosurface按钮,程序将会绘制出HOMO轨道的形状。由于该轨道所给出的是最小电子密度分布,所以非常不规则,需要我们手动去调整。
最后,在界面上单击右键,选择Display Style,在Isosurface中的Mapped Field改为DMol3
HOMO,给等密度面赋值。在Iso-Value中调整调整相关数值,以改变轨道形状。
显示完成后,选择另存为,将文件名称改为,这样下次打开的时候可以直接看到HOMO轨道,而不需要进行以上步骤。
(用户通讯已经使用的问题:4、10、14、17、20,9,25,29,40)


发布评论