分子动力学模拟软件——Lammps介绍
LAMMPS程序(Large-sale Atomic/Molecular Massively Parallel Simulator)是由美国Sandia国家实验室开发的开源经典力学MD模拟程序,侧重于材料领域的模拟研究。
软件特点
1.并行计算能力:LAMMPS天生为并行计算而设计,支持函数MPI(Message Passing Interface)架构,在分布式和共享内存集群上均有极高效率。同时部分功能支持OpenMP多线程及GPU加速。
2.多领域支持:适合固态(金属、陶瓷、氧化物)、柔性物质(高分子、蛋白质等)、粗粒度介观体系等各类材料的建模与模拟。
3.高扩展性:提供众多内置与可扩展原子势场(模型),用户可根据科研需求自定义新的势函数、原子类型、边界条件等。
4.大规模模拟:能够模拟规模从数百到数十亿粒子的体系,效率高、计算时间短。
5.良好的脚本与变量支持:通过输入脚本配置复杂的模拟流程,支持循环、条件判断、公式变量等高级用法,易于自动化批量模拟。
适用平台
支持Linux、macOS、Windows等多种操作系统,可在个人电脑小型计算,也能部署于顶级HPC集群。在Windows中推荐通过WSL(Windows Subsystem for Linux)环境获得最佳体验。
LAMMPS的主要应用领域
1.材料科学
金属与合金力学行为:分析金属的延展、位错滑移、晶体缺陷等微观力学过程,对合金成分优化、材料强韧性评估至关重要。
高分子/聚合物结构与性能:研究聚合物链的构象变化、玻璃化转变、结晶动力学,有助于新型高分子材料设计与加工工艺改进。
纳米材料力-电-热学性能:如石墨烯、碳纳米管机械拉伸、纳米复合材料界面相互作用等,促进微纳结构器件的研发。
2.物理学
液体微观结构与动力学:通过分子扩散、密度分布、黏度等性质研究流体体系,如水的自扩散、超分子自组装等现象。
晶体结构与相变:分析固体晶格振动、热导率、缺陷形成/演变,助力半导体、陶瓷材料研究。
软物质物理:如胶体、液晶等介观体系自组装、流变和结构转变模拟。
3.化学
反应动力学过程:模拟化学反应中的分子碰撞、反应路径、过渡态演化,探索化学反应机理。
溶液行为与界面化学:分析离子分布、扩散、分解速率及分子在固体表面的吸附、催化反应机制等。
4.生物学
生物大分子动力学:对蛋白质、DNA、RNA等复杂分子的折叠、构象变化、配体结合过程进行原子级别追踪,揭示其结构-功能关系。
生物膜与细胞力学:研究脂质膜的动态、膜蛋白嵌入、细胞抓持/运输等微观过程,在药物设计、细胞工程有重要意义。
5.其它应用
粗粒度介观体系的模拟,如颗粒流、泡沫、乳液等。
多物理场耦合模拟,如热力学-力学、化学-动力学联合建模。
LAMMPS可实现的具体计算内容
1.结构相关计算
体系平衡结构搜索:通过能量弛豫得到最低能构型,比如金属合金的最稳晶体结构。
晶格常数、原子坐标提取:输出准确的材料结构参数。
缺陷结构建模与研究:如模拟空位、位错和晶界等。
2.动力学过程分析
轨迹分析与快照输出:详细追踪粒子随时间变化的路径。
分子扩散系数、黏度等动力学参数提取:以液体、气体、固体、电解质为例,分析扩散和流动行为。
蛋白质折叠与分子自组装动力学。
3.热力学功能与统计分析
全体系能量、温度、压力计算:实时监测体系热力学状态。
相变、热容计算:通过热力学量的变化识别材料相变点、计算热容。
能量、力、应力各项张量输出。
4.力学性质研究
弹性常数、各向异性模量分析:对固体材料不同方向的弹性响应综合评估。
应力-应变响应与失效机制模拟:如材料拉伸、压缩、断裂全过程追踪,获得完整应力-应变曲线。
添加下方微信好友,立即咨询MD模拟
电话/微信:13564914850
LAMMPS的安装教程
本部分转载自公众号无水无盐
在LAMMPS官网(https://www.lammps.org)下载相应的安装程序,本文下载是LAMMPS Stable Release,2 Aug 2023的版本,可以根据自己的需求,尽量下载新的版本,下载后上传至服务器,解压。
tar-zxvf lammps-stable.2Aug2023.tar.gzcd lammps-2Aug2023/src
本次安装,编译器使用intel oneAPI的mpicxx,可以不需要新版本的gcc。当然也可以使用OpenMPI,做并行计算。
source /opt/software/intel/oneapi-2024.1/setvars.sh
进入src文件夹中,输入make可以看到相关的安装命令,在其中MAKE文件夹下有一些默认的MakeFile文件。这里安装如下的模块,比如KSPACE、RIGID这些常用的。
make yes-ASPHERE yes-BODY yes-CLASS2 yes-COLLOID yes-CORESHELL yes-DIPOLE yes-GRANULAR yes-KSPACE yes-MANYBODY yes-MC yes-MISC yes-MOLECULE yes-OPT yes-PERI yes-QEQ yes-REPLICA yes-RIGID yes-SHOCK yes-SRD yes-REAXFF yes-EXTRA-DUMP输出如下:Installing package ASPHEREInstallingpackage BODYInstallingpackage CLASS2Installingpackage COLLOIDInstallingpackage CORESHELLInstallingpackage DIPOLEInstallingpackage GRANULARInstallingpackage KSPACEupdatingpackage CORESHELLupdatingsrc/pair_born_coul_long_cs.cppupdatingsrc/pair_buck_coul_long_cs.cppupdatingsrc/pair_born_coul_long_cs.hupdatingsrc/pair_buck_coul_long_cs.hupdatingsrc/pair_coul_long_cs.cppupdatingsrc/pair_coul_long_cs.hupdatingsrc/pair_lj_cut_coul_long_cs.cppupdatingsrc/pair_lj_cut_coul_long_cs.hInstallingpackage MANYBODYInstallingpackage MCInstallingpackage MISCInstallingpackage MOLECULEInstallingpackage OPTInstallingpackage PERIInstallingpackage QEQInstallingpackage REPLICAInstallingpackage RIGIDInstallingpackage SHOCKInstallingpackage SRDInstallingpackage REAXFFInstallingpackage EXTRA-DUMP
安装lmp_mpi,简单输入make mpi -j即可。
makempi -j
...mpicxx-g -O3 -std=c++11 main.o -L. -llammps_mpi -ldl -o ../lmp_mpisize../lmp_mpitextdata bss dec hex filename122507259440 10872 12271037 bb3dbd ../lmp_mpimake[1]: Leaving directory `/opt/software/Lammps/lammps-2Aug2023/src/Obj_mpi'
大约几分钟,便可以安装成功。设置PATH路径,便可以用于计算。
export PATH=$PATH:~/software/Lammps/lammps-2Aug2023/srcmpirun -np 24 lmp_mpi -i input.lammps
在LAMMPS中可以使用恒电势的方法,使用cmake安装,CONP的下载地址(https://github.com/srtee/lammps-USER-CONP2),这里使用intel oneAPI 2023.1和gcc 13.2.0。
source /opt/software/gcc/gcc.13.2.0.shsource /opt/software/intel/oneapi-2023.1/setvars.sh
安装CONP2,先解压CONP2,并将使用如下命令。
tar -zxvf lammps-USER-CONP2-1.2.0.tar.gzcd lammps-USER-CONP2-1.2.0export LAMMPS_PREFIX=/opt/software/Lammps/lammps-2Aug2023bash install_cmake.shcd /opt/software/Lammps/lammps-2Aug2023mkdir buildcd buildcmake ../cmake \ -D CMAKE_INSTALL_PREFIX=/opt/software/Lammps/new/1/2Aug23-conp -C ../cmake/presets/most.cmake \ -C ../cmake/presets/nolib.cmake \ -C ../cmake/presets/intel.cmake \ -D LAMMPS_MACHINE=mpi \ -D BUILD_MPI=yes \ -D FFT=MKL \ -D PKG_ASPHERE=on \ -D PKG_MOLECULE=on \ -D PKG_BODY=on \ -D PKG_CLASS2=on \ -D PKG_COLLOID=on \ -D PKG_CORESHELL=on \ -D PKG_DIPOLE=on \ -D PKG_GRANULAR=on \ -D PKG_KSPACE=on \ -D PKG_MANYBODY=on \ -D PKG_MC=on \ -D PKG_MISC=on \ -D PKG_OPT=on \ -D PKG_PERI=on \ -D PKG_QEQ=on \ -D PKG_REPLICA=on \ -D PKG_RIGID=on \ -D PKG_SRD=on \ -D PKG_USER-CONP2=yes \ -D PKG_USER-INTEL=yes
发现Configuring done,然后执行
make -j
安装成功,便可以使用。
点赞、关注、收藏一下吧!
我们下期见~
免责声明:本文内容基于公开网络资源整合和二次创作,文章部分可能来源于公开论文、教材、技术报告等,版权归原作者所有。如有侵权,请联系删除。