国产三级精品三级在线观看,国产高清无码在线观看,中文字幕日本人妻久久久免费,亚洲精品午夜无码电影网

分子動力學(xué)模擬與納米尺度傳熱(二):EMD 方法計(jì)算熱導(dǎo)率

上一篇我們介紹了,本篇我們介紹如何由LAMMPS實(shí)現(xiàn)EMD 方法計(jì)算熱導(dǎo)率。

分子動力學(xué)模擬計(jì)算熱導(dǎo)率優(yōu)缺點(diǎn)

相比其他常用計(jì)算熱導(dǎo)率方法(常用計(jì)算方法的簡介請參見),分子動力學(xué)計(jì)算方法能夠計(jì)算更大的體系,計(jì)算原子數(shù)通常在數(shù)百到數(shù)十萬個(gè)范圍,尺度在納米到微米區(qū)間。分子動力學(xué)模擬包含了聲子與聲子之間的各階散射,能夠更加真實(shí)地模擬聲子間的相互作用。但是該方法需要用到經(jīng)典作用勢,計(jì)算熱導(dǎo)率的準(zhǔn)確程度與所用的勢函數(shù)類型及參數(shù)密切相關(guān)。該方法也不適合用于低溫,通常要求體系的溫度要高于模擬物質(zhì)的德拜溫度,如果溫度過低,需要考慮對溫度進(jìn)行量子修正。

平衡態(tài)分子動力學(xué)

分子動力學(xué)計(jì)算熱導(dǎo)率的常用方法有平衡態(tài)分子動力學(xué)(EquilibriumMolecularDynamics,EMD)和非平衡態(tài)分子動力學(xué)(NonequilibriumMolecularDynamics,NEMD)。兩種體系在計(jì)算過程中都處于穩(wěn)態(tài)(體系的溫度分布不隨時(shí)間發(fā)生變化),其中,前者不存在溫度梯度,通過原子間的微熱流來實(shí)現(xiàn)熱量交換,繼而由統(tǒng)計(jì)力學(xué)原理來得到熱導(dǎo)率。后者存在一個(gè)穩(wěn)定的溫度梯度,類似于實(shí)驗(yàn)中直觀的熱導(dǎo)率測量方法,所以又被稱為直接法(Direct method),我們在后面的文章會詳細(xì)介紹采用NEMD計(jì)算熱導(dǎo)率的方法,在這里略去不表。
EMD的優(yōu)勢&劣勢:尺寸效應(yīng)相對較小,理論上采用周期性邊界條件可以實(shí)現(xiàn)計(jì)算無限大的體系。但是該方法要得到收斂的熱流需要較長的弛豫時(shí)間,需要比較大的計(jì)算量。
具體地,EMD方法計(jì)算熱導(dǎo)率由如下的Green-Kubo公式得到:

分子動力學(xué)模擬與納米尺度傳熱(二):EMD 方法計(jì)算熱導(dǎo)率

其中,分子動力學(xué)模擬與納米尺度傳熱(二):EMD 方法計(jì)算熱導(dǎo)率是熱導(dǎo)率張量,分子動力學(xué)模擬與納米尺度傳熱(二):EMD 方法計(jì)算熱導(dǎo)率別代表分子動力學(xué)模擬與納米尺度傳熱(二):EMD 方法計(jì)算熱導(dǎo)率三個(gè)方向,V是模擬體系的體積,分子動力學(xué)模擬與納米尺度傳熱(二):EMD 方法計(jì)算熱導(dǎo)率是玻爾茲曼常數(shù),T表示模擬體系溫度,分子動力學(xué)模擬與納米尺度傳熱(二):EMD 方法計(jì)算熱導(dǎo)率分子動力學(xué)模擬與納米尺度傳熱(二):EMD 方法計(jì)算熱導(dǎo)率表示熱流自相關(guān)函數(shù),尖括號表示對熱流自相關(guān)函數(shù)進(jìn)行系綜平均,t表示熱流自相關(guān)函數(shù)的積分上限,τ表示相關(guān)時(shí)間。對于三維各項(xiàng)同性材料,熱導(dǎo)率張量的非對角張量一定為零,我們通常會計(jì)算三個(gè)方向的熱導(dǎo)率數(shù)值分子動力學(xué)模擬與納米尺度傳熱(二):EMD 方法計(jì)算熱導(dǎo)率,然后取平均得到最終的熱導(dǎo)率數(shù)值。對于一維結(jié)構(gòu)(單鏈、納米線等)只需要對某一個(gè)方向的熱流自相關(guān)函數(shù)進(jìn)行積分,對二維結(jié)構(gòu),可以分別計(jì)算兩個(gè)面內(nèi)兩個(gè)方向的熱導(dǎo)率然后取平均。

