1. 首页
  2. 计算干货
  3. Materials Studio

写给MS新手:Materials Studio软件常见问题与解决方案

本人仅在Windows操作系统上使用过该软件,所以请注意本帖内容的适用范围。

自2012年开始接触Materials Studio软件(以下简称MS)至今,已经5年有余,本人对该软件相关的常见问题及其解决方案进行了总结,现罗列如下。

1

问:使用MS,用哪个版本的Windows操作系统比较好?

 

答:推荐用win 7,这是毫无疑问的。低版本的Windows操作系统如XP,MS 6.0还支持该操作系统,MS 6.1开始就不再支持该操作系统,就是说,MS 6.1在XP上安装不了。高版本的Windows操作系统,如win 10,低版本的MS可能不支持。

 

2

问:使用哪个版本的MS比较好?

 

答:MS更新比较快,截止目前(2017年04月13日),最新的版本已经更新到MS 2017 R2了。本人用过MS 5.0、5.5、6.0、6.1、7.0、8.0、2016,个人觉得随着MS版本的更新,其功能、操作界面、展示效果都会有变化,特别是当一些重磅的更新发布后,更能感受到版本更新前后的差异。举个例子,我对MS 8.0的更新印象尤为深刻,MS 8.0彻底移除了低效、蹩脚的Discover模块,习惯于使用MS 6.0的人,会惊讶地发现MS 8.0中没有Discover模块了,那些关于Discover模块的教程,在MS 8.0中无法使用了(关于Discover模块的一些问题,诸如为什么被移除、跟Forcite的区别等等,后面我会再提到)。一般说来,新版本的MS,无论是在功能涵盖的广度上,还是计算的效率上,都胜过旧版。

 

但对于MS版本的选择,个人建议,不一定追求最新,选择主流的版本即可(除非你的问题只有在最新版中才能解决),原因在于主流版本在功能上已经足够完善,能够满足绝大多数要求,同时使用者较多,便于问题交流。对已经相当陈旧的版本,真的不要再“抱残守缺”了,举个例子,你来小木虫问Discover模块中analysis选项的问题*,别人怎么帮你呢,难道为了你这个问题,别人也要装你这个版本的MS?最后,推荐主流的MS版本如下:MS 7.0、8.0、2016。

 

*注:在非常陈旧版本(具体版本号未查,估计4.0左右)的MS中,MD的结果分析是在Discover模块的analysis中进行的,后来随着MS版本的更新,analysis功能从Discover模块上移除,成为了Forcite模块的组成之一。再后来,随着MS 8.0的发布,甚至连Discover这个模块都被移除出软件了。

3

问:新手学习MS,有没有好的教程?

 

答:不管学习什么,找一份好的教程来参考,非常重要,好的教程学习层次由浅入深,能让人快速上手,少走很多弯路。新手学习MS,最好、且没有之一的教程,其实很好获得,不需要在网上苦苦搜索,这个教程就是所用MS自带的官方教程,即在MS主界面中→Help→Tutorials中提供的官方教程。

 

现在小木虫中,有大量所谓的MS教程,其实就是上述官方教程的中文翻译版而已。这些教程适用的MS版本不一,发布的年代跨度也很大,质量参差不齐,内容长度不一,让人眼花缭乱,有的教程的内容已经严重过时,教程上的内容,在学习者的软件上找不到对应的选项、按钮;有的教程翻译时跳过了一些步骤,让初学者难以适从;有的教程甚至存在内容错误等问题。这也算是我当初学习MS走过的弯路吧,看过几十种版本的教程,浪费了很多时间。MS的Help中自带的官方教程,学习它唯一的障碍就是英语吧,因为它的内容是全英文的。

 

对于英语确实有困难的同学,可以找一份近期发布的中文教程(一份足矣,再多就是浪费),跟着教程做完两件事情即可:

 

一,熟悉MS软件的界面,知道软件中各个英文选项的大概意思;

二,学会基本的软件操作,包括打开、保存、关闭软件,新建project、新建xsd、std等文件,知道如何绘制分子、构建晶胞。学会这两件事情之后,就可以放下中文教程,打开MS自带的官方教程,对自己需要使用的或者感兴趣的模块,对照官方教程一步步操作学习了。

 

我发现来小木虫问MS问题的同学,很多都是没有看过官方教程的,他们问的好多问题,在官方教程中就有明确的回答。最后,总结一下使用官方教程的好处:

 

其一,跟软件版本适用性好,这很好理解,因为你看到的MS官方教程本身就是针对你目前使用的MS版本所编写的,不存在过时、教程跟软件无法对应的问题。

 

其二,内容基础、全面,层次分明,由浅入深,循序渐进。说到内容全面,官方教程中会对各个模块的选项、子选项做说明,包括对选项的意义、适用条件、取值参考范围等的说明,官方教程中还会给出各个模块的参考文献,指出其理论依据(发过论文的同学,想必都知道这些参考文献的用途),这些都是其他教程难以述及的细节。

其三,MS软件界面本身就是英文的,按官方教程直接操作软件,衔接性好、操作流畅,便于养成良好的操作习惯。

4

问:如何查找跟自己研究内容相关并且使用MS作为研究工具的文献?

 

答:就像大家都知道的那样,对于文献检索,一个通用的方法就是使用谷歌学术。比如对于这个问题,可以在谷歌学术中,以研究内容和“materials studio”作为关键词进行搜索,获得满足要求的文献。对于这个问题,除了用谷歌学术,还有更好的方法吗?我的回答是肯定的:http://references.accelrys.com/,对,使用这个链接来搜索。下面举个例子。

 

近几年,石墨烯可谓大红大紫,是学术研究的热点。在链接http://references.accelrys.com/中,以graphene(石墨烯的英语单词)作为关键词进行搜索,即可轻松得到如下图的结果:

 

写给MS新手:Materials Studio软件常见问题与解决方案

 

从图片可以看到,搜索结果列出了文献的标题、作者、采用的MS的模块名、发表期刊、发表时间等信息,点击某篇文献的标题,将立刻跳转到该文献的下载界面,便于下载阅读。

 

除了上述信息,位于搜索结果左侧的那些统计信息的参考价值更大。图中①标记的是用MS研究石墨烯的文献的模块使用情况,可以看到,这些文献使用量子力学(Quantum Mechanics )的模块最多,且尤其以DMol3模块的使用频率为最高。②标记的是从2001年以来用MS研究石墨烯的热门程度,从图中可以看到从2008年来,这类研究逐渐转热(数字“2008”粗体,且大字体),最近的五年(2012~2016年)研究的热度一直保持高位,而且在最近的五年中,尤其以2015年发表的相关文献最多(数字“2015”粗体,且字体最大)。③标记的是这类文献的研究关键词,可以为了解研究分支方向的热门程度提供参考。

 

当我们打算用MS来为自己的研究做点什么时,有一个首先要回答的问题:MS模块那么多,到底用哪个(些)模块?确实,这是一个重要的问题,MS模块那么多,不可能也没有必要每个模块都学。此时,①标记的模块统计信息就很有参考价值。文献是前人研究的成果,具有一定权威性,跟着文献做,至少方法上的可行性很高,不容易走上走不通的路;文献中的计算方法、建模步骤、计算参数设置等细节,很有借鉴价值,这些细节一般在通用的MS教程中是学不到的,而且借鉴之也能让你自己的论文有依据,当审稿人问你,为什么用某某建模方法、某某参数设置时,把文献列出来,大都是能让审稿人信服的。借鉴好的文献,就是站在巨人的肩膀上。

5

问:为了构建某晶体的晶胞结构,需要知道哪些信息?

 

答:构建某晶体的晶胞,以下信息缺一不可:

第一,该晶体晶胞的空间群,这是晶胞的对称性信息;

第二,该晶体晶胞的晶格常数,一共包括6个参数,其中长度参数3个:a、b、c;角度参数3个:α、β、γ;

第三,该晶体晶胞中所有原子的三维空间坐标(x, y, z)。

6

问:从哪里可以获得构建晶体晶胞所需的全部信息?

 

答:对于常见的晶体(这也是最常见的情况),可根据晶体的种类,从以下经典的数据库获得其晶胞信息:

 

a. 无机晶体:查ICSD*,小木虫中可获得的FindIt软件,就是该数据库的脱机版,建议下载该软件;

b. 有机晶体:查CCDC提供的CSD**,小木虫中可获得的CCDC软件,就是该数据库的脱机版,同样建议下载该软件。

 

所以,如果同时拥有FindIt和CCDC软件,即可获得大多数晶体的晶胞信息。

 

