計算機(jī)代碼LAMMS手冊中文解析p_第1頁
計算機(jī)代碼LAMMS手冊中文解析p_第2頁
計算機(jī)代碼LAMMS手冊中文解析p_第3頁
計算機(jī)代碼LAMMS手冊中文解析p_第4頁
計算機(jī)代碼LAMMS手冊中文解析p_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、LAMMP手冊-中文解析 一、簡介 本部分大至介紹了 LAMMP的一些功能和缺陷。 1. 什么是LAMMPS? LAMMP是一個經(jīng)典的分子動力學(xué)代碼,他可以模擬液體中的粒子,固體和汽體的系綜。他可以采用不同的力場 和邊界條件來模擬全原子,聚合物,生物,金屬,粒狀和粗料化體系。LAMMP可以計算的體系小至幾個粒子,大到上 百萬甚至是上億個粒子。 LAMMP可以在單個處理器的臺式機(jī)和筆記本本上運(yùn)行且有較高的計算效率,但是它是 專門為并行計算機(jī)設(shè)計的。 他可以在任何一個按裝了C+編譯器和MPI的平臺上運(yùn)算,這 其中當(dāng)然包括分布式和共享式并行機(jī)和Beowulf型的集群機(jī)。 LAMMP是一可以修改和擴(kuò)展

2、的計算程序,比如,可以加上一些新的力場,原子模型,邊界條件和診斷功能等。 通常意義上來講,LAMMP是根據(jù)不同的邊界條件和初始條件對通過短程和長程力相互作用的分子,原子和宏觀粒 子集合對它們的牛頓運(yùn)動方程進(jìn)行積分。高效率計算的LAMMPS 通過采用相鄰清單來跟蹤他們鄰近的粒子。這些清單是根據(jù)粒子間的短程互拆力的大小進(jìn) 行優(yōu)化過的,目的是防止局 部粒子密度過高。在并行機(jī)上,LAMMP采用的是空間分解技術(shù) 來分配模擬的區(qū)域,把整個模擬空間分成較小的三維小空間,其中每一個小空間可以分配在一個處理器上。各個處理 器之間相互通信并且存儲每一個小空間邊界上的”ghost ”原子 的信息。LAMMP并行情況

3、)在模擬3維矩行盒子并且具有近均一密度的體系時效率最高。 2. LAMMP的功能 總體功能: 可以串行和并行計算 分布式MPI策略 模擬空間的分解并行機(jī)制 開源 高移植性C+語言編寫 MPI和單處理器串行FFT的可選性(自定義) 可以方便的為之?dāng)U展上新特征和功能 只需一個輸入腳本就可運(yùn)行 有定義和使用變量和方程完備語法規(guī)則 在運(yùn)行過程中循環(huán)的控制都有嚴(yán)格的規(guī)則 只要一個輸入腳本試就可以同時實(shí)現(xiàn)一個或多個模擬任務(wù) 粒子和模擬的類型: (atom style 命令) 原子 粗粒化粒子 全原子聚合物,有機(jī)分子,蛋白質(zhì),DNA 聯(lián)合原子聚合物或有機(jī)分子 金屬 粒子材料 粗?;橛^模型 延伸球形與橢圓形

4、粒子 點(diǎn)偶極粒子 剛性粒子 所有上面的雜化類型 力場: (命令: pair style, bond style, angle style, dihedral style, improper style, kspace style ) 對相互作用勢:L-J,Buck in gham, Morse, Yukawa, soft, class2 (COMPASS), t abula ted. 帶點(diǎn)對相互作用勢:Coulombic, poi nt-dipole 多體作用勢:EAM, Finn is/Si nclair EAM, modified EAM(MEAM), Stilli nger-Weber,

5、 Tersoff, AIREBO, ReaxFF 粗粒化作用勢:DPD, GayBerne, Resquared, Colloidal, DLVO 介觀作用勢:granu lar, Perid yn amics 鍵勢能:harmonic, FENE, Morse, nonlinear, class2, quartic 鍵角勢能:harmo nic, CHARMM, cos ine, cos in e/squared, class2 (COMPASS) 二面角 勢能: harmonic, CHARMM, multi-harmonic, helix, OPLS, class2 (COMPASS)

