详细内容

LAMMPS讲解21-LAMMPS的运行方法

LAMMPS从命令行运行,通过-in命令行标志从文件读取命令,或者从标准输入读取命令。建议使用“-in in.file”形式(参见下面的注释)。LAMMPS可执行文件的名称是lmp或 lmp_<machine>,其中<machine>是编译LAMMPS时使用的机器字符串。这在使用传统方法(例如使用 make mpi)编译LAMMPS时是必需的,但在使用CMake配置和编译LAMMPS时是可选的:

$ lmp_serial -in in.file

$ lmp_serial < in.file

$ lmp -in in.file

$ lmp < in.file

$ /path/to/lammps/src/lmp_serial -i in.file

$ mpirun -np 4 lmp_mpi -in in.file

$ mpiexec -np 4 lmp -in in.file

$ mpirun -np 8 /path/to/lammps/src/lmp_mpi -in in.file

$ mpiexec -n 6 /usr/local/bin/lmp -in in.file

通常在输入脚本所在的目录中运行LAMMPS命令。这也是默认生成输出文件的地方,除非在输入脚本或命令行中提供特定的其他路径。与上面的一些示例一样,LAMMPS可执行文件本身可以放在其他地方。

注意:重定向运算符“<”在与mpirun或mpiexec并行运行时并不总是有效;对于那些系统,-in形式是必需的。

LAMMPS运行时,它会在屏幕上打印信息和一个名为log.lammps的日志文件。有关输出的更多信息在屏幕和日志文件输出页面上给出。

如果LAMMPS在输入脚本中或在运行模拟时遇到错误,它将打印错误消息并停止或警告消息并继续。有关LAMMPS可以或无法检测到的各种错误的讨论、所有ERROR和WARNING消息的列表以及如何处理它们。

LAMMPS可以在任意数量的处理器上运行相同的问题,包括单个处理器。理论上,应该在任何数量的处理器和任何机器上得到相同的结果。在实践中,由于使用浮点数学而导致的数值四舍五入会导致分子动力学轨迹的细微差异和最终发散。

LAMMPS可以在一个或多个处理器的物理内存中运行尽可能大的问题。如果内存不足,则必须在更多处理器上运行或定义更小的问题。所需的内存量以及它在处理器之间的分布情况可能会因使用的模型、设置和命令而异。

如果通过mpirun并行运行LAMMPS,应该知道processors命令,它控制MPI 任务如何映射到模拟盒子,以及控制MPI任务如何分配到节点的物理核心的。这些设置可以提高性能,尽管默认值通常就足够了。

例如,将MPI任务(进程)绑定到物理内核(处理器亲和性)通常很重要,这样操作系统就不会在模拟期间迁移它们。如果这不是您机器上的默认行为,则可以使用mpirun选项“–bind-to core”(OpenMPI)或“-bind-to core”(MPICH)。

如果使用的LAMMPS命令支持多线程,可以在启动LAMMPS之前通过环境变量OMP_NUM_THREADS设置每个MPI任务的线程数:

$ export OMP_NUM_THREADS=2     # bash

$ setenv OMP_NUM_THREADS 2     # csh or tcsh

这也可以通过package命令或通过调用package命令的-pk命令行开关来完成。

您可以使用examples或bench目录中提供的任何输入脚本来试验运行LAMMPS。输入脚本命名为in.*,示例输出命名为og.*.P,其中P是运行它的处理器数量。一些examples或bench测试需要使用可选包编译LAMMPS。

 

 

感谢鲍路瑶老师的分享,内容来自于鲍老师分享出来的资料

如有需要添加微信:lmp_zhushou  进入微信群,帮助他人,共建社区

获取完整版lammps讲义可以加微信lmp_zhushou或加入QQ994359511


最新评论
请先登录才能进行回复登录
技术支持: CLOUD | 管理登录
seo seo