lammps關於rdf,msd,group/group,com幾個參數的計算


1 rdf
rdf又稱g( r ),rdf的計算與輸出通過以下命令計算輸出:

compute ID group-ID rdf Nbin itype1 jtype1 itype2 jtype2 ...
fix ID group-ID ave/time Nevery Nrepeat Nfreq value1 value2 ... keyword args ...

其中,Nbin類似於切片數,數也多,可能曲線會更連續,光滑,但過多會影響計算效率。一般200-500足夠。itype1是徑向分布函數的中心原子, jtype1是被統計的原子。fix ave/time命令能夠對任何全局量進行時間平均,由用戶指定一個或多個需要進行時間平均的物理量。

Nevery,Nrepeat和Nfreq參數指定在什么時間步上使用輸入值以貢獻平均值。 最終的平均每Nfreq生成產生一次。 由相隔Nevery個時間不到的Nrepeat個值得到、因此,Nfreq必須是Nevery的整數倍,Nevery必須是非零(即使Nrepeat為1,Nevery也必須為非零)。且用於計算的相鄰平均值的時間步長不能重疊,即Nrepeat *Nevery每個值都不能超過Nfreq。例如,如果Nevery = 2,Nrepeat = 6和Nfreq = 100,則時間步90,92,94,96,98,100的值將為用於計算時間步長100的最終平均值。類似地,時間步長190,192,194, 196,198,200的值將用於計算時間步長200的值。如果Nrepeat = 1且Nfreq = 100,則不進行時間平均,命令產生的值是時間步100,200的值。value=c_ID, c_ID[N], f_ID, f_ID[N], v_name。其中,如果是通過compute命令計算的結果,則用“c_ID”或者添加后綴輸出。如果是通過fix命令計算的結果,則通過"f_ID"或者添加后綴輸出。這里rdf是通過compute計算得到,后面輸出則為c_ID。mode可選scalar或者vector。這里rdf輸出為全局矢量,故選mode vector。

輸出結果按列依次為序號,c_ID[1],c_ID[2],c_ID[3]。c_ID[1]為group到原點的距離,即x軸,c_ID[2]為g( r ),c_ID[3]為coor( r ),即 g( r )的積分。

例如以下命令可用於輸出每500000步的rdf值,在截斷半徑范圍內,距離被分成100段:

compute rd1 hbond1 rdf 100 2 6 #rdf of OH-Ow
fix hb1 hbond1 ave/time 500000 1 500000 c_rd1[1] c_rd1[2] c_rd1[3] file rdf.hb1 mode vector

2 msd
msd計算材料的均方位移,msd計算與輸出通過以下命令計算輸出:

compute ID group-ID msd keyword values ...
fix ID group-ID ave/time Nevery Nrepeat Nfreq value1 value2 ... keyword args ...

其中keyword = com或者average,值可以為yes或者no。

輸出結果按列依次為c_ID[1],c_ID[2],c_ID[3],c_ID[4]。前3行一次為xyz方向上的msd值,第4行為總的msd值。

例如以下命令可用於輸出每500000步的msd值:

compute md1 w_03A msd
fix msd01 w_03A ave/time 500000 1 500000 c_md1[*] file w_03A.msd mode vector

3 group/group
group/group計算材料的相互作用能,由以下命令計算輸出:

compute ID group1-ID group/group group2-ID keyword value ...
thermo_style style args
thermo Nsteps

其中,關鍵詞 pair value = yes (or no);kspace value = no(or yes);boundary value = yes(or no),通常按默認的來即可。thermo_style按照自己需要的格式輸出,具體可以見手冊。

相互作用能為全局標量,可通過thermo_style輸出,輸出結果用c_ID。

例如以下命令可用於輸出每5000步的msd值:

compute tot sio2_l group/group sio2_r #interaction
thermo_style custom step temp etotal c_tot
thermo 5000

4 com
com用來計算材料的質心,由一下命令輸出:

compute ID group-ID com
thermo_style style args
thermo Nsteps

相互作用能為全局矢量,可通過thermo_style輸出,輸出結果用c_ID[1],c_ID[2],c_ID[3],分別代表質心的三個坐標。默認輸出未折疊的坐標,如果粒子出了盒子,按照實際坐標輸出,而非鏡像粒子的坐標。

例如以下命令可用於輸出每5000步的msd值:

 compute centl sio2_l com
thermo_style custom c_centl[1] c_centl[2] c_centl[3]
thermo 5000
————————————————
版權聲明:本文為CSDN博主「lisa25496」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_31346429/article/details/106418258


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM