分子动力学LAMMPS仿真

文章介绍了如何运行LAMMPS进行分子动力学模拟,包括基础的命令行用法,如lmp_serial和lmp_mpi的运行,以及命令行选项如-infile和logfile。还讨论了多线程和多核运行的问题,特别是在Windows环境下使用MPI的注意事项和性能分析。
摘要由CSDN通过智能技术生成

首先lammps的运行(RunLAMMPS)

		本章共分为了4个部分,主要介绍了在有分子动力学代码的前提下进行命令行
	的输入并运行代码。共有多核和单核,多线程和单线程。

1. 运行lammps的基础

1	lmp_serial -in in.file
2	lmp_serial < in.file
3	lmp -in in.file
4	lmp < in.file
5	/path/to/lammps/src/lmp_serial -i in.file
6	mpirun -np 4 lmp_mpi -in in.file
7	mpiexec -np 4 lmp -in in.file
8	mpirun -np 8 /path/to/lammps/src/lmp_mpi -in in.file
9	mpiexec -n 6 /usr/local/bin/lmp -in in.file
10	lmp -in in.txt -pk omp 4 -sf omp
		目前主要使用的是第3个和第10个,分别是单线程和多线程,
多核目前尚存在问题,欢迎大家帮助我解决多核运行的问题。

2. 命令行选项

1	mpirun -np 16 lmp_mpi -v f tmp.out -l my.log -sc none -i in.alloy
2	mpirun -np 16 lmp_mpi -var f tmp.out -log my.log -screen none -in in.allo
-echo 去弄清你的脚本中哪一行造成了输入错误。
-help 告诉你想要使用的命令是否在编译时通过,使用此选项,lammps将打印信息并立即退出。
-in file 确定哪一个文件是输入文件。
-log file 书写lammps运行的状态信息

3.屏幕和日志文件输出

Loop time of 0.942801 on 4 procs for 300 steps with 2004 atoms

Performance: 54.985 ns/day, 0.436 hours/ns, 318.201 timesteps/s, 637.674 katom-step/s
195.2% CPU use with 2 MPI tasks x 2 OpenMP threads

MPI task timing breakdown:
Section |  min time  |  avg time  |  max time  |%varavg| %total
---------------------------------------------------------------
Pair    | 0.61419    | 0.62872    | 0.64325    |   1.8 | 66.69
Bond    | 0.0028608  | 0.0028899  | 0.002919   |   0.1 |  0.31
Kspace  | 0.12652    | 0.14048    | 0.15444    |   3.7 | 14.90
Neigh   | 0.10242    | 0.10242    | 0.10242    |   0.0 | 10.86
Comm    | 0.026753   | 0.027593   | 0.028434   |   0.5 |  2.93
Output  | 0.00018341 | 0.00030942 | 0.00043542 |   0.0 |  0.03
Modify  | 0.039117   | 0.039348   | 0.039579   |   0.1 |  4.17
Other   |            | 0.001041   |            |       |  0.11

Nlocal:           1002 ave        1006 max         998 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Nghost:         8670.5 ave        8691 max        8650 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Neighs:         354010 ave      357257 max      350763 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Total # of neighbors = 708020
Ave neighs/atom = 353.30339
Ave special neighs/atom = 2.3403194
Neighbor list builds = 26
Dangerous builds = 0
	读取输入文件时,输出有关设置模拟所需的重要操作信息,模拟准备开始时,
	输出即将执行的运行信息,打印系统初始热力学状态的细节。
	在模拟运行过程中,打印热力学信息。在运行结束时,
	打印最终的热力学状态和模拟的总运行时间。
Looptime 全局循环时间概括。模拟运行的总时间。
Performance 帮助预测运行所需物理模拟的时间。
CPU 提供每个MPI任务的CPU利用率。
MPI task 给出了CPU运行时间的分解。
Pair 非粘结力计算。
Bond 成键相互作用:键,角度,二面体,不对称(impropers)。
Kspace 长程作用:PME, SPME和PPPM。
Neigh 临近相互作用构建
Comm 原子及其性质的内在通信。
Output 输出热力学信息和转储文件。
Modify 由约束引起的约束和计算。
Other 其余的时间
最少、平均、最大时间,最大值或最小值与平均值相差的百分比。此类别中花费的总循环时间的百分比。

4.Running LAMMPS on Windows

运行串行可执行文件
 开始运行cmd
 移动到存放输入脚本的目录
 输入lmp -in in.file回车
多线程并行化

lmp -in in.lj -pk omp 4 -sf omp

这个代码和上面运行lammps基础中第10条是一样的。
对于MPI可执行文件,需要下载并安装兼容的MPI库二进制包;安装后cmd(adm)运行smpd.exe –install,应该就可以使用了。

mpiexec.exe -np 4 lmp -in Ti_1511.txt -pk omp 4 -sf omp 

将mpi多核和多线程一起使用。感觉没有单核4线程舒服。

引用自lammps官网,仅有部分内容经过本人尝试

MPI的安装

对MPI的安装过程,将该路径放入到环境变量中,可直接使用mpiexec进行求解,千万要看到最后,不然你会一直觉得自己的MPI没有安装。

mpiexec -localonly 4 lmp -in in.file
mpiexec -np 4 lmp -in in.file

在这里插入图片描述
可运行第二种。
两种使用多核的方法,第一种我是真的没办法了,计算机总是拒绝。第二种还好,需要等的时间较长。
对该mpi进行吐槽:
第二个可以计算,但是反应感觉就太慢了。它总是跳。
在这种模式下,输出可能不会立即显示在屏幕上,因此,如果输入脚本需要很长时间才能执行,则可能需要在输出显示之前<保持耐心>。 需要保持耐心,我真的是服了。。。 下一章开启,如何进行分子动力学分析,并针对使用,进行具体化分析。
补一下:提示环境变量 OMP_NUM_THREADS 未设置,因此系统将默认使用单线程模式执行程序。在环境变量中添加该变量并将变量值设置为线程数就可以使用MPI多核多线程。完成!

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值