Skip to main content

AiiDA plugin for working with CASTEP

Docs status

pipeline status

A plugin for AiiDA to work with plane-wave pseudopotential DFT code CASTEP. CASTEP has a single binary executable and calculation is primarily controlled by the task keyword. The generic CastepCalculation should work with all tasks, at least in terms of generating input files. Likewise a generic CastepParser class is implemented and can handle parsing most information we are interested in singlepoint, geometryoptimisation, bandstructure/spectral tasks. Most output files are retrieved if present, and it is possible to explicitly request retrieval from the remote computer. The goal of this plugin is not to provide a comprehensive parser of the CASTEP results, but to build a graph of calculations performed for provenance preservation and workflow automation. Input and output of a simple calculation:

Asingle calculation

or a series of operations and automated calculations:

A series of calculations

The raw files can always be extracted from the database and analysed by the post-processing tools of choice. Even better, such tools may be integrated with the AiiDA framework and have the analysis appended to the provenance graph.

Highlights of available features:

  • Storing usp/recpot as UspData (sub-class of SingleFileData) in AiiDA database and create/use of pseudo family groups.
  • Store OTFG generating strings as OTFGData in AiiDA. Create of family/group are also supported. OTFG library (such as "C19") are represented as a OTFG string works for all elements.
  • Preparation of CASTEP input files. Writing cell and parameters files are both supported. Tags in positions_abs block file should also work, e.g LABEL, SPIN, MIXTURE.
  • Parsing energy, force, stress from output .castep file and .geom file
  • Parsing trajectory from .geom, .ts, .md files.
  • Checking errors in .param and .cell files before submitting, using dictionaries shipped from built from CASTEP executable.
  • Extra KpointData input node for BS, SEPCTRAL and PHONON tasks.
  • Preparing transition state search calculations
  • A create_restart function for easy creation of continuation/restart calculations. Input can be altered using param_update and param_delete keyword arguments. Automatic copying/linking of remote check files by AiiDA.
  • A get_castep_inputs_summary function to print a summary of inputs of a calculations.
  • A compare_with method to compare the inputs of two calculations.

Documentation

Quick glimpse into how to use the plugin for running calculations:

Documentation is hosted at Read the Docs:
dev version
master version

Dependencies

The primary dependency is the aiida_core package. The dependencies are:

  • The plugin version 2.0 and above support only aiida_core>=2.0.
  • The plugin version 1.0 and above support only aiida_core>=1.0.0b6, <2.
  • The plugin version 0.3 support only aiida_core 0.12.x versions.

There is only minor API changes in the aiida_core between v1 and v2, scripts written should be compatible between the two.

Todos and nice-to-haves

  • Methods for importing existing calculations
  • Support for submitting file based CASTEP calculations.
  • At the moment there is no enforcement on the type in Dict input node. For example, setting smearing_width to 0.1 and "0.1" is equivalent, but they will store differently in the database.

How to test

The tests uses the pytest framework. First, install with the dependencies

pip install aiida_core[testing]
pip install aiida-castep[testing]

Then you can run the command pytest from the project directory.

Metadata

Release files for aiida-castep 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aiida-castep 2.0.1
File Size Uploaded
aiida-castep-2.0.1.tar.gz 140.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aiida-castep 2.0.1
File Interpreter ABI Platform
aiida_castep-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 299.4 kB

Release files / aiida-castep-2.0.1.tar.gz

Download URL aiida-castep-2.0.1.tar.gz
Size 140.0 kB
Tags Source
SHA-256 checksum
How to use checksums
2e64174f48a2e6b41d46480e21713a15de0e4f429699d75c0ff420dca008aebc
BLAKE2b-256 checksum
How to use checksums
3f947e57a23ca7b62416eaa1a99b5904910c0fee2b4992f4fce59c4e2a9bc08c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.13

Release files / aiida_castep-2.0.1-py3-none-any.whl

Download URL aiida_castep-2.0.1-py3-none-any.whl
Size 159.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c6955875e2047ce6d943a2758b09c30fa58009eabcfe6aa9f12776402db35090
BLAKE2b-256 checksum
How to use checksums
e97495d9aa61c65b072cd82e5b8efff6b3804c4b0562aefa358995e4b9c88d9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.13
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page