DL_POLY

If you are a windows user – please ensure you create your jobscript ON THE CSF directly using gedit. This will prevent your job going into error (Eqw). Text files created on windows have hidden characters that linux cannot read. For further information please see the guide to using the system from windows, in particular the section about text & batch submission script files.

Overview

This page documents the use of DL_POLY 4, a classical molecular dynamics simulation package.

DL_POLY 4.09 has been compiled with PLUMED support using the Intel 17.0.7 compilers and OpenMPI 3.1.1. The current modulefile is:

apps/intel-17.0/dl_poly/4.09

Restrictions on use

Whilst the software is free for academic usage there are limitations within the license agreement which must be strictly adhered to by users. All users who wish to use the software must request access to the dlpoly4 unix group. A copy of the full license is available on the CSF in

/opt/apps/apps/intel-17.0/dl_poly/4.09/LICENCE

Important points to note are:

  • No industrially-funded work must be undertaken using the software. See clauses 2.1.3 and 2.2 of the license.
  • The software is only available to Staff and Students of the University of Manchester. Users are reminded that they must not share their password with anyone, or allow anyone else to use their account.
  • Citation of the software must appear in any published work. See clause 4.2 for the required text.

There is no access to the source code on the CSF.

Running the application

Please do not run DL_POLY on the login node. Jobs should be submitted to the compute nodes via the batch submission system. Only a parallel version has been compiled; users are should consider DL_POLY Classic for serial jobs. However, DL_POLY 4 scales very well and running in parallel is recommended.

The DL_POLY_4 executable is named DLPOLY.Z

Parallel batch job submission

Create a jobscript in the directory containing your input files (minimum of CONTROL, CONFIG, and FIELD).

Example submission – single node up to 32 cores

Add the following to your jobscript:

#!/bin/bash  --login
#$ -cwd
#$ -pe smp.pe 8      # Max 24 cores in this Parallel Environment.

module load apps/intel-17.0/dl_poly/4.09

# NSLOTS is automatically set to the number of cores request on the PE line

mpirun -n $NSLOTS DLPOLY.Z

Your working directory should now look something like this (the name of the script does not matter):

$ ls 
CONFIG  CONTROL  FIELD  jobscript.sh

Submit the job using

qsub jobscript

where jobscript is the name of your jobscript.

On successful completion of the job your directory should now contain the following files, where the 3 filenames beginning “jobscript” will change according to the name of your script (and job name if specified):

$ ls 
CONFIG  CONTROL  FIELD  jobscript.sh  jobscript.sh.e42059  jobscript.sh.o42059  OUTPUT  REVCON  REVIVE  STATIS

The files suffixed “.e<jobscript>” and “.o<jobscript>” should both be empty if the job ran successfully. In the event of a failure, their contents should be useful in determining what went wrong.

Example jobscript – Multi node jobs – 48 cores or more in multiples of 24

Modify/create your jobscript as follows:

#!/bin/bash --login
#$ -cwd
#$ -pe mpi-24-ib.pe 48     

module load apps/intel-17.0/dl_poly/4.09

mpirun -n $NSLOTS DLPOLY.Z

Submit the job as for the previous example, again using

qsub jobscript

where jobscript is the name of your jobscript.

Restarting jobs

Jobs on the CSF are limited to running for a maximum of 7 days (see the guide on time limits for more information), therefore jobs that will take longer than this to complete must be restarted. DL_POLY allows for the graceful termination and subsequent restart of jobs using the following procedure:

    1. Add the “job time” and “close time” directives to the CONTROL file. The former specifies the number of seconds for which the job may run before termination, while the latter specifies the number of seconds available for the completion I/O (i.e. write all output to disk). This number must be no greater than the walltime limit of the batch job, the point at which the scheduler will kill the job. For example, to allow the job to run for 7 days with 60 seconds to complete I/O, specify:
      job time   604800
      close time 60
      
    2. To restart the job, insert the “restart” directive to the CONTROL file (consult the manual for additional options available for the specification of restarting conditions), copy the file “REVCON” to “CONFIG” (you may wish to back up your original CONFIG file first), and finally copy the file “REVIVE” to “REVOLD”:
      $ gedit CONTROL
      $ cp CONFIG CONFIG.bak
      $ cp REVCON CONFIG
      $ cp REVIVE REVOLD
      
    3. Submit the job as normal.

In the unfortunate event that your job terminates unexpectedly, it is also possible to attempt to restart the job using the same procedure. Please consult the DL_POLY manual regarding potential issues that may arise in this scenario.

Note: DL_POLY will append to some output files, but overwrite others.

Multiple similar jobs

If you wish to submit a large number of DL_POLY jobs in quick succession, e.g. running with different input files, each in their own directory and in order to process lots of different simulations, then please follow the instructions detailed in the page Job Arrays. Job Arrays place considerably less strain on the batch system compared to submitting many individual jobs.

Further info

Last modified on March 14, 2019 at 7:48 pm by George Leaver