DL POLY

From Alliance Doc
Jump to navigation Jump to search


This article is a draft

This is not a complete article: This is a draft, a work in progress that is intended to be published into an article, which may or may not be ready for inclusion in the main wiki. It should not necessarily be considered factual or authoritative.




General[edit]

DL_POLY is a general purpose classical molecular dynamics (MD) simulation software developed at Daresbury Laboratory by I.T. Todorov and W. Smith.

Currently, only one version of the DL_POLY software is available under an STFC licence, DL_POLY_4, and with support provisioned to the UK's academia only. The former DL_POLY_2 version (authored by W. Smith, T.R. Forester and I.T. Todorov) is now transformed into DL_POLY_Classic and available as open source under the BSD at CCPForge.

DL_POLY_4 general design provides scalable performance from a single processor workstation to a high performance parallel computer. It is supplied in source form under license and can be compiled as a serial application code, using only a Fortran90 compiler, or as a parallel application code, provided an MPI2 instrumentation is available on the parallel machine. DL_POLY_4 offers fully parallel I/O as well as a netCDF alternative (HDF5 library dependence) to the default ASCII trajectory file.

License limitations[edit]

To get access to DL_POLY on Compute Canada clusters, users need first to register at http://www.scd.stfc.ac.uk/SCD/40526.aspx and send proof of registration by forwarding the confirmation email to support.

The confirmation email should include:

Dear xxxx,
You have registered for a free copy of the DL_POLY_4 program and thus
accepted the terms and conditions of the DL_POLY_4 ACADEMIC LICENCE!
You have provided the following details at registration:
Department: xxx
Institution: xxx
Address: xxx
Town/City: xxx
Post Code: xxx
Country: xxx
Science Domain: xxx

Modules[edit]

To see which versions of DL_POLY are installed on Compute Canada systems, run module spider dl_poly4. See Using modules for more about module subcommands.

On of the options to load the module is:

module load nixpkgs/16.09 intel/2018.3 openmpi/3.1.2 dl_poly4/4.08

Note: The Java GUI interface is not supported in this module.

Getting started[edit]

Scripts and examples[edit]

The input files (CONTROL and FIELD) were take from the example TEST01 that can be downloaded from the page of DL_POLY examples.

To start a simulation, one need to have at least 3 files:

  • CONFIG: simulation box (atomic coordinates).
  • FIELD: force field parameters.
  • CONTROL: simulation parameters (time step, number of MD steps, simulation ensemble, ...etc).
File : CONTROL

SODIUM CHLORIDE WITH (27000 IONS)

restart scale
temperature           500.0
equilibration steps   20
steps                 20
timestep              0.001

cutoff                12.0
rvdw                  12.0
ewald precision       1d-6  

ensemble nvt berendsen 0.01

print every           2
stats every           2
collect
job time              100
close time            10

finish


File : FIELD

SODIUM CHLORIDE WITH EWALD SUM (27000 IONS)
units internal
molecular types 1
SODIUM CHLORIDE
nummols 27
atoms 1000
Na+          22.9898         1.0  500
Cl-           35.453        -1.0  500
finish
vdw    3 
Na+     Na+     bhm      2544.35      3.1545      2.3400   1.0117e+4   4.8177e+3
Na+     Cl-     bhm      2035.48      3.1545      2.7550   6.7448e+4   8.3708e+4
Cl-     Cl-     bhm      1526.61      3.1545      3.1700   6.9857e+5   1.4032e+6
close


File : run_serial_dlp.sh

#!/bin/bash

#SBATCH --account=def-someuser
#SBATCH --ntasks=1
#SBATCH --mem-per-cpu=2500M      # memory; default unit is megabytes.
#SBATCH --time=0-00:30           # time (DD-HH:MM).

# Load the module:

module load nixpkgs/16.09 intel/2018.3 openmpi/3.1.2 dl_poly4/4.08

echo "Starting run at: `date`"

dlp_exec=DLPOLY.Z

${dlp_exec}

echo "Program finished with exit code $? at: `date`"


File : run_mpi_dlp.sh

#!/bin/bash

#SBATCH --account=def-someuser
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=4
#SBATCH --mem-per-cpu=2500M      # memory; default unit is megabytes.
#SBATCH --time=0-00:30           # time (DD-HH:MM).

# Load the module:

module load nixpkgs/16.09 intel/2018.3 openmpi/3.1.2 dl_poly4/4.08

echo "Starting run at: `date`"

dlp_exec=DLPOLY.Z

srun ${dlp_exec}

echo "Program finished with exit code $? at: `date`"


Related software[edit]