6、不合理勢能: harmo nic, CVFF, class2(COMPASS) 聚合物勢能: all-atom, un itedatom, bead-spri ng, breakable 水勢能:TIP3P, TIP4P, SPC 隱式溶劑勢能:hydrodynamic lubrication, Debye 長程庫倫與分散:Ewald, PPPM, Ewald/N (針對長程L-J作用) 可以有與普適化力場如CHARMMAMBEROPLS GROMACS兼容的力場 可以采用GPUni速的成對類型 雜化勢能函數(shù): multi pie pair, bond, an gle, dihedral, i

7、mproper pote nti als (多 對勢能處于更高的優(yōu)先級) 原子創(chuàng)建: (命令:read_data, lattice, create-atoms, delete-atoms, displace-atoms, replicate ) 從文件中讀入各個原子的坐標(biāo) 在一個或多個晶格中創(chuàng)建原子 刪除幾何或邏輯原子基團(tuán) 復(fù)制已存在的原子多次 替換原子系綜,約束條件,邊界條件: (命令:fix ) 二維和三維體系 正角或非正角模擬空間 常NVE NVT NPT NPH積分器 原子基團(tuán)與幾何區(qū)域可選擇不同的溫度控制器 有Nose/Hoover和Betendsen壓力控制器來控制體系的壓力(任一

8、維度上)模擬合子的變形(扭曲與剪 切) 簡諧(unbrella )束縛力 剛體約朿 搖擺鍵與鍵角約束 各種邊界環(huán)境 非平行太分子動力學(xué)NEMD 各種附加邊界條件和約束 積分器: Velocity-verlet 積分器 Brown積分器 rRESPA繼承時間延化積分器 剛體積分器 共軌梯度或最束下降算法能量最小化器 輸出: (命令:dump, res tart ) 熱力學(xué)信息日志 原子坐標(biāo),速度和其它原子量信息的文本dump文件 二進(jìn)制重啟文件 各原子量包括:能量,壓力,中心對稱參數(shù), CAN等 用戶自定義系統(tǒng)寬度或各原子的計算信息 每個原子的時間與空間平均 系統(tǒng)寬量的時間平均 原子圖像,XYZ

9、 XTC DCD CFG格式 數(shù)據(jù)的前處理與后處理: 包里提供了一系列的前處理與后處理工具 另外,可以使用獨(dú)立發(fā)行的工具組pizza, py,它可以進(jìn)行LAMMP模擬的設(shè)置,分析,作圖和可視化工作。 特別功能: 實(shí)時的可視化與交互式MD莫擬 與有限元方法結(jié)合進(jìn)行原子-連續(xù)體模擬 在POEM庫中提供了剛體積分工具 并行很火 并行復(fù)制動力學(xué) 對低密度液體直接使用MC模擬 Peri dynamic介觀建模 目標(biāo)型與無目標(biāo)型分子動力學(xué) 雙溫度電子模型 LAMMP不具備的功能: 由于LAMMP是對牛頓運(yùn)動方程積分的工具,所以很多必要的數(shù)據(jù)前處理與后處理功能 是LAMMP核心不具 備的。其原因?yàn)椋?保證L

10、AMMP的小巧性 前處理與后處理不能進(jìn)行并行運(yùn)算這些功能可以有其它工具來完成 原代碼開發(fā)的局限性 特別地,LAMMP不能: 通過圖形用戶界面來工作 創(chuàng)建分子體系 自動的加上力場系數(shù) 為md莫擬提供智能化的數(shù)據(jù)分析 MD的可視化 為輸出數(shù)據(jù)作圖 我們需要為LAMMP輸入一系列的原子類型,原子坐標(biāo),分子拓樸信息和所有原子與鍵 的力場參數(shù)。LAMMP 不會自動的為我們創(chuàng)建分子體系與力場參數(shù)。 對與原子體系,LAMMP提供了 creat-atoms命令來為固態(tài)晶格加上原子??梢阅苓^pair coeff, bo nd coeff, an gle coeff等命來加上小數(shù)目的力場參數(shù)。對于分子體系或更復(fù)雜

