lammps——fix phonon
來自專欄計算物理/材料入坑筆記10 人贊了文章
fix phonon 命令
Syntax
fix ID group-ID phonon N Noutput Nwait map_file prefix keyword values ...
- ID, group-ID are documented in fix command
- phonon = style name of this fix command
- N = 多少時間步長測量一次格林函數
- Noutput = 多少次測量輸出一次動力學矩陣
- Nwait = 測量前要等待多少時間步長
- map_file = file or GAMMA
文件是包含原子ID和格點索引之間映射信息的文件。
GAMMA flags to treate the whole simulation box as a unit cell, so that the mappinginfo can be generated internally. In this case, dynamical matrix at only the gamma-point
- prefix = prefix for output files
- one or none keyword/value pairs may be appended
- keyword = sysdim or nasr
sysdim value = d d = dimension of the system, usually the same as the MD model dimensionnasr value = n n = number of iterations to enforce the acoustic sum rule
Examples
fix 1 all phonon 20 5000 200000 map.in LJ1D sysdim 1fix 1 all phonon 20 5000 200000 map.in EAM3Dfix 1 all phonon 10 5000 500000 GAMMA EAM0D nasr 100
Description
根據一組原子的漲落 - 耗散理論,從分子動力學模擬計算動力學矩陣。
考慮一個三維標記為l =(l1,l2,l3)的N個晶胞,其中li是整數。 每個晶胞由三個線性無關的矢量a1,a2,a3定義,形成一個平行六面體,原子編號為k。
基於漲落 - 耗散理論,系統在倒空間中的力常係數由下式給出 (Campana , Kong)
其中G是格林函數係數,由下式給出
其中 ?…? 表示系綜平均, 以及
是晶胞中第k個原子位移的α分量。 實際上,格林函數係數也可以按照下面的公式進行測量,
其中R是原子的瞬時位置,?R?是原子平均位置。 它提供了與位移方法基本相同的結果,並且更容易在MD代碼中實現。
一旦力常數矩陣已知,動力學矩陣D就可以通過
其特徵值恰好是q處的聲子頻率。
此fix 程序使用指定組中的原子位置並計算兩點相關性。 為了達成這個目的, 每個Neverysteps 檢查原子的位置,並將其傅里葉變換為倒空間,然後完成平均過程和相關計算。 在每次 Noutput measurements 之後,矩陣G(q)被計算並倒置以獲得彈性剛度係數。 然後構造動力學矩陣並將其寫入二進位格式的 prefix.bin.timestep 文件和每個 wavevector q 的文件 prefix.log 中。
這個方法的詳細描述可以在這裡找到 (Computer Physics Communications [182](2):540-541 (2011).).
sysdim 關鍵字是可選的。如果指定的值小於LAMMPS模擬的維數,則其值用於動力學矩陣計算。例如,使用LAMMPS模擬2D或3D系統,可以使用sysdim = 1來計算一維原子鏈的聲子色散。
nasr 關鍵字是可選的。採用迭代過程在Γ處強制關於Φ的聲子求和規則,並且由關鍵詞 nasr 提供的數給出迭代的總數。對於單胞只有一個原子的系統,nasr = 1 就足夠了;對於其他系統,nasr = 10通常就足夠了。
map_file 包含晶格索引和原子ID之間的映射信息,它告訴代碼哪個原子坐落在哪個格點上;晶格索引從0開始。可以使用輔助代碼 latgen 來為各種晶體生成兼容映射文件。
在模擬非周期性系統的情況下(整個模擬框被視為單胞),可以將 map_file 設置為GAMMA,以便映射信息將在內部生成並且不需要文件。在這種情況下,只有伽馬點處的動力學矩陣可以被計算。請記住,fix phonon是為 cyrstals 設計的,如果晶胞太大,效率會很低,甚至會降低 lammps 的性能。
計算的動力學矩陣元寫為能量/距離^ 2 /質量單位。日誌文件中 q 點的坐標是相應倒易格的基向量的單位。
Restart, fix_modify, output, run start/stop, minimize info:
沒有關於此fix程序的信息被寫入二進位重啟文件。
fix 程序支持 fix_modify temp 選項。 您可以使用它將溫度計算從thermo_temp更改為反映組中原子真實溫度的溫度計算。
此fix 不存儲全局標量或矢量或每原子量,以供各種輸出命令訪問。
相反,此fix 程序使用指定的前綴將其初始化信息(包括映射信息)和計算的動力學矩陣輸出到文件 prefix.log。 動力學矩陣也以二進位格式寫入文件prefix.bin.timestep。 這些可以通過工具/聲子中的後處理工具讀取,以計算聲子色散曲線/和聲子態密度。
此 fix 程序的參數不能與 run command的開始/停止關鍵字一起使用。
在能量最小化期間不會調用此fix程序。
限制
此 fix 假定具有周期性晶格的晶體系統。 系統的溫度不應超過熔化溫度以保持系統處於固態。
此 fix 程序是USER-PHONON軟體包的一部分。 只有在LAMMPS使用該軟體包構建時才能啟用。 請參閱 make LAMMPS 部分了解更多信息。
此 fix 需要使用FFT庫構建LAMMPS。 有關更多信息,請參閱 make LAMMPS section。
相關命令
compute msd
默認
該選項默認為sysdim =與維度命令所指定的維度相同,且nasr = 20。
(Campana) C. Campana and M. H. Muser, Practical Green』s function approach to the simulation of elastic semi-infinite solids, Phys. Rev. B [74], 075420 (2006)
(Kong) L.T. Kong, G. Bartels, C. Campana, C. Denniston, and Martin H. Muser, Implementation of Green』s function molecular dynamics: An extension to LAMMPS, Computer Physics Communications [180](6):1004-1010 (2009).
L.T. Kong, C. Denniston, and Martin H. Muser, An improved version of the Green』s function molecular dynamics method, Computer Physics Communications [182](2):540-541 (2011).
(Kong2011) L.T. Kong, Phonon dispersion measured directly from molecular dynamics simulations, Computer Physics Communications [182](10):2201-2207, (2011).
Cu聲子譜計算實例
# 3D copper block simulationboundary p p punits metalatom_style atomic# geometryread_data data.pos# EAM potentialpair_style eampair_coeff * * cuu3.eamneighbor 0.5 nsqneigh_modify every 1 delay 0 check yes#Langevin random seedvariable r equal 57085variable t equal 300variable d equal 1# initializevelocity all create $t 28459 rot yes dist gaussian mom yesreset_timestep 0# fixes fix 1 all npt temp $t $t $d iso 1. 1. 1. pchain 8 drag 1.0fix 2 all phonon 10 50000 500000 map.in CuPhonon#timestep 2e-3# output# 1 2 3 4 5 6 7 8 9 10 11 12thermo_style custom step temp pe ke press vol lx ly lz xy xz yzthermo 100restart 2000000 restart.one restart.two# executionrun 6500000write_restart Restart.final
該目錄說明了fix聲子用於計算動力學矩陣以及基於EAM potentail 的FCC Cu 的聲子色散曲線。
該目錄下的文件:
1)CuPhonon.bin.6500000:通過fix phonon 最後輸出二進位文件
2)CuPhonon.log:fix-phonon 的日誌文件
3)cuu3.eam:Cu的EAM勢文件
4)data.pos:LAMMPS輸入文件
5)disp.dat:來自Cu Phonon.bin.6500000的聲子色散數據
6)disp-expr.dat:Cu的實驗聲子色散數據
7)disp-ld.dat:基於EAM的晶格動力學的聲子色散數據
8)dos.dat:來自CuPhonon.bin.6500000的phonon DOS數據
9)dos-expr.dat:Cu的實驗性PDOS
10)dos-ld.dat:基於EAM的LD的PDOS
11)in.disp / in.disp2:輸入文件以獲得 phana 的disp.dat
12)in.dos:輸入文件以獲得phana的dos.dat
13)in.EAM3D:LAMMPS輸入文件
14)log.lammps:LAMMPS日誌文件
15)http://map.in:fix phonon 的LAMMPS輸入文件
16)pdisp.eps:聲子色散曲線圖
17)pdos.eps:聲子態密度圖
18)plot.disp:用於生成pdisp.eps的gnuplot腳本
19)plot.dos:gnuplot腳本來生成pdos.eps
20)pdisp.gnuplot:gnuplot腳本生成pdisp.eps(自動生成)
21)自述文件
要運行這個例子,只需調用:
- > lmp -in in.EAM3D -screen none
一旦完成,可以使用輔助分析代碼「phana」來獲得「disp.dat」和「dos.dat」...
- > phana CuPhonon.bin.6500000 <in.disp
- > phana CuPhonon.bin.6500000 <in.dos
然後使用 gnuplot 腳本文件「plot.disp」/「plot.dos」生成pdisp.eps / pdos.eps:
- > gnuplot plot.pdisp
- > gnuplot plot.pdos
由此產生的「pdisp.eps / pdos.eps」將測得的聲子色散與實驗數據以及傳統晶格動力學的數據進行比較。
或者,也可以使用:
- > phana CuPhonon.bin.6500000 <in.disp2
- > gnuplot pdisp.gnuplot
自動產生聲子色散。
註:這裡提供的二進位文件在某些??計算機上可能無法讀取,因為不同架構之間的不兼容。
任務腳本
source /etc/profile.d/00-modules.sh#BSUB -W 1000:00#BSUB -n 12#BSUB -R span[ptile=12]#BSUB -q normal#BSUB -e %J.err#BSUB -o %J.out#BSUB -J lammpssource /etc/profile.d/00-modules.shINPUT=in.EAM3D# The program we want to execute (modify to suit your setup)EXEC=/opt/lammps/bin/lmp_31Mar17.mvapich2module load mvapich2/2.2-intel-2015echo $LSB_HOSTS > lsb_hostsfor h in `echo $LSB_HOSTS`do echo ${h} >> machinefile.$LSB_JOBIDdone# count how many processors are allocatedNP=0for TOKEN in $LSB_HOSTSdo ((NP++))donempiexec -n ${NP} -machinefile machinefile.$LSB_JOBID ${EXEC} < ${INPUT}rm -f machinefile.$LSB_JOBID
推薦閱讀: