DL POLY

From Alliance Doc
Revision as of 14:22, 29 April 2019 by Stubbsda (talk | contribs)
Jump to navigation Jump to search


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]