物理实验教程 一近代物理实 d 格子玻耳兹曼方法虽然从诞生至今才有30多年,但在理论和应用研究等方面取得了 迅速发展,并逐渐成为相关领域研究的热点之一,受到国内外众多学者的关注。与传统模 拟方法不同,格子玻耳兹曼方法因基于分子动理论而具有清晰的物理背景。该方法在宏 观上是离散方法,在微观上是连续方法,因而被称为介观模拟方法。在许多传统模拟方法 难以胜任的领域,如多相(元)流、多孔介质、微尺度流动与换热、化学反应扩散、渗流、磁流 体、品体生长等,格子玻耳兹曼方法都可以讲行右效的模拟,因此它被用干多种复杂现象 的机理研究,推动了相关学科的发展。 有限元法和有限体积法都是随着计算机的发展而迅速发展起来的有效的现代数值计 算方法。有限元法的基础是变分原理和加权余量法,其理论依据具有普遍性,权函数和插 值函数的选取具有多样性,可采用多种计算格式,计算方法简单且精度高,可适应复杂形 状,因而广泛应用于求解结构力学、热学、电磁学、流体力学等领域多物理场偶合的连续性 问题。有限体积法是计算流体力学中常用的一种数值算法,其基础是积分形式的守恒力 程,在有限体积上从物理观点来构造物理量守恒方程的离散方程,物理概念清账,离散方 程系数且右一定的物理意义。有限元法和有限体积法都有多种成熟的数值计算分析 件,这些软件具有丰富的物理模型、先进的数值方法,强大的前后处理功能,可有效地助力 研究工作者探索和解决各种复杂的物理现象。 本章共包括七个实验项目,分别为电子双缝干涉的蒙特卡罗模拟、甲烷分子振动光谱 的CPMD模拟、二氟二氯甲烷分子结构的从头计算法模拟、二氧化硅表面润湿特性的分 子动力学模拟、流体流动的格子玻耳兹曼模拟、永磁体磁场分布特性的有限元法模拟和液 滴撞击壁面的有限体积法模拟。通过这些实验项目重点学习应用蒙特卡罗方法、分子动 力学方法、格子玻耳兹曼方法,有限元方法和有限体积方法等计算物理方法解决复杂物理 问题的基本原理、方法和技术。 实验6-1电子双缝干涉的蒙特卡罗模拟 ● 蒙特卡罗方法也称统计模拟方法,又称随机抽样法、统计实验法或随机模拟法。蒙特 卡罗方法的基本思想是:为了求解数学、物理、工程技术或生产管理等方面的问题,首先建 立一个与求解有关的概率模型或随机过程,使它的参数等于所求问题的解,然后通过对模 型或过程的观察或抽样实验来计算所求参数的统计特征,最后给出所求解的近似值。蒙 特卡罗方法能够比较逼真地描述事物的特点及物理实验过程,解决一些数值方法难以解 决的问题,很少受几何条件限制,收敛速度与问题的维数无关。 在许多工程、通信、金融等技术问题中所研究的控制过程往往不可避免地伴有随机因 素,若要从理论上很好地揭示实际规律必须把这些因素考虑进去。理想化的方法是在相 同条件下进行大量重复实验,采集实验数据,再对实验数据进行统计分析,得出其规律。 但是这样需要耗费大量的人力,物力、财力,尤其当一一个实哈周期很长或是一个破坏性实 验时,通过实验采集数据几平无法进行,此时蒙特卡罗方法就是一种简单、经济、实用的方 302
— 302 — 格子玻耳兹曼方法虽然从诞生至今才有30多年,但在理论和应用研究等方面取得了 迅速发展,并逐渐成为相关领域研究的热点之一,受到国内外众多学者的关注.与传统模 拟方法不同,格子玻耳兹曼方法因基于分子动理论而具有清晰的物理背景.该方法在宏 观上是离散方法,在微观上是连续方法,因而被称为介观模拟方法.在许多传统模拟方法 难以胜任的领域,如多相(元)流、多孔介质、微尺度流动与换热、化学反应扩散、渗流、磁流 体、晶体生长等,格子玻耳兹曼方法都可以进行有效的模拟,因此它被用于多种复杂现象 的机理研究,推动了相关学科的发展. 有限元法和有限体积法都是随着计算机的发展而迅速发展起来的有效的现代数值计 算方法.有限元法的基础是变分原理和加权余量法,其理论依据具有普遍性,权函数和插 值函数的选取具有多样性,可采用多种计算格式,计算方法简单且精度高,可适应复杂形 状,因而广泛应用于求解结构力学、热学、电磁学、流体力学等领域多物理场耦合的连续性 问题.有限体积法是计算流体力学中常用的一种数值算法,其基础是积分形式的守恒方 程,在有限体积上从物理观点来构造物理量守恒方程的离散方程,物理概念清晰,离散方 程系数具有一定的物理意义.有限元法和有限体积法都有多种成熟的数值计算分析软 件,这些软件具有丰富的物理模型、先进的数值方法、强大的前后处理功能,可有效地助力 研究工作者探索和解决各种复杂的物理现象. 本章共包括七个实验项目,分别为电子双缝干涉的蒙特卡罗模拟、甲烷分子振动光谱 的 CPMD模拟、二氟二氯甲烷分子结构的从头计算法模拟、二氧化硅表面润湿特性的分 子动力学模拟、流体流动的格子玻耳兹曼模拟、永磁体磁场分布特性的有限元法模拟和液 滴撞击壁面的有限体积法模拟.通过这些实验项目重点学习应用蒙特卡罗方法、分子动 力学方法、格子玻耳兹曼方法、有限元方法和有限体积方法等计算物理方法解决复杂物理 问题的基本原理、方法和技术. 实验6G1 电子双缝干涉的蒙特卡罗模拟 蒙特卡罗方法也称统计模拟方法,又称随机抽样法、统计实验法或随机模拟法.蒙特 卡罗方法的基本思想是:为了求解数学、物理、工程技术或生产管理等方面的问题,首先建 立一个与求解有关的概率模型或随机过程,使它的参数等于所求问题的解,然后通过对模 型或过程的观察或抽样实验来计算所求参数的统计特征,最后给出所求解的近似值.蒙 特卡罗方法能够比较逼真地描述事物的特点及物理实验过程,解决一些数值方法难以解 决的问题,很少受几何条件限制,收敛速度与问题的维数无关. 在许多工程、通信、金融等技术问题中所研究的控制过程往往不可避免地伴有随机因 素,若要从理论上很好地揭示实际规律必须把这些因素考虑进去.理想化的方法是在相 同条件下进行大量重复实验,采集实验数据,再对实验数据进行统计分析,得出其规律. 但是这样需要耗费大量的人力、物力、财力,尤其当一个实验周期很长或是一个破坏性实 验时,通过实验采集数据几乎无法进行,此时蒙特卡罗方法就是一种简单、经济、实用的方
0 计算机模拟实验第6章 法。因此,蒙特卡罗方法广泛应用于粒子输运问题、统计物理、典型数学问题、真空技术、 激光技术、医学、生物、探矿等方面。 蒙特卡罗方法研究的问题大致可分为两种类型:一种是问题本身是随机的:另一种是 问题本身属于确定性问题,但可以建立它的解与特定随机变量或随机过程的数字特征或 分布函数之间的联系,因而也可用随机模拟方法解决,如计算多币积分,求解积分方程、微 分方程、非线性方程组,求矩阵的逆等 【实验目的】 (1)理解蒙特卡罗方法的基本思想,学会已知分布的随机抽样方法。 (2)握蒙特卡罗方法模拟电子双缝干涉的方法和技术。 (3)理解电子双缝干涉中蕴含的量子力学思想,培养创新性与批判性思维能力。 【预习要求】 (1)什么是蒙特卡罗方法? (2)什么是随机数?什么是抽样?什么是随机抽样? (3)蒙特卡罗方法与有限差分法、有限元素法的主要区别是什么? (4)为什么电子双缝干涉可以使用蒙特卡罗方法模拟 【实验原理】 2002年《物理世界》杂志评洗出十大经典物理实验,其中电子双缝干涉实验位列第 名。费曼认为,电子双缝干涉实验是量子力学的“心脏”,该实验能够揭示量子力学最深刻 的奥秘。电子双缝干涉实验是微观粒子具有波动性的重要证明实验,开始是作为假想实 验提出的。1974年,意大利米兰大学的梅利(P.Meri)等成功地将电子一粒一粒地发射 出来,在探测屏上明确地观察到了电子干涉现象。直到1988年才由日本物理学家外村彰 (A.Tonomura)等完美地做出了电子双缝干涉实验。这个实验中每秒约有1000个电子 抵达探测屏,电子与电子之间的距离约为150km,两个电子同时存在于电子发射器与探 侧屏之间的概率微乎其微,经过一段时间电子的累积显示出干涉图样。一骰的教学仪需 不具备讲行该实验的条件,而运用蒙特卡罗模拟可以借助计算机的数据可视化技术、绘图 技术构建出电子双缝干涉的动态随机过程,清晰地演示出电子双缝干涉的全过程。 运用蒙特卡罗方法来处理电子衍射问题首先必须根据要处理问题的规律建立一个概 率模型,然后进行随机抽样实验,得出一组按已知分布的随机数序列,最后依据这一随机 数序列借助计算机程序设计语言或图形软件实现电子双缝干涉动态随机过程的模拟。 一、概率模型的构建 图6-1-1是电子双缝干涉的示意图。双缝位于 Ox'y'平面,双缝位于Oxy平面,狭缝S,和S的宽度均 为a,两缝中心间距为a十b,双缝到观测屏的距离为D。 设动量为P、能量为E的自由电子沿:轴正方向人射到 双缝,其波函数为: (6-1-1) 式中,平。为中心处的波函数。设在t=0时刻波前到达图6-1电子双缝干涉示意图 303
— 303 — 法.因此,蒙特卡罗方法广泛应用于粒子输运问题、统计物理、典型数学问题、真空技术、 激光技术、医学、生物、探矿等方面. 蒙特卡罗方法研究的问题大致可分为两种类型:一种是问题本身是随机的;另一种是 问题本身属于确定性问题,但可以建立它的解与特定随机变量或随机过程的数字特征或 分布函数之间的联系,因而也可用随机模拟方法解决,如计算多重积分,求解积分方程、微 分方程、非线性方程组,求矩阵的逆等. 【实验目的】 (1)理解蒙特卡罗方法的基本思想,学会已知分布的随机抽样方法. (2)掌握蒙特卡罗方法模拟电子双缝干涉的方法和技术. (3)理解电子双缝干涉中蕴含的量子力学思想,培养创新性与批判性思维能力. 【预习要求】 (1)什么是蒙特卡罗方法? (2)什么是随机数? 什么是抽样? 什么是随机抽样? (3)蒙特卡罗方法与有限差分法、有限元素法的主要区别是什么? (4)为什么电子双缝干涉可以使用蒙特卡罗方法模拟? 【实验原理】 2002年«物理世界»杂志评选出十大经典物理实验,其中电子双缝干涉实验位列第一 名.费曼认为,电子双缝干涉实验是量子力学的“心脏”,该实验能够揭示量子力学最深刻 的奥秘.电子双缝干涉实验是微观粒子具有波动性的重要证明实验,开始是作为假想实 验提出的.1974年,意大利米兰大学的梅利(P.Merli)等成功地将电子一粒一粒地发射 出来,在探测屏上明确地观察到了电子干涉现象.直到1988年才由日本物理学家外村彰 (A.Tonomura)等完美地做出了电子双缝干涉实验.这个实验中每秒约有1000个电子 抵达探测屏,电子与电子之间的距离约为150km,两个电子同时存在于电子发射器与探 测屏之间的概率微乎其微,经过一段时间电子的累积显示出干涉图样.一般的教学仪器 不具备进行该实验的条件,而运用蒙特卡罗模拟可以借助计算机的数据可视化技术、绘图 技术构建出电子双缝干涉的动态随机过程,清晰地演示出电子双缝干涉的全过程. 运用蒙特卡罗方法来处理电子衍射问题首先必须根据要处理问题的规律建立一个概 率模型,然后进行随机抽样实验,得出一组按已知分布的随机数序列,最后依据这一随机 数序列借助计算机程序设计语言或图形软件实现电子双缝干涉动态随机过程的模拟. 图6G1G1 电子双缝干涉示意图 一、概率模型的构建 图6G1G1 是 电 子 双 缝 干 涉 的 示 意 图. 双 缝 位 于 O′x′y′平面,双缝位于Oxy 平面,狭缝 S1和 S2的宽度均 为a,两缝中心间距为a+b,双缝到观测屏的距离为 D. 设动量为p、能量为E 的自由电子沿z 轴正方向入射到 双缝,其波函数为: Ψ =Ψ0e [j(pz-Et)] (6G1G1) 式中,Ψ0 为中心处的波函数.设在t=0时刻波前到达
物理实验教程 一近代物理实 双缝处(x=0),则由式(6-1-1)可知在双缝处波函数为一常数。为简单起见,设在双缝上 的波函数为: 山,-(+)<'<-名名<'<(+) (x',0)=f(x)= o.'<(a+)-2<'<台r>(+) (6-1-2) 根据费曼的路径积分理论,电子经过双缝而在:时刻到达观测屏上P点的波函数为: sin(sin) 里(x,t)=2g。 o[s(noj小we (6-1-3) k号sin0 式中,k=2x/A。因此,电子经过双缝在观测屏上P点出现的概率密度为: sin(sin0) 地(x)=|里(x,t)2=4Ψ。2 os[s(e)smo] (k号sin0) sinsin = cosin0 (6-1-4) (sin0)月 式中,。为电子出现在中心处的概率密度。设D》(a十b),则有: sin6-号 (6-1-5) 代入式(6-1-4)可得 n(0) w(x)=|Ψ(x,t)2=w0 (品) (Ax) (6-1-6) 根据上述电子在观测屏上出现的概率密度函数进行随机抽样,可得到按此概率密度 函数分布的随机数序列。在蒙特卡罗方法中,有多种方法可实现按已知分布的随机抽样 这里采用舍选法。 舍选法的具体步骤为:①计算机在一定的范围内随机地选取观测屏上的一坐标点 (x:,y:)并计算H=心(x:)/心。其中,w(x:)是概率密度函数心(x)在点(x:,v:)的 值,e是概率密度函数e(x)的最大值。②计算机产生一个在0至1之间均匀分布的 随机数M。③将H与M进行比较,若H≥M,则选取点(x,y,),若H<M,则舍去该 点,并重复①至③,重新选择坐标点。通过以上方法便可以得到一个按心(x)分布的随机 数序列,这个随机数序列便是实现电子双缝干涉动态随机过程的依据。 304
— 304 — 双缝处(z=0),则由式(6G1G1)可知在双缝处波函数为一常数.为简单起见,设在双缝上 的波函数为: Ψ(x′,0)=f(x)= 1, - (a+ b 2 ) ≤x′ ≤- b 2 ; b 2 ≤x′ ≤ (a+ b 2 ) 0, x′ <- (a+ b 2 ) ;- b 2 <x′ < b 2 ;x′ > (a+ b 2 ) { (6G1G2) 根据费曼的路径积分理论,电子经过双缝而在t时刻到达观测屏上P 点的波函数为: Ψ(x,t)=2Ψ0 sin(k a 2 sinθ) k a 2 sinθ cosk( a+b 2 sinθ) é ë ê ê ù û ú úe [j(pz-Et)] (6G1G3) 式中,k=2π/λ.因此,电子经过双缝在观测屏上P 点出现的概率密度为: w(x)= Ψ(x,t)2 =4 Ψ0 2 sin2 (k a 2 sinθ) (k a 2 sinθ) 2 cos2 k( a+b 2 )sinθ é ë ê ê ù û ú ú =w0 sin2 ( πa λ sinθ) ( πa λ sinθ) 2 cos2 π(a+b) λ sinθ é ë ê ê ù û ú ú (6G1G4) 式中,w0 为电子出现在中心处的概率密度.设D≫ (a+b),则有: sinθ= x D (6G1G5) 代入式(6G1G4)可得: w(x)= Ψ(x,t)2 =w0 sin2 ( πa λD x ) ( πa λD x ) 2 cos2 π(a+b) λD x é ë ê ê ù û ú ú =w0 sin2(Ax) (Ax)2 cos2(Bx) (6G1G6) 式中,A = πa λD ,B = π(a+b) λD . 根据上述电子在观测屏上出现的概率密度函数进行随机抽样,可得到按此概率密度 函数分布的随机数序列.在蒙特卡罗方法中,有多种方法可实现按已知分布的随机抽样, 这里采用舍选法. 舍选法的具体步骤为:① 计算机在一定的范围内随机地选取观测屏上的一坐标点 (xi,yi)并计算 H =w(xi)/wmax. 其中,w(xi)是概率密度函数 w(x)在点(xi,yi)的 值,wmax是概率密度函数w(x)的最大值.② 计算机产生一个在0至1之间均匀分布的 随机数 M.③ 将 H 与M 进行比较,若 H ≥M,则选取点(xi,yi),若 H <M,则舍去该 点,并重复①至③,重新选择坐标点.通过以上方法便可以得到一个按 w(x)分布的随机 数序列,这个随机数序列便是实现电子双缝干涉动态随机过程的依据
计算机模拟实验第6章 利用上述生成的按如(x)分布的随机数序列,借助计算机程序设计语言或图形软件 就可以实现电子双缝干涉动态随机过程的模拟。具体实现的方法有很多种,如采用C程 序或者C++程序模拟随机过程,使用Gnuplot软件输出动态随机过程。这里采用编写 Matlab程序的方法来实现,用Matlab的rand函数来产生均匀分布的随机数,用plot函 数来实现电子双缝干涉点的显示。 取a=2×10-7m,b=1×10-6m,D=0.25m,加速电子的电压U=1000V。根据 h 入一√2m元可算出人射电子的波长,其中m和e分别为电子的质量和电量。 从式(6-1-6)可以看出,电子在观测屏上出现的最大概率密度为ea,即地.一o,所 以有: H=c卫)-sin(Arco'(Br) (6-1-7) (Ax) 二、电子双缝干涉的Matlab程序及可视化 下面给出一个电子双缝干涉的Matlab程序实例。实例中共产生1000个电子,运行 后会出现电子双缝干涉图样,如图6-1-2所示。Linux用户也可以使用Octave软件来 运行。 h=6.626069e-34 %设置普朗克常数,kg·m5 m=9.109382e-31 %设置电子质量,kg e=1.602176e-19 %设置电子电荷,C U=1000 %电子加速电压为1000V a=2e-7: %缝的宽度为0.2um b=1e6 %两缝间隔为1m D=0.25: %缝与屏的间距为0.25m rd=h/sqrt(2*m*e*U) %计算电子波长 A=(pi"a)/(rd*D); %计算A和B B=pi(a+b)/(rd*D): axis5e-5,5e-5,-4e5,4e-5 %设置坐标轴标度范围 5 et(gca,'color,0.122,0.012,0.62) %设置坐标面背景颜色 tite电子双缝干涉动态随机过程演示 'fontsize16,'color,k) %设置标题 1=1: while i<=1000 %用循环结构控制电子的数目 x=5e-5*(2*rand-1: %产生-5×10至5×105之间均匀分 布的随机数赋给x y=4e-5*(2*rand-1: %产生-4×10至4×105之间均匀分 布的随机数赋给y 305
— 305 — 利用上述生成的按w(x)分布的随机数序列,借助计算机程序设计语言或图形软件 就可以实现电子双缝干涉动态随机过程的模拟.具体实现的方法有很多种,如采用 C程 序或者 C++程序模拟随机过程,使用 Gnuplot软件输出动态随机过程.这里采用编写 Matlab程序的方法来实现,用 Matlab的rand函数来产生均匀分布的随机数,用 plot函 数来实现电子双缝干涉点的显示. 取a=2×10-7 m,b=1×10-6 m,D=025m,加速电子的电压U=1000V.根据 λ= h 2meU 可算出入射电子的波长,其中m 和e分别为电子的质量和电量. 从式(6G1G6)可以看出,电子在观测屏上出现的最大概率密度为 w0,即 wmax=w0,所 以有: H = w(x) wmax = sin2(Ax) (Ax)2 cos2(Bx) (6G1G7) 二、电子双缝干涉的 Matlab程序及可视化 下面给出一个电子双缝干涉的 Matlab程序实例.实例中共产生1000个电子,运行 后会出现电子双缝干涉图样,如图 6G1G2 所示.Linux 用户也可以使用 Octave软件来 运行. h=6.626069eG34; % 设置普朗克常数,kgm 2 /s m=9.109382eG31; % 设置电子质量,kg e=1.602176eG19; % 设置电子电荷,C U=1000; % 电子加速电压为 1 000 V a=2eG7; % 缝的宽度为 0.2μm b=1eG6; % 两缝间隔为 1μm D=0.25; % 缝与屏的间距为 0.25 m rd=h/sqrt(2*m*e*U); % 计算电子波长 A=(pi*a)/(rd*D); % 计算 A 和 B B=pi*(a+b)/(rd*D); axis(G[ 5eG5,5eG5G, 4eG5,4eG5]) % 设置坐标轴标度范围 set(gca,'color',[0.122,0.012,0.62]) % 设置坐标面背景颜色 title('电子双缝干涉动态随机过程演示', 'fontsize',16,'color','k') % 设置标题 i=1; while i<=1000 % 用循环结构控制电子的数目 x=5eG5*(2*rand- 1); % 产生G5×10 G5至 5×10 G5之间均匀分 布的随机数赋给 x y=4eG5*(2*rand- 1); % 产生G4×10 G5至 4×10 G5之间均匀分 布的随机数赋给 y
物理实验教程 近代物理实验 H=(((sin(A*x)2/(A*x 2)((cos(B*x)2: %计算H M=rand; %产生0至1之间均匀分布的随机 数赋给M if H>=M %用分支结构选择符合条件的坐 标点 hold on %保留当前坐标系中已存在的图形 对象 h point=plot(x.y,'r''EraseMode' none,'markerSize,10); %用红颜色显示符合条件的坐标 点,并赋句秉值给h_point i=i+1: pause(.001) %暂停一小段时间 set(h_point,'color,'w') %将当前坐标点由红颜色变为白 颜色 end end 图6-1-2电子双缝干涉图样 【实验内容】 一、基础性实验内容 (1)利用Matlab软件或者Octave软件模拟电子双缝干涉实验。 (2)研究电子加速电压对电子双缝干涉图像的影响并分析其原因。 (3)研究双缝的宽度、间距及缝与屏的距离对电子干涉图像的影响,并分析其原因。 二、设计性实验内容 采用蒙特卡罗方法模拟氢原子的电子云,模拟出1s态、2p态和3d态的电子云图。要 求给出设计思路、模拟程序和模拟结果。 根据量子力学原理,氢原子中电子的概率分布可以由电子的定态波函数唯一确定。 306
— 306 — H=(((sin(A*x)) < 2)/(A*x) < 2)*((cos(B*x)) < 2); % 计算 H M=rand; % 产生 0 至 1 之间均匀分布的随机 数赋给 M if H>=M % 用分支结构选择符合条件的坐 标点 hold on % 保留当前坐标系中已存在的图形 对象 h_point=plot(x,y,'.r','EraseMode', 'none','markerSize',10); % 用红颜色显示符合条件的坐标 点,并赋句秉值给 h_point i=i+1; pause(0.001) % 暂停一小段时间 set(h_point,'color','w') % 将当前坐标点由红颜色变为白 颜色 end end 图6G1G2 电子双缝干涉图样 【实验内容】 一、基础性实验内容 (1)利用 Matlab软件或者 Octave软件模拟电子双缝干涉实验. (2)研究电子加速电压对电子双缝干涉图像的影响并分析其原因. (3)研究双缝的宽度、间距及缝与屏的距离对电子干涉图像的影响,并分析其原因. 二、设计性实验内容 采用蒙特卡罗方法模拟氢原子的电子云,模拟出1s态、2p态和3d态的电子云图.要 求给出设计思路、模拟程序和模拟结果. 根据量子力学原理,氢原子中电子的概率分布可以由电子的定态波函数唯一确定