《计算物理(本科)》[第11章].ppt
《《计算物理(本科)》[第11章].ppt》由会员分享,可在线阅读,更多相关《《计算物理(本科)》[第11章].ppt(40页珍藏版)》请在冰豆网上搜索。
第第十十一一章章蒙蒙特特卡卡罗罗方方法法第十一章第十一章蒙特卡罗方法蒙特卡罗方法11.1蒙特卡罗方法概述蒙特卡罗方法概述蒙蒙特特卡卡罗罗(MonteCarlo)方方法法:
利利用用随随机机数数统统计计地地去计算和模拟给定的问题。
去计算和模拟给定的问题。
q说明:
说明:
1、也称也称统计模拟法、随机抽样法或统计试验法统计模拟法、随机抽样法或统计试验法。
2、MonteCarlo方方法法的的命命名名:
世世界界上上著著名名的的赌赌城城摩摩洛哥的洛哥的MonteCarlo。
3、方方法法:
先先构构造造一一个个与与物物理理问问题题等等价价的的随随机机过过程程,当当完完成成大大量量的的随随机机试试验验后后,结结果果由由多多次次事事件件的的平平均值给出。
均值给出。
合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法5、求解确定性物理问题求解确定性物理问题:
如微分方程、定积分、线:
如微分方程、定积分、线性方程等。
同其它数值计算方法相比是速度慢。
性方程等。
同其它数值计算方法相比是速度慢。
6、求解复杂物理问题:
求解复杂物理问题:
如果物理学问题的严格算法如果物理学问题的严格算法不知道,或非常复杂,则蒙特卡罗方法有意想不不知道,或非常复杂,则蒙特卡罗方法有意想不到的成功。
特别在分子运动学、输运现象、布朗到的成功。
特别在分子运动学、输运现象、布朗运动、放射性衰变等问题中,由于本身有一定的运动、放射性衰变等问题中,由于本身有一定的统计规律性,这种方法很奏效。
统计规律性,这种方法很奏效。
7、计算机模拟:
计算机模拟:
蒙特卡罗方法广泛应用于蒙特卡罗方法广泛应用于“计算机计算机模拟模拟”,在计算机上模拟真实过程。
,在计算机上模拟真实过程。
4、随机数的抽样:
随机数的抽样:
现都用计算机程序来产生,一般现都用计算机程序来产生,一般不用物理方法抽样。
计算机产生的是伪随机数。
不用物理方法抽样。
计算机产生的是伪随机数。
合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法11.2蒙特卡罗方法的原理蒙特卡罗方法的原理用用蒙蒙特特卡卡罗罗方方法法寻寻找找某某个个未未知知量量x时时,利利用用计计算算机机产生的随机变量产生的随机变量,得到的期望值得到的期望值E()x=E()为为了了估估算算的的平平均均值值,构构造造随随机机变变量量的的若若干干独独立立的实验数序列的实验数序列i|i=1,2,3,n,得得合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法11.3伪(赝)随机变量的抽样伪(赝)随机变量的抽样实际上,大多数伪随机变量不满足实际上,大多数伪随机变量不满足0,1均匀分布,均匀分布,而是具有符合分布密度函数为而是具有符合分布密度函数为f(x)的的分布分布。
抽取符合抽取符合f(x)随机数的步骤如下:
随机数的步骤如下:
(2)从上面随机数总体中抽取一个简单子样,使它从上面随机数总体中抽取一个简单子样,使它满足分布密度函数满足分布密度函数f(x):
1,2,3
(1)在)在0,1之间抽取均匀分布的伪随机数序列之间抽取均匀分布的伪随机数序列:
1,2,3合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法一、离散型分布随机变量的直接抽样法一、离散型分布随机变量的直接抽样法随机变量随机变量的概率表的概率表其中其中xi为离散型随机变量为离散型随机变量的跳跃点的跳跃点,Pi为相应概率。
为相应概率。
q变换方法变换方法:
第一步第一步构造一个矢量构造一个矢量合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法第二步第二步产生一个产生一个0,1间随机数间随机数,找到区间找到区间使使恰好落在这个区间内。
恰好落在这个区间内。
第三步第三步P取对应的值取对应的值xj,其表达式为其表达式为合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法例例1.光子与物质相互作用的抽样问题。
光子与物质相互作用的抽样问题。
物理过程物理过程:
光子与物质作用有康普顿效应、光电光子与物质作用有康普顿效应、光电效应和电子对效应三种类型效应和电子对效应三种类型。
其中光电效应和电。
其中光电效应和电子对效应为光子吸收过程。
子对效应为光子吸收过程。
设三种过程的碰撞截面分别设三种过程的碰撞截面分别s、e和和p,则总截面则总截面T=s+e+p。
根据给定的根据给定的0,1之间均匀分布的随机数之间均匀分布的随机数,求应求应产生那种效应?
产生那种效应?
合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法(3)产生)产生0,1间均匀随机数间均匀随机数:
若若s/T,则发生康普顿散射;则发生康普顿散射;若若s/T(s+e)/T,则发生光电过程;则发生光电过程;若若(s+e)/T,则发生电子对产生过程。
则发生电子对产生过程。
(2)构造一个矢量构造一个矢量解:
(解:
(1)随机变量的概率表随机变量的概率表合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法二、连续型分布随机变量的直接抽样法二、连续型分布随机变量的直接抽样法一一个个对对应应一一个个。
如如果果积积分分式式能能求求出出解解析析形形式式的的反反函数,则得到变换公式函数,则得到变换公式FF=FF-1-1()11.12)11.12f(x)xa1-b对连续型随机变量对连续型随机变量的值,可直接解连续分布方程的值,可直接解连续分布方程其中其中f(x)为在(为在(a,b)区间的归一化分布密度函数。
区间的归一化分布密度函数。
合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法例例1.均匀分布:
均匀分布:
在区间(在区间(a,b)内找出符合均匀分布的随机变量内找出符合均匀分布的随机变量。
解法解法2:
线性变换,令线性变换,令解法解法1:
合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法例例2指数分布:
指数分布:
指数分布的一般形式为指数分布的一般形式为f(x)=e-xx0其中其中0,求符合此分布的随机变量求符合此分布的随机变量求反函数求反函数=-1/ln(1-F()其中其中0F1,由上式得由上式得=-1/ln(1-)因为因为1-0,1和和0,1是等价,所以其式等价于是等价,所以其式等价于=-1/ln合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法11.4MonteCarlo方法求圆周率方法求圆周率求求的物理模型如图所示,边长的物理模型如图所示,边长为为1的正方形内切一个圆。
于是的正方形内切一个圆。
于是正方形和圆的面积分别为正方形和圆的面积分别为S正正=1,S圆圆=/4T正正:
计算机掷出的:
计算机掷出的随机数总数;随机数总数;T圆圆:
随机点:
随机点(x,y)落在圆内的总数。
落在圆内的总数。
即,即,当当时的随机点总数。
时的随机点总数。
y0.50.5x若正方形内有若正方形内有T正正个随机点个随机点(x,y)x=1-0.5;y=2-0.5其中其中为为0,1之间的随机数。
之间的随机数。
圆内的随机点数为圆内的随机点数为T圆圆,那么有,那么有S正正/S圆圆=T正正/T圆圆得得:
=4T正正/T圆圆合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法K=10,M=1000,P=0,i=1j=1j=j+1P=P+1PI=4P/(i*(j-1),printf(PI)i=i+1开始开始结束结束RR22=0.25=0.25i=Kj=M合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法%用用MonteCarlo方法对圆周率进行计算的方法对圆周率进行计算的Matlab程序,文件名程序,文件名PI_val.m%K=100;M=5000;p=0;fori=1:
Kforj=1:
MX=rand(1,2);R2=(X(1,1)-0.5)2+(X(1,2)-0.5)2;ifR21表示裂变数增加,发生链式反应;表示裂变数增加,发生链式反应;f1表示反应逐渐停止;表示反应逐渐停止;f=1表示处于临界状态,用临界质量表示处于临界状态,用临界质量Mc表示。
表示。
合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法用计算机模拟具有一定大小及形状的体积内发生的大用计算机模拟具有一定大小及形状的体积内发生的大量随机裂变,然后计算放出中子被吸收引起的裂变数量随机裂变,然后计算放出中子被吸收引起的裂变数Nin,求出相应的求出相应的f值。
值。
为简单起见,考虑铀为简单起见,考虑铀的的几何几何形状为长方形形状为长方形a*a*b,如图所示。
如图所示。
蒙特卡罗法研究这种蒙特卡罗法研究这种形状的核材料临界问形状的核材料临界问题:
题:
ZYX(X0Y0Z0)(X1Y1Z1)Oaab合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法
(1)核裂变的随机位置核裂变的随机位置(X0,Y0,Z0)随机点的坐标范围为随机点的坐标范围为-0.5aX00.5a;-0.5aY00.5a;-0.5bZ00.5b
(2)裂变的两个中子出射方向裂变的两个中子出射方向(,)裂变产生的中子出射方向用裂变产生的中子出射方向用和和来描述。
从(来描述。
从(X0,Y0,Z0)点放出的中子与以此为圆心的单位球上某点放出的中子与以此为圆心的单位球上某一面积发生碰撞,它的碰撞几率只与球面上被碰撞的一面积发生碰撞,它的碰撞几率只与球面上被碰撞的面积大小成正比。
或者说面积大小成正比。
或者说碰撞按立体角均匀分布碰撞按立体角均匀分布。
一次裂变需要一次裂变需要3个随机数来确定个随机数来确定裂变点的位置裂变点的位置。
合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法立体角:
立体角:
d=sindd=-ddcos按立体角内均匀分布是指按立体角内均匀分布是指:
角在角在02之间均匀分布;之间均匀分布;在在之间,以之间,以cos的值的值在在-11之间均匀分布。
之间均匀分布。
dd(X0,Y0,Z0)ZXY注意:
注意:
cos均匀分布,不是均匀分布,不是角均匀分布。
如果按照角均匀分布。
如果按照为均为均匀分布抽样,则在匀分布抽样,则在=/2附近有较大的权重。
附近有较大的权重。
一次裂变需要一次裂变需要4个随机数来确定两个中子的方向。
个随机数来确定两个中子的方向。
合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法(3)(3)中子平均自由程中子平均自由程平均自由程平均自由程:
中子与铀核碰撞所走的平均路程。
:
中子与铀核碰撞所走的平均路程。
在平均自由程内与核碰撞几率相同:
在平均自由程内与核碰撞几率相同:
例如平均例如平均自自由程为由程为1cm,中子在核块内飞越的距离为中子在核块内飞越的距离为0.3cm,则中子有则中子有30%几率的与铀核发生碰撞被吸收。
几率的与铀核发生碰撞被吸收。
中子飞越距离中子飞越距离d可以用可以用0,1之间的随机数表示。
之间的随机数表示。
一次裂变需要一次裂变需要2个个随机数来确定两个随机数来确定两个中子的平均自由程。
中子的平均自由程。
中子的位置为中子的位置为合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法判断中子与铀核发生碰撞判断中子与铀核发生碰撞:
若(:
若(X1,Y1,Z1)点点在体积内就认为可以发生碰撞被吸收,反之中子在体积内就认为可以发生碰撞被吸收,反之中子就不会引起下一次裂变。
就不会引起下一次裂变。
若有若有N个随机点裂变,个随机点裂变,Nin次总碰撞数(有效中子次总碰撞数(有效中子数)数),则残存因子则残存因子合肥工业大学电子科学与应用物理学院第第十十一一章章蒙蒙特特卡卡罗罗方方法法M,N,S,Ep;Nin=0,b=(M/S2)1/3,a=(MS)1/3,J=1(k)=rand,k=1,2,9;X0=a*
(1)-0.5),Y0=a*
(2)-0.5),Z0=b*(3)-0.5)k=1=2(2k+2)cos=2(2k+3)-0.5,d=(