化学键应力可视化方法与流程

文档序号:32441290发布日期:2022-12-06 21:53阅读:129来源:国知局
化学键应力可视化方法与流程

1.本公开涉及化学信息学领域,更具体地涉及一种化学键应力可视化方法。


背景技术:

2.随着计算力的不断提升,第一性原理计算成为了化学与材料工程学中研究材料性质的一种重要手段。但第一性原理计算软件通常需要使用专用的计算机与系统,往往无法直接显示计算后的分子模型,为此需要将计算输出的坐标文件进行数据处理后显示分子模型。然而现有的分子模型不便于快速了解分子结构的对称性和弛豫状态。


技术实现要素:

3.鉴于上述问题,本公开提供了一种化学键应力可视化方法和装置。
4.根据本公开的一个方面,提供了一种化学键应力可视化方法,包括:
5.获取与目标分子对应的输入文件,其中,上述输入文件包含与上述目标分子对应的坐标文件标识信息;
6.根据上述坐标文件标识信息,从目标文件夹中读取坐标文件,其中,上述坐标文件包括上述目标分子中每个原子的原子坐标;
7.根据上述原子坐标,确定每两个原子之间的原子间距,得到原子间距表,其中,上述原子间距用于表征上述两个原子之间的化学键应力;以及
8.根据上述原子坐标和上述原子间距表中的上述原子间距,绘制与上述目标分子对应的分子模型,其中,上述分子模型中不同的化学键应力采用不同的颜色表示。
9.根据本公开的实施例,上述化学键应力可视化方法还包括:
10.在上述根据上述原子坐标,确定每两个原子之间的原子间距,得到原子间距表之前,读取上述坐标文件中的上述原子坐标;
11.按照读取顺序将上述原子坐标存储至链表中,得到原子坐标链表。
12.根据本公开的实施例,上述化学键应力可视化方法还包括:
13.根据上述原子坐标链表构建初始原子间距表,其中,上述初始原子间距表包括每个原子在上述原子坐标链表中的存储次序;
14.初始化上述初始原子间距表,以使得上述初始原子间距表中的原子间距均为预设值。
15.根据本公开的实施例,上述根据上述原子坐标,确定每两个原子之间的原子间距,得到原子间距表包括:
16.针对上述原子坐标链表中的第i原子坐标,确定与上述第i原子坐标对应的第i目标原子坐标集,其中,上述第i目标原子坐标集中的目标原子坐标为,在上述原子坐标链表中处于上述第i原子坐标之后的原子坐标,i为大于等于1的正整数;
17.针对上述第i目标原子坐标集中的每个上述目标原子坐标,确定上述第i原子坐标与上述目标原子坐标之间的原子间距,得到目标原子间距;
18.在上述目标原子间距满足预设条件的情况下,利用上述目标原子间距替换上述初始原子间距表中相应位置的上述预设值;
19.遍历上述原子坐标链表,最终得到上述原子间距表。
20.根据本公开的实施例,上述化学键应力可视化方法还包括:
21.从预设文件中获取上述第i原子坐标与上述目标原子坐标之间的预设化学键应力值;
22.在确定上述目标原子间距小于等于上述预设化学键应力值的情况下,利用上述目标原子间距替换上述初始原子间距表中相应位置的上述预设值。
23.根据本公开的实施例,上述化学键应力可视化方法还包括:
24.在上述预设文件中不包含上述第i原子坐标与上述目标原子坐标之间的上述预设化学键应力值的情况下,利用命令行界面生成数据补充界面,以便于用户输入上述第i原子坐标与上述目标原子坐标之间的上述预设化学键应力值。
25.根据本公开的实施例,上述根据上述原子坐标和上述原子间距表中的上述原子间距,绘制与上述目标分子对应的分子模型包括:
26.根据上述原子坐标,在分子模型坐标系中标注原子标识;
27.在根据上述原子间距表确定两个原子之间存在化学键的情况下,根据上述两个原子之间的原子间距确定与化学键标识对应的颜色,得到目标颜色;
28.利用上述目标颜色在上述两个原子之间标注上述化学键标识。
29.根据本公开的实施例,上述根据上述两个原子之间的原子间距确定与化学键标识对应的颜色,得到目标颜色包括:
30.根据上述原子间距表中的最大原子间距和最小原子间距,确定化学键应力区间;
31.将上述化学键应力区间划分为预设数量的应力子区间,其中,每个上述应力子区间对应一种颜色;
32.确定上述两个原子之间的原子间距所属的应力子区间,得到目标应力子区间;
33.确定与上述目标应力子区间对应的颜色为上述目标颜色。
34.根据本公开的实施例,上述输入文件还包括与上述目标分子对应的原子总数、原子种类和每种类型原子的数量;
35.上述方法还包括:
36.根据上述原子总数、上述原子种类和上述每种类型原子的数量,复核上述原子坐标链表中的原子总数、原子种类和每种类型原子的数量。
37.根据本公开的实施例,上述输入文件中还包含与上述坐标文件对应的坐标系类型,上述坐标文件中还包括上述目标分子的基矢坐标;
38.上述方法还包括:
39.在确定上述坐标系类型不是预设坐标系类型的情况下,根据上述目标分子的基矢坐标,利用预设公式转换上述目标分子中每个原子的原子坐标,得到转换坐标文件,其中,与上述转换坐标文件对应的坐标系类型为上述预设坐标系类型;
40.其中,上述根据上述原子坐标,确定每两个原子坐标之间的原子间距,得到原子间距表包括:
41.根据上述转换坐标文件中包含的转换后的原子坐标,确定每两个原子之间的原子
间距,得到原子间距表。
42.根据本公开的另一个方面,提供了一种化学键应力可视化装置,包括:
43.获取模块,用于获取与目标分子对应的输入文件,其中,上述输入文件包含与上述目标分子对应的坐标文件标识信息;
44.读取模块,用于根据上述坐标文件标识信息,从目标文件夹中读取坐标文件,其中,上述坐标文件包括上述目标分子中每个原子的原子坐标;
45.确定模块,用于根据上述原子坐标,确定每两个原子之间的原子间距,得到原子间距表,其中,上述原子间距用于表征上述两个原子之间的化学键应力;以及
46.绘制模块,用于根据上述原子坐标和上述原子间距表中的上述原子间距,绘制与上述目标分子对应的分子模型,其中,上述分子模型中不同的化学键应力采用不同的颜色表示。
47.根据本公开的实施例,因为采用了根据获取的输入文件中的坐标文件标识信息读取坐标文件;然后根据坐标文件中的原子坐标确定每两个原子之间的原子间距,并使用原子间距表征两个原子之间的化学键应力;之后根据原子坐标和原子间距,绘制与目标分子对应的分子模型,且使用不同的颜色表示不同化学键应力的技术手段,所以至少部分地克服了不便于快速查验分子结构对称性的技术问题,进而达到了能够直观展示出分子结构的对称性,便于在第一性原理计算中确定是否使用对称性,以及使用哪种对称性较为合适的技术效果,同时,本公开实施例将建立分子模型和显示化学键应力同步进行,节省了数据处理时间,提高了数据处理速度。
附图说明
48.通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
49.图1示意性示出了根据本公开实施例的化学键应力可视化方法的流程图;
50.图2示意性示出了根据本公开另一实施例的化学键应力可视化方法的流程图;
51.图3示意性示出了根据本公开实施例的分子模型绘制方法的流程图;
52.图4示意性示出了根据本公开实施例的化学键应力可视化装置的结构框图;以及
53.图5示意性示出了根据本公开实施例的适于实现化学键应力可视化方法的电子设备的方框图。
具体实施方式
54.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
55.在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了上述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
56.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
57.在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。
58.近年来,随着计算力的不断提升,第一性原理计算成为了化学与材料工程学中研究材料性质的一种重要手段。但第一性原理计算软件通常都需要使用专用的计算机与系统,往往无法直接显示计算后的分子模型,为此需要将计算输出的坐标文件进行数据处理后显示分子模型。而现有的分子模型可视化软件以及第一性原理计算的数据处理软件往往无法一目了然的表示出各化学键的应力大小,不便于快速了解分子结构的对称性和弛豫状态。
59.有鉴于此,本公开针对以上技术问题,通过根据坐标文件确定每两个原子之间的原子间距,利用原子间距表征原子之间的化学键应力;然后在绘制分子模型过程中,将不同化学键应力采用不同的颜色表示,实现了化学键应力的可视化,便于直观查验分子结构,快速了解分子结构的对称性和弛豫状态,还便于在第一性原理计算中确定是否使用对称性,以及使用哪种对称性较为合理;同时将建立分子模型和显示化学应力同步进行,节省了数据处理时间,提高了数据处理速度。
60.具体地,本公开的实施例提供了一种化学键应力可视化方法,包括:获取与目标分子对应的输入文件,其中,上述输入文件包含与上述目标分子对应的坐标文件标识信息;根据上述坐标文件标识信息,从目标文件夹中读取坐标文件,其中,上述坐标文件包括上述目标分子中每个原子的原子坐标;根据上述原子坐标,确定每两个原子之间的原子间距,得到原子间距表,其中,上述原子间距用于表征上述两个原子之间的化学键应力;以及根据上述原子坐标和上述原子间距表中的上述原子间距,绘制与上述目标分子对应的分子模型,其中,上述分子模型中不同的化学键应力采用不同的颜色表示。
61.需要说明的是,应力的大小会影响分子的对称性。在第一性原理计算中,对于有较高对称性的分子结构,大部分的第一性原理计算软件都可以先计算其中的一部分,再通过对称性得出另一部分,以降低计算量。然而,第一性原理计算中的对称性需要用户进行设置,对于未知的分子结构或者计算后的分子结构,对称性需要用户自己判断,不仅影响数据处理速度,而且由于对称性的设置对于计算结果的影响较大,若对称性判断有误则会影响计算结果。对应力的可视化就可以更直观的展示出分子的对称性,便于判断在第一性原理计算中是否使用以及使用哪种对称性是合理的,进而有助于提高计算效率和计算准确性。
62.另外,应力本身作为一种力,也是第一性原理计算需要考量的因素。第一性原理计算的弛豫计算的理想效果应当是用最终结果模拟出预设条件下分子的模型,此时应力也会表现一部分电子的性质。
63.例如,对于一个各顶点为氧原子,中心为铁原子的八面体,其中,径向铁原子与氧原子之间的应力大于水平向铁原子与氧原子之间的应力。基于此,可以得出铁原子的外层电子轨道已经不再是简并状态,不同的电子轨道被分化出来。同时,可以理解为水平向铁原
子与氧原子之间的相互作用更强,也就是水平向铁原子与氧原子之间的电子交互更频繁。因此,应力不仅影响着分子结构的对称性,还可以在一定程度上反映了电子的性质。本公开通过直观展示分子的化学件应力,有助于直接查验结构或者是得出与分子结构相关的其他结论。
64.图1示意性示出了根据本公开实施例的化学键应力可视化方法的流程图。
65.如图1所示,该实施例的化学键应力可视化方法包括操作s110~操作s140。
66.在操作s110,获取与目标分子对应的输入文件,其中,上述输入文件包含与上述目标分子对应的坐标文件标识信息。
67.根据本公开的实施例,坐标文件标识信息可以包括坐标文件名称,坐标文件编号等信息。
68.根据本公开的实施例,输入文件可以采用固定格式的文本文件。输入文件在第一次运行化学键应力可视化装置时自动生成,可以将文件名确定为“config.txt”,输入文件中的内容需由用户进行填写。
69.根据本公开的实施例,输入文件可以包括参数名称,参数名称例如可以包括坐标文件名称、原子总数目、原子种类、坐标系种类等。在化学键应力可视化装置运行时,优先扫描文件夹下是否有输入文件,如果没有则会自动在同一文件夹下创建一个已经包含参数名称的文本文件,与参数名称对应的参数内容由用户进行填写,待用户填写好后再次运行程序。
70.在操作s120,根据上述坐标文件标识信息,从目标文件夹中读取坐标文件,其中,上述坐标文件包括上述目标分子中每个原子的原子坐标。
71.根据本公开的实施例,坐标文件可以为第一性原理计算软件输出的目标分子的坐标文件。
72.需要说明的是,由于第一性原理计算软件的不同会造成坐标文件中的部分信息不同,此处的坐标文件只读取目标分子中每个原子的原子坐标即可。
73.在操作s130,根据上述原子坐标,确定每两个原子之间的原子间距,得到原子间距表,其中,上述原子间距用于表征上述两个原子之间的化学键应力。
74.根据本公开的实施例,根据每两个原子的原子坐标,利用原子距离公式计算两个原子之间的原子间距。
75.根据本公开的实施例,原子距离公式可以为如下公式:
[0076][0077]
其中,(xi,yi,zi)、(xj,yj,zj)分别为两个原子的坐标,r为两个原子之间的原子间距。
[0078]
在操作s140,根据上述原子坐标和上述原子间距表中的上述原子间距,绘制与上述目标分子对应的分子模型,其中,上述分子模型中不同的化学键应力采用不同的颜色表示。
[0079]
根据本公开的实施例,在分子模型中,原子对应为点,化学键对应为线。其采用不同的颜色区分不同的原子,并采用不同的颜色区分不同的化学键应力。由于化学键的应力大小在实际情况中无法直接表示,又因为化学键的应变大小与化学键的应力大小为线性相
关公式,如公式其中为应力,为应变,k为常数,因此可采用颜色区分不同的键长以区分应力的大小,能够直观展示出分子结构的对称性。
[0080]
根据本公开的实施例,因为采用了根据获取的输入文件中的坐标文件标识信息读取坐标文件;然后根据坐标文件中的原子坐标确定每两个原子之间的原子间距,并使用原子间距表征两个原子之间的化学键应力;之后根据原子坐标和原子间距,绘制与目标分子对应的分子模型,且使用不同的颜色表示不同化学键应力的技术手段,所以至少部分地克服了不便于快速查验分子结构对称性的技术问题,进而达到了能够直观展示出分子结构的对称性,便于在第一性原理计算中确定是否使用对称性,以及使用哪种对称性较为合适的技术效果,同时,本公开实施例将建立分子模型和显示化学键应力同步进行,节省了数据处理时间,提高了数据处理速度。
[0081]
根据本公开的实施例,上述输入文件还包括与上述目标分子对应的原子总数、原子种类和每种类型原子的数量;上述方法还包括:根据上述原子总数、上述原子种类和上述每种类型原子的数量,复核上述原子坐标链表中的原子总数、原子种类和每种类型原子的数量。
[0082]
根据本公开的实施例,由于不同的第一性原理计算软件输出的坐标文件中包含的信息不同,因此,通过在输入文件中输入目标分子对应的原子总数、原子种类和每种类型原子的数量,根据输入文件内容复核原子坐标链表中的原子总数、原子种类和每种类型原子的数量,提高计算准确率。
[0083]
根据本公开的实施例,上述化学键应力可视化方法还包括:在上述根据上述原子坐标,确定每两个原子之间的原子间距,得到原子间距表之前,读取上述坐标文件中的上述原子坐标;按照读取顺序将上述原子坐标存储至链表中,得到原子坐标链表。
[0084]
根据本公开的实施例,在原子坐标链表中,每一个单元由三个浮点数与一个指针组成,三个浮点数代表该原子的x坐标、y坐标、z坐标,指针指向下一个单元用于访问整个链表。
[0085]
根据本公开的实施例,上述化学键应力可视化方法还包括:根据上述原子坐标链表构建初始原子间距表,其中,上述初始原子间距表包括每个原子在上述原子坐标链表中的存储次序;初始化上述初始原子间距表,以使得上述初始原子间距表中的原子间距均为预设值。
[0086]
根据本公开的实施例,将初始原子间距表中的所有原子间距初始化为预设值,则在两个原子之间存在化学键时,将两个原子的原子间距对应的预设值修改为原子间距。在两个原子之间不存在化学键时,则保持两个原子的原子间距为预设值。因此,在绘制分子模型过程中,访问原子间距表时会忽视值为预设值的单元,可以减少访间原子间距表时的计算量。
[0087]
根据本公开的实施例,预设值例如可以包括原子间距为该预设值时,能够表征两个原子之间不存化学键的任意值。例如,预设值可以采用负值,例如预设值为-100、-200、-300等。
[0088]
根据本公开的实施例,上述输入文件中还包含与上述坐标文件对应的坐标系类型,上述坐标文件中还包括上述目标分子的基矢坐标;上述方法还包括:在确定上述坐标系类型不是预设坐标系类型的情况下,根据上述目标分子的基矢坐标,利用预设公式转换上
述目标分子中每个原子的原子坐标,得到转换坐标文件,其中,与上述转换坐标文件对应的坐标系类型为上述预设坐标系类型;其中,上述根据上述原子坐标,确定每两个原子坐标之间的原子间距,得到原子间距表包括:根据上述转换坐标文件中包含的转换后的原子坐标,确定每两个原子之间的原子间距,得到原子间距表。
[0089]
根据本公开的实施例,在计算原子间距之前,判断与坐标文件对应的坐标系类型是否预设坐标系类型,在坐标类型是预设坐标系类型的情况下,可直接计算原子间距;在坐标类型不是预设坐标类型的情况下,需利用预设公式转换坐标类型后再计算原子间距。
[0090]
根据本公开的实施例,预设坐标系类型可以为笛卡尔坐标系。
[0091]
根据本公开的实施例,预设公式可以包括如下公式:
[0092][0093]
其中,(x,y,z)为坐标文件中读取的原子坐标值,(x,y,z)为计算出的笛卡尔坐标值,(xa,ya,za)、(xb,yb,zb)、(xc,yc,zc)分别为坐标文件中的目标分子基矢坐标值。
[0094]
根据本公开的实施例,上述根据上述原子坐标,确定每两个原子之间的原子间距,得到原子间距表包括:针对上述原子坐标链表中的第i原子坐标,确定与上述第i原子坐标对应的第i目标原子坐标集,其中,上述第i目标原子坐标集中的目标原子坐标为,在上述原子坐标链表中处于上述第i原子坐标之后的原子坐标,i为大于等于1的正整数;针对上述第i目标原子坐标集中的每个上述目标原子坐标,确定上述第i原子坐标与上述目标原子坐标之间的原子间距,得到目标原子间距;在上述目标原子间距满足预设条件的情况下,利用上述目标原子间距替换上述初始原子间距表中相应位置的上述预设值;遍历上述原子坐标链表,最终得到上述原子间距表。
[0095]
根据本公开的实施例,为了不重复计算,在计算每两个原子间距时,可以使用双层循环,即外层循环从头至尾访问存储原子坐标的原子坐标链表,内层循环从外层循环访问的后一位开始访问,将两者访问的原子之间的距离计算出来。
[0096]
根据本公开的实施例,上述化学键应力可视化方法还包括:从预设文件中获取上述第i原子坐标与上述目标原子坐标之间的预设化学键应力值;在确定上述目标原子间距小于等于上述预设化学键应力值的情况下,利用上述目标原子间距替换上述初始原子间距表中相应位置的上述预设值。
[0097]
根据本公开的实施例,上述化学键应力可视化方法还包括:在上述预设文件中不包含上述第i原子坐标与上述目标原子坐标之间的上述预设化学键应力值的情况下,利用命令行界面生成数据补充界面,以便于用户输入上述第i原子坐标与上述目标原子坐标之间的上述预设化学键应力值。
[0098]
根据本公开的实施例,预设化学键应力值可以是两个原子之间的最大键长。两个原子间距只有小于或等于最大键长时才会形成化学键。
[0099]
根据本公开的实施例,预设文件可以为数据库文件“distance.info”。在计算两个原子的原子间距计算时,需在数据库文件“distance.info”中检索,如果数据库文件中没有检索到与该两个原子对应的最大键长值,则通过命令行界面询问使用者该两个原子间的最大键长,使用者输入的数据会直接被存储到数据库文件;如果不存在数据库文件“distance.info”,则需要创建该数据库文件,以供使用者填写相应数据。
[0100]
根据本公开的实施例,例如,数据库文件“distance.info”的数据格式可以为“682.2”,其中,“6”代表原子序数为6的碳元素,“8”代表原子序数为8的氧元素,“2.2”代表碳氧之间的最大键长为碳氧之间的最大键长为该项数据占用一行。
[0101]
根据本公开的实施例,利用数据库文件记录原子之间的最大键长值,可通过修改数据库文件来修改原子间的最大键长。
[0102]
图2示意性示出了根据本公开另一实施例的化学键应力可视化方法的流程图。
[0103]
如图2所示,该实施例的方法包括操作s201~操作s213。
[0104]
在操作s201,获取与目标分子对应的输入文件,其中,输入文件包含与目标分子对应的坐标文件标识信息。
[0105]
在操作s202,根据坐标文件标识信息,从目标文件夹中读取坐标文件,其中,坐标文件包括目标分子中每个原子的原子坐标。
[0106]
在操作s203,读取坐标文件中的原子坐标。
[0107]
在操作s204,按照读取顺序将原子坐标存储至链表中,得到原子坐标链表。
[0108]
在操作s205,根据原子坐标链表中每个原子在原子坐标链表中的存储次序构建初始原子间距表。
[0109]
在操作s206,将初始原子间距表中的原子间距初始化为预设值。
[0110]
在操作s207,针对原子坐标链表中的第i原子坐标,确定与第i原子坐标对应的第i目标原子坐标集,其中,第i目标原子坐标集中的目标原子坐标为,在原子坐标链表中处于第i原子坐标之后的原子坐标,i为大于等于1的正整数。
[0111]
在操作s208,针对第i目标原子坐标集中的每个目标原子坐标,确定第i原子坐标与目标原子坐标之间的原子间距,得到目标原子间距。
[0112]
在操作s209,判断目标原子间距是否小于等于预设化学键应力值。在目标原子间距小于等于预设化学键应力值的情况下,执行操作s210。在目标原子间距大于预设化学键应力值的情况下,执行操作s211。
[0113]
在操作s210,利用目标原子间距替换初始原子间距表中相应位置的预设值。
[0114]
在操作s211,保持初始原子间距表中相应位置的预设值不变。
[0115]
在操作s212,遍历原子坐标链表,最终得到原子间距表,其中,原子间距用于表征两个原子之间的化学键应力。
[0116]
在操作s213,根据原子坐标和原子间距表中的原子间距,绘制与目标分子对应的分子模型,其中,分子模型中不同的化学键应力采用不同的颜色表示。
[0117]
根据本公开的实施例,通过根据坐标文件确定每两个原子之间的原子间距,然后将不同化学键应力采用不同的颜色表示,实现了化学键应力的可视化,便于直观查验分子结构,快速了解分子结构的对称性和弛豫状态。
[0118]
根据本公开的实施例,上述根据上述原子坐标和上述原子间距表中的上述原子间距,绘制与上述目标分子对应的分子模型包括:根据上述原子坐标,在分子模型坐标系中标注原子标识;在根据上述原子间距表确定两个原子之间存在化学键的情况下,根据上述两个原子之间的原子间距确定与化学键标识对应的颜色,得到目标颜色;利用上述目标颜色在上述两个原子之间标注上述化学键标识。
[0119]
根据本公开的实施例,上述根据上述两个原子之间的原子间距确定与化学键标识
对应的颜色,得到目标颜色包括:根据上述原子间距表中的最大原子间距和最小原子间距,确定化学键应力区间;将上述化学键应力区间划分为预设数量的应力子区间,其中,每个上述应力子区间对应一种颜色;确定上述两个原子之间的原子间距所属的应力子区间,得到目标应力子区间;确定与上述目标应力子区间对应的颜色为上述目标颜色。
[0120]
根据本公开的实施例,原子标识可以用点进行表示,并根据原子坐标在分子模型坐标系中的对应位置绘制为点,可以采用不同的颜色表征不同的原子。化学键可以使用线段表示,并根据原子间距表在成键的原子之间绘制线段。在绘制化学键过程中,若原子间距表中的原子间距的对应值为预设值,则表征原子之间不存在化学键。若原子间距不是预设值,则表征原子之间存在化学键。
[0121]
根据本公开的实施例,在确定原子之间存在化学键的情况下,确定用于表示化学键的线段颜色。根据原子间距表中的最大原子间距和最小原子间距,确定化学键应力区间;将化学键应力区间划分为预设数量的应力子区间,其中,每个应力子区间对应一种颜色;然后根据原子间距所属的应力子区间的颜色确定化学键的线段颜色。
[0122]
具体地,可以根据化学键应力区间划分为六个应力子区间,六个应力子区间分别对应“红色”、“橙色”、“黄色”、“青色”、“绿色”、“蓝色”,两种颜色之间以渐变色显示,可在分子模型一侧标注区间参照色块,用刻度标识出各颜色对应的键长。
[0123]
根据本公开的实施例,还可以在分子模型的上方标注分子名称。
[0124]
图3示意性示出了根据本公开实施例的分子模型绘制方法的流程图。
[0125]
如图3所示,该实施例的方法包括操作s301~操作s307。
[0126]
在操作s301,根据原子坐标,在分子模型坐标系中标注原子标识。
[0127]
在操作s302,根据原子间距表判断当前绘制的两个原子之间是否存在化学键。在当前绘制的两个原子之间存在化学键的情况下,执行操作s303~操作s306;在当前绘制的两个原子之间不存在化学键的情况下,执行操作s307。
[0128]
在操作s303,根据原子间距表中的最大原子间距和最小原子间距,确定化学键应力区间。
[0129]
在操作s304,将化学键应力区间划分为预设数量的应力子区间,其中,每个应力子区间对应一种颜色。
[0130]
在操作s305,根据当前绘制的两个原子之间的原子间距所属的应力子区间,确定当前绘制的两个原子之间的化学键对应的颜色,得到目标颜色。
[0131]
在操作s306,利用目标颜色的化学键标识在当前绘制的两个原子之间标注化学键。
[0132]
在操作s307,无需在当前绘制的两个原子之间标注化学键标识。
[0133]
以下通过具体实施例对本公共的化学键应力可视化方法做进一步阐述说明。
[0134]
实施例
[0135]
该实施例以磷化铟分子为例,构建磷化铟分子模型。
[0136]
利用本公共的实施例对磷化铟分子进行化学键应力可视化方法包括:
[0137]
用户将磷化铟相关数据输入文件“config.txt”中,相关数据包括:原子总数目为“158”,原子种类为“in”与“p”,每种原子的个数为“7979”,坐标系种类为“d”,项目名称为“qds ofinp”,坐标文件名为“atom.config”。
[0138]
根据输入文件“config.txt”中的坐标文件名“atom.config”,读取坐标文件“atom.config”中分子模型的基矢坐标和158个原子的位置坐标。其中,分子模型的基矢坐标为“(59.6212,0,0)”、“(0,59.6212,0)”、“(0,0,59.6212)”。
[0139]
由于该坐标文件使用的是分数坐标系,因此需要进行由分数坐标向笛卡尔坐标的转换。以1号原子“in”的坐标“(0.4028,0.4507,0.4504)”为例,根据如下公式转换后,该原子坐标对应笛卡尔坐标为“(24.0154,26.8713,26.8534)”。如此,将158个原子的坐标转换后按顺序存储于原子坐标链表point中。
[0140]
根据原子坐标链表中的原子坐标,计算两个原子之间的距离。以1号原子“in”与84号原子“p”为例,两者的分数坐标分别为“(0.4028,0.4507,0.4504)”、“(0.3798,0.4253,0.42538)”,经过转换后的笛卡尔坐标分别为“(24.0154,26.8713,26.8534)”与“(22.6186,25.3550,25.3572)”,根据如下距离公式得出两原子之间的距离为
[0141]
将原子之间的距离将与给出的最大键长对比,若原子之间的距离大于最大键长,则保持原子间距表link[i,j]中的数据为-100,若原子之间的距离小于等于最大键长,则将原子间距表link[i,j]中的数据修改为2.5460。以1号原子“in”与84号原子“p”为例,由于数据库文件“distance.info”中没有“in”与“p”之间的最大键长、“p”与“p”之间的最大键长、“in”与“in”之间的最大键长,利用命令行界面生成数据补充界面,用户在数据补充页面输入数值2.55、2.48、3.41分别作为“in”与“p”间的最大键长、“p”与“p”间的最大键长、“in”与“in”间的最大键长。而“in”与“p”两者距离为小于“in”与“p”间的最大键长即判定为成键,则原子间距表link[i,j]中的i=1、j=84的单元的数值修改为2.55。
[0142]
根据原子坐标链表point和原子间距表link[i,j]绘制分子模型。在原子间距表link[i,j]中检索到原子间距最大值与最小值分别为2.5452与2.4890,得到化学键应力区间。将化学键应力区间划分为七个应力子区间,分别为[2.4890,2.49)、[2.49,2.50)、[2.50,2.51)、[2.51,2.52)、[2.52,2.53)、[2.53,2.54)、[2.54,2.5452],每个应力子区间对应不同的颜色,根据原子间距所属的应力子区间确定化学键的颜色。
[0143]
需要说明的是,可以在分子模型一侧设置参照色块,表征应力子区间对应的颜色。例如,应力子区间[2.4890,2.49)对应蓝色,应力子区间[2.49,2.50)对应绿色等,便于用户能够直观确定化学键应力的相对大小。例如其中一个磷分子连接两个化学键,分别为化学键a和化学键b,且化学键a的颜色为蓝色,化学键b的颜色为绿色,则化学键a和长度小于化学键b的长度。
[0144]
根据输入的项目名称“qds of inp”,在分子模型的上方标注项目名称“qds of inp”。另外,该分子模型为3d模型,可以随意转动,在并且在分子模型窗口上设有保存按钮,点击后保存为png格式图片。
[0145]
需要说明的是,本公开实施例中的流程图所示的操作除非明确说明不同操作之间存在执行的先后顺序,或者不同操作在技术实现上存在执行的先后顺序,否则,多个操作之间的执行顺序可以不分先后,多个操作也可以同时执行。
[0146]
基于上述化学键应力可视化方法,本公开还提供了一种化学键应力可视化装置。
以下将结合图4对该装置进行详细描述。
[0147]
图4示意性示出了根据本公开实施例的化学键应力可视化装置的结构框图。
[0148]
如图4所示,该实施例的化学键应力可视化装置400包括获取模块410、读取模块420、确定模块430和绘制模块440。
[0149]
获取模块410用于获取与目标分子对应的输入文件,其中,上述输入文件包含与上述目标分子对应的坐标文件标识信息。在一实施例中,获取模块410可以用于执行前文描述的操作s110,在此不再赘述。
[0150]
读取模块420用于根据上述坐标文件标识信息,从目标文件夹中读取坐标文件,其中,上述坐标文件包括上述目标分子中每个原子的原子坐标。在一实施例中,读取模块420可以用于执行前文描述的操作s120,在此不再赘述。
[0151]
确定模块430用于根据上述原子坐标,确定每两个原子之间的原子间距,得到原子间距表,其中,上述原子间距用于表征上述两个原子之间的化学键应力。在一实施例中,确定模块430可以用于执行前文描述的操作s130,在此不再赘述。
[0152]
绘制模块440用于根据上述原子坐标和上述原子间距表中的上述原子间距,绘制与上述目标分子对应的分子模型,其中,上述分子模型中不同的化学键应力采用不同的颜色表示。在一实施例中,绘制模块440可以用于执行前文描述的操作s140,在此不再赘述。
[0153]
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0154]
根据本公开的实施例,获取模块410、读取模块420、确定模块430和绘制模块440中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,获取模块410、读取模块420、确定模块430和绘制模块440中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块410、读取模块420、确定模块430和绘制模块440中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0155]
需要说明的是,本公开的实施例中化学键应力可视化装置部分与本公开的实施例中化学键应力可视化方法部分是相对应的,化学键应力可视化装置部分的描述具体参考化学键应力可视化方法部分,在此不再赘述。
[0156]
图5示意性示出了根据本公开实施例的适于实现化学键应力可视化方法的电子设
备的方框图。
[0157]
如图5所示,根据本公开实施例的电子设备500包括处理器501,其可以根据存储在只读存储器(rom)502中的程序或者从存储部分508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。处理器501例如可以包括通用微处理器(例如cpu)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic))等等。处理器501还可以包括用于缓存用途的板载存储器。处理器501可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
[0158]
在ram 503中,存储有电子设备500操作所需的各种程序和数据。处理器501、rom 502以及ram 503通过总线504彼此相连。处理器501通过执行rom 502和/或ram 503中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,上述程序也可以存储在除rom 502和ram 503以外的一个或多个存储器中。处理器501也可以通过执行存储在上述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
[0159]
根据本公开的实施例,电子设备500还可以包括输入/输出(i/o)接口505,输入/输出(i/o)接口505也连接至总线504。电子设备500还可以包括连接至i/o接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
[0160]
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
[0161]
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的rom 502和/或ram 503和/或rom 502和ram 503以外的一个或多个存储器。
[0162]
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的化学键应力可视化方法。
[0163]
在该计算机程序被处理器501执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
[0164]
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分
发,并通过通信部分509被下载和安装,和/或从可拆卸介质511被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0165]
在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被处理器501执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
[0166]
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如java,c++,python,“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0167]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0168]
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
[0169]
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1