Package: aiida-castep
AiiDA plugin for working with CASTEPA plugin forAiiDAto work with plane-wave pseudopotential DFT codeCASTEP.
CASTEP has a single binary executable and calculation is primarily controlled by thetaskkeyword.
The genericCastepCalculationshould work with all tasks, at least in terms of generating input files.
Likewise a genericCastepParserclass is implemented and can handle parsing most information we are interested insinglepoint,geometryoptimisation,bandstructure/spectraltasks.
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:or a series of operations and automated 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 asUspData(sub-class ofSingleFileData) in AiiDA database and create/use of pseudo family groups.Store OTFG generating strings asOTFGDatain 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 inpositions_absblock file should also work, e.gLABEL,SPIN,MIXTURE.Parsing energy, force, stress from output .castep file and .geom fileParsing 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 calculationsAcreate_restartfunction for easy creation of continuation/restart calculations. Input can be altered usingparam_updateandparam_deletekeyword arguments. Automatic copying/linking of remote check files by AiiDA.Aget_castep_inputs_summaryfunction to print a summary of inputs of a calculations.Acompare_withmethod to compare the inputs of two calculations.DocumentationQuick glimpse into how to use the plugin for running calculations:Running CastepCalculationRunning CastepBaseWorkChainDocumentation is hosted at Read the Docs:dev versionmaster versionDependenciesThe primary dependency is theaiida_corepackage. The dependencies are:The plugin version 2.0 and above support onlyaiida_core>=2.0.The plugin version 1.0 and above support onlyaiida_core>=1.0.0b6, <2.The plugin version 0.3 support onlyaiida_core0.12.x versions.There is only minor API changes in theaiida_corebetween v1 and v2, scripts written should be compatible between the two.Todos and nice-to-havesMethods for importing existing calculationsSupport for submitting file based CASTEP calculations.At the moment there is no enforcement on the type inDictinput node. For example, settingsmearing_widthto 0.1 and "0.1" is equivalent, but they will store differently in the database.How to testThe tests uses thepytestframework. First, install with the dependenciespip install aiida_core[testing]
pip install aiida-castep[testing]Then you can run the commandpytestfrom the project directory.