1、Matlab编程 - 建立面心立方晶体结构面心立方( FCC)晶体结构a04123a0FCC 晶体结构建立方式a03 421XYZ 原子 1坐标 : (0.0, 0.0, 0.0)原子 2坐标 : (a0/2, a0/2, 0.0)原子 3坐标 : (a0/2, 0.0, a0/2)原子 4坐标 : (0.0, a0/2, a0/2)由第 1-4 原子组成的初基胞沿着分别 X、 Y、 Z 方向 , 以 a0 步长进行周期平移 , 即可获得更大FCC 点阵 。Matlab 编程 - 建立 FCC 晶体结构Type = FCC; % 晶格类型 FCC晶体结构element = Cu ; % 元素类
2、型a0 = 3.615; % 晶格常数mass = 63.5460; % 原子质量atom1 = 0.0*a0, 0.0*a0, 0.0*a0; % 基元原子坐标atom2 = 0.5*a0, 0.5*a0, 0.0*a0;atom3 = 0.5*a0, 0.0*a0, 0.5*a0;atom4 = 0.0*a0, 0.5*a0, 0.5*a0;ux = a0; uy = a0; uz = a0; % 沿三个方向平移的步长Matlab 编程 - 建立 FCC 晶体结构ID = 0; % 原子序号if (Type = FCC)for i = -10 : 1 : 10 % 沿 x 方向平移,建立
3、20个晶格for j = -10 : 1 : 10 % 沿 y 方向平移,建立 20个晶格for k = -10 : 1 : 10 % 沿 z 方向平移,建立 20个晶格ID = ID + 1; data(ID,1:3) = atom1 + ux*i, uy*j, uz*k;ID = ID + 1; data(ID,1:3) = atom2 + ux*i, uy*j, uz*k;ID = ID + 1; data(ID,1:3) = atom3 + ux*i, uy*j, uz*k;ID = ID + 1; data(ID,1:3) = atom4 + ux*i, uy*j, uz*k;end
4、endendendnt = ID; % 原子总数data(ID,1) = atom1(1) + ux*i data(ID,2) = atom1(2) + uy*j data(ID,3) = atom1(3) + uz*k Matlab 编程 - 建立 FCC 晶体结构plot3(data(:,1),data(:,2),data(:,3),o, . MarkerFaceColor,g,MarkerSize,10);axis square; % 图形设置为立方体x 坐标 y 坐标 z 坐标 点的形状 续行符标记点颜色 标记点尺寸Matlab 编程 - 建立一个 FCC 晶体结构figure; % 创建绘图窗口hold on; % 添加新绘图时保留当前绘图for i = 1 : 1 : ntif ( (data(i,1)=-0.1 & data(i,1)=-0.1 & data(i,2)=-0.1 & data(i,3)= 4.0) )plot3(data(i,1),data(i,2),data(i,3),o); %三维点图endendhold off;xlim(0 3.7); ylim(0 3.7); zlim(0 3.7); %坐标 x y z 轴范围grid on; box on; %显示坐标区网格线,显示坐标区轮廓