http://lammps.sandia.gov/ 。

简介

LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)是一款经典分子动力学软件。 LAMMPS包含的势可用于固体材料(金属、半导体)、软物质(生物大分子,聚合物)、粗粒化或介观尺度模型体系。

算例 1 "3d Lennard-Jones melt"

准备工作

1. 在集群创建完成之后,需要为集群新建用户,只有普通用户可以提交作业。新建用户详细操作,请参见用户管理

2. 运行示例需要在创建集群时选择安装LAMMPS相关软件包、依赖的相关MPI库:
名称 版本
lammps-openmpi 31Mar17
lammps-mpich 31Mar17
mpich 3.2
openmpi 1.10.7
vmd 1.9.3

操作步骤

1. 进入EHPC控制台作业界面,选择右上角创建作业。

2. 在创建作业页面左侧设置作业基本参数:作业名(如LammpsTestf1),用户名(如testuser1),用户密码,调度器队列等,和作业执行命令:./lammps.pbs 。

3. 在创建作业页面右侧依次选择“新建文件”->“使用文件模板”->“pbs demo”和“3d Lennard-Jones melt”,对pbs demo脚本和3d Lennard-Jone melt文件进行编辑,得到运行作业的pbs脚本和3d Lennard-Jones melt算例文件lj.in。

  • lammps.pbs脚本:
说明:select=1:ncpus=1:mpiprocs=1 指该脚本在1个计算节点上运行,使用1个CPU,1个MPI进程。
#!/bin/sh
#PBS -l select=1:ncpus=1:mpiprocs=1     
#PBS -j oe

export MODULEPATH=/opt/ehpcmodulefiles/
module load lammps-openmpi/31Mar17
module load openmpi/1.10.7

echo "run at the beginning"
mpirun lmp -in ./lj.in
  • lj.in算例文件:
# 3d Lennard-Jones melt

variable        x index 1
variable        y index 1
variable        z index 1

variable        xx equal 20*$x
variable        yy equal 20*$y
variable        zz equal 20*$z

units           lj
atom_style      atomic

lattice         fcc 0.8442
region          box block 0 ${xx} 0 ${yy} 0 ${zz}
create_box      1 box
create_atoms    1 box
mass            1 1.0

velocity        all create 1.44 87287 loop geom

pair_style      lj/cut 2.5
pair_coeff      1 1 1.0 1.0 2.5

neighbor        0.3 bin
neigh_modify    delay 0 every 20 check no

fix             1 all nve
dump 1 all xyz 100 /home/testuser1/sample.xyz
run             10000

4. 设置完成之后,点击确认提交作业。作业个性化配置、作业导入、导出和作业状态查看,请参见作业管理

5. 作业运行完成之后,点击作业列表右侧的 “详情” 按钮,查看作业详细信息。其中,若用户不指定作业标准输出路径,默认按照调度器行为生成输出文件。默认标准输出路径(/home/testuer1/)下的作业结果文件,LammpsTestf1.o0,可通过登录集群 的远程连接操作查看。如下所示:
[testuser1@login0 ~]$ ls
lammps.pbs  LammpsTestf1.o0  lj.in  log.lammps  sample.xyz
[testuser1@login0 ~]$ cat LammpsTestf1.o0
run at the beginning
LAMMPS (31 Mar 2017)
......

命令行提交作业

1. 集群界面,选择“远程连接”按钮,远程登录集群实例,在实例界面右上角选择打开新文件树,用户目录(如:testuser1)下直接创建作业脚本文件lammps.pbs和算例数据文件lj.in(文件内容同上),两个文件均保存在用户目录下,如:/home/testuser1。

  • 创建lammps.pbs作业文件步骤:

打开新文件树-->双击进入home/testuser1目录下-->home文件夹右键新建文件lammps.pbs文件-->创建完之后,双击打开该文件直接编辑脚本内容,然后右上角点击保存即可。

  • 创建lj.in算例数据文件步骤:

打开新文件树-->双击进入home/testuser1目录下-->home文件夹右键新建文件lj.in文件-->创建完之后,双击打开该文件直接编辑内容,然后右上角点击保存即可。

2. 文件保存在目录之后,在当前界面使用如下命令提交并查看作业运行情况:

说明:不能使用root用户登录提交作业。

[testuser1@login0 ~]$ cd ~
[testuser1@login0 ~]$ qsub -N LammpsTestf1 lammps.pbs
0.scheduler
[testuser1@login0 ~]$ qstat -fx 0.scheduler    #作业 ID
Job Id: 0.scheduler
    Job_Name = LammpsTestf1
    Job_Owner = testuser1@scheduler
    resources_used.cpupercent = 89
    resources_used.cput = 00:05:04
    resources_used.mem = 33784kb
    resources_used.ncpus = 1
    resources_used.vmem = 634672kb
    resources_used.walltime = 00:05:15
    job_state = F
    queue = workq
    server = scheduler
    Checkpoint = u
    ctime = Tue Apr  7 16:23:46 2020
    Error_Path = scheduler:/home/testuser1/LammpsTestf1.e0
    exec_host = compute000/0
    exec_vnode = (compute000:ncpus=1)
    Hold_Types = n
    Join_Path = oe
    Keep_Files = n
    Mail_Points = a
    mtime = Tue Apr  7 16:29:01 2020
    Output_Path = scheduler:/home/testuser1/LammpsTestf1.o0
    Priority = 0
    qtime = Tue Apr  7 16:23:46 2020
    Rerunable = True
    Resource_List.mpiprocs = 1
    Resource_List.ncpus = 1
    Resource_List.nodect = 1
    Resource_List.place = free
    Resource_List.select = 1:ncpus=1:mpiprocs=1
    stime = Tue Apr  7 16:23:46 2020
    session_id = 31684
    jobdir = /home/testuser1
    substate = 92
    Variable_List = PBS_O_HOME=/home/testuser1,PBS_O_LANG=en_US.UTF-8,
        PBS_O_LOGNAME=testuser1,
        PBS_O_PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr
        /local/pbs/bin:/home/testuser1/.local/bin:/home/testuser1/bin,
        PBS_O_MAIL=/var/spool/mail/testuser1,PBS_O_SHELL=/bin/bash,
        PBS_O_WORKDIR=/home/testuser1,PBS_O_SYSTEM=Linux,PBS_O_QUEUE=workq,
        PBS_O_HOST=scheduler
    comment = Job run at Tue Apr 07 at 16:23 on (compute000:ncpus=1) and finish
        ed
    etime = Tue Apr  7 16:23:46 2020
    run_count = 1
    Stageout_status = 1
    Exit_status = 0
    Submit_arguments = -N LammpsTestf1 -p 0 ./lammps.pbs
    history_timestamp = 1586248141
    project = _pbs_project_default
3. 作业运行完成之后,若脚本文件中不指定输出路径,可在当前用户目录下查看结果文件。其默认输出路径为:/home/testuser1/LammpsTestf1.o0 。作业执行日志路径:/home/testuser1/log.lammps 。
[testuser1@login0 ~]$ ls
 lammps.pbs  LammpsTestf1.o0  lj.in  log.lammps  sample.xyz
[testuser1@login0 ~]$ cat LammpsTestf1.o0
run at the beginning
LAMMPS (31 Mar 2017)
......