jl_spectra_2_structure¶
Methods for converting spectra to structure and solving the materials gap
This is documentation for https://github.com/JLans/jl_spectra_2_structure. jl_spectra_2_structure trains neural network models to learn quantitative descriptions of surface coordination for either extended surfaces or nanoparticles. The model is trained on complex synthetic IR data (secondary data). A class is provided for generating complex (secondary) data from low coverage dft frequency and intensity data (primary data). Another class is provided for generating the primary data from forces on atoms and integrated charges computed by vasp and chargemol respectively.
Documentation¶
See our documentation page for examples, equations used, and docstrings.
Developer¶
Joshua Lansford (lansford@udel.edu)
Dependencies¶
Python3
Atomic Simulation Environment: Used for I/O operations and for visualiztion
Numpy: Used for vector and matrix operations
Pandas: Used to import data from concatenated chargemol files and summing intensities from similar modes
SciPy: Used for fitting coverage scaling relations
Matplotlib: Used for plotting data
scikit-learn: Used for batching data during neural network training and k-means clustering
JSON_tricks: Used for reading and writing neural network and cross validation parameters
Imbalanced-learn: Used for balancing the primary data before generating secondary data
StatsModels: Used to get descriptive statistics of the coverage scaling parameters
Pillow: Used for writing jpeg files
uuid: Used forgetting unique identifiers when writing cross validation results during mpi runs
License¶
This project is licensed under the MIT License - see the LICENSE.md file for details.