• Stars
    star
    219
  • Rank 180,102 (Top 4 %)
  • Language
    Jupyter Notebook
  • License
    BSD 3-Clause "New...
  • Created over 7 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Jupyter notebooks demonstrating the utilization of open-source codes for the study of materials science.

Visit the Github Pages for a nicely formatted HTML page and notebook search functionality.

Introduction

This repo is started by the Materials Virtual Lab as a useful collection of Jupyter notebooks that demonstrate the utilization of open-source codes for the study of materials science.

We frequently get requests (from students, postdocs, collaborators, or just general users) for example codes that demonstrate various capabilities in the open-source software we maintain and contribute to, such as the Materials Project software stack comprising Python Materials Genomics (pymatgen), Custodian, and Fireworks. This repo is a start at building a more sustainable path towards sharing of code examples.

It is not limited to the codes we develop - any use of open source software for materials analysis is welcome. Also, anyone is welcome to contribute.

Running the examples from a browser

                       
2013-01-01-Bandstructure of NiO Binder Launch Codespace Open in Google Colab
2013-01-01-Basic functionality Binder Launch Codespace Open in Google Colab
2013-01-01-Calculating Reaction Energies with the Materials API Binder Launch Codespace Open in Google Colab
2013-01-01-Calculating XRD patterns Binder Launch Codespace Open in Google Colab
2013-01-01-Getting crystal structures from online sources Binder Launch Codespace Open in Google Colab
2013-01-01-Ordering Disordered Structures Binder Launch Codespace Open in Google Colab
2013-01-01-Plotting and Analyzing a Phase Diagram using the Materials API Binder Launch Codespace Open in Google Colab
2013-01-01-Plotting the electronic structure of Fe Binder Launch Codespace Open in Google Colab
2016-09-08-Data-driven First Principles Methods for the Study and Design of Binder Launch Codespace Open in Google Colab
2016-09-08-Data-driven First Principles Methods for the Study Binder Launch Codespace Open in Google Colab
2016-09-08-Data-driven First Principles Methods for the Study Binder Launch Codespace Open in Google Colab
2016-09-25-Plotting phonon bandstructure and dos Binder Launch Codespace Open in Google Colab
2017-03-02-Getting data from Materials Project Binder Launch Codespace Open in Google Colab
2017-04-03-Slab generation and Wulff shape Binder Launch Codespace Open in Google Colab
2017-04-14-Inputs and Analysis of VASP runs Binder Launch Codespace Open in Google Colab
2017-05-11-Running Jupyter Notebook on clusters Binder Launch Codespace Open in Google Colab
2017-09-03-Analyze and plot band structures Binder Launch Codespace Open in Google Colab
2017-12-15-Plotting a Pourbaix Diagram Binder Launch Codespace Open in Google Colab
2018-01-01-ChemEnv - How to automatically identify coordination environments in a structure Binder Launch Codespace Open in Google Colab
2018-03-09-Computing the Reaction Diagram between Two Compounds Binder Launch Codespace Open in Google Colab
2018-03-14-Plotting COHP from LOBSTER Binder Launch Codespace Open in Google Colab
2018-07-24-Adsorption on solid surfaces Binder Launch Codespace Open in Google Colab
2018-09-25-Structure Prediction using Pymatgen and the Materials API Binder Launch Codespace Open in Google Colab
2018-11-6-Dopant suggestions using Pymatgen Binder Launch Codespace Open in Google Colab
2019-01-04-How to use Boltztrap2 interface Binder Launch Codespace Open in Google Colab
2019-01-11-How to plot and evaluate output files from Lobster Binder Launch Codespace Open in Google Colab
2019-03-11-Interface Reactions Binder Launch Codespace Open in Google Colab
2020-07-15-How to plot a Fermi surface Binder Launch Codespace Open in Google Colab
2021-08-26-Magnetic Structure Generation as Input for Initial DFT Calculations Binder Launch Codespace Open in Google Colab
2021-5-12-Explanation of Corrections Binder Launch Codespace Open in Google Colab
2022-07-23 Interactive Crystal Toolkit Structure Viewer Binder Launch Codespace Open in Google Colab