我們通常在微正則系綜(NVE)下記錄熱流,此時(shí),系統(tǒng)相當(dāng)于是一個(gè)孤立體系,沒有外界干擾。在正式記錄熱流之前,需要對結(jié)構(gòu)進(jìn)行充分弛豫以得到優(yōu)化好的結(jié)構(gòu)。前期優(yōu)化不充分可能會導(dǎo)致能量、溫度、壓強(qiáng)等物理量在熱流記錄階段出現(xiàn)異常,所以在記錄熱流的過程中可以輸出這些物理量幫助自己做出判斷。最終得到的熱流自相關(guān)應(yīng)該在0附近做很小的震蕩變化,因?yàn)橄嚓P(guān)時(shí)間越長,初始的熱流信號與該時(shí)刻的熱流信號的差異會越大。熱流自相關(guān)積分得到的熱導(dǎo)率也應(yīng)該是隨著積分時(shí)間的增加而達(dá)到收斂。
計(jì)算時(shí)需要對時(shí)間步長、熱流取樣間隔、相關(guān)時(shí)間步、總的記錄熱流時(shí)間步等參數(shù)做收斂性測試。通常最終的熱導(dǎo)率計(jì)算結(jié)果需要使用不同的初始速度計(jì)算多次,然后取平均值。

EMD方法計(jì)算實(shí)例

以下給出LAMMPS采用EMD方法計(jì)算固體氬晶格熱導(dǎo)率實(shí)例

