aiida-dlpoly
An AiiDA plugin for the DL_POLY molecular/particle dynamics software.
Installation
This plugin is available through PyPI and should be installed using pip
or an equivalent python package manager.
pip install aiida-dlpoly
Requirements
To use this plugin a configured AiiDA profile and computer instance are required, see the AiiDA documentation for instructions on how to install and configure AiiDA and AiiDA code setup for how to configure AiiDA to link to external software.
Setup
To configure the DL_POLY plugin, an AiiDA code instance needs to be configured for the DL_POLY executable. The following is an example of a basic YAML configuration file:
label: dlpoly
description: DL_POLY
computer: localhost
filepath_executable: /absolute/path/to/DLPOLY.Z
default_calc_job_plugin: dlpoly
use_double_quotes: false
with_mpi: true
prepend_text: ''
append_text: ''
Write this to a file named dlpoly_config.yml ensuring the value for computer matches the label of your
configured computer instance and the filepath_executable entry is the absolute path to a compiled DL_POLY executable.
The code can then be configured by running:
verdi code create core.code.installed --config dlpoly_config.yml -n
If successful this will have created a code with the label dlpoly which can then be used to run DL_POLY jobs
within the AiiDA workflow.
Examples
An example script for running an simple molecular dynamics simulation with existing CONTROL, FIELD and CONFIG input
files is given below.
from aiida.engine import run
from aiida.orm import SinglefileData, load_code
from aiida import load_profile
load_profile("username") # Replace with your own AiiDA username
builder = load_code("dlpoly").get_builder()
builder.control = SinglefileData(file="/absolute/path/to/CONTROL") # Change these to the absolute paths to input files
builder.field = SinglefileData(file="/absolute/path/to/FIELD")
builder.configuration = SinglefileData(file="/absolute/path/to/CONFIG")
results, node = run.get_node(builder)
By default the calculation will produce three output nodes, a SinglefileData node containing the generated OUTPUT file
from DL_POLY, an ArrayData node containing the calculated statistics from the simulation and another SinglefileData
node containing the
DL_POLY formatted REVCON file.
Additionally the following optional output nodes are supported by the aiida-dlpoly plugin:
- Trajectory history (TrajectoryData)
- Radial distribution function (SinglefileData)
These will be generated if the relevant input keys are present in the DL_POLY CONTROL file. Further information on
AiiDA data types and how to interact with them can be found in the
AiiDA documentation.
The aiida-dlpoly plugin additionally allows alternative input methods for the CONTROL and CONFIG inputs,
which can both be optionally specified as a Dict or StructureData node respectively. The plugin itself will
then handle the relevant file formatting for to be compatible with DL_POLY. An example showing these alternative
inputs methods is shown below, it assumes an AiiDA StructureData node already exists in the user's database.
from aiida.engine import run
from aiida.orm import Dict, load_node, SinglefileData, load_code
from aiida import load_profile
load_profile("username") # Replace with your own AiiDA username
builder = load_code("dlpoly").get_builder()
builder.field = SinglefileData(file="/absolute/path/to/FIELD") # Change these to the absolute paths to input file
builder.configuration = load_node(pk=10) # Replace with the pk of the StructureData node or create a new StructureData node
builder.control = Dict({
"title": "DL_POLY example MD simulation",
"temperature": (295.0, "K"),
"coul_method": "OFF",
"print_frequency": (100, "steps"),
"stats_frequency": (10, "steps"),
"padding": (0.2, "ang"),
"cutoff": (7.5, "ang"),
"ensemble": "nve",
"time_run": (2000, "steps"),
"time_equilibration": (1000, "steps"),
"time_job": (3000.0, "s"),
"time_close": (100.0, "s"),
"timestep": (0.001, "ps"),
"rescale_frequency": (5, "steps"),
})
results, node = run.get_node(builder)
Metadata
Release files for aiida-dlpoly 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aiida_dlpoly-0.1.2.tar.gz | 16.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aiida_dlpoly-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.7 kB
Release files / aiida_dlpoly-0.1.2.tar.gz
| Download URL | aiida_dlpoly-0.1.2.tar.gz |
|---|---|
| Size | 16.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bed9738bd73796b9fdc3f971d498fd5a17bcf47d6de5312fbaed9d44d79199a0
|
|
BLAKE2b-256 checksum How to use checksums |
39b4cd930360dc7a8edd3a935607e84b2b9ff988ec10a84524c8f3cff592efeb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / aiida_dlpoly-0.1.2-py3-none-any.whl
| Download URL | aiida_dlpoly-0.1.2-py3-none-any.whl |
|---|---|
| Size | 13.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c3e1917071183a8bf0d2ae71f0a21ff49739eb126846f947233d7e2701f61982
|
|
BLAKE2b-256 checksum How to use checksums |
d5e723a93a948831fc93eb4fb071b5d49bb2fb0dc9e8918be13333861d2599f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|