波函数的几何描述有三种基本方式.docx
《波函数的几何描述有三种基本方式.docx》由会员分享,可在线阅读,更多相关《波函数的几何描述有三种基本方式.docx(13页珍藏版)》请在冰豆网上搜索。
波函数的几何描述有三种基本方式
波函数的几何描述有三种基本方式
1.概率密度云
例如粒子处在r附近体元dxdydz内的概率为
我们可以在r附近体元dxdydz内随机打上n(r)个点,其中
为固定参数或总点数。
2.等概率密度面
如果让计算机把满足下面条件的点找出来,是一件十分简单的事。
其中C为常数
我们称这些点的集合为等概率密度面,实际操作时C要取一范围,如从C到C+0.1,否则等概率密度面画不出来。
3.概率密度幅波
用一个三维的格点组作为球心,取一小量r为球半径,球内随机洒上一些点,点数目与成正比,我们就可以得到氢原子的概率密度幅分布。
氢原子的概率密度幅分布
下面是学生拓展设计制作的例子
氢原子的电子云图
氢原子电子云的二维截面图等概率密度面
氢分子的成键电荷密度分布三维无限深阱电子云图
参考源程序:
(1)概率密度波源程序
staticfloattheta,phi;
voiduserDrawDBall(constPOINT3F&P,constfloatD,constfloatR,constfloatBaseNum,RGB&clrPts)
{
floatr;
POINT3FPt;
intCntPts=BaseNum*exp(D);
if(CntPts<=0)CntPts=fabs(CntPts);
for(inti=0;i{
theta=Pi*(rand()/255.0-0.5);
phi=2*Pi*rand()/255.0;
r=R;//*rand()/255.0;
Pt.x=P.x+r*sin(theta)*cos(phi);
Pt.y=P.y+r*sin(theta)*sin(phi);
Pt.z=P.z+r*cos(theta);
CDrawPoints(&Pt,1,&clrPts);
}
}
constintVecGridCount_X=40;//矩形格子x方向格点密度
constintVecGridCount_Y=40;//矩形格子y方向格点密度
constintVecGridCount_Z=40;//矩形格子z方向格点密度
staticfloat
D[VecGridCount_X][VecGridCount_Y][VecGridCount_Z];
staticPOINT3F
Pt[VecGridCount_X][VecGridCount_Y][VecGridCount_Z];
voiddemowindow:
:
S_Picture1()
{
Lng_a=150;//矩形格子x方向长度
Lng_b=150;//矩形格子y方向长度
Lng_c=150;//矩形格子z方向长度
staticfloatx,y,z,T;
inti,j,k,m;
floatMax_D=-1E6,Min_D=1E6;
SetLineWidth(3);
DisableLight();
POINT3FtpPt;
floattmp_x,tmp_y;
T=S_Step;
{
for(m=0;m{
tmp_x=Lng_a*m/(VecGridCount_X-1)-0.5*Lng_a;
for(j=0;j{
tmp_y=Lng_b*j/(VecGridCount_Y-1)-0.5*Lng_b;
for(k=0;k{
Pt[m][j][k].x=tmp_x;
Pt[m][j][k].y=tmp_y;
Pt[m][j][k].z=Lng_c*k/(VecGridCount_Z-1)-0.5*Lng_c;
staticPOINT3FEvec;
staticPOINT3FHvec;
userGetDValue(Pt[m][j][k],S_Step/5,D[m][j][k],1E5,0.5E4,T);
if(Max_Dif(Min_D>D[m][j][k])Min_D=D[m][j][k];
}
}
}
bCalculated++;
}
constfloatBaseNum=10;//密度球内点的基数
constfloatBall_R=3.5;//密度球半径
DisableLight();
floatD_Range=Max_D-Min_D;
for(m=0;m{
for(j=0;j{
for(k=0;k{
D[m][j][k]=D[m][j][k]/D_Range;
RGBclrBallPts;
floattmpF=(1-exp(-100*D[m][j][k]))*255*fabs(cos(0.1*S_Step));
if(cos(0.1*S_Step)>0)
{clrBallPts.r=tmpF;
clrBallPts.g=tmpF;
clrBallPts.b=tmpF;}
else
{clrBallPts.r=tmpF;
clrBallPts.g=tmpF;
clrBallPts.b=0;
}
userDrawDBall(Pt[m][j][k],D[m][j][k],Ball_R,BaseNum,
clrBallPts);
}
}
}
RGBclrText;
clrText.r=255;clrText.g=255;clrText.b=255;
DrawHZCharacter(80,-70,90,FCENTER,FBOTTOM,word,clrText);
}
(2)等概率密度面源程序
voiddemowindow:
:
S_Picture1()
{
inti,j,n;
floatV,x,y,z,r,a,b,d,R;
floatPI=3.14,c=0.15;
charbuf[100];
POINT3Fp,q;
RGBcolor,color1;
DIRECTdirection;
direction.alpha=0;direction.beta=0;
color.r=20;color.g=140;color.b=200;
color1.r=0;color1.g=0;color1.b=0;
for(i=0;i<311;i++)
{
x=i;
for(n=-308;n<308;n++)
{
z=n;
r=sqrt(x*x+z*z);
if(r<0.01)
r=0.01;
a=acos(z/r);
d=0.05*r;V=0.7*pow((6-d),2)*pow(d,4)*exp(-1*d)*pow(sin(a)*cos(a),2);
if(fabs(V-c)<0.005)
{
for(j=0;j<71;j++)
{
b=j*PI/35;
x=r*sin(a)*cos(b);
y=r*sin(a)*sin(b);
z=r*cos(a);
p.x=0.1*P_radius*x/3.4;
p.y=0.1*P_radius*y/3.4;
p.z=0.1*P_radius*z/3.4;
EnableLight();
CDrawPoints(&p,1,&color);
}
}}
}
DrawHZCharacter(70,-60,98,FCENTER,FBOTTOM,word,color1);
sprintf(buf,"n=4,l=2,m=1");
LoadHZCharacter24(S_FONT,FLEFTTORIGHT,&word,buf);
DrawHZCharacter(0,0,98,FCENTER,FBOTTOM,word,color1);
sprintf(buf,"氢原子的等概率密度面");
LoadHZCharacter24(S_FONT,FLEFTTORIGHT,&word,buf);
}