《布朗運動的理論分析與蒙特卡羅模擬》由會員分享,可在線閱讀,更多相關《布朗運動的理論分析與蒙特卡羅模擬(7頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、布朗運動的理論分析與蒙特卡羅模擬
徐建強
盧氏縣第一高級中學 472200
摘要:本文簡要給出布朗運動的郎之萬理論,利用蒙特卡羅方法中的隨機游走理論,通過Matlab編程.直觀、形象地模擬了三維空間布郎運動,同時計算了布朗粒子位移平方的平均值與時間的關系,其結果與理論分析一致。
關鍵詞:布朗運動;蒙特卡羅方法;Matlab
中圖分類號:O552.1
1 引言
1827 年,蘇格蘭植物學家布朗在顯微鏡下觀察到花粉在水中作無規(guī)則運動,并發(fā)現(xiàn)其它懸浮微粒也不停息地作無規(guī)則運動。微粒在流體介質中這種隨機的連續(xù)運
2、動,稱為布朗運動;該微??梢越凶霾祭柿W?。布朗運動發(fā)現(xiàn)之后50 年內,其實質一直不為人知。1877 年,德索耳提出,微粒受到周圍媒質分子不平衡的碰撞是產生布朗運動的原因。1905 年愛因斯坦發(fā)表了關于布朗運動的論文,并被普遍接受。隨后斯莫陸綽斯基(1906 年) 、朗之萬(1908年) 都發(fā)表了各自關于布朗運動的理論,證明布朗粒子位移平方的平均值正比于時間。 [1]現(xiàn)在對布朗運動二維可視化研究已很多,本文著重從三維立體空間實現(xiàn)布朗運動的可視化。
2 理論分析
由郎之萬方程: (1)
F(t)為漲落力,為斯托克斯公式,
3、a為顆粒(看作小球)半徑,η為粘滯系數(shù)。對(1)式兩邊乘x得
(2)
將(2)式對大量顆粒求平均,即把各布郎粒子的運動方程相加然后用粒子數(shù)去除。因F(t)的平均值為零,并對(2)式第二項應用能量均分定理,經(jīng)整理可得
(3)
式(3)是的二階常系數(shù)線性非齊次微分方程,通解為
(4)
經(jīng)過近似處理,并假設所有粒子在t=0時都處在x=0處,則C2=0.因此得
4、
(5)
(5)式表明位移平方的平均值與時間成正比,正是理論結論。
3 蒙特卡羅方法模擬布郎運動
3.1蒙特卡羅方法
蒙特卡羅(Monte-Carlo)方法是利用連續(xù)產生的無規(guī)數(shù)求解的一種計算方法。蒙特卡羅方法在物理工程中有著廣泛的應用,例如對于分子運動學,粒子輸運現(xiàn)象,布朗運動,放射性衰變等現(xiàn)象,由于問題本身有一定的無規(guī)性,同時又具有一定的統(tǒng)計規(guī)律性,用這個方法很合適。[2]
布朗運動本身不僅為分子運動論提供了有力的實驗證據(jù), 同時發(fā)展成為隨機過程研究的一個重要分支.蒙特卡羅中隨機行走
5、就是采用偽隨機數(shù)發(fā)生器所產生的偽隨機數(shù)序列對布朗運動這一類物理過程作計算機仿真的方法.
為簡化起見,我們研究具有代表性的二維隨機行走。設一醉漢從原點出發(fā)行走N步, 每一步所行的方向與其前一步的方向完全無關具有隨機性,每步的步長則在指定的區(qū)間里漲落。這樣,各步在x方向和y方向的位移分別為
, ,……, (6)
在行走N步之后, 行走者所在位置與原點的距離R就有如下的關系:
(7)
只要行走是真正隨機的, 則行走者向前后左右行走的概率是一樣的, 走了相當多的步數(shù)之后, 上式中的交叉項就相互抵消, 于是得到
6、:
(8)
于是有: (9)
其中r為步長。從此式可以看出當步長一定的時候,R2與步數(shù)n成正比。對于該式成立的條件是n足夠大。[3]
3.2計算機模擬
為了直觀在此模擬三維空間中布朗運動,圖1為空間中任意一點,坐標圖示,
圖1空間點坐標表示圖示
用極坐標表示則
,,,
,,,
為了讓這些布朗粒子動起來,我們需要給出運動的方向和步長。這里我們選擇步長ss=2(r=2),定義兩個角b=theta1, a=theta2并在極
7、坐標下通過隨機數(shù)產生函數(shù)給出分子隨機的運動方向,之后再回到笛卡兒坐標系中換算出每個布朗分子位置的x、y,z分量。利用蒙特卡羅中隨機游走模仿布朗粒子運動。為了增加立體感這里我們將通過計算機模擬200個分子在三維空間內的隨機運動情況,在Matlab中定義一個2003的矩陣來存放這些布朗粒子的位置。其中每一行代表一個分子,第一列存放位置的x分量,類似的第二列存放其y分量,第三列存放其z分量。首先模擬200個布郎粒子的運動,然后跟蹤一個粒子的運動,并記錄運動路徑。
相應的Matlab程序段如下:
rand(state,sum(100*clock)); %產生隨機數(shù)
ns=200;
8、 %設定時間
np=200; %分子總數(shù)
ss=2; %設定步長
sl=zeros(np,3);
for a=1:ns
for c=1:np
theta1=rand*2*pi; %定義theta1的范圍
theta2=rand*pi;
sl(c,1)=sl(c,1)+(ss*cos(
9、theta1))*sin(theta2); %求x分量
if sl(c,1)>20
sl(c,1)=sl(c,1)-2*(ss*cos(theta1))*sin(theta2);
end
if sl(c,1)<-20
sl(c,1)=sl(c,1)-2*(ss*cos(theta1))*sin(theta2);
end
sl(c,2)=sl(c,2)+(ss*sin(theta1))*sin(theta2);
10、 if sl(c,2)>20
sl(c,2)=sl(c,2)-2*(ss*sin(theta1))*sin(theta2);
end
if sl(c,2)<-20
sl(c,2)=sl(c,2)-2*(ss*sin(theta1))*sin(theta2);
end
sl(c,3)=sl(c,3)+ss*cos(theta2);
if sl(c,3)>20
11、 sl(c,3)=sl(c,3)-2*ss*cos(theta2);
end
if sl(c,3)<-20
sl(c,3)=sl(c,3)-2*ss*cos(theta2);
end
end
plot3(sl(:,1),sl(:,2),sl(:,3),.r)
axis([-20 20 -20 20 -20 20])
title(布朗運動動態(tài)演示,fontsize,10,color,k)
xlabel(x); y
12、label(y); zlabel(z);
grid on
pause(0.001)
rt(a,:)=([sl(1,1),sl(1,2),sl(1,3)])
end
%跟蹤單個布朗粒子的運動情況
m=1;
figure %新開一個窗口
while m<=ns
axis([-20 20 -20 20 -20 20])
plot3(rt(m,1),rt(m,2),rt(m,3).)
title(單個布朗粒子運動動態(tài)過程,fontsize,10,color,k)
x
13、label(x);ylabel(y);zlabel(z)
grid on
hold on
pause(0.05)
m=m+1
end
figure
axis([-20 20 -20 20 -20 20])
plot3(rt(:,1),rt(:,2),rt(:,3), rt(:,1),rt(:,2),rt(:,3),’.r’)
title(單個布朗粒子運動路徑,fontsize,10,color,k)
xlabel(x);ylabel(y);zlabel(z);
grid on
運行結果如下:
圖1 布郎運動動態(tài)演示
圖2跟蹤單個布郎粒子運動動態(tài)過程
圖
14、3跟蹤布郎粒子運動路徑
圖1為200個布朗分子最終運動所在空間的位置,可以得出布郎粒子已均勻分布在空間內,圖2為跟蹤的一個布朗粒子在200秒時間內擴散所經(jīng)過的位置,圖3為跟蹤的一個布朗粒子運動的路徑,從結果可看出,布郎粒子的運動具有隨機性,不成某種趨勢分布,圖3結果與參考書目[4][5]提供資料布郎粒子分布結構相同,從而解決了布郎運動經(jīng)典實驗的困難。
理論知布朗粒子位移平方的平均值正比于時間t,那么對于本次模擬是否也符合呢?模擬結果如下:
圖4布朗粒子位移平方的平均值正比于時間t
從圖4可知本次模擬在誤差范圍內符合理論要求。以上說明用隨機有走理論模擬布郎運動具有很好的物理意
15、義。
4 結論
利用蒙特卡羅理論通過Matlab編程形象模擬了三維空間布郎運動,使微小世界可視化。解決了在經(jīng)典的布朗運動實驗設計中, 由于觀察和記錄的困難, 造成實驗結果誤差較大的缺陷。同時計算布朗粒子位移平方的平均值與時間的關系結果表明與理論吻合。在此強調本次模擬規(guī)定了步長,沒有考慮如流體的粘滯系數(shù)和懸浮微粒半徑等因素所以為定性。本文的研究方法適合為學生更好的理解布郎運動。
參考文獻:
[1]汪志誠.熱力學統(tǒng)計物理[M].北京:高等教育出版社第三版,2003:412
[2]馬文淦.計算物理學[M]. 北京:科學出版社,2006:14
[3]王萊.布朗運動和隨機行走的計算機仿真[
16、J].工科物理,1998,(6):46
[4]程守洙、江之水.普通物理學(1)[M].北京:高等教育出版社第五版,2005:271
[5]秦允豪.熱學[M].北京: 高等教育出版社第二版,2004:23
On analysis and simulation of brownian motion by monte carlo method
Abstract: The langevin theory is brief introduced in this paper. According to Monte Carlo’s random walk theory , the computer simulation of brownian motion in the three-dimensional space is brief given by means of Matlab program and the relation between the mean value of square of displacement and time is computed ,which is consistent with therotic analyse.
Keywords: Brownian motion; Monte carlo method; Matlab