software
Software we contribute to
MDIG is involved in a number of open source software projects for the materials science community. We believe in the power of open software to enrich and improve science. We try, wherever possible, to ensure that our computational work is accompanied by easy to use software. This often requires some significant additional effort and at times we have definitely cursed the decision to make software open and accessible, but the rewards have always been more than worth the effort.
MACE-Field
MACE-Field extends the MACE interatomic potential to learn electric-field–dependent energy functionals for molecules and periodic materials. From a single scalar electric enthalpy, MACE-Field exposes dielectric response observables via automatic differentiation, ensuring derivative consistency by construction.
MACE-Field in action
CrystaLLM-π
CrystaLLM-π is a Transformer-based system for generating crystalline structures as CIF files. It supports both unconditional generation and four conditional architectures that can generate structures based on target properties like bandgap, density, photovoltaic efficiency and XRD patterns.
- Code: https://github.com/C-Bone-UCL/CrystaLLM-pi
- Docs: https://github.com/C-Bone-UCL/CrystaLLM-pi
- WebApp: https://crystallm-pi.psdi.ac.uk/
CrystaLLM-π in action
SMACT
Semiconducting Materials by Analogy and Chemical Theory (SMACT) is a Python package for high-throughput virtual screening for new functional materials. SMACT uses chemical heuristics to search through vast compositional spaces to identify target functional materials. SMACT also has functionallity for deriving reasonable crystal structures for a given composition and can be used to interface with a range of modern machine learning techniques and atomistic modelling packages.
pip install smact
SMACT in action
Some publications where SMACT has been used to discover new materials:
- Computational Screening of All Stoichiometric Inorganic Materials
- Data-driven discovery of photoactive quaternary oxides using first-principles machine learning
- Computer-aided design of metal chalcohalide semiconductors: from chemical composition to crystal structure
- Materials discovery by chemical analogy: role of oxidation states in structure prediction
MacroDensity
MacroDensity is a Python package for analysing and manipulating electron densities and electrostatic potential maps obtained from modern electronic strucutre codes. The primary functionality of MacroDensity is to obtain energy band alignment diagrams for extended solids, however it can also be used to explore and study potential maps for any arbitrary property.
pip install git+git://github.com/WMD-group/MacroDensity.git
MacroDensity in action
Some publications where MacroDensity has been used:
- Electronic Chemical Potentials of Porous Metal–Organic Frameworks
- Crystal electron binding energy and surface work function control of tin dioxide
- Quasi-particle electronic band structure and alignment of the V-VI-VII semiconductors SbSI, SbSBr, and SbSeI for solar cells
- Interplay of Orbital and Relativistic Effects in Bismuth Oxyhalides: BiOF, BiOCl, BiOBr, and BiOI
- Band alignment of the hybrid halide perovskites CH3NH3PbCl3, CH3NH3PbBr3 and CH3NH3PbI3
SkipAtom
SkipAtom is an approach for creating distributed representations of atoms, for use in Machine Learning contexts. It is based on the Skip-gram model used widely in Natural Language Processing. SkipAtom is written by Luis Antunes who is currently pursuing a PhD at the University of Reading.
SkipAtom can be installed with:
pip install skipatom
However, this will install a minimal implementation that can be used to work with existing SkipAtom embeddings only. To train new embeddings, SkipAtom should be installed with:
pip install skipatom[training]
SkipAtom in action
CraTENet
CraTENet is a multi-output deep neural network with multi-head self-attention for thermoelectric property prediction, based on the CrabNet architecture.
CraTENet in action
UnlockNN
UnlockNN is a Python package which can be used to combine the expressive power of graph neural networks with the principled uncertainty quantification of Gaussian processes. UnlockNN was written by Alex Moriarty - currently at UCL - and uses TensorFlow and TensorFlow Probability for an efficient implementation.
pip install unlocknn
UnclockNN in action
Some publications where UnlockNN has been used:
SuperResTomo
superres-tomo is a package of useful scripts and models for applying neural networks for tomographic reconstruction of X-ray images. The package also includes models and scripts useful for the analysis of the images generated, allowing tasks such as semantic segmentation of very large images and removing noise from low dose images.