百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

VESTA官方手册 | 第九章:附加对象

toyiye 2024-07-06 00:22 20 浏览 0 评论

第九章 附加对象

9.1 原子上的矢量

选择菜单栏中的Edit | Vectors...,可在部分原子上附加矢量(箭头)。这些箭头用来表示原子静态和动态位移的磁矩或方向。在Vectors对话框的顶部(图9.1),选择一个相进行编辑。当勾选了Preview选项时(默认),将在图形区域中实时反映对话框中的参数变化。

图9.1:Vectors对话框,其中显示了SrFeO2中原子的列表,原子列表按元素过滤。在底层图形区域,对话框中选择的原子高亮显示,并显示了SrFeO2的磁结构可以在图形区域的晶体学位点或单个原子上分配矢量。当为一个晶体学位点分配矢量时,所有与其对称等价的原子都将具有相同的矢量,且会按照对原子施加的对称操作进行适当的旋转。当为每个原子分配矢量时,只有该原子才会附加矢量,其他对称等价的原子不会分配矢量。可以在原子和位点上分配多个矢量,也可以将一个矢量连接到两个以上的原子和位点。箭头是矢量在图形区域中呈现的形式,其长度是由矢量的模乘以Scale factor for modulus{模的尺度因子}的输入值来衡量的。关于矢量尺度的更多细节,见9.1.1和图9.4。

9.1.1 矢量的创建与编辑

在Vectors对话框的右窗格上,列出了所有的矢量,在列表上方包含下列三个按钮(图9.1):

New:添加一个新的矢量。Edit:对选定的矢量进行编辑。

Delete:删除选定的矢量。

当未选中列表中的矢量时,Edit和Delete按钮不可用。

单击New按钮创建新矢量。在矢量列表中选择一个矢量,然后单击Edit按钮对其进行编辑。将出现一个对话框编辑所选矢量的属性(图9.2)。

图9.2:矢量的创建与编辑对话框

可设置两种类型的矢量:Axial vector和Polar vector。由于这两种方法在应用对称操作的方式上是不同的,所以矢量类型只影响附着在晶体学位点上的矢量。当矢量附着在单个原子上时,对矢量不施加对称运算,两类矢量之间没有差异。

轴向矢量和极向矢量的典型例子分别是磁矩μ和静电极化矢量p。磁矩是由电子绕原子核运动产生的微小电流引起的。矩矢量的方向由电流的方向决定。例如,逆时针电流和顺时针电流分别产生向上和向下的矩矢量。垂直于矩矢量的镜面不会改变电流方向,而平行于矩矢量的镜面会将电流方向反向。因此,磁矩由镜面变换如图9.3A所示。在静电极化矢量的情况下,垂直于矩矢量的镜面将反转极化矢量,而平行于极化矢量的镜面并不改变极化矢量(图9.3B)。

图9.3:对(A)磁矩μ和(B)极化矢量p应用镜面操作的结果

具体而言,可使用3×3的操作矩阵M,将p变换为p',如下式所示:

而将μ变换为μ'的操作,如下式所示:

此处P为M的行列式,称为算符M的“奇偶性”。注意PM是一个标量矩阵乘法。除了惯用的对称运算M之外,矢量还有另一个重要的对称元素,即时间反转。考虑到时间反转,原子周围的电流方向发生改变,从而使μ的方向发生反转。设时间反转为T ( = 1或 1 ),则μ的变换表示为:

时间反转对于极化矢量无影响。在Edit a Vector对话框中,显示了矢量分量的三种不同表示法:Lattice vector notation (u, v, w)晶格矢量记法、Modulus along crystallographic axes沿晶轴方向的模和Cartesian vector notation (x, y, z)笛卡尔矢量记法。编辑矢量组分的一个表示将更新其余表示以及矢量的Modulus。编辑Modulus后,矢量分量被线性缩放。

当勾选了Penetrate atoms“穿透原子”复选框时(默认),箭头的长度(图形区域中绘制的矢量)加倍,其中心置于原子中心(图9.4A、9.4B)。当这个选项未选中时,箭头的一端在原子的中心,使它只出现在原子球体上的一侧( 图9.4C、9.4D)。

