zhubonan / aiida-castep

Interface with AiiDA to automate CASTEP calculations and preserve their provenance.
MIT License
7 stars 3 forks source link
aiida castep materials-science

AiiDA plugin for working with CASTEP

Docs status

pipeline status Binder

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:

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:

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

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.