janosh / dielectrics

Pushing the Pareto front of band gap and permittivity with ML-guided dielectric materials discovery incl. experimental synthesis and characterization.

Home Page:https://janosh.github.io/dielectrics/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ML-Guided Dielectric Materials Discovery

arXiv pre-commit.ci status Requires Python 3.10+ GitHub repo size Pareto Plot Zenodo

This repo implements a dielectric materials discovery workflow that integrates ML as the first filter in a multi-step funnel. We use surrogate models for band gaps, dielectric constants, and formation energies. Instead of exact Cartesian coordinates, we use Wyckoff positions as ML inputs for a coordinate-free, coarse-grained crystal structure representation. This enables rapid generation, stability prediction and property screening of novel structures through elemental substitutions. Following DFPT validation of the most promising candidates, the last selection step is an expert committee to incorporate human intuition when weighing the risks, precursor availability and ease of experimental synthesis of high-expected-reward materials. We validate the workflow by feeding it 135k generated structures as well as Materials Project and WBM materials which are ML-screened down to 2.7k DFPT calculations. Our deployment culminated in making and characterizing two new metastable materials in the process: CsTaTeO6 and Bi2Zr2O7 which partially and fully satisfy our target metrics, respectively.

Interactive Pareto Front Plot

The most interesting materials in our dataset are viewable in an interactive Plotly scatter plot at

https://janosh.github.io/dielectrics

Database Access

Read-only credentials for MongoDB Atlas M2 instance holding 2.7k DFPT results:

host: mongodb+srv://atomate-cluster.q8s9p.mongodb.net
port: 27017
database: dielectrics
collection: tasks
readonly_user: readonly
readonly_password: kHsBcWwTb4

Example Python code using pymongo to filter our 2.7k DFPT results for all materials with figure or merit $\Phi_\text{M} > 200$ (defined as $\Phi_\text{M} = E_\text{gap} \cdot \epsilon_\text{total}$) and $E_\text{hull-dist} < 0.05\ \text{eV}$:

from pymongo import MongoClient

cluster = "atomate-cluster.q8s9p.mongodb.net/atomate"
server = f"mongodb+srv://readonly:kHsBcWwTb4@{cluster}"
db = MongoClient(server).dielectrics
close_to_hull_high_fom = db.tasks.find({
  "e_above_hull_pbe": {"$lt": 0.1},
  "output.bandgap": { "$gt": 3 },
  "output.epsilon_static.0.0": { "$gt": 10 },
  "output.epsilon_ionic.0.0": { "$gt": 50 },
})

How to Cite

@article{riebesell_pushing_2024,
  title = {Pushing the Pareto Front of Band Gap and Permittivity: ML-guided Search for Dielectric Materials},
  author = {Riebesell, Janosh and Surta, T. Wesley and Goodall, Rhys and Gaultois, Michael and Lee, Alpha A.},
  date = {2024-01-11},
  url = {https://arxiv.org/abs/2401.05848v1},
  urldate = {2024-01-12},
}

About

Pushing the Pareto front of band gap and permittivity with ML-guided dielectric materials discovery incl. experimental synthesis and characterization.

https://janosh.github.io/dielectrics/


Languages

Language:HTML 85.2%Language:Python 14.8%