LAMMPS
Overview
LAMMPS: Molecular Dynamics Simulator: LAMMPS is a classical molecular dynamics code with a focus on materials modeling. It's an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS has potentials for solid-state materials (metals, semiconductors) and soft matter (biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be used to model atoms or, more generically, as a parallel particle simulator at the atomic, meso, or continuum scale.
LAMMPS is built with a number of packages. If a required package isn't installed please contact ARCC and request what you need.
Using
Use the module name lammps
to discover versions available and to load the application.
Multicore
The lmp
command can be used across multiple nodes (mpi) and cores (openmp). In general you can simply use the srun
command. There is an early version on Teton that requires mpirun
- see the table below.
General Rules
You have to request, allocate, and match the number of MPI slots for LAMMPS.
Use the three parameters:
nodes
,ntasks-per-node,
andcpus-per-task
:nodes
xntasks-per-node
defines the number of slots.cpus-per-task
defines the number of OpenMP threads.
By default, only one OpenMP thread is used. If you wish to increase this you must define and set the
OMP_NUM_THREADS
environment variable.Use:
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
Beartooth Update History
Module Version | LAMMPS Stable Version | Packages Enabled |
---|---|---|
20230118 | 22 Dec 2022 | ADIOS, ATC, DIFFRACTION, KSPACE, MANYBODY, MEAM, ML-IAP, MOLECULE, REAXFF, REPLICA, RIGID and VORONOI |
20220623 | 23 Jun 2022 | ADIOS, ATC, DIFFRACTION, KSPACE, MANYBODY, MEAM, MOLECULE, REAXFF, REPLICA, RIGID and VORONOI |
Teton Update History:
Module Version | LAMMPS Stable Version | Packages Enabled |
---|---|---|
20220623 | 23 Jun 2022 | ADIOS, ATC, DIFFRACTION, KSPACE, MANYBODY, MEAM, MOLECULE, REAXFF, REPLICA, RIGID, and VORONOI srun lmp -in SC.in |
20210809 | 29 Oct 2020 | KSPACE, MANYBODY, MOLECULE, RIGID, REPLICA, USER-ADIOS, USER-ATC, USER-DIFFRACTION, USER-MEAMC, USER-REAXC and VORONOI |
20201001 | 3 Mar 2020 | KSPACE, MANYBODY, MOLECULE, RIGID, REPLICA, USER-ADIOS, USER-ATC, USER-MEAMC, USER-REAXC and VORONOI Note: CPM fails to build with the later version of LAMMPS. |
20200324 |
| CPM, KSPACE, MANYBODY, MOLECULE, RIGID, USER-ADIOS, USER-ATC, USER-MEAMC, USER-REAXC, and VORONOI |
20200305 |
| CPM, KSPACE, MANYBODY, MOLECULE, USER-ADIOS, USER-ATC, USER-MEAMC, USER-REAXC, and VORONOI |
20200227 |
| MANYBODY, MOLECULE, VORONOI, USER-ATC, USER-MEAMC, USER-REAXC, and USER-ADIOS |
20190807 |
| MOLECULE and USER-REAXC #SBATCH --nodes=1
#SBATCH --ntasks-per-node=16
mpirun -np 16 lmp -in SC.in
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=32
mpirun -np 64 lmp -in SC.in
#SBATCH --nodes=4
#SBATCH --ntasks-per-node=16
#SBATCH --cpus-per-task=2
export OMP_NUM_THREADS=2
TOTAL_NP=$(($SLURM_JOB_NUM_NODES*$SLURM_CPUS_ON_NODE/$SLURM_CPUS_PER_TASK))
mpirun -np $TOTAL_NP lmp -in SC.in |
Using Version 20201001 with REPLICA Package
Details of the Multi-replica simulations:
To run this on Teton, the value of the partition configuration must match the total number of tasks requested. For example:
srun lmp -partition 4x1 -in in.neb.hop1
So, with 4x1 = 4 then you’ll need to request four tasks, which can be requested in a number of nodes
/ntasks_per_node
configurations:
In each case nodes x ntasks-per-node
: = 4
If you require:
Then you’ll need a total of 3x3=9 tasks.
Which one to choose? This will depend on:
How many
cpus-per-task
you request, wherentasks-per-node x cpus-per-task
is the total number of cores required on a node, will determine which nodes you are allocated.How much memory is required per task.