不过,新近合成的晶体的晶胞信息,由于上述数据库的更新存在一定滞后性,在其中不一定能找到。此时,可试着从发表该晶体结构的学术论文上查找所需的晶胞信息(这类文献常直接提供晶体的cif文件)。需要说明的是,上述ICSD和CCDC中的晶胞信息,实际上,绝大多数也是来源于已经发表的文献(包括学术论文),对于常见的晶体,推荐直接使用这两个数据库,而不是检索文献,是因为这样做最为便捷。最后,还有一个种特殊情况:自己合成了一种新的晶体,想构建它的晶胞结构怎么办?那只能自己培养单晶,做XRD解晶体了。

 

*注1:ICSD(The Inorganic Crystal Structure Database),无机晶体结构数据库

**注2:CCDC(The Cambridge Crystallographic Data Centre),剑桥大学晶体学数据中心;CSD(Cambridge Structural Database),剑桥大学结构数据库

7

问:为什么找到的晶胞信息中

其他原子的坐标信息均有

唯独H原子的坐标信息缺失?

 

答:这是一种常见的情况,这种情况常常出现在含有结晶水的晶体的晶胞信息中。出现这种H原子的坐标信息缺失的原因主要有两个:

 

其一,我们都知道,H是元素周期表中第一个元素,H原子也是最轻的原子,相对于其他更重的原子,H原子的热运动更为剧烈,所以其在XRD测试时难以被捕捉到,难以确定其位置,最终导致其坐标信息的缺失;

 

其二,测试条件、技术的限制,这种H原子的坐标信息缺失的情况,在年代较为久远的文献中,存在更普遍,原因之一就在于以前的仪器、技术条件没有现在发达、成熟。

8

问:H原子的坐标信息缺失,还想构建晶胞怎么办?

 

答:对于常见的晶体,其晶胞信息的文献来源往往不止一篇文献(实际上,很多常见的晶体,发表其晶胞信息的文献可能有十几篇,甚至几十篇供选择),可试着查找其他文献来源,往往能找到包含H原子坐标的完整的晶胞信息。

 

如果查阅了所有文献,还是无法获得包含H原子坐标的完整的晶胞信息,此时,只能考虑像问题6中提到的那样,自己培养所需晶体的单晶,做XRD解晶体了。

9

问:已经获得了完整的晶胞信息,

如何在MS中把晶胞构建出来?

 

答:主要有以下两种方法。

 

其一,根据晶胞信息,手动构建晶胞:在MS中新建一个xsd文件,打开该xsd文件,在MS软件界面上选择build→crystals→build crystal,依次输入空间群、6个晶格常数,这样晶格骨架就建好了。然后,在MS软件界面上选择build→add atoms,把所有原子的坐标依次输入,就完成了整个晶胞的构建。

 

其二,直接导入结构文件,构建晶胞:这是一个简便方法,前提是获得该晶胞的结构文件,比如常见的cif文件,直接导入到MS即可:把该cif文件直接拖拽进MS界面,或者在MS界面中选择File→Import,再浏览到存放该cif文件的目录。

 

对于第二种方法,要特别注意:cif文件直接导入MS时,空间群可能会发生变化,这也是很常见的问题。把cif文件直接导入MS建模后,应立刻在properites中检查lattice 3D中的各参数与cif文件中的一致性,这是保证建模正确的基本步骤。如果发现不一致,应该以cif中的空间群为准,并在MS软件界面上选择build→crystals→rebuild crystal,把空间群改成与cif文件中给出的一致即可。

10

问:如何在MS中,选择合适的模块来开展计算?

 

答:无论研究的内容如何,涉及使用MS的计算,总是在MS的模块中进行的。也就是说,进行计算之前,首先要确定的是使用MS的哪个(些)模块。确定MS使用模块的通用的经验原则如下:

 

(1)根据自己研究的需求、期望获得的结果,确定MS模块的类型。

MS模块的类型,可大致分为4类:量子力学类模块、分子力学类模块、蒙特卡洛类模块、晶体学类模块。每个模块都有其他模块没有的、自己特有的计算功能。举几个例子,如果想做晶体形貌、晶体主要形貌晶面确定的相关计算,晶体学类模块中的Morphology模块肯定能成为重点使用的模块之一;如果想计算能带、态密度,就应该选择量子力学类的模块,分子力学类和蒙特卡洛类的模块没有这样的功能。当然,为了确定合适的模块,应对MS中各类模块的基本功能有所了解。

 