[注]:滑動屏幕可以查看完整代碼

 1# sample LAMMPS input script for thermal conductivity of liquid LJ`
 2# Green-Kubo method via compute heat/flux and fix ave/correlate`
 3# settings`
 4variable ? ?x equal 10 ?`#模擬體系X方向長度`
 5variable ? ?y equal 10 ?`#模擬體系Y方向長度`
 6variable ? ?z equal 10 ?`#模擬體系Z方向長度`
 7variable ? ?rho equal 0.6 `#固體氬晶格常數(shù)`
 8variable ?t equal 1.35 `#模擬體系溫度`
 9variable ? ?rc equal 2.5 ? ?`#截?cái)喟霃絗
10variable ? ?p equal 200 ? ? `# 熱流相關(guān)長度`
11variable ? ?s equal 10 ? ? ?`# 熱流取樣間隔`
12variable ? ?d equal $p*$s ? `# 輸出熱流自相關(guān)函數(shù)間隔`
13`# setup problem`
14units ? ? ? ?lj ?`#模擬體系采用的` **單位**`(具體各個(gè)物理量的單位查LAMMPS手冊)`
15timestep ? ? 0.005 `#時(shí)間步長0.005tau`
16atom_style ? ?atomic `#定義模擬體系原子所具有的屬性`
17lattice ? ? ? ?fcc ${rho} ? ? `#定義晶格類型和晶格常數(shù)`
18region ? ? ? ?box block 0 $x 0 $y 0 $z `#模擬體系大小`
19create_box ? ?1 box ? `#創(chuàng)建模擬體系box`
20create_atoms ? ?1 box ? `#創(chuàng)建模擬體系原子`
21mass ? ? ? ?1 1.0 ? `#給定原子質(zhì)量`
22velocity ? ?all create $t 87287 `#給定特定溫度下的初始速度,其中87287是隨機(jī)數(shù),可以任意取值`
23pair_style ? ?lj/cut ${rc} ? `#定義原子間作用勢和截?cái)喟霃絗
24pair_coeff ? ?1 1 1.0 1.0 `#勢函數(shù)參數(shù)值`
25neighbor ? ?0.3 bin `#定義近鄰原子`
26neigh_modify ? ?delay 0 every 1 `#創(chuàng)建近鄰原子列表`
27# 1st equilibration run
28fix ? ? ? ?1 all nvt temp $t $t 0.5 ?`#NVT系綜弛豫`
29thermo ? ? ? ?100 ? ? ? ? ? ? `#每100步輸出一次默認(rèn)參數(shù)`
30run ? ? ? ?1000 ? ? ? ? ? ? ? ?`#跑1000步`
31velocity ? ?all scale $t ? ? ? ? ? `#調(diào)整體系溫度以達(dá)到給定值`
32unfix ? ? ? ?1
33# thermal conductivity calculation
34reset_timestep ?0 ? ? ? ? ? ? ? ?`#重新設(shè)置時(shí)間步為0`
35compute ? ? ? ? myKE all ke/atom ? ?`#計(jì)算每個(gè)原子的動能`
36compute ? ? ? ? myPE all pe/atom ? ?`#計(jì)算每個(gè)原子的勢能`
37compute ? ? ? ? myStress all stress/atom NULL virial ? ?`#計(jì)算每個(gè)原子的應(yīng)力張量`
38compute ? ? ? ? flux all heat/flux myKE myPE myStress `#計(jì)算熱流`
39fix ? ? ? ? ? ? ? ?1 all nve ? `#NVE系綜下記錄熱流`
40fix ? ? ? ? ? ? JJ all ave/correlate $s $p $d & `#計(jì)算熱流自相關(guān)函數(shù)并輸出到指定文件`
41 ? ? ? ? ? ? ? ?c_flux[1] c_flux[2] c_flux[3] type auto &
42 ? ? ? ? ? ?file profile.heatflux ave running
43variable ? ? ? ?scale equal $s*dt/$t/$t/vol
44variable ? ? ? ?k11 equal trap(f_JJ[3])*${scale} `#對熱流自相關(guān)函數(shù)做積分`
45variable ? ? ? ?k22 equal trap(f_JJ[4])*${scale}
46variable ? ? ? ?k33 equal trap(f_JJ[5])*${scale}
47thermo ? ? ? ? ? ?$d `#輸出變量間隔`
48thermo_style ? ?custom step temp v_Jx v_Jy v_Jz v_k11 v_k22 v_k33 `#自定義輸出物理量類型`
49run ? ? ? ? ? ? 100000 ? ?`#跑100000步,可以得到10組熱流數(shù)據(jù)以及熱導(dǎo)率數(shù)據(jù),采用最后一組數(shù)據(jù)`
50variable ? ? ? ?kappa equal (v_k11+v_k22+v_k33)/3.0 ? ?`#對三個(gè)方向熱導(dǎo)率做平均`
51print ? ? ? ? ? "running average conductivity: ${kappa}" `#在屏幕上輸出熱導(dǎo)率數(shù)值`

下圖為筆者采用上述LAMMPS腳本計(jì)算得到的10組熱流自相關(guān)函數(shù)和熱導(dǎo)率結(jié)果:

分子動力學(xué)模擬與納米尺度傳熱(二):EMD 方法計(jì)算熱導(dǎo)率

分子動力學(xué)模擬與納米尺度傳熱(二):EMD 方法計(jì)算熱導(dǎo)率

本文由邵成和鮑華編輯

原創(chuàng)文章,作者:計(jì)算搬磚工程師,如若轉(zhuǎn)載,請注明來源華算科技,注明出處:http://m.xiubac.cn/index.php/2024/03/30/ad31e39a3e/

(0)

相關(guān)推薦

莒南县| 广东省| 万山特区| 龙南县| 高雄市| 屏东市| 商城县| 和平县| 达拉特旗| 康定县| 怀柔区| 罗城| 始兴县| 兴城市| 红原县| 富阳市| 革吉县| 峨边| 汽车| 桦川县| 新安县| 德格县| 德兴市| 绵阳市| 营口市| 建平县| 九龙城区| 岫岩| 淅川县| 峡江县| 庆城县| 沁水县| 宁津县| 桓台县| 德兴市| 房山区| 建德市| 临江市| 高雄县| 西林县| 阳高县|