Lammps命令与in文件
一、各類文件
1 in :程序?qū)懭?br />2 log :寫入狀態(tài)信息(if the switch is used?)
3 screen :? 決定結(jié)果的是否進行屏幕輸出
4 var name : 定義一個變量,name指變量名,可為字母也可為字符串,形式$x / $ {abc}
二、指令系統(tǒng)介紹
1.一般來說指令的順序并不重要,但在以下幾種情況中必須注意:1. LAMMPS并不是全部讀完所有指令才執(zhí)行,而是讀一行執(zhí)行一次,因此下面的兩組語句是不同的:
timestep 0.5 #以下的兩個模擬其步長均為0.5 fmsec run 100 run 100run 100 #第一個模擬采用缺省值步長為1 fmsec timestep 0.5 run 100 #第二個采用步長為0.5 fmsec2. 某些指令只在其他指令之后才生效,如要得到系統(tǒng)溫度必須先進行各種定義
3 .若A指令在B之前,B可以引用A定義的變量
三、in語法規(guī)則
?1.在LAMMPS中要區(qū)分大小寫,一般指令名稱用小寫字母,文件及用戶定義ID?Strings 用大寫。
2. LAMMPS對每行語句的語法要求如下:
- 當語句太長一行放不下時,在語句一行結(jié)束的時候輸入字符 “&” 表示下一行的語句接著上一行繼續(xù)。
- #注釋,但有例外
- 緊跟在$后的為定義變量
- 單詞間用空格隔開
- 第一個詞為指令名,后面的字段都是相關的參數(shù)
四. 語句結(jié)構(gòu)
1.Lammps官網(wǎng)命令,寫in data文件時注意看:https://lammps.sandia.gov/doc/Commands_all.html??
2.in文件包括四個部分:初始值,定義原子和盒子,設定條件,run
- 大致了解這些命令如下? ? ?#附斷裂實例操作 :?https://youtu.be/M8NPAk0Cs7Q??
- lattice(晶格參數(shù)),region(選擇一個而區(qū)域),create_box(創(chuàng)建一個盒子),create-atoms(創(chuàng)建原子)——通過這四個命令創(chuàng)建原子(按晶格的方式),這種方式適合沒有分子拓撲信息的晶體,如金屬,鹽等有規(guī)則晶體信息的物質(zhì)。?
五.撰寫data,in文件并計算
?以TIP4P水分子為例。#用in文件撰寫簡單的小分子模擬
水分子模型參數(shù)(看下面in文件對照著來看):Lammps官網(wǎng)-教程-8.5節(jié)howto discussions:https://lammps.sandia.gov/doc/Howto.html? ?
#強力安利軟件:UltraEdit——超強大的文本編輯器,編輯in data文件。(真的超好用,之后遇到很多更復雜的文件,如力場,記事本已經(jīng)無法滿足了,會亂序)
?
data file for tip4p3 atoms 2 bonds 1 angles #非剛體結(jié)構(gòu)in文件中不能寫masses,剛體的話要寫。 full中read_data格式無masses Coords #坐標 x y z 1 1.360 1.39 0.570 2 1.770 0.81 1.220 3 0.430 1.31 0.740Types #原子編號 類型1 1 2 2 3 2Charges #電荷1 -1.0484 2 0.5242 3 0.5242 #下面時拓撲信息 可看最開頭總數(shù) Bonds #鍵的編號 鍵的類型 誰和誰連在一起1 1 1 2 2 1 1 3Angles #一個角1 1 2 1 3?
?
# in file for tip4p model echo screen #調(diào)試用,打印到屏幕或log文件。 none or screen or log or both units real #lj or real or metal or si or cgs or electron or micro or nano dimension 3 #2 or 3 boundary p p p #p f s m atom_style full #重要 full:molecular + charge; atomic:only the default values;charge:charge bond_style harmonic angle_style harmonic #創(chuàng)建一個box,并選擇一個區(qū)域把水放進去 region box block 0 10 0 10 0 10 #規(guī)劃區(qū)域:定義一個長方體區(qū)域叫box,長寬高 單位angstrom create_box 2 box bond/types 1 angle/types 1 extra/bond/per/atom 2 extra/angle/per/atom 1 #create_box N region-ID keyword value .....;box支持多少種(大于等于實際最大值):原子類型 鍵 角 每個原子包含鍵和角 molecule tip4 mol.data #導入模型,需要molecule安裝包才支持。 #read_data tip4.data #計算完后,生成restart.data,再把in文件改一下并且下面的設置部分改一下繼續(xù)算。 #region w2 block 10 30 10 30 10 30 #可定義一個之間空的區(qū)域w2 lattice sc 5.0 #設置晶格:晶胞類型,晶格常數(shù)。讓加入的原子分子在個點上。注意邊界也有分子 create_atoms 0 region w1 mol tip4 515 units box #從0開始,實際上沒有0這種原子類型。設1之后,加上分子就有三種原子類型,上面create_atoms可改為3 #create_atoms 0 random 10 1234 w1 mol tip4 12 3units box #random不用在格點上,故lattice可不用。隨機生成,前面部分是生成原子,如果后面跟了分子,則是生成以隨機點為質(zhì)心的分子,前面注意要對應box要支持這種分子的拓撲結(jié)構(gòu),要對應。如果沒跟分子,不能從0開始 mass 1 15.9994 #原子類型,質(zhì)量 mass 2 1.008neighbor 2.0 bin #截斷半徑相關的東西 neigh_modify delay 0 every 1 check yes #鄰近原子列表更新速度 pair_style lj/cut/tip4p/long 1 2 1 1 0.125 8.5 #相互作用勢:原子編號類型, 鍵和角的相互作用勢:OM距離 ,截斷 pair_coeff 1 1 0.1852573718 3.1589 pair_coeff 1 2 0.0000000000 1.5795 pair_coeff 2 2 0.0000000000 0.0000bond_coeff 1 1000 0.9572 angle_coeff 1 3000 104.52kspace_style pppm/tip4p 1.0e-5 #計算長程庫侖項,需要kspace安裝包才支持dump 1 all custom 10 tip4.lammpstrj id type x y z #將信息寫入tip4.lammpstrj,此后可用vmd打開視圖 dump_modify 1 sort id #dielectric 80.0 fix 1 all shake 0.0001 2 0 b 1 a 1 #設置偏差控制精度提示,步數(shù),步數(shù),鍵和角 fix 2 all nve #系綜,后面可跟定義的參數(shù) fix 3 all temp/rescale 1 300 300 1 1.0 1.0 #minimize 1.0e-12 1.0e-12 1000 1000 #能量最小化參數(shù),指數(shù)越大最小化成都越深 thermo 1000 timestep 0.05 #步長fs run 100000 write_data tip41.data #輸出 write_restart tip41.restart?
轉(zhuǎn)載于:https://www.cnblogs.com/zll-52011/p/10158480.html
總結(jié)
以上是生活随笔為你收集整理的Lammps命令与in文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 配置IIS
- 下一篇: 十三: 悲观锁乐观锁:解决丢失更新问题