然而,在实际中,匹配自己需求的模块,并不是如上例中那么明显的。举个很常见的例子,做有机分子在某晶面上的吸附,通常涉及几何优化、动力学计算等步骤,MS中的量子力学类模块、分子力学类模块、蒙特卡洛类模块3个类型的模块中均有模块能实现几何优化、动力学计算等功能,那么该如何选择呢?此时,就要根据自己构建的模型的具体情况来确定适合的模块,具体如下。

 

(2)根据自己构建模型的尺寸、原子数,确定合适的MS模块。

a. 模型较小,包含数十、乃至数百个原子,可选用量子力学类模块;

b. 模型中等大小,包含数千至数万个原子,可选用分子力学类模块;

c. 模型较大,包含大量的原子(数万乃至更多),可选用蒙特卡洛类模块。

 

上述经验原则的确立,实际上很大程度上源于现有计算平台条件的限制,这里的计算条件主要是指计算机的内存大小、CPU性能。计算平台的内存大小主要决定能构建的模型的大小(模型的尺寸、包含的原子个数),CPU性能主要决定计算的快慢。所以,上述经验原则,实际上是根据现有常见计算平台的配置来确立的。举个例子,对于一个包含五百个原子的晶面、若干个有机物分子、以及一个厚度可观的真空层的模型,在普通工作站上,以量子力学的CASTEP模块来做几何优化,计算精度选中等,即便该工作站的内存足以支撑模型,并打开所有CPU并行,计算的耗时也是非常可怕的,有时候计算耗时甚至会大到让人无法接受的程度,比如一个月,为一个正确性未知的结果,等待一个月,这肯定是难以接受的!若模型包含的原子数进一步增加一倍,仍采用CASTEP模块,也许上述工作站的内存连构建模型都不够,更谈不上后续计算的开展了(说得直白点,模型都无法构建,何谈对模型进行计算)。然而,上述用CASTEP模块难以计算的模型,放在分子力学类的Forcite模块中做几何优化,整个过程的耗时往往只是分钟级别的,这是多么大的速度提升!

 

(3)根据对精度的要求确定合适的MS模块。

对于同一个计算模型,在基本相当的计算精度下,量子力学类模块、分子力学类模块、蒙特卡洛类模块,计算精度依次递减,计算耗时依次递减。如果对计算精度有较高的要求,而此时计算的耗时又尚在可接受的范围之内,通常选用量子力学类的模块。举个例子,对晶胞进行几何优化,若精度要求较高,一般会选择用Dmol3或者CASTEP来做。

 

(4)考虑模拟的过程是否涉及电子的得失和转移。

我们知道,化学反应通常是涉及电子得失和转移的,而MS中量子力学类模块的Dmol3、CASTEP模块的计算涵盖了原子的电子。说个题外话,正是因为上述模块考虑了数目众多、行为复杂的电子,才使得它们的计算速度,相比于分子力学类的模块,显得如此的慢。而分子力学理论本身构建的思想,就是要舍弃那些“数目庞大、行为复杂、却又微不足道”的电子,所以从基本理论上,就决定了分子力学类的模块,不具备考察电子行为的功能(但计算速度大大加快)。所以,对于涉及电子得失或转移的过程(诸如涉及化学反应的过程)的模拟,应当选择量子力学类的模块,分子力学类、蒙特卡洛类的模块都爱莫能助。

 

(5)考虑使用分子力学类模块时,力场的局限性。

由于分子力学类模块的计算速度较快,而计算精度尚可,使得MS中的分子力学类模块成为了使用频率最高的模块之一。然而,分子力学类模块有一个很大的局限性,就是力场,更确切地说,是力场的适用性。在MS的分子力学类模块中,计算之前必须指定(不管是操作者手动指定,还是让模块自动指定)计算模型中所有原子的力场参数,力场是计算的基础,模型中任何一个原子力场参数的缺失,都会导致计算失败。遗憾的是,目前还没有哪个力场,其适用性足以涵盖绝大多数原子、离子、官能团、粒子团。举个例子,大家非常熟悉的COMPASS力场,适用的范围也仅是其列出的一个表格中的那些,比如COMPASS中没有三价铝离子的力场参数。

 

