Skip to main content

AiiDA plugin for CASTEP

Project description

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.

Dependencies

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

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

Due to major design and API changes in the aiida_core, scripts written are incompatible between and new versions.

Documentation

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

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiida-castep-1.2.0a2.tar.gz (262.5 kB view details)

Uploaded Source

Built Distribution

aiida_castep-1.2.0a2-py3-none-any.whl (289.3 kB view details)

Uploaded Python 3

File details

Details for the file aiida-castep-1.2.0a2.tar.gz.

File metadata

  • Download URL: aiida-castep-1.2.0a2.tar.gz
  • Upload date:
  • Size: 262.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for aiida-castep-1.2.0a2.tar.gz
Algorithm Hash digest
SHA256 204b190e9d0b02315f822171f12ccb483736eae1dfd56a368bb6179235e04c7e
MD5 73f6e01d197f1c729a37892f3d7a8808
BLAKE2b-256 df2b730f9c2a2207b4816799da4ee3f9b3e720302b5ba17c4b15cb0124084b26

See more details on using hashes here.

File details

Details for the file aiida_castep-1.2.0a2-py3-none-any.whl.

File metadata

  • Download URL: aiida_castep-1.2.0a2-py3-none-any.whl
  • Upload date:
  • Size: 289.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for aiida_castep-1.2.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 fa315b39fd56ad43f5ca374f37de5e7be6bf784dd54247786f95c95ef1507e17
MD5 f2768480e14fe902d6c9bd33707cde30
BLAKE2b-256 e6455d01080f1644fd4a7e7a6f17448668cc376766e5e3d88f9f606ff77a706a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page