Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Discovering new eco-materials for batteries using Bayesian Optimization

This repository contains the data, models, and execution pipeline of a research project aimed at proposing the chemical elements that result in electrical batteries that have a reduced environmental effect as measured by the Life Cycle Assessment. The overall goal is to minimize the environmental impact (Global Warming Potential and Water Consumption), which is closely related to increasing the specific energy of the generated material. The pipeline achieves this by mapping discrete crystalline structures into a continuous latent space using a Variational Autoencoder (VAE) and navigating that space using Multi-Objective Bayesian Optimization (MOBO). The two main data sources are the Materials Project and Ansys Granta.

Repository Structure

  • Data/: Contains the fundamental information for this project, as well as relevant intermediate results.

    • Fundamental information

      • Granta_Eco_Database.csv: Contains the ecological impacts (Global Warming Potential, Energy embodiment, and Water usage) for different elements, obtained from the Ansys Granta database.
      • Element_prices.csv: Contains the raw price for the different elements, obtained from Wikipedia.
      • Element_Details.csv: Contains atomic and thermodynamic properties for different elements.
    • Intermediate Results

      • Integrated_crystal_ecology: Contains the augmented and clean dataset for model training.
      • Integrated_crystal_ecology_normalized: Contains the same information, but the following features were normalized: Voltage_V, Capacity_mAhg, Band_Gap_eV, Energy_Above_Hull_eV, Density_gcm3, Specific Energy (Wh/kg), Imputed Specific GWP Extraction (CO2 kg/kg), Imputed Specific Energy Embodiment (MJ/kg), Imputed Specific Water Consumption (L/kg).
      • Integrated_crystal_ecology_normalized_le: Is based on the previous file, but crystals containing elements that appear less than 20 times were removed, reducing the amount of features.
      • Integrated_crystal_ecology_normalized_latent, ..._latent_deep, and ..._latent_deeper: Contain the previous data adding the latent coordinates of each crystal, each one for the three levels of depth of the VAE.
  • Notebooks/: Contains the Jupyter notebooks developed for this project.

    • 01_Collect_Prepare_data.ipynb: Gathers data from the Materials Project, augments it with the Granta database, performs cleaning, data analysis, and exports the data used for training models.
    • 02_Train_Latent_Space.ipynb: Trains VAEs of different depth and adds the latent coordinates of each crystal to the relevant information.
    • 04_Train_GP.ipynb: Trains Gaussian Processes (GPs) for the target variables based on their latent coordinates.
    • 05_Bayesian_Optimization.ipynb: Takes the parameters from the previously trained GPs and performs Bayesian Optimization. Exports BO_Candidates.csv containing the latent coordinates of optimized materials.
    • 06_Decode.ipynb: Takes the previously trained VAE and decodes the optimized latent coordinates.
    • 08.Compare_surrogates_improved.ipynb: Compares different techniques for creating surrogate models, i.e., Mixed Integers and Latent Space.
    • 09_Paretos.ipynb: Includes a cost dimension to the data, aiming to find the best tradeoff from known materials.

Key Results and Chemical Analysis

The pipeline generated a Pareto frontier of coordinates that, once decoded, converged on Silicon-Chlorine-Lithium configurations (e.g., Li6SiCl2 / Li8SiCl4, Li19FeSiCl25). While these lack the necessary redox-active transition metals to function as traditional cathodes, they are currently one of the most promising classes of materials for next-generation solid-state electrolytes. This highlights the model's successful comprehension of structural thermodynamics and the crucial need for explicit categorical constraints (e.g., mandating a transition metal) in future cathode-specific iterations.

Dependencies

  • Python 3.8+
  • SMT
  • PyTorch
  • BoTorch & GPyTorch
  • pymatgen
  • pandas, numpy, scikit-learn, matplotlib

About

DMSM Internship files

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages