感謝鄭伊芳助教翻譯課本習題

 

問題8.1:  Lennard-Jones相互作用的定性性質

寫一個簡短的程序,或者使用一個圖形軟件包繪製Lennard-Jones勢(8.1)和相應的力的大小:

8.1: Lennard-Jones勢的繪圖u (r)。注意potential的特點是長度σ和能源。

u (r)r = 0.8σ的時候,值是多少?如果r下降到r =0.72σ,減少了10%,u 會增加多少?在r = 2.5σr 的值是多少r等於多少的等於零?

問題8.2: 平衡的方法
1.
Program md中,被併入DATA語句的初始配置對應到N= 16的粒子,而那些粒子要透過一個線性尺寸L = 6的方形單位與Lennard-Jones勢有相互作用。檢查所有粒子的xy坐標坐落於06之間,設置ΔT= 0.01並運行程式以確保它正常運作。總能量應大約被conserved,而且所有16個粒子的軌跡應在屏幕上被看到。

2. 假設在t= 0時,0X6的限制被除去,在矩形單元Lx=12Ly=6裡粒子可以自由的移動。將這個變化併入你的程序裡並且觀察粒子的軌跡。系統是否隨著時間的增長變的更隨機或更少隨機?

 

3. 計算n(t),在該單元格的左半邊中的粒子的數量,和繪製作為一個t函數的n(t)n(t)的定性行為是什麼?另外計算nt)的時間平均,並繪製t的函數。左半粒子在系統已達到平衡後,他的平均值是多少?用你在問題7.1發現的結果,跟你的定性結果做比較,如果你做了一個分子N = 64的粒子動力學模擬,達到平衡的方法會得到更好的定義嗎?


問題8.3:  Verlet算法的測試
1.
對應於N= 11粒子以相同的速度往相同的方向移動,考慮以下的初始條件(參見圖8.4)。選擇Lx=Ly=10Δt= 0.01

FOR i = 1 to N

    LET x(i) = Lx/2

    LET y(i) = (i -0.5)*Ly/N

    LET vx(i) = 1

    LET vy(i) = 0

NEXT i

系統最終會達到平衡嗎?為什麼或者為什麼不?

2. 改變粒子6的速度,使vx(6) = 0.99vy(6) = 0.01。系統行為和(a)部份在定性上有所不同嗎?系統最終會達到平衡嗎?粒子的軌跡是否對初始條件敏感?請說明為什麼幾乎所有的初始狀態都會導致相同的定性行為。

8.4: 一個特殊的初始條件的範例;箭頭表示幅值和每粒子的速度方向。

3. 修改Program md,使該程序在一段預定的時間內運行。使用包含DATA語句的初始條件,並保存所有粒子在t =0.5的位置和速度在一個文件中,然後考慮時間倒轉的過程,例如如果時間的方向被逆轉,會產生的運動。這種倒轉等於讓所有粒子v →−v,粒子會返回到原來的位置嗎?假如把速度反向,一會兒後會發生什麼情況?如果你選擇了一個較小的值Δt,會發生什麼事?

 

4. 使用包含DATA語句的初始條件,但讓Lx = 12並保存所有粒子在t = 2.5的位置和速度在一個文件中,然後考慮時間倒轉的過程,粒子會返回到原來的狀態嗎?假如把速度反向,t = 5而不是在t = 2.5的時候,會發生什麼事?

 

5. 從你的結果中,你可以得到什麼結論有關軌跡的混亂性質?計算出的軌跡是否和“真”的軌跡相同?


問題8.4:  Verlet算法的測試

1. 一個必要檢查分子動力學的程序是總能量與所需的精度是守恆的,使用Program md和確定Δt的值所需的總能量是否有跟在t = 2時間間隔上一個給定的精度互相守恆。一種標準是計算ΔEmax(t)時,最大的差|E(t)E(0)|,在時間間隔t,其中,E(0)是初始的總能量,而E(t)是時間t的總能量。請確認是否當ΔEmax(t)下降時,Δt變小為了固定t,如果你的程序正常工作,那麼ΔEmax(t)應該會減少為(Δt)2

 

2. 由於週期邊界條件的使用,中央單元中的所有點是等效的,該系統是平移不變。解釋為什麼Program md應保護總線性動量,浮點誤差和截斷誤差與有限差分算法可以導致total linear momentum漂移。編程錯誤也可能因動量守恆的檢查被檢測到。因此,它是一個,在規律的時間內監測total linear momentum好方法,也是,假如必要時,重置到零的好方法。SUB check­_momentum,列在下面,應該被calledSUB initial獲得初始配置後,也在固定時間間隔的程序的主循環,例如,每100 - 1000時間步長Program mdΔT= 0.01時,對total linear momentum保存效果為多好?
SUB check_momentum

     DECLARE PUBLIC vx(),vy(),N

     LET vxsum = 0

     LET vysum = 0

     ! compute total center of mass velocity (momentum)

     FOR i = 1 to N

          LET vxsum = vxsum + vx(i)

          LET vysum = vysum + vy(i)

     NEXT i

     LET vxcm = vxsum/N

     LET vycm = vysum/N

     FOR i = 1 to N

          LET vx(i) = vx(i) -vxcm

          LET vy(i) = vy(i) -vycm

     NEXT i