Contributing

  1. Fork this repo and clone.

    git clone [email protected]:<your_github_username>/matgenb
    cd matgenb
  2. Write a new notebook in the notebooks folder.

    cd notebooks
    jupyter notebook
  3. Notebooks should be well-documented and simple. The idea here is to be pedagogical. A newcomer to the software (with the right materials science background) should be able to follow the logic without too much difficulty. Feel free to add authorship and contact information, as well as works to cite and acknowledge your contributions. In view that scientific codes tend to be continuously being updated, please put in a list of the key pinned dependencies so that other users can install the exact version of software to run the notebook if needed. The best practice is to put a section that provides a commented out pip install command that can be used in Google Colab. For example,

    # Uncomment the subsequent lines in this cell to install dependencies for Google Colab.
    # !pip install pymatgen==2022.2.27
  4. Ideally, please update notebooks as needed to use more modern versions of the codes, and you may update the date of the notebook as needed.

  5. Notebooks should be placed in the notebooks folder, and the name should start with the date in YYYY-MM-DD-<intuitive title> format. See existing examples. Remember to add it to the above table too.

  6. In the root folder of the repo, convert the jupyter notebooks to html.

    jupyter nbconvert --to html notebooks/*.ipynb --output-dir docs/_posts
  7. Commit and push.

    git add .
    git commit -a -m "Describe your contribution"
    git push
  8. Submit a pull request from Github.

More Repositories

1

megnet

Graph Networks as a Universal Machine Learning Framework for Molecules and Crystals
Jupyter Notebook
494
star
2

maml

Python for Materials Machine Learning, Materials Descriptors, Machine Learning Force Fields, Deep Learning, etc.
Jupyter Notebook
344
star
3

matgl

Graph deep learning library for materials
Python
247
star
4

m3gnet

Materials graph network with 3-body interactions featuring a DFT surrogate crystal relaxer and a state-of-the-art property predictor.
Python
223
star
5

mlearn

Benchmark Suite for Machine Learning Interatomic Potentials for Materials
Python
105
star
6

pyhull

Pyhull is a Python wrapper to Qhull (http://www.qhull.org/) for the computation of the convex hull, Delaunay triangulation and Voronoi diagram.
C
99
star
7

pymatgen-analysis-diffusion

This add-on to pymatgen provides tools for analyzing diffusion in materials.
Python
90
star
8

monty

This repository implements supplementary useful functions for Python that are not part of the standard library. Examples include useful utilities like transparent support for zipped files etc.
Python
70
star
9

nano281

Data Science for Materials Science
Jupyter Notebook
56
star
10

matcalc

A python library for calculating materials properties from the PES
Python
46
star
11

snap

Repository for spectral neighbor analysis potential (SNAP) model development.
AMPL
36
star
12

garnetdnn

This repo implements a web application utilizing a deep neural network to predict the formation energies and stability of garnet crystals.
Python
32
star
13

nano106

Course materials for NANO 106 - Crystallography of Materials
Jupyter Notebook
31
star
14

nano266

Repository for UCSD NANO 266 Quantum Mechanical Modelling of Materials
Python
19
star
15

veidt

Veidt is a deep learning library for materials science.
Python
18
star
16

flamyngo

Flask frontend for MongoDB
Python
15
star
17

materials.sh

materials.sh
Python
10
star
18

Data-driven-First-Principles-Methods-for-the-Study-and-Design-of-Alkali-Superionic-Conductors

Jupyter notebooks and data for our Chemistry of Materials article "Data-driven First Principles Methods for the Study and Design of Alkali Superionic Conductors"
Jupyter Notebook
10
star
19

matgenie

Web interface to pymatgen
Python
5
star
20

materialsvirtuallab.github.io

A guide to the Materials Virtual Lab
TeX
4
star
21

ceng114

Repository for CENG114 Probability and Statistics for Engineers
Jupyter Notebook
4
star
22

thematerialsapp

An Android Application for the Materials Project
Java
1
star