Skip to content

HexagonalExpanse/heuslerene-autoencoder

Repository files navigation

Heuslerene Band Exploration

This repo provides code used during the autoencoding of heuslerene band structures, and the application used for visualization of them. To access the trained model, please feel free to email me at [email protected] as they are of a large size and would not fit in the repo.

File Structure

  • BandData/ contains band structures and data used to create them
    • EIGENVALs/ contains VASP eigenvalues
    • FERMI_ENERGYs contains fermi energy for material calculated
    • Images/ contains all band structure plots with subfolders based on window size (±x eV) and line width
    • LargeFont_Images/ contains band structure plots with larger font sizes for easier visualization
  • Ensamble_Evaluation/ Contains code evaluating all models for the Density Based Clustering Validation score and their mean Adjusted Mutual Information score accross different HDBSCAN parameters
  • explorer/ contains explorer.py which allows you to examine different clusters and .csv files of fingerprints and umap projections.
    • fingerprints/ contains .csv files for each of the encoders and their umap projection.
    • encode_fingerprint.ipynb contains code that makes the .csv files
    • explorer.py contains the dash web app.
  • Figures/ contains images generated and used in the paper
  • Model/ contains the ELF autoencoder from Pentz et. al. (2025)
  • Model_Evaluation/ contains files for evaluating the models after creation
    • double_cluster.ipynb contains code applying a second DBSCAN cluster to the UMAP proection after noise is removed.
    • projection evaluation.ipynb contains code evaluating HDBSCAN on a single autoencoder model
    • unencoded_projection.ipynb contains code showing a UMAP projection when there is no autoencoding. UMAP can find features even without autoencoding, such as in the UMAP Documentation but this is found to not be the case.
  • Model_Generation/ contains files for creating the autoencoder
    • model_generation.ipynb allows for training of models over different parameter spaces
  • Preprocess/ contains the code used to generate the band structures for training
    • BandStructure2d.py contains class for band structure
    • CreatureBandStructures.py actually creates the band structures.

Credits

By Justin Hart, 2025.

Note that the Autoencoder Model is from Pentz et. al. at their Elf Autoencoder paper.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors