DL_POLY

DL_POLY is a package of subroutines, programs and data files, designed to facilitate molecular dynamics simulations of macromolecules, polymers, ionic systems and solutions on a distributed memory parallel computer. However DL_POLY is available in two different forms: DL_POLY_Classic (written by Bill Smith & Tim Forester, http://www.ccp5.ac.uk/DL_POLY_CLASSIC/) and DL_POLY_5 (written by Ilian Todorov & Bill Smith), only PL_POLY_5 is installed here.

Installed versions

5.1.0 (installed)

Submitting an DL_POLY calculation

The working directory must contain the CONFIG, CONTROL, and FIELD files in order to run a calculation with DL_POLY. This example describes a 2 ns long molecular dynamics simulation of 864 argon atoms in the original simulation box under periodic boundary conditions at 50 K. All files belonging to the project must be located in the same directory.

  1. The necessary coordinate file (CONFIG) can be accessed from here CONFIG

  2. The force field parameters are in FIELD which can be accessed from here FIELD

  3. The MD parameters goes to CONTROL input:

argon LJ NVT equilibration (864) - 50K, Langevin thermostate, 10.0 Ang, 2ns

restart scale
temperature           50.0
equilibration steps   20000
steps                 20000
timestep              0.001

cutoff                10.0
rvdw                  10.0
ewald precision       1d-6

ensemble              nvt  langevin             0.5

print every           100
stats every           100
traj                  1000 1000 0

collect
job time              100
close time            10

finish

Please note that the files mentioned above are highly sensitive to syntax; even minor formatting errors can lead to runtime failures.

(4) Job submission script (subDL_Poly.sh) for a standard DL_POLY SLURM job (Before submitting a calculation, the following files must be removed to avoid any interference from previous calculations performed in the same directory: REVOLD, REVCON, REVIVE*, REVCFG*, STATIS, HISTORY, OUTPUT.):

#!/bin/bash
#SBATCH -J DL_POLY
#SBATCH -p cpu
#SBATCH -N 1
#SBATCH -t 24:00:00
#SBATCH -o slurm-%j.out
#SBATCH -e slurm-%j.err

set -euo pipefail

# --- Modules ---
module purge
module load PrgEnv-gnu/8.6.0
module load cray-mpich/8.1.31
module load libfabric/1.22.0

cd "$SLURM_SUBMIT_DIR"

# --- Clean restart artifacts ---
rm -f REVOLD REVCON REVIVE* REVCFG* STATIS HISTORY OUTPUT

# --- Threading (safe defaults) ---
# If you submit with --cpus-per-task, keep OMP in sync (harmless if unused).
export OMP_NUM_THREADS="${SLURM_CPUS_PER_TASK:-1}"
export OMP_PLACES=cores
export OMP_PROC_BIND=close

# --- Info ---
echo "JobID:             ${SLURM_JOB_ID}"
echo "Partition:         ${SLURM_JOB_PARTITION}"
echo "Nodes:             ${SLURM_JOB_NUM_NODES}"
echo "MPI tasks:         ${SLURM_NTASKS:-1}"
echo "CPUs per task:     ${SLURM_CPUS_PER_TASK:-1}"
echo "OMP_NUM_THREADS:   ${OMP_NUM_THREADS}"
echo "Node list:         ${SLURM_NODELIST}"
echo "Working directory: $(pwd)"

# --- Run ---
DLPOLY_BIN="/opt/software/packages/DLPOLY/5.1.0/bin/DLPOLY.Z"

# Run exactly as allocated (no conflicting SBATCH lines)
srun -n "${SLURM_NTASKS:-1}" "${DLPOLY_BIN}"

To submit the DL_POLY job via SLURM to the KOMONDOR CPU queue, the job is executed on one compute node using 4 MPI tasks:

sbatch -p cpu -N 1 -n 4 subDL_Poly.sh

You can find DL_POLY-specific information at the following locations:

https://ccp5.gitlab.io/dl-poly/

https://www.jiscmail.ac.uk/cgi-bin/webadmin?A0=DLPOLY

https://github.com/ccp5UK/dl-poly/blob/devel/Release.md#version-510-december-2021

DL_poly should be cited as

Please cite the following reference when publishing results obtained with DL_POLY:

Todorov, W. Smith, The DL POLY 4.0 User Manual, STFC Daresbury Laboratory, Daresbury, Warrington WA4 4AD, Cheshire, UK (October 2010). URL http://www.ccp5.ac.uk/DL_POLY/

Last update by Milán SZŐRI: 2026-01-16