物理学毕业论文

物理学之数值计算在量子力学教学中的应用及优势

时间:2021-05-30 20:04:54 物理学毕业论文 我要投稿

物理学之数值计算在量子力学教学中的应用及优势

  以下是关于数值计算在量子力学教学中的应用及优势的论文,希望可以帮助各位物理学的同学哦!

物理学之数值计算在量子力学教学中的应用及优势

  摘要:量子力学一直以来都是高等物理教学的重点和难点。为了避免烦琐的数学推导,提高学生对量子力学的学习兴趣,应将数值计算作为一个虚拟实验平台引入到量子力学的教学中。

  关键词:量子力学;数值计算;谐振子

  一、引言

  量子力学是研究微观粒子运动规律的物理学分支学科,与相对论一起构成了现代物理学的理论基础[1]。对于高等院校物理专业的学生,量子力学在基础课程中占有核心地位。通过学习量子力学,可进一步将学生对客观物质世界的感性认识提升到理性认识。因此,对于高校量子力学教师而言,形象、生动的课堂教学不仅能激发学生的学习兴趣,而且还能完善和拓展学生的物理专业知识,从而提高学生的思维水平和培养他们的科研能力。

  对于大部分初学者,除了难以理解量子力学中一些与常理相悖的知识外,烦琐的数学推导使很多同学对量子力学望而生畏。如果高校教师继续沿用传统的解析推演、口述笔写的教学方式,将加大学生学习量子力学的难度。此外,量子力学的授课内容大部分属于理论知识,受条件的限制,许多高校无法为学生开设实验课程,这使得学生对抽象的量子力学现象缺乏客观认识。随着计算机的不断发展,很多教师将一些数值计算引入到了量子力学教学中,不仅有效地规避了烦琐的数学解析推演,而且也能作为量子力学授课的理想实验平台,为学生形象地展示量子力学中的一些抽象且难以理解的.量子现象和概念[2,3]。因此,为了降低学生学习量子力学的难度,提高学生对量子力学的学习兴趣,应鼓励高校教师将计算机及数值计算搬进量子力学的教学课堂。本文将通过具体的一些量子力学实例来说明数值计算应用于量子力学教学过程中的优势。

  二、数值计算在量子力学教学中的应用实例

  我们将以一维势场中单个粒子的定态及含时演化为例来说明数值计算在量子力学教学中的应用。为了简单,我们以Matlab软件作为数值计算的平台。

  例1:一维定态薛定谔方程的数值计算

  在量子力学中,描述单个粒子在一维势场V(x)中运动的定态薛定谔方程如下:

  - +Vxψx=Eψx (1)

  这里我们假设m=?攸=1。原则上,通过从定态薛定谔方程中求解出波函数ψ(x),我们可以知道该粒子在势场V(x)中运动的所有信息。然而,方程(1)是否存在解析解,在很大程度上依赖于势场V(x)的具体形式。对于较为简单的势场,例如大家熟知的无限深势阱及谐振子势阱,很容易解析求解方程(1)。相反,如果势场V(x)的形式比较复杂,如周期势或双势阱,则必须借助于数值计算。因此,当学生学会利用数值计算求解无限深势阱或谐振子势阱中的定态薛定谔方程时,则很容易举一反三的将其推广至较为复杂的势场,从而避免了烦琐的数学问题。

  以下是基于Maltab软件并利用虚时演化方法所编写的计算定态薛定谔方程的程序:

  clearall

  N=100;x=linspace(-6,6,N+1);dx=x(2)-x(1);dt=0.001;dxdt=dt/dx^2;

  V=0.5*x.^2;%谐振子势函数

  temp=1+dxdt+dt*V;

  psi=rand(1,N+1);%初始波函数

  psi=psi/sqrt(sum(abs(psi).^2)*dx);%归一化波函数

  psi1=psi;

  for k=1:10000000

  psi2=zeros(1,N+1);

  for m=1:100000000

  for j=2:N

  psi2(j)=(psi(j)+0.5*dxdt*(psi1(j+1)+psi1(j-1)))/temp(j);

  end

  emax=max(abs(psi2-psi1));psi1=psi2;

  ifemax<1e-8

  break

  end

  end

  psi1=psi1/sqrt(sum(abs(psi1).^2*dx));emax=max(abs(psi-psi1));psi=psi1;

  ifemax<1e-6 %波函数收敛条件

  break

  end

  end

  作为例子,我们利用上述程序分别计算出谐振子和双势阱中的基态解。程图1(a)中展示了谐振子的基态解,从中可以看出,数值计算的结果和精确解一致。对于V (x)= x +ae 的双势阱(这里a为势垒高度,b为势垒宽度),由于波函数满足相同的边界条件ψ(x→±∞)=0,则只需要将上述程序中的谐振子换成V (x)即可,其基态波函数展示在图1(b)中。从图1(b)中可以看出,随着势垒高度的增加,粒子穿过势垒的几率越来越低。由此可见,利用数值计算能形象地描述粒子在双势阱中的势垒贯穿效应,这降低了学生对该现象的理解难度,同时提高了教师的授课效率。

  例2:一维含时薛定谔方程的数值计算

  在量子力学中,描述单个粒子在一维势场V(x)中运动的含时薛定谔方程如下:

  i =- +V(x)ψ(x,t) (2)

  该方程为二阶偏微分方程,对于一般形式的外势V(x)很难严格求解该方程。因此,我们借助时间劈裂傅立叶谱方法进行数值求解,其Matlab程序代码如下:

  clearall

  N=200;L=20;dx=L/N;x=(-N/2:N/2-1)*dx;   K=2*pi/L;k=fftshift(-N/2:N/2-1)*K;

  V=0.5*3*x.^2;

  psi=exp(-(x-2).^2);psi=psi/sqrt(sum(abs(psi).^2)*dx);%归一化初始波函数

  t=linspace(0,10,1001);dt=t(2)-t(1);F=exp(-i*0.5*dt*k.^2/2);

  for j=1:length(t);

  psi=ifft(F.*fft(psi));

  psi=exp(-i*V*dt).*psi;

  psi=ifft(F.*fft(psi));

  U(j,:)=psi;

  end

  作为例子,我们分别选取了谐振子势阱的基态波函数和非基态波函数作为时间演化的初始值。从图2中可以看到,当初始值为基态波函数时,波包的构型并不会随着时间的演化而发生形变,这说明粒子处于动力学稳定的状态。相反,当我们将初始波函数的波包中心稍作挪动,则随着时间的演化,波包将在势阱中做周期性振荡。我们可以让学生利用数值程序证明波包振荡周期等于谐振子的频率。此外,如果我们将初始波函数改为谐振子的激发态,并在初始时刻加上一个较小的扰动项,则可利用时间演化程序证明激发态在外界的一定扰动下而变得动力学不稳定。因此,数值程序为我们提供了验证理论结果的理想实验平台,有利于学生对抽象物理概念的理解。