11、 的模擬體系,我們通常會用其它工具來創(chuàng)建或者是轉(zhuǎn)換LAMMP輸岀文件來做到這些事情。 有的還會寫一些自已的代碼來完成這項任務(wù)。 對于一個復(fù)雜的分子體系(如,蛋白質(zhì)),我們需要為之提供上面?zhèn)€拓樸信息與力場參數(shù)。所以我們建 議用CHARM或AMBE或其它的分子建模器來完成這些任務(wù),并把之輸?shù)揭粋€文件中去。然后,改變其格式以達(dá) 到LAMMP所允許的輸入格式。 同樣,LAMMP的輸出文件是一種簡單的文本格式,我們也可以通過其它的工具來換專 這些格式。 我們可以用以下幾個軟件來完成高質(zhì)量的可視工作: VMD AtomEye Pymol Raster3d RasMol 最后要說一下的是,以下這些也是自由分

12、子動力學(xué)包,它們大多數(shù)是并行的,可能也適合來完成你的研 究工作,當(dāng)然也可以與LAMMP聯(lián)合起來使用以完成模擬工作。 CHARMM AMBER XAMD NWCHEM DL_P0LY Tin ker 二、開始 本部分主要描述如何創(chuàng)建和運(yùn)行LAMMRS 1. 在LAMMP發(fā)行包理含有: README LICENSE Bench:測式任務(wù) Doc:文本 Examples :簡單的測試任務(wù) Pote ntials :嵌入原子方法與力場文件 Src:源代碼 Tools:前處理與后處理工具 假如你下載的是windows可執(zhí)行文件的話,你里面只有一個文件(并行與非并行兩種) Lmp-wi ndows. ex

13、e 2. 編譯 LAMMPS 之前的工作: 編譯LAMMP不是一個繁瑣的工作。首先你可能要寫一個makefile文件,里面要選擇編譯 器,附加的一些將要用到的庫等。事先裝上 MPI或FFT等庫。 編譯出一個可執(zhí)行LAMMPS 在月錄里頭含有C+源文件和頭文件。當(dāng)然也包括一個高水平的Makef訂e,在MAKE0錄里頭有幾個低水平 的Makef訂e*fi.les分別適有不同的平臺。進(jìn)入SRC目錄,輸入make 或gmake你將會看到一列的可選項。假如其中有一種符合你的機(jī)器,你可以輸入像下面一樣的命令: Make linux Gmake mac 注意,在一個多處理器或多核處理器的平臺上你可以進(jìn)行平行

14、編譯,在nrnke命令中使用“-j ” 選項就可以,這樣編譯起來會更快一些。 在此過程中不發(fā)生錯誤的話,你可以得到一個類似于Imp-li nux的可執(zhí)行文件。 在編譯過程當(dāng)中將會發(fā)生的常見錯誤: (1) 如果編譯過程當(dāng)中發(fā)生錯 誤,并提示不能找到一個含有通配符 *為名的文件的話, 說明你機(jī)器上的make器允許makefile中使用通配符。那就償式使用gmake如 還不行的話,就試 試加入-f選項,用Makefile, list作為make對像。如: Make makelist Make 一 f makefile list linux Gmake 一 f makefile 1st mac (2)

15、當(dāng)你使用低水平的makefile時,可能由于對機(jī)器的設(shè)置不正確,會導(dǎo)致一些錯誤。假如你的平臺叫 “ foo ”,的話,你將要在MAKE目錄中創(chuàng)建一個Makefile, foo。使用任 何一個與你機(jī)器相近的文件作 為開始總是一個不錯的選擇。 (3)如你在鏈接的時候出現(xiàn)庫丟失或少了依賴關(guān)系的話,可能是由于: 你編譯的包需要一個附加的庫,但卻沒有事先編譯需要的package libaray 你要鏈接的庫在你的系統(tǒng)中不存在。 沒有連接到必要的系統(tǒng)庫 后兩種問題出現(xiàn),你就需要修改你的低水平makefile, foo. 編輯一個新的低水平makefile, foo: (1)在#后的句子中,替換foo,不論