END SUB

 

3. 監控程式保存總能量到多好的程度的另一種方法是分析時間序列E(t)一條直線上利用最小二乘擬合E(t),直線的斜率可以解釋為漂移和root mean square deviation從直線可以被解釋為噪聲(第7.5節中的符號σy)。漂移和噪聲如何依賴Δt,在一個固定的時間間隔t裡?Most research applications conserve the energy to within 1 part in 103 or 104 or better over the duration of the run.(看不懂)

 

4. 考慮高階算法之一,附錄5A裡曾被討論到的牛頓運動方程式的解決方法,你能使用Verlet的算法去選擇一個較大的Δt值來達到同樣程度的節約能源嗎?總能量是否出現波動和/或到最後漂移?


問題8.5: 定性性質的液體和氣體
1.
對於這個問題,請使用存儲在Program mdDATA語句裡的初始配置(如果你不希望輸入初始條件,請參見問題8.11,來幫助你想出你自己的)。對於這個初始條件N = 16Lx= LY =6,什麼是較低的密度?什麼是系統的初始能量?選擇Δt = 0.01並且模擬至少500時間步長或t = 5用理想氣體的質與你對P的估計做比較。

2. 修改你的程式使溫度和壓力的瞬時值在系統達到平衡前不會累積。什麼是你對平衡的標準? 其中有一個標準是在有限的時間間隔計算TP的平均值,並檢查這些平均值不隨時間漂移。

3.
開始仿真的方法之一是保存從較早的運行中使用的位置。最簡單獲得初始條件對應於不同的密度但又具有相同值N的方式是重新調整粒子位置和單元格的線性尺寸的比例。下面的代碼顯示了這樣做的方法之:
LET rscale = 0.95

FOR i = 1 to N

     LET x(i) = rscale*x(i)

     LET y(i) = rscale*y(i)

NEXT i

LET Lx = rscale*Lx

LET Ly = rscale*Ly

LET area = Lx*Ly
上面的代碼納入到你的程式在一個單獨的子程序中。你會怎麼期望PT的改變,當系統被壓縮的時候?使用在(a)部分中相同的初始結構並且確定平均溫度和壓力,在密度ρ = 16/(5.7)2 (平方) 0.49的時候(重新定標= 0.95)。比較你得到的P和理想氣體的結果。如果你選擇重新調整的質是更小的,你認為會發生什麼事?儲存你的最終配置模擬在一個文件中,並用它作為另一個運行ρ = 16/(0.95 × 5.7) 2 (平方) 0.55的初始條件。決定這種更高的密度下的TP,並保存最終配置。

 

問題8.6: 速度和流速分佈
1.
個子程序來計算平衡機率P(v)Δv,其中一個粒子具有v vv之間的速度。要這樣做,預估最大速度的值vmax,你需要放入箱中,選擇箱的寬度dv = vmax/nbin的,其中nbin是箱總數。下面的代碼說明了一種把速度到其應有的(bin):
LET v2 = vx(i)*vx(i) + vy(i)*vy(i)

LET v = sqr(v2)

LET ibin = truncate(v/dv,0) + 1

IF ibin > nbin then LET ibin = nbin

LET prob(ibin) = prob(ibin) + 1
數組元素的prob(ibin)記錄粒子的速度對應於ibin的次數。雖然這是低效的,在每一個時間步長至少100時間步長後決定prob(ibin)。規格化prob(ibin)除以通過的粒子的數量和時間步長的數量。使用初始配置存儲在DATA語句在Program md對於這個問題。選擇nbin=50

2. 畫出概率密度P(v)相對於vP(v) 的定性形式是什麼?v最有可能的值是多少? P(v)的大致寬度是多少?和理論形式比較你的測量結果(在兩個方面)

速度分佈的形式(8.11)被稱為Maxwell-Boltzmann分佈。

3.
決定速度xy分量的概率密度,確保你有區分正和負價值。xy速度分量最可能的值是多少?其平均值是多少?繪製概率密度P(vx) 相對於 vx P(vy) 相對於vy。透過繪製平均值[P(vx = w) + P(vy = w)]/2 相對於 w你可以發現更好的結果。P(v)的定性形式是什麼?它和速度的概率密度相同嗎?


問題8.7: 溫度和壓力能量的依賴關係
1. 我們已經在問題8.5看到,總能量由初始條件決定,且溫度是由只有在該系統已達到熱平衡才能導出的量。因為這樣,在一個特定的溫度下要研究系統是很難的,藉由重新調整系統的速度,平均溫度可以被改為所需的溫度,但我們必須小心,不要一下太快增加速度。為什麼? 從較早的模擬Lx = Ly = 6 N = 16,選擇初始配置的系統為一個平衡的配置,並決定T(E)平均溫度的能量依賴性,在範圍T = 1.0T = 1.2。由所需的因子重新調整速度,平衡溫度是否提高到所需的值?如果沒有,你需要再次重新調整速度。在一般情況下,所要求的溫度是由一系列重新調整速度後才能達成,並且要在夠長時間裡,如此一來才能在調整期間讓系統維持接近平衡。

2. 使用你在(a)部分發現的數據T(E)繪製總能量E的函數,T是單調遞增E的函數嗎?從potential energy去預估對CV貢獻,由於potential energy的關係,有多少百分比的貢獻是給熱容量?為什麼精確測定的CV難以實現?

3. 在我們的分子動力學的模擬裡,總能量是固定的,但可能會發生波動的動能和勢能。另一種確定CV的方法是它與波動的動能有相關性,在??章,我們找到CV與總能量的波動有關,在constant T, V,N ensemble。可以被這麼表示(參見RayGraben

我們要怎樣才能為在高密度的粒子系統產生一個典型的初始條件?如果我們單純將粒子隨機放在中央cell,會發生什麼情況?現在的問題是,如果系統是密集的,一些粒子會彼此非常接近,並對彼此產生一個非常大的排斥力F。由於條件(F/m)(Δt)2 << σ必須被適用的限差分方法(finite difference method)來滿足,粒子的隨機放置是不實用的。但是,如果一個虛構的力速度與速度的平方成比例被引入到平衡系統,要使用這樣的初始條件是有可能的。這種力量的影響是那些粒子速度的減幅,而那些粒子會變得過大,因為有很大的力施加在他們的身上。

 

問題8.8:
8.5: 在一個三角晶格每個粒子有6個最近的鄰居。
從圖8.5可以看出三角晶格的性質,每粒子有6個最近的鄰居。雖然它是可以選擇三角晶格的中央cell為一個菱形,選擇單元為矩形的會是更方便,我們採取cell的線性尺寸分別為Lx Ly =3Lx/2。為了簡單起見,我們假設√N是一個整數,因此,在水平和垂直方向上的晶格間距各別為ax = Lx/N ay = Ly/N,在每行中的晶格位置被前一行取代1/2ax。下面的代碼生成三角晶格:

 

LET i = 0

FOR col = 1 to nx

    FOR row = 1 to ny

       LET i = i + 1

       IF (mod(row,2) = 0) then

         LET x(i) = (col -0.75)*ax

       ELSE

          LET x(i) = (col -0.25)*ax

       END IF

       LET y(i) = (row -0.5)*ay

   NEXT row

NEXT col
寫一個程式來計算透過Lennard-Jones勢相互作用在N粒子的一個系統裡每粒子的勢能,考慮三角形和正方形晶格兩者,選擇正方晶格的線性尺寸為L = _LxLy,使兩個晶格具有相同的密度。選擇N =36,並確定能量為Lx = 5 Lx = 7每一種情況下系統的密度為多少? 你E/N結果是取決於晶格的大小嗎?哪種晶格對稱具有較低的能量?用三角晶格把粒子包的更加接近的能力來解釋你的結果。



問題8.9: 固態和熔融
1. 選擇N = 16,為Lx = 4,和Ly =3Lx/2,並在粒子上放置三角晶格。給每粒子的初始速度為零,系統的總能量是多少?做一個模擬,並以時間的函數測量溫度和壓力,該系統是否仍是固體?

2. [0.5, +0.5]的間隔中給粒子一個隨機的速度,總能量是多少?平衡系統,並決定平均溫度和壓力。描述粒子的運動軌跡,粒子是localized的嗎?系統是固體的嗎?記下平衡配置,留到(c)部分的時候使用。

3. b)部分選擇初始配置為一個平衡配置,但藉由兩個因素增加其動能,新的總能量是多少?描述粒子運動的定性行為,該系統的平衡溫度和壓力是多少?達到平衡後,以相同的方式重新調整速度再次增加溫度,重複此重新縮放並測量P(T)E(T)幾種不同的溫度。

4. 使用你在(c)部分的結果,並設計函數為TE(T) E(0)P(T)E(T) E(0)的差異與T有成比例嗎?什麼是和諧固體的平均勢能?其熱容量是多少?

5. 從(b)部分選擇一個平衡配置,並藉由重新縮放Lx, Ly1.1因素去做協調的粒子減少密度。軌跡的本質是什麼?
減小系統的密度,直到系統熔化。你的熔化質量標準是什麼?

問題8.10: 亞穩定性
1. 我們可以建造一個亞穩態,藉由把粒子放在一個正方形的cell裡,其形狀與最低能量狀態相對應的三角晶格不符。修改SUB initial使粒子的位置形成一個方形的晶格,如果初始速度設置為零,當你運行程式的時候會發生什麼事?選擇N = 64Lx = Ly = 9

2. 我們可以指出,在(a)部分中的系統,藉由給粒子一個小小隨機初始速度vmax = 0.5,是在a metastable state正方晶格是否立即改變?你什麼時候開始看到局部結構與三角晶格相像

 

3. 如果時間允許,請重複(b)部分與vmax = 0.1