VESTA是一款免费的晶体结构可视化建模软件,功能十分强大,所有做材料的同学都应该学习一下,它真的超简单,学习性价比极高。
除了用于计算建模外,大家可以亲手画论文中的晶体结构,也可以获取键长、键角等结构信息,调整晶体结构参数和显示外观,绘制不同晶面,进而更深入认识自己所研究的材料。
第二章 软件功能概述
2.1 功能概述
VESTA是一个用于结构模型、体积数据( “体素”数据 )和晶体形貌的三维可视化体系。电子密度、相干散射长度密度bc (原子核密度) 、波函数、静电势等多种物理量可以叠加在晶体的原子结构和外部形貌上。对象( 原子、键、配位聚合物、等值面等 )可以在三个维度快速旋转、缩放和平移,特别是在支持OpenGL指令集的图形卡的情况下。VESTA的可扩展性非常高;它使我们能够在存储容量足够的情况下处理几乎无限数量的对象,如原子、键、多面体、等值面上的多边形等。绘图边界由沿x,y和z轴的范围以及晶格平面定义。
如图2.1所示,VESTA可运行在Microsoft Windows ( 以下简称 Windows )、macOS和Linux上。使用VESTA,可以使用用户界面的“选项卡”处理同一窗口中的多个数据。VESTA还支持多个窗口,每个窗口可包含多个与文件对应的选项卡。
2.2 结构模型可视化
结构模型可显示为球棍模型(图2.2 )、空间填充模型(图2.3 )、多面体模型(图2.4 )、线框模型(图2.5 )、棒状模型(图2.6 )和位移椭球模型(图2.7 )。球棍、线框和棒状模型可以与点状表面重叠,以突出原子的外表面。多面体可以半透明显示,使内部原子和键可见。
不透明度可调的晶格平面可以插入到结构模型中。矢量(箭头)可以标记在原子上,用来表示磁矩或静态和动态位移的方向。
可以在同一图形区域叠加多个结构模型来处理晶界结构、原子、分子的吸收、晶体表面的纳米片,或者多孔材料和层状结构中吸附的分子。
VESTA中的价键搜索算法极其精密;采用了Quentrec和Brot的晶胞指数化方法的一个变体。这种方法被广泛应用于需要处理大量原子的分子动力学模拟程序中。
图2.1:在三种不同操作系统上运行的VESTA截图:( A ) Windows, ( B ) Linux,( C ) macOS
图2.2:云母族矿物变种钾长石K(Li,Al,Mn2+)3-[(Si,Al)4O10](F,OH)2的晶体结构
图2.3:维生素B1多晶型的晶体结构
图2.4:绿柱石Be3Al2Si6O18的晶体结构
图2.5:钠铝石Na4Al3(SiO4)3Cl的晶体结构
图2.6:四方晶型硫方英石,46SiO2·6M14·2M12 (M14 = N2, CO2; M12 = CH4, N2)的晶体结构。SiO4框架笼中的浅蓝色和粉红色球体分别代表客体分子的M14位和M12位
图2.7:17-(2H-indazol-2-yl)androsta-5,16-dien-3β-ol的位移椭球模型,在C17位有吲唑取代基。C:褐色,N:绿色,O:红色,H:天蓝色。除H原子小球体外,原子包含在椭球体中的概率设定为50 %
2.2.1 选中对象时产生的结构信息鼠标单击选择对象( 原子、键和配位聚合物 ),可提供多种结构信息:
- 分数坐标
- 对称操作和平移向量
- 位点多重性和Wyckoff位置
- 位点对称性
- 各向异性原子位移的主轴和均方位移
- 原子间距离、键角和二面角
- 配位多面体相关信息,包括体积、Baur畸变指数、二次伸长量、键角方差、有效配位数、电荷分布、中心金属的键价和、由键价参数预测的键长
2.3 体数据的可视化
可将电子和原子核密度、波函数、静电势、Patterson函数等可视化为等值面、鸟瞰图和二维图。多层半透明等值面可以重叠于结构模型上。VESTA具有表面着色功能,用来呈现等值面上每一点的另一种物理量;重新设计了该功能以提高图像质量。在VESTA中,通过引入两个不透明度参数,极大改善了等值面轮廓和内部结构模型的可见性。另外,可以在它们的3D图像中添加2D切片的体积数据。VESTA绘制等值面、边缘区域和切片的质量即使在数据分辨率相对较低时也很高。VESTA采用的新算法大大加速了VESTA中等值面几何的计算。
VESTA具有从结构参数和原子散射因子计算电子和原子核密度分布的功能。这一功能可用于MEM的结果与模型密度的比较。
图2.8给出了用WIEN2k计算的超导体MgB2的电子密度等值面。图中清楚地显示了z = 1/2平面上高度共价的B-B键网络以及Mg2+离子( z = 0 )与B原子之间键的离子性质。图2.9所示为z = 1/2平面上电子密度的A ( 001 )切片。这类二维图非常有用,特别是当部分原子形成二维薄片时,如高Tc氧化物超导体中的CuO2导带薄片。
图2.8:MgB2中电子密度分布。图中显示了4个六边形单位晶胞,等值面等级为0.11a0-3 ( a0:Bohr半径)
图2.9:A( 001 )切片显示了MgB2中z = 1/2平面上的电子密度分布。等值线绘制到0.5 a0-3,间隔为0.05 a0-3 ( a0:Bohr半径)
图2.10:KH2PO4顺电相中的核密度分布
图2.10为KH2PO4 ( 顺电相,空间群:I-42d )在室温下的中子粉末衍射数据通过基于MEM的模式拟合确定的散射长度密度等值面。对正、负等值面分别赋以两种不同的颜色。由于H-H距离约为0.36 Å的双极小值势,H原子的蓝色等值面(密度:-2.5 fm/Å3 )被拉向O原子的黄色等值面(密度:2.5 fm/Å3 )。
2.4 晶体形貌的可视化
通过输入晶面的米勒指数可以绘制晶体形貌(见第6.5节)。晶面可以与结构模型以及体数据的等值面重叠,如图2.11所示。因此,VESTA有助于理解晶体形貌与化学键之间的关系,例如,应用周期键链( PBC )理论。例如,图2.12显示了叠加在其球棍模型上的锐钛矿相TiO2的晶体外形。
根据Hartman ,锐钛矿的{101}面是一个F面,其中两个PBC平行于平面。其他{h0l}面均为S面,只有一个PBC平行于平面。沿着[010]方向的PBC可通过模型的三维交互旋转直观地观察到。
通过输入多个晶体数据,可视化孪晶或两个及两个以上晶体的外延互生形态(图2.13 )。给出形态学数据后,米勒指数、晶体中心到面的距离以及每个面的表面积等信息可输出到文本区。
图2.11:由{ 001 },{ 110 }和{ 113 }面组成的Al2O3晶体的外形
图2.12:叠加锐钛矿相TiO2结构模型上的晶体形貌,蓝色和红色球分别代表Ti和O原子
图2.13:斜长石( KAlSi3O8 )变种冰长石的晶体形貌。( A )单晶。( B )由Babeno定律,孪生的4个分立晶体组成的假想形态。( C )日本Kobushi矿发现的重复孪晶的理想化形态,由八个经过Babeno和Manebach定律孪生的单晶组成
2.5 与外部程序的联用
VESTA可与外部程序联用,如ORFFE 、STRUCTURE TIDY 、RIETAN-FP 和MADEL (见第14.5节)。在ORFFE输出的与几何参数相关的对话框中,选择键( 2个原子)或键角( 3个原子),球棍模型中对应的对象在图形窗口中高亮显示,反之亦然。可使用STRUCTURE TIDY标准化晶体结构数据,并将当前单位晶胞转换为Niggli约化的晶胞。使用RIETAN-FP可根据晶格和结构参数模拟粉末衍射图谱。利用MADEL可以从所有位点的占据率、分数坐标和氧化态计算出静电位势和Madelung能量。
2.6 输入和输出文档
VESTA可以读取CIF、ICSD和PDB等42种格式的文件,输出CIF和PDB等15种格式的文件(见第17章)。对于RIETAN-FP的用户,标准的输入文件,*.ins可以同时被VESTA输入和输出。此外,在VESTA程序中创建了ELEN 程序,将三维电子密度转换为电子能量密度和拉普拉斯算符。
全部晶体数据和各种设置可以保存在一个小的文本文件*.vesta中,而不需要包含巨大的体数据。具有VESTA格式的文件*.vesta包含了体数据外部数据文件的相对路径,以及在重新打开*.vesta时自动读取的结构数据的可选路径。VESTA还可以导出包含4种矢量图形格式的14种图像格式的图形数据文件(见第17.5节)。
2.7 编程思想
VESTA的源代码包括GUI和核心部分。在这一部分中,只对编程的基本概念进行了简要的阐述。有关VESTA采用的算法技术的详细信息,请参阅文献。
2.7.1 图形化用户界面
VESTA的GUI建立在用C++语言编写的wxWidgets,一个跨平台的应用框架(工具包)之上。wxWidgets库是跨平台GUI编程的最佳工具之一。可提供每个操作系统固有的一致观感。wxWidgets的许可协议类似于LGPL的许可协议,有些例外允许在没有源代码和版权的情况下开发二进制发行版,其灵活性足以允许开发任何类型的包含wxWid gets的应用程序。
2.7.2 核心库
相对于GUI框架,VESTA的核心部分与GUI部分分离,使其更容易复用前一个代码。核心库基本上独立于wxWidgets库。然而,很少有由wxWidgets提供的类和函数在某些核心部分中使用。在这种情况下,该函数被另一个函数封装在一个单独的文件中,以使核心部分与GUI工具包相当独立,并明确哪些函数依赖于外部库。