一种以螺型位错为轴的正弦波形位错原子结构的建模方法与流程

文档序号:16684600发布日期:2019-01-19 00:49阅读:405来源:国知局
一种以螺型位错为轴的正弦波形位错原子结构的建模方法与流程

本发明涉及分子动力学仿真技术领域,尤其涉及一种以螺型位错为轴的正弦波形位错原子结构的建模方法。



背景技术:

晶体的塑性变形、晶体的生长、形变强化、滞弹性、断裂、相变、晶体的电磁性能、晶体的光学性质、超导性以及其他许多物理、化学性质都与位错有重要的关联。因此,位错的研究无论对于科学研究还是实际应用都有着重要意义。实验上研究位错的方法有浸蚀法、缀饰法、透射电子显微分析法、x射线衍射分析法、场离子显微分析法等。这些实验技术被广泛地应用于分析研究位错的密度、分布和组态以及它们的运动和交互作用等。但是在原子尺度上的研究(比如位错芯的研究),分子动力学模拟具有重要的地位。各种位错原子结构的直接构建有利于分子动力学对位错行为更为精准的研究。动态中的位错,波动形状的位错线更接近实际情况,本发明公开了一种以螺型位错为轴的正弦波形位错原子结构的建模方法,解决了分子动力学及其它计算机仿真研究中直接构建波动形位错原子结构的问题,本发明公开的方法可方便快捷地在晶体模型内部指定位置直接构建指定方位、组态和波形的以螺型位错为轴的正弦波形位错原子结构,而且可在一个晶体模型内创建多个不同位向、组态和波形的以螺型位错为轴的正弦波形位错原子结构。



技术实现要素:

本发明所要解决的技术问题,就是提供一种方便快捷地构建以螺型位错为轴的正弦波形位错原子结构的方法,本方法在给定包含晶体模型的原子结构信息的文件的前提下,根据拟构建以螺型位错为轴的正弦波形位错原子结构的burgers矢量、位置、滑移面、波形的振幅和波长的要求,使用编程语言提取文件中晶体模型的原子结构信息,自动计算出包含符合要求的以螺型位错为轴的正弦波形位错原子结构的晶体模型的原子坐标,然后按分子动力学软件能识别的文件格式输出文件。

本发明采用的技术解决方案如下:

设拟构建的以螺型位错为轴的正弦波形位错经过点p(xpypzp),位错的burgers矢量为[uvw]a,a为晶格常数,滑移面为(hkl),正弦波的振幅为a,波长为b。

步骤一:准备包含晶体模型原子结构信息的文件。

步骤二:使用编程语言提取上述文件中的原子结构信息,将坐标系原点移动到点p处。旋转坐标系,使x轴的正向与[uvw]方向一致,y轴与滑移面(hkl)垂直,z轴由x轴和y轴的矢量叉乘运算得到,然后计算晶体模型内所有原子在新坐标系中的坐标值。

步骤三:设位错周围晶格扭曲较明显的区域在y和z方向的范围为以位错中心为圆心的直径为2r0的圆。为构建以螺型位错为轴的正弦波形位错原子结构,晶体模型内的原子要进行相应的位移,本方法根据以螺型位错为轴的正弦波形位错周围原子分布的特点,提出以下计算位移的公式,设原子在x方向的位移为q,y方向和z方向不发生位移,计算公式如下:

d=a(u2+v2+w2)1/2

z’=z-asin(2πx/b),

r=(y2+z’2)1/2;

当r=0时,θ=0,

当r≠0且y≥0时,θ=acos(z’/r),

当r≠0且y<0时,θ=π+acos(-z’/r),

当r≤r0时,q=dθ(r/r0)/(2π),

当r>r0时,q=dθ/(2π)。

步骤四:根据上面计算得到的每个原子的位移值q,计算晶体模型内所有原子位移后的坐标值,由此在晶体内部指定位置直接构建出位向、组态和波形符合指定要求的以螺型位错为轴的正弦波形位错原子结构。

步骤五:按照步骤二的逆向移动坐标系,使坐标系恢复成原来的位向。

步骤六:按分子动力学软件能识别的格式输出数据到文件。

以上内容即为本发明公开的以螺型位错为轴的正弦波形位错原子结构的建模方法的主要内容。

本发明所公开的以螺型位错为轴的正弦波形位错原子结构的建模方法,可方便快捷地在晶体内部指定位置直接构建指定方位、组态和波形的以螺型位错为轴的正弦波形位错原子结构,而且可在一个晶体内直接创建多个不同位向、组态和波形的以螺型位错为轴的正弦波形位错原子结构,有利于分子动力学及其它计算机仿真技术更为精准地对以螺型位错为轴的正弦波形位错的形态及行为进行研究。

附图说明

图1是本发明实施实例中创建的不含以螺型位错为轴的正弦波形位错原子结构的b2型nial金属间化合物40×40×40超胞的原子结构图。

图2是本发明实施实例中超胞内已构建以螺型位错为轴的正弦波形位错原子结构的ovito软件显示的位错识别图,箭头指示出位错的burgers矢量的方向。

具体实施方式

下面结合实施例及附图对本发明作进一步详细说明,但本发明的实施方式不限于此,在不脱离本发明上述思想的情况下,根据本领域普通技术知识和惯用手段,做出各种替换和变更,均应包括在本发明的范围内。

实施例:

本实例公开了一种以螺型位错为轴的正弦波形位错原子结构的建模方法。本实例在一个b2型nial金属间化合物40×40×40超胞内构建位错线经过超胞的中心、位错的burgers矢量分别为[001]a、位错的滑移面为(-110)、波形的振幅为5a、波长为6a的以螺型位错为轴的正弦波形位错原子结构,a为晶格常数。

步骤一:采用materialsstudio创建40×40×40超胞,如图1所示,然后以car的格式输出数据文件。

步骤二:使用c/c++语言提取上述文件中的原子结构信息,将坐标原点移到超胞的中心,旋转坐标系,使x轴正向沿着晶向[001],y轴垂直于晶面(-110),本实例取y轴的正向沿着晶向[-110],计算晶体模型内所有原子在新坐标系中的坐标值。

步骤三:设定以螺型位错为轴的正弦波形位错原子结构周围晶格扭曲较明显的区域在y和z方向的范围为直径为2r0=4a的圆,a为晶格常数,计算晶体超胞内所有原子在x方向的位移q,y方向和z方向不发生位移,主要程序代码如下:

for(i=0;i<total_no_atoms;i++){//total_no_atoms为晶体模型内原子的总数

a=2.882;pi=3.1415926;r0=2*a;

u=0;v=0;w=1;h=-1;k=1;l=0;

d=a*sqrt(u*u+v*v+w*w);//计算位错的burgers矢量的长度

x1=atoms[i].x[0];y1=atoms[i].x[1];z1=atoms[i].x[2];

z1=z1-5*a*sin(2*pi/(6*a)*x1);//计算坐标原点在位错线上的情况下原子坐标z轴方向的变化

r=sqrt(y1*y1+z1*z1);//计算在yz平面内原子到位错中心的距离

if((r>0)&&(y1>=0))xita=acos(z1/r);//原子位置在yz平面内相对于z轴正方向的顺时针转角

if((r>0)&&(y1<0))xita=pi+acos(-z1/r);

if(r&lt;r0)q=d/(2*pi)*xita*(r/r0);

if(r&gt;r0)q=d/(2*pi)*xita;}。

步骤四:根据上面计算得到的每个原子的位移值q,计算晶体超胞内所有原子位移后的坐标值,由此构建出位错线经过超胞的中心、位错的burgers矢量为[001]a、位错的滑移面为(-110)、波形的振幅为5a、波长为6a的以螺型位错为轴的正弦波形位错原子结构,程序代码如下:

for(i=0;i&lt;total_no_atoms;i++){

atoms[i].x[0]+=q;}。

步骤五:按照步骤二的逆向移动坐标系,使坐标系恢复成原来的位向。

步骤六:按分子动力学软件能识别的格式输出数据到文件。

由此,完成了符合指定要求的以螺型位错为轴的正弦波形位错原子结构的建模。图2为使用ovito软件的位错识别工具显示的上述过程所构建的在一个b2型nial金属间化合物40×40×40超胞内位错线经过超胞的中心、位错的burgers矢量为[001]a、位错的滑移面为(-110)、波形的振幅为5a、波长为6a的以螺型位错为轴的正弦波形位错原子结构。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1