一种螺旋状位错线原子结构的建模方法与流程

文档序号:17796198发布日期:2019-05-31 20:47阅读:652来源:国知局
一种螺旋状位错线原子结构的建模方法与流程

本发明涉及计算机仿真技术领域,尤其涉及一种螺旋状位错线原子结构的建模方法。



背景技术:

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



技术实现要素:

本发明所要解决的技术问题,就是提供一种方便快捷地创建螺旋状位错线原子结构的方法,本方法在给定包含晶体模型的原子结构信息的文件的前提下,根据拟创建螺旋状位错线原子结构的burgers矢量、位错线位置、滑移面和位错线形态的要求,使用编程语言提取文件中晶体模型的原子结构信息,自动计算出包含符合要求的螺旋状位错线原子结构的晶体模型的原子坐标,然后按计算机仿真技术能识别的文件格式输出数据到文件。

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

设拟创建的螺旋状位错线原子结构的螺旋轴线经过点p(xpypzp),位错的burgers矢量为[uvw]a,a为晶格常数,滑移面为(hkl),螺距为h,旋转半径为r。

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

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

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

设:d=a(u2+v2+w2)1/2,x’=x-rcos(2πz/h),y’=y-rsin(2πz/h),

当-b≤x’≤b且0≤y’≤c时,q=-dx’(1-y’/c)/(4b),

当x’>b且0≤y’≤c时,q=-d(1-y’/c)/4,

当x’<-b且0≤y’≤c时,q=d(1-y’/c)/4,

当y’>c时,q=0,

当-b≤x’≤b且-c≤y’<0时,q=d/2+dx’(1+y’/c)/(4b),

当x’>b且-c≤y’<0时,q=d/2+d(1+y’/c)/4,

当x’<-b且-c≤y’<0时,q=d/2-d(1+y’/c)/4,

当y’<-c时,q=d/2。

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

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

步骤六:按计算机仿真技术能识别的格式输出数据到文件。

以上内容即为本发明公开的螺旋状位错线原子结构的建模方法的主要内容。

本发明所公开的螺旋状位错线原子结构的建模方法,可方便快捷地在晶体内部指定位置直接创建指定方位、组态和形态的螺旋状位错线原子结构,有利于计算机仿真技术更为精准地对螺旋状位错线的形态及行为进行研究。

附图说明

图1是本发明实施实例中创建的不含螺旋状位错线的b2型nial金属间化合物40×40×40超胞的原子结构图。

图2是本发明实施实例中超胞内已创建螺旋状位错线原子结构的ovito软件显示的位错识别图,箭头指示出位错的burgers矢量的方向。

具体实施方式

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

实施例:

本实例公开了一种螺旋状位错线原子结构的建模方法。本实例在一个b2型nial金属间化合物40×40×40超胞内创建螺旋轴线经过超胞的中心、位错的burgers矢量为1/2[1-11]a、位错的滑移面为(011)、螺旋半径为2a、螺距为6a的螺旋状位错线原子结构,a为晶格常数。

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

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

步骤三:设定螺旋状位错线周围晶格扭曲较明显的区域在x和y方向的范围为以位错中心为中心的矩形8a×8a,a为晶格常数,计算晶体超胞内所有原子在x方向的位移q,y方向和z方向不发生位移,主要程序代码如下:

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

a=2.882;pi=3.1415926;//晶格常数和常数π

aa=4a;bb=4a;//晶格扭曲较明显的范围参数

r=2a;h=6a;//螺旋半径和螺距

u=1;v=-1;w=1;h=0;k=1;l=1;//晶向和晶面指数

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

x1=atoms[i].x[0];y1=atoms[i].x[1];z1=atoms[i].x[2];//提取第i个原子的坐标

x2=x1-r*cos(2*pi/h*z1);y2=y1-r*sin(2*pi/h*z1);

if((x2>=-aa)&&(x2<=aa)&&(y2>=0)&&(y2<=bb)){q=-d/4*x2/aa*(1-y2/bb);}

if((x2>aa)&&(y2<=bb)&&(y2>=0)){q=-d/4*(1-y2/bb);}

if((x2<-aa)&&(y2<=bb)&&(y2>=0)){q=d/4*(1-y2/bb);}

if((y2>bb)){q=0;}

if((x2>=-aa)&&(x2<=aa)&&(y2<0)&&(y2>=-bb)){q=d/2+d/4*x2/aa*(1+y2/bb);}

if((x2>aa)&&(y2>=-bb)&&(y2<0)){q=d/2+d/4*(1+y2/bb);}

if((x2<-aa)&&(y2>=-bb)&&(y2<0)){q=d/2-d/4*(1+y2/bb);}

if((y2<-bb)){q=d/2;}}。

步骤四:根据上面计算得到的每个原子的位移值q,计算晶体超胞内所有原子位移后的坐标值,由此构建出螺旋轴线经过超胞的中心、位错的burgers矢量为1/2[1-11]a、位错的滑移面为(011)、螺旋半径为2a、螺距为6a的螺旋状位错线原子结构,程序代码如下:

for(i=0;i<total_no_atoms;i++){

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

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

步骤六:按计算机仿真软件能识别的格式输出数据到文件。

由此,完成了符合指定要求的螺旋状位错线原子结构的建模。图2为使用ovito软件的位错识别工具显示的上述过程所构建的在一个b2型nial金属间化合物40×40×40超胞内螺旋轴线经过超胞的中心、位错的burgers矢量为1/2[1-11]a、位错的滑移面为(011)、螺旋半径为2a、螺距为6a的螺旋状位错线原子结构。

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