当前位置:首页 > Matlab在固体物理中的应用
河南大学民生学院本科毕业论文
图4 面心立方晶格的倒格子
由图4可以得到面心立方晶格的倒格子是体心立方。图4比较直观的将其结果展示出来。
5.1.4 六角晶格晶格的倒格子 function HX() b=1;
b1=(2*pi/a*3)*[1, b2=(2*pi/a*3)*[-1,
3,0]; 3,0]; b3=(2*pi/c)*[0,0,1]; pd(1,1:3)=[0,0,0]; for dd=1:4 H=size(pd,1); k=1; for i=1:H for j=1:3
p1(j)=pd(i,j)+b1(j); end
plot3([pd(i,1),p1(1)],[pd(i,2),p1(2)],[pd(i,3),p1(3)],'ro');
15
河南大学民生学院本科毕业论文 hold on;
plot3([pd(i,1),p1(1)],[pd(i,2),p1(2)],[pd(i,3),p1(3)]); hold on;
pdt(k,1:3)=p1; k=k+1; for j=1:3
p2(j)=pd(i,j)+b2(j); end
plot3([pd(i,1),p2(1)],[pd(i,2),p2(2)],[pd(i,3),p2(3)],'ro'); hold on;
plot3([pd(i,1),p2(1)],[pd(i,2),p2(2)],[pd(i,3),p2(3)]); hold on;
pdt(k,1:3)=p2; k=k+1; for j=1:3
p3(j)=pd(i,j)+b3(j); end
plot3([pd(i,1),p3(1)],[pd(i,2),p3(2)],[pd(i,3),p3(3)],'ro'); hold on;
plot3([pd(i,1),p3(1)],[pd(i,2),p3(2)],[pd(i,3),p3(3)]); hold on;
pdt(k,1:3)=p3; k=k+1; end pd=pdt; end End
执行上述程序,所得图像如图5所示。
16
河南大学民生学院本科毕业论文
图5 六角晶格晶格的倒格子
由图5matlab仿真图可以知道六角晶格的倒格子仍然是六角晶格,只是边长不同。
5.2 紧束缚模型中二维晶格的模拟仿真
由前边介绍的内容,我们得到二维晶格的能量
E0???dxdy?sat?x,y?v?x,y??vat?x,y??sat?x,y?
??由紧束缚模型能量公式可以得到能带宽度为8E。取能带底部能量的值为0。
atE1????dxdy?sat?x?a,y?ES?v?x,y??vat?x,y??sat?x,y?
??E2????dxdy?sat?x?a,y?a?Esat?v?x,y??vat?x,y??sat?x,y?
??同E1一样,E2一般大于零。令??E1,E1,E2依次为中心原子S态波函数与E2最近邻及次紧邻原子S态波函数的交叠的能量积分。我们可以通过matlab来完成其仿真图。
二维晶格紧束缚能量等能面的matlab程序如下:
# define EN( n, kx, ky) ( 01 5/ n+ 01 5- 01 25* ( cos ( kx) +cos( ky) ) - 01 5/ n* cos
17
河南大学民生学院本科毕业论文 (kx ) * cos( ky) )
# define coskx( E, n, ky) ( ( 4* n+ 4- E- 2* n* cos( ky) ) /( 2* n+ 4* cos( ky) ) )
# define cosky( E, n, kx ) ( ( 4 * n + 4 - E - 2 * n * cos( kx ) ) / ( 2* n+ 4* cos( kx) ) )
# define pi 31 14159265 int i range; float fn;
void draw ( float e) {
int x, y;
float kx, ky, coskx, cosky; bool bfirst = true;
for( x= 0; x< = i range; x+ + ) {
kx = x* pi/ i range;
cosky= cosky( e, fn, kx) ; if( fabs( cosky) < = 11 0) {
ky= a cos( cosky) ; y= ky* i range/ pi; if( bfirst)
{
bfirst= false; move to( x, y) ; } else
line to( x, y) ; } } }
执行上述程序,所得图像如图6所示。
18
共分享92篇相关文档