LAMMPS命令類別詳解_第1頁
LAMMPS命令類別詳解_第2頁
LAMMPS命令類別詳解_第3頁
LAMMPS命令類別詳解_第4頁
LAMMPS命令類別詳解_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

LAMMPS命令類別詳解LAMMPS輸入腳本通常有4個部分:Initialization;Systemdefinition;Simulationsettings;Runasimulation.Initialization:相關的命令有:units,dimension,newton,processors,boundary,atom_style,atom_modify.如果要讀取的文件中出現(xiàn)了力場參數(shù),這些命令將告訴LAMMPS正在使用哪種力場:pair_style,bond_style,angle_style,dihedral_style,improper_style.Systemdefinition:有三種方法來定義模擬單元,為力場信息預留空間,并在LAMMPS中填充原子。分別通過read_data或read_restart命令從(1)數(shù)據(jù)文件或(2)重啟文件中讀取它們。這些文件還可以包含分子拓撲信息?;蛘?3)創(chuàng)建一個模擬單元,用晶格上的原子填充它(沒有分子拓撲),使用以下命令:lattice,region,create_box,create_atomsorread_dump.使用replicate命令,可以復制整個原子集以進行更大的模擬。Simulationsettings:一旦定義了原子和分子拓撲,就可以指定各種設置:力場系數(shù)、模擬參數(shù)、輸出選項等等。力場系數(shù)由以下命令設置(它們也可以在讀取文件中設置):pair_coeff,bond_coeff,angle_coeff,dihedral_coeff,improper_coeff,kspace_style,dielectric,special_bonds.各種模擬參數(shù)由以下命令設置:neighbor,neigh_modify,group,timestep,reset_timestep,run_style,min_style,min_modify.修復會強加各種邊界條件、時間積分和特征選項。Fix命令有多種形式??梢允褂胏ompute、compute_modify和variable命令指定模擬期間執(zhí)行的各種計算。輸出選項由Thermo,Dump和Restart命令設置。Runasimulation:使用run命令運行分子動力學模擬。使用minimize命令來執(zhí)行能量最小化(分子靜力學)??梢允褂胻emper命令運行并行回火(副本交換)模擬。Initialization1.1unitsunits關鍵字用來說明整個模擬體系所涉及到的物理量的單位制,后面的參數(shù)lj是在告訴LAMMPS所有物理量都采用無量綱的約化單位。LAMMPS還有很多種單位制可以選擇,這需要根據(jù)實際體系來具體考慮,例如:unitssi;unitsmetal;unitslj;unitsreal;unitsstyle(style=ljorrealormetalorsiorcgsorelectronormicroornano)對于除lj以外的所有單位,LAMMPS使用來自的物理常數(shù)。對于以實際單位為千卡的定義,LAMMPS使用1卡路里=4.184J。對于lj,所有量都是無單位的。在不失一般性的前提下,LAMMPS設置基本量:質量,σ,ε,和玻爾茲曼常數(shù)kB=1。指定的質量,距離和能量是這些基本值的倍數(shù)。還給出了將減少或無單位數(shù)量與相同數(shù)量單位相聯(lián)系的公式。因此,您可以使用質量&σ&ε值,然后將無單位LJ模擬的結果轉換為物理量。1.2newton此命令可打開或關閉牛頓的第三定律以進行成對和鍵合交互。對于大多數(shù)問題,將牛頓的第三定律設置為“開”意味著在計算上節(jié)省了適度的時間,但通訊量卻增加了兩倍。是否更快,取決于問題的大小,強制截止長度,機器的計算/通信比率以及使用的處理器數(shù)量。newtonflag#flag=onoroff成對和鍵合相互作用都打開或關閉newtonflag1flag2#flag1=onoroff成對交互作用打開或關閉#flag2=onoroff鍵合相互作用打開或關閉Setupsimulationboxboundary在每個維度中為全局模擬框設置邊界樣式。單個字母將相同的樣式分配給框的下表面和上表面。兩個字母將第一種樣式分配給下表面,將第二種樣式分配給上表面。模擬框的初始大小由read_data,read_restart或create_box命令設置。對于樣式p表示盒子是周期性的,因此粒子可以跨邊界交互,并且它們可以退出盒子的一端并重新進入另一端。樣式f,s和m表示盒子是非周期性的,因此粒子不會越過邊界相互作用,也不會從盒子的一側移動到另一側。對于樣式f,面的位置是固定的。如果一個原子移動到面外,它將在下一個發(fā)生重鉆孔的時間步被刪除。這通常會生成錯誤,除非您已將thermo_ModifyLost選項設置為允許丟失原子。對于樣式s,面的位置設置為包含該維度中的原子(收縮包裹),無論它們移動多遠。請注意,如果當前長方體尺寸與收縮包絡長方體尺寸之間的差異很大,則在并行運行時,這可能會導致在運行開始時丟失原子。這是由于(全局)框尺寸的較大變化也導致各個子域大小的顯著變化。如果這些變化比通信中斷的距離更遠,原子將會丟失。通過使用m樣式邊界,將初始框尺寸設置為更緊密地匹配收縮包裝尺寸,可以最好地解決此問題。對于樣式m,會發(fā)生收縮包裝,但受數(shù)據(jù)或重新啟動文件中指定的值或由CREATE_BOX命令設置的值的限制。例如,如果數(shù)據(jù)文件中上部z面的值為50.0,則即使所有原子的最大z范圍變得小于50.0,該面也將始終定位在50.0或更高的位置。如果從空盒子開始模擬,或者希望在盒子的一側留出空間(例如,讓原子從曲面蒸發(fā)),這會很有用。注意:在模擬框由READ_DATA或CREATE_BOX命令或READ_RESTART命令定義后,不能使用此命令。有關如何在定義模擬框邊界后更改其邊界的信息,請參見CHANGE_BOX命令。對于二維模擬,z維必須是周期性的。boundaryxyzboundaryppfboundarypfspboundarysffmx,y,z=porsorform,oneortwoletterspisperiodic#周期性的fisnon-periodicandfixed#非定期和固定的sisnon-periodicandshrink-wrapped#非周期和收縮包裝misnon-periodicandshrink-wrappedwithaminimumvalue#非周期的,并且使用最小值進行收縮包裝boxcommand設置模擬框的屬性。對于Triclinic(非正交)模擬框,TILT關鍵字允許使用任意傾斜因子創(chuàng)建模擬域,例如通過CREATE_BOX或READ_DATA命令。傾斜系數(shù)決定了三斜線盒的傾斜程度;有關LAMMPS中三斜線盒的討論。LAMMPS通常要求傾斜因子不能使長方體傾斜超過平行長方體長度的一半,這是傾斜因子的第一個維度(x表示XZ)。一般地傾斜度設置為小(默認值),則如果創(chuàng)建的長方體超過此限制,則會生成錯誤。如果傾斜度設置為較大,則不會強制實施任何限制。您可以創(chuàng)建具有任何您希望的傾斜系數(shù)的長方體。請注意,如果模擬框具有較大的傾斜因子,則LAMMPS的運行效率會較低,因為獲取處理器不規(guī)則子域周圍的重影原子需要大量通信。對于傾斜度的極端值,LAMMPS也可能丟失原子并產(chǎn)生錯誤。boxtiltvalue#tiltvalue=smallorlargeboxtiltlarge/small由read_data或create_box命令或read_restart命令定義模擬框后,將無法使用此命令。change_boxcommand更改模擬框的體積和/或形狀和/或邊界條件。正交模擬框具有3個可調(diào)整大小的參數(shù)(x,y,z)。Triclinic(非正交)模擬盒具有6個可調(diào)整的大小/形狀參數(shù)(x,y,z,xy,xz,yz)。這些命令中的任何一個或全部都可以通過此命令獨立調(diào)整。因此,它可以用于擴展或收縮盒子,或向非正交盒子施加剪切應變。它也可以用來更改模擬框的邊界條件,類似于boundary命令。change_boxgroup-IDparameterargs...keywordargs...group-ID=IDofgroupofatomsto(optionally)displaceparameter=xoryorzorxyorxzoryzorboundaryororthoortriclinicorsetorremapx,y,zargs=stylevalue(s)style=finalordeltaorscaleorvolumefinalvalues=lohilohi=boxboundariesafterdisplacement(distanceunits)deltavalues=dlodhidlodhi=changeinboxboundariesafterdisplacement(distanceunits)scalevalues=factorfactor=multiplicativefactorforchangeinboxlengthafterdisplacementvolumevalue=none=adjustthisdimtopreservevolumeofsystemxy,xz,yzargs=stylevaluestyle=finalordeltafinalvalue=tilttilt=tiltfactorafterdisplacement(distanceunits)deltavalue=dtiltdtilt=changeintiltfactorafterdisplacement(distanceunits)boundaryargs=xyzx,y,z=porsorform,oneortwoletterspisperiodic#周期性的fisnon-periodicandfixed#非定期和固定的sisnon-periodicandshrink-wrapped#非周期和收縮包裝misnon-periodicandshrink-wrappedwithaminimumvalue#非周期的,并且使用最小值進行收縮包裝orthoargs=none=changeboxtoorthogonaltriclinicargs=none=changeboxtotriclinicsetargs=none=storestateofcurrentboxremapargs=none=remapatomcoordsfromlastsavedstatetocurrentboxkeyword=unitsunitsvalue=latticeorboxlattice=distancesaredefinedinlatticeunitsbox=distancesaredefinedinsimulationboxunitsExamplechange_boxallxyfinal-2.0zfinal0.05.0boundaryppfremapunitsboxchange_boxallxscale1.1yvolumezvolumeremap初始模擬框的大小和形狀由用于設置模擬的create_box或read_data或read_restart命令指定。尺寸和形狀可以通過隨后的運行來改變,例如通過使用fixnpt或fixtransform命令。create_box,讀取數(shù)據(jù)和read_restart命令還確定模擬框是正交的還是三斜的,并且它們的文檔頁面解釋了xy,xz,yz傾斜因子的含義。該命令中使用的關鍵字按指定順序依次應用于模擬框及其中的原子。注意:這意味著您不能使用change_box命令來放大收縮包裝的盒子,例如,通過create_atoms命令來為插入更多原子騰出空間,因為在change_box命令完成之前,模擬盒子將被重新收縮包裝。相反,你可以這樣做,假設模擬框是非周期性的,原子在所有維度上從0延伸到20:create_boxcommand此命令基于指定區(qū)域創(chuàng)建模擬框。必須首先使用region命令來定義幾何域。create_boxNregion-IDkeywordvalue...N=要在此模擬中使用的atom類型region-ID=要用作模擬域的區(qū)域IDkeyword=bond/typesorangle/typesordihedral/typesorimproper/typesorextra/bond/per/atomorextra/angle/per/atomorextra/dihedral/per/atomorextra/improper/per/atombond/typesvalue=#ofbondtypesangle/typesvalue=#ofangletypesdihedral/typesvalue=#ofdihedraltypesimproper/typesvalue=#ofimpropertypesextra/bond/per/atomvalue=#ofbondsperatomextra/angle/per/atomvalue=#ofanglesperatomextra/dihedral/per/atomvalue=#ofdihedralsperatomextra/improper/per/atomvalue=#ofimpropersperatomextra/special/per/atomvalue=#ofspecialneighborsperatomExamplecreate_box2myboxcreate_box2myboxbond/types2extra/bond/per/atom1latticecommand#晶格命令定義一個供其他命令使用的晶格。在LAMMPS中,晶格只是空間中的一組點,由具有基本原子的晶胞確定,并在所有維度上無限復制。晶格命令的自變量可用于定義各種晶體學晶格。LAMMPS通過兩種方式使用晶格。首先,create_atoms命令在模擬框內(nèi)的晶格點上創(chuàng)建原子。請注意,create_atoms命令允許將不同的原子類型分配給晶格的不同基礎原子。其次,晶格所隱含的x,y,z維度中的晶格間距可被其他命令用作距離單位(例如create_box,區(qū)域和速度),當基礎問題幾何是原子上的原子時,通常方便使用一個格子。晶格樣式必須與模擬的尺寸一致-請參見標注命令。樣式sc或bcc或fcc或hcp或diamond適用于3d問題。sq或sq2或hex樣式適用于2d問題。樣式自定義可用于2d或3d問題。晶格由一個晶胞,該晶胞內(nèi)的一組基礎原子以及一組將晶胞映射到模擬框中的轉換參數(shù)(比例,原點,方向)組成。向量a1,a2,a3是單位晶胞的邊緣向量。這是固態(tài)晶體學中“原始”向量的命名法,但是在LAMMPS中,它們確定的晶胞不必是最小體積的“原始”細胞。注意,在輸入腳本中可以多次使用lattice命令。每次調(diào)用它時,都會重新定義晶格屬性,并將其用于所有后續(xù)命令(使用晶格屬性)。例如,晶格,區(qū)域和create_atoms命令序列可以重復多次以構建具有不同幾何區(qū)域的多晶模型,該幾何區(qū)域中填充了原子的晶格方向不同。樣式為none的晶格不會定義單位像元和基集,因此無法與create_atoms命令一起使用。但是,它確實通過指定的比例參數(shù)定義了晶格間距。如上所述,x,y,z中的晶格間距可以被其他命令用作距離單位。不能為none樣式指定其他關鍵字/值對。默認情況下,定義了“無晶格1.0”,這意味著晶格間距與units命令定義的一個距離單位相同。sc,fcc,bcc和Diamond樣式的格是3d晶格,它們定義了邊長=1.0的立方晶胞。這意味著a1=100,a2=010和a3=001。樣式hcp具有a1=100,a2=0sqrt(3)0和a3=00sqrt(8/3)。在任何固態(tài)物理學課本中都描述了基本原子在晶胞內(nèi)的位置。sc晶格在立方體的左下角具有1個基本原子。一個密件抄送晶格具有2個基本原子,一個在原子的角,一個在立方體的中心。一個fcc晶格具有4個基本原子,一個在角上,一個在立方面中心上為3。hcp晶格具有4個基本原子,兩個在z=0平面中,兩個在z=0.5平面中。鉆石晶格具有8個基本原子。sq和sq2樣式的格是2d晶格,它們定義邊長=1.0的正方形單位像元。這意味著a1=100和a2=010。一個方格在正方形的左下角具有1個基本原子。sq2晶格具有2個基本原子,一個在原子的角上,另一個在正方形的中心。十六進制樣式也是2d晶格,但單位晶格是矩形,a1=100和a2=0sqrt(3)0。它有2個基本原子,一個在原子的角上,一個在矩形的中心。自定義樣式的晶格允許您指定a1,a2,a3以及要放入單位單元中的基本原子的列表。默認情況下,a1,a2和a3是3個正交單位向量(單位立方體的邊)。但是您可以將它們指定為任意長度,并且彼此不正交,以便它們描述傾斜的平行六面體。通過base關鍵字,您可以一次添加一個原子到晶胞中。它的參數(shù)是小數(shù)坐標(0.0<=x,y,z<1.0)。因此,晶胞內(nèi)基本原子的位置向量x是晶胞的3個邊緣向量的線性組合,即x=bxa1+乘a2+bza3,其中bx,by,bz是為晶界指定的3個值基本關鍵字。Latticestylescalekeywordvalues...style=noneorscorbccorfccorhcpordiamondorsqorsq2orhexorcustomscale=scalefactorbetweenlatticeandsimulationboxscale=reduceddensityrho*(forLJunits)scale=以距離單位表示的晶格常數(shù)(forallotherunits)zeroormorekeyword/valuepairsmaybeappendedkeyword=originororientorspacingora1ora2ora3orbasisoriginvalues=xyzx,y,z=fractionsofaunitcell(0<=x,y,z<1)orientvalues=dimijkdim=xoryorzi,j,k=integerlatticedirectionsspacingvalues=dxdydzdx,dy,dz=latticespacingsinthex,y,zboxdirectionsa1,a2,a3values=xyzx,y,z=primitivevectorcomponentsthatdefineunitcellbasisvalues=xyzx,y,z=fractionalcoordsofabasisatom(0<=x,y,z<1)Examplelatticefcc3.52Latticehex0.85Latticesq0.8origin0.00.50.0orientx110orienty-110latticecustom3.52a11.00.00.0a20.51.00.0a30.00.00.5&basis0.00.00.0basis0.50.50.5Latticenoneregioncommand該命令定義空間的幾何區(qū)域。各種其他命令使用區(qū)域。例如,可以通過create_atoms命令用原子填充該區(qū)域?;騾^(qū)域周圍的邊界框可用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論