如果找遍了各类力场,还是无法获得对自己研究的模型具有完整适用性的力场,此时可考虑转向量子力学类的模块,对于分子力学类模块常处理的几何优化、动力学计算,量子力学类的模块的适用范围广泛得多。当然,为了适应量子力学类模块的特点,模型应进一步简化,以减少原子个数和模型尺寸。

 

最后,关于力场的问题,作一点说明。上面提到,如果力场参数缺失,可考虑使用量子力学类的模块,那如果无论采取怎样的措施,模型还是很大,无法使用量子力学类的模块来计算怎么办?有一个绝妙的解决方案:等。对的,就是等。计算机硬件的升级更新非常之快,目前无法开展的计算,也许过几年,计算平台的内存、CPU性能就能满足现在的计算要求了呢!

……..

16

问:分子力学类计算中,截断半径、

盒子尺寸如何合理地设置?

 

答:在分子力学类计算中,范德华力、静电力(库仑力)都是至关重要的作用力,从这些作用力的计算公式可以看到,它们的大小与距离有着密切的关系。理论上,为了完全地考察一个粒子的受力情况,应当考察以该粒子为圆心、半径r=∞的球体内所有的其他粒子对该粒子的作用。但这只是从理论上讲,实际上,随着r数值的增大,计算量将急剧增大,对于r数值很大的情况,即便是使用高速的计算机来处理,计算量也是恐怖级的了;幸运地是,没有必要将r取到很大,因为上述作用力均随着距离的增大而迅速衰减,所以,将r截取为不算大的数值(即截断半径),即可获得令人满意的计算精度。

 

此外,在分子力学类计算中,基本上都会应用周期性边界条件。当截断半径、周期性边界条件两者遇到一起时,可能出现一个问题:当盒子尺寸不够大时,待考察粒子与其自身的镜像之间的距离会小于截断半径,导致出现该粒子与其自身发生作用的异常情况。为了解决这个问题,盒子尺寸应当足够大,至少应大于截断半径。现在正面地回答这个问题:

 

(1)对于截断半径,其代表着计算的精度,为了保证计算结果的质量,截断半径不能取得过小。其实不必想得这么复杂,MS已经给出了几档截断半径的精度,比如9.5(coarse)、12.5(medium)、15.5(fine)、18.5(ultra-fine)埃米,这些数值不是开发者随意选取的,而是根据长期的计算经验选取的能代表精度档次的经典数值。在实际的计算参数设置中,直接从MS的预设值中选取即可,没必要自定义一些比较“另类的”数值,比如12.8、13.8这类非经典数值;一般计算选择12.5(medium)及以上的精度;对于SCI期刊,建议选取15.5(fine)及以上的精度。

 

(2)对于盒子尺寸,大家可能听说过“盒子尺寸应大于等于截断半径的2倍”这一说法。个人认为,这是一个比较保险的准则,实际上,盒子的尺寸与截断半径的大小关系,应当根据计算目的来确定。举个例子,如果以计算能量为目的,为了节约计算时间和计算资源,盒子尺寸略大于截断半径的1倍即可;如果想计算RDF,盒子尺寸则须略大于截断半径的2倍。简而言之,如果想省事,就按“盒子尺寸应大于等于截断半径的2倍”来处理,一般问题不大。此外,如果计算资源充裕,可设置更大的盒子尺寸。

 

(3)对于确定截断半径和盒子尺寸的先后顺序,不少MS初学者,会有一个误区:先确定盒子尺寸,再确定截断半径。比如,有虫子问“盒子尺寸十几埃,截断半径取七埃,可以吗”(问题大意是如此,如果数据不够精确,见谅),“盒子尺寸十几埃,截断半径取七埃”最大的问题在于,截断半径太小,难以保证计算精度,计算精度不够,谈何保证计算结果的正确性和可信度?截断半径过小,计算精度不够,计算结果可信度不高。截断半径过大,大到大于盒子尺寸,计算结果是错误的。总之,建议先设定计算精度(截断半径),再根据计算目的来设置合适的盒子尺寸。

(来源:小木虫论坛 作者:蓝只月 原文链接:http://muchong.com/t-11279111-1)

本站非明确注明的内容,皆来自转载,本文观点不代表清新电源立场。

发表评论

登录后才能评论

联系我们

0755-86936171

有事找我:点击这里给我发消息

邮件:zhangzhexu@v-suan.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code