Package: matador-db
matador is an aggregator, manipulator and runner of first-principles calculations, written with a bent towards battery electrode materials.
The source can be found onGitHuband online documentation is hosted atReadTheDocs.Example Jupyter notebooks and tutorials can be foundonlineor in theexamples/folder of the matador source code.Written & maintained byMatthew Evans(2016-).InstallationIn the simplest case (e.g. you already have Python 3.7+ set up),pip installmatador-dbis sufficient to get up and running, preferably in a fresh virtual environment.Upgrading to the latest version should be as simple aspip install-Umatador-db.For an editable development installation, clone the source code from this repository and runpip install-e.from the matador folder. Tests can be run on your local machine withpython-munittest discover-v-bor simply withpy.testafter test dependencies have been installed withpip install .[test]. In order to test CASTEP-running functionality, the tests will look for an MPI-enabled executable namedcastepon your$PATH.Further instructions can be found in theInstallation instructions.Usagematadoris primarily a Pythonlibrarythat can be used inside Python scripts/modules to create a custom workflow. There are, however, several command-line scripts bundled withmatadoritself. All of these scripts are listed underCLI Usage.For basic command-line usage, please explore the help system for each command. Common workflows can be found insideexamples/and in theonline docs.Please consult the fullPython API documentationfor programmatic usage.Core functionalityThe API has many features that can be explored in the examples and API documentation. As a summary,matadorcan be used for:Scraping of CASTEP (and Quantum Espresso) input/output files into flexible Python dictionaries/models.The creation and curation of MongoDB collections of geometry optimisation calculations, with a powerful querying CLI/API.Customisable, publication-ready plots for all models, e.g. phase diagrams, PDF, PXRD, voltage profiles, electronic/vibrational bandstructures etc.High-throughput geometry optimisations, electronic and vibrational properties using CASTEP (and Quantum Espresso) withrun3. Tested on several supercomputers.run3is designed primarily for simple workflows and offers little in the way of tools for creating complex workflows; if this is your use case, then check out some of the other codes listed below.Creation of phase diagrams and electrochemical voltage profiles from the results of DFT calculations.This functionality is achieved by interfacing with much of the standard scientific Python stack (NumPy,SciPy,matplotlib), some more materials-specific packages (spglib,SeeK-path,periodictable) and other general packages (pymongo,python-ternary,numba).Similar packagesThis package is by no means unique in its functionality or goals. Below is a list of similar packages and an overview of where they overlap withmatador:ASE: manipulation of structures, parsing and exporting files, running jobs and local databases withase-db. An interface is provided to ASE’sAtomsobject.pymatgen: similar to ASE, with a focus on the VASP DFT code. An interface is provided to pymatgen’sStructureobject. Local databases can be constructed with thepymatgen-dbadd-on and high-throughput workflows are achieved withFireworks.AiiDA: high-throughput job running, provenance tracking and database storage for many simulation codes.sumopublication quality plotting, primarily for VASP but also with support for other codes.If you think this list is outdated, incorrect or simply incomplete, then please raise an issue!Citing matadorIf you use matador in your work, we kindly ask that you citeMatthew L. Evans, Andrew J. Morris,matador: a Python library for analysing, curating and performing high-throughput density-functional theory calculationsJournal of Open Source Software, 5(54), 2563 (2020)10.21105/joss.02563Source code archives for all versions above 0.9 can be found at ZenodoDOI 10.5281/zenodo.3908573.