16、你寫成什么,這一行將會出現(xiàn)在屏幕上,如果 你只輸入make命令 的話。 在complies/linkersettings 部分為你的C+S譯器列岀編譯器與鏈接器的 設(shè)置,包括優(yōu)化符號。你可以在任何UNIX系統(tǒng)中使用G+S譯器。當(dāng)然你也可 以用MPICC如果你的系統(tǒng)中安裝了 MPI的話 如過在編譯過程當(dāng)中需要符加的庫的話,你必需在LIB變量中列出來。 DEPFLAG設(shè)置可以讓C+編譯器創(chuàng)建一個源文件的依賴關(guān)系列表,當(dāng)源文件或頭文件 改變的時候可以加快 編譯速度。有些編譯器不能創(chuàng)建依賴關(guān)系列表,或者你可以用選項一 D來實(shí)現(xiàn)。G+創(chuàng)以使用-D。如果你 的編譯器不能創(chuàng)建依賴關(guān)系文件的話,那么你 就需要

17、創(chuàng)建一個Makefile, foo來與Makefile, storm (它用 一系列的不需要依賴文件的規(guī)劃)相對應(yīng)。 (3) “ system-specific sett in gs ” 部分有四個小部分: A LMF INC變量,包括一些與系統(tǒng)相關(guān)的條件選項。 B 3個MPI變量用于指定MPI庫。 如你要進(jìn)行并行計算的話,那么你必須在你的平臺上安上MPI庫。如你想用MPI內(nèi)置 C+S譯器的話,你可以讓這三個變量空著,如你不用MPICC的話,那么,你要指定 MPI.h(MPI_INC)文件在哪,MPI (MPI_PATH 庫在哪,還有庫名(MPI_LIB). 如果你想自己安裝MPI的話,我們建

18、議用MPICH1.2或2.0。LAMMPI也可以。如果我 的是大平始的話, 你的供應(yīng)商己經(jīng)為你裝上了 MPI,其可能比MPICH或LAM更快,你可以把找出來并與之鏈接。如你用LAM 或MPICH你必需要設(shè)置他并編譯他使之適合你的平臺。 如果你想在單處理器的機(jī)器上運(yùn)行的話,你可以用 STIBS庫,這樣你就可以不用在你 的系統(tǒng)中安裝MPI庫。防照makefile, serial ,看是如果設(shè)置這三個變量的。當(dāng)然你在 編譯LAMMP之前你必需創(chuàng)建STUBS?o在STUBSI錄中,輸入make不出錯的話你將 會得到一個libmpi.a文 件可供鏈接到LAMMR出錯,你則要修改STUBSF的MAKEFI

19、LE STUBS/MPI. CP有一個CPI計時器MPIJVtime ()可以調(diào)用gettimeofday ()如你的系統(tǒng) 不支持 gettimeofdayO ,則你就要插入一句代碼來調(diào)用另一個計時器,要注意的是,clockO函數(shù)在一個小時之 后會歸0,所以對于一個長時間的LAMMP模擬來說這是不夠用的。 C FTT變量用于指定FFT庫,當(dāng)要用到kspace-style命令來計算長程庫倫作用時使用PPPM&項時要用到。 當(dāng)然,你如果不用PPPM勺話,你將沒有必要安裝FFT庫。這種情況下,你可以把FFT_INC設(shè)成-DFFT-NON 并讓其它幾個變量空著。你也可以在編譯LAMMP時把KSPACf

20、e剔除。 D幾個SYSLIB和SYSPATI變量你可以忽略,除非你在編譯LAMMP時其中有一個或幾 個包要用到附加的系 統(tǒng)庫。所有這些包都的的名稱都將會是SYSLIB和SYSPAT變量的前輟。SYSLIB變量將列出系統(tǒng)庫。 SYSPATH則是路徑,只有當(dāng)這些庫為非默認(rèn)路徑時 才有設(shè)定。 最后,當(dāng)你正確的寫好了 makefile, foo和預(yù)編譯好了所有的其它庫(MPI, FFT,包庫等)之后,你只要在 SRC目錄下輸入下面其中一個命令就可以了 Make foo Gmake foo 不出意外,你將會得到lmp_foo的可執(zhí)行文件。 附加建義 (1)為多平臺編譯LAMMPS 你可以在同一個SRCS錄下為多平臺編譯LAMMR每一個目標(biāo)都有他自己的目標(biāo)路徑,Obj_name用于存貯指 定系統(tǒng)的目標(biāo)文件。 (2) 清理 輸入make clear-all或make clean-foo將會清理LAMMP在

溫馨提示

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

評論

0/150

提交評論