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.
-
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. ExportsBO_Candidates.csvcontaining 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.
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.
- Python 3.8+
- SMT
- PyTorch
- BoTorch & GPyTorch
- pymatgen
- pandas, numpy, scikit-learn, matplotlib