当选中Add atom radius to the vector modulus“将矢量的模添加到原子半径”选项时,在原子球体上出现的箭头的长度与矢量的模成线性比例,而忽略原子球的半径( 图9.4B、9.4D )。即使一个模极小的矢量连接在一个非常大球的原子球体上,箭头也不会被原子球体掩盖。如果该选项被禁用(默认情况),则包含原子球体掩盖部分的箭头长度与矢量的模( 图9.4A、9.4C )线性相关;因此,极短的箭头可能被原子球体完全掩盖。

图9.4:两个选项对矢量样式的影响。(A、B)勾选选项Penetrate atoms和(C、D)未勾选,(A、C)未勾选选项Add atom radius to the vector modulus和(B、D)勾选。当勾选后一个选项时,出现在原子球体上的箭头的长度被μ乘以Scale factor for modulus, s线性缩放

9.1.2 在晶体学位点上添加矢量

若要将矢量附加到晶体学位点,可在Vectors对话框的左侧窗格中选择Crystallographic sites选项卡。然后,在左侧窗格中选择位点,在右侧窗格中选择一个矢量,然后单击<< Set按钮。以类似的方式,在左侧窗格中选择晶体学位点,并单击>> Remove按钮,将从位点中移除矢量。

9.1.3 在单独原子上添加矢量

若要将向量附加到图形区域中的单独原子,可在Vectors对话框的左侧窗格中选择Individual atoms选项卡。从左侧窗格中的列表中选择原子,或者单击图形区域中的原子。然后,在Vectors对话框的右侧窗格中选择一个向量,并单击<< Set按钮。以类似的方式,在左侧窗格中选择原子,并单击>> Remove按钮,将从原子中移除矢量。当选取左侧窗格列表中的原子时,在图形区域中突出显示对应的原子,反之亦然。

9.2 晶格平面

要在结构模型中插入晶格平面,或者在三维图像中添加体数据的二维切片,可从菜单栏中选择Edit | Lattice Planes…。在Lattice Planes对话框的顶部(图9.5),选择要编辑的相。晶格平面列表显示在对话框的下半部分。当没有从列表中选取晶格平面时,一些按钮和文本框将被禁用。在选择列表中的项时,将更新文本框,以显示与所选晶格平面相关的数据。选中Preview选项时(默认),对话框中的更改会实时反映在图形区域中。

要添加一个新的晶格平面,首先单击New按钮,输入米勒指数hkl,和与原点(0, 0, 0)的距离。该距离可以以晶面间距d或?为单位指定。晶格平面的颜色和不透明度可设置为从0到255的四个整数,也可在颜色选择对话框中设置,该对话框在单击文本框右侧的方框按钮后打开。

如要删除晶格平面,在列表中选择一项,然后单击Delete按钮,或者按下键盘上的Delete键。单击Clear按钮,将删除所有列表中的晶格平面。

图9.5:Lattice Planes对话框

图9.6:在δ-AlOOH的球棍模型中插入的差分傅里叶图像切片。该切片中的最大值对应于H原子的位置,该位置不包含在结构模型中

9.2.1 晶格平面的显示

当前数据中包含体数据时,将根据晶格平面上的体数据对晶格平面进行着色。在Properties对话框的Sections选项卡中,可指定颜色的饱和级别(图9.6;见12.1.6节)。当前数据中只包含结构信息时,将使用此对话框中指定的颜色绘制晶格平面。若要为具有结构和体信息的数据,绘制具有指定颜色的晶格平面,应在Edit Data对话框中删除体数据(参见6.4节)。

Material框中可输入晶格平面的材料设置,即高光颜色和亮度。在Edge框中可以控制晶格平面的边缘绘制。这些设置对所有的晶格平面都是通用的。

9.2.2 计算选定原子的最佳拟合平面

如要计算一组原子的最佳拟合平面(图9.7),首先添加一个新的晶格平面,在图形区域选择三个或更多原子,单击Calculate the best plane for the selected atoms按钮。

图9.7:蒽醌中芳香环的最佳计算平面

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码