LAMMPS ("Large-scale Atomic/Molecular Massively Parallel Simulator",大尺度原子/分子並行模擬工具)是由桑迪亞國家實驗室開發的一套分子動力學模擬的開源程序包。[1] LAMMPS使用MPI實現多機器並行計算,在新的版本中,支持基於CUDAOpenCL的GPU計算。其以GNU通用公共許可證發布,因而開源自由。[1]

LAMMPS
開發者桑迪亞國家實驗室
當前版本2015年5月15日
操作系統跨平台
語言C++
許可協議GNU通用公共許可證
網站lammps.sandia.gov

LAMMPS最初為一美國政府與私人機構合作項目,由美國能源部與另外三所私有企業實驗室合作開發。[1]目前由桑迪亞國家實驗室負責維護和發布。[1]LAMMPS當前使用C++編寫,早期版本使用Fortran77以及Fortran90。

特性

LAMMPS提供了元素周期表中原子對應的經驗勢函數,可進行與實際體系對應的分子動力學模擬,例如計算金屬鋁的晶格常數,[2]或水的密度,得到與實驗吻合的結果。另一方面也提供了多種模型勢函數,可用於進行粗粒化模擬,例如模擬基於粒子-彈簧模型的高分子鏈的性質。[3] LAMMPS作為實用程序包,採取了很多成熟的優化算法。例如在短程相互作用的計算中運用韋爾萊表元胞列表優化臨近粒子的掃描。

用戶可在下至個人電腦,上至計算機集群上運行LAMMPS。在並行環境下,LAMMPS使用空間分解技術,將整個模擬體系分解成若干個更小的體系傳遞給不同處理器執行,邊界的處理則使用「幽靈原子」保證整體的連續。LAMMPS對粒子密度均勻的立方體盒子體系的效率最高。LAMMPS具有廣泛的硬件加速支持,例如GPU (CUDA, OpenCL, HIP, SYCL), Intel Xeon Phi, 以及基於OpenMP多線程支持。[4]

使用方法

LAMMPS並不提供圖形化界面呈現模擬的結果以及相關工具進行建模,需要用戶自己使用指定格式的腳本實現。程序運行中逐行讀取並執行腳本內容。LAMMPS腳本主要由四個部分組成:初始化、定義原子、設置參數、進行模擬。

LAMMPS還可編譯為共享庫,提供接口供程序調用,通過其它編程語言實現複雜的功能。從2015年3月的版本開始,LAMMPS也可編譯為Python模塊,使用Python腳本進行分子模擬工作。[1]。此外,LAMMPS還可以和其他自由能計算工具耦合,例如PLUMED和ColVar等[5][6]

參見

參考資料

  1. ^ 1.0 1.1 1.2 1.3 1.4 LAMMPS Molecular Dynamics Simulator. Sandia National Laboratories. [2010-10-03]. (原始內容存檔於2006-09-22). 
  2. ^ LAMMPS Help. [2015-08-11]. (原始內容存檔於2016-04-05). 
  3. ^ LAMMPS Polymer. [2015-08-11]. (原始內容存檔於2019-02-16). 
  4. ^ 1.3. LAMMPS features — LAMMPS documentation. docs.lammps.org. [2023-10-30]. (原始內容存檔於2023-10-30). 
  5. ^ Fiorin, Giacomo; Klein, Michael L.; Hénin, Jérôme. Using collective variables to drive molecular dynamics simulations. Molecular Physics. 2013-12, 111 (22-23): 3345–3362. doi:10.1080/00268976.2013.813594. 
  6. ^ Tribello, Gareth A.; Bonomi, Massimiliano; Branduardi, Davide; Camilloni, Carlo; Bussi, Giovanni. PLUMED 2: New feathers for an old bird. Computer Physics Communications. 2014-02-01, 185 (2): 604–613. doi:10.1016/j.cpc.2013.09.018. 

外部連結