MSE5050/7050 Materials Informatics course at the University of Utah

Overview

MaterialsInformatics

MSE5050/7050 Materials Informatics course at the University of Utah

This github repo contains coursework content such as class slides, code notebooks, homework assignments, literature, and more for MSE 5050/7050 "Materials Informatics" taught at the University of Utah in the Materials Science & Engineering department.

Below you'll find the approximate calendar for Spring 2022 and videos of the lectures are being placed on the following YouTube playlist https://youtube.com/playlist?list=PLL0SWcFqypCl4lrzk1dMWwTUrzQZFt7y0

month day Subject to cover Assignment Link
Jan 11 Syllabus. What is machine learning? How are materials discovered?
Jan 13 Machine Learning vs Materials Informatics, Materials Data repositories Read 5 High Impact Research Areas in ML for MSE (paper1) and materials databases (paper2). paper1, paper2
Jan 18 Get pymatgen running for everybody, MP API example, Citrination example, others Download pymatgen ahead of class if possible pymatgen
Jan 20 Machine Learning Tasks and Types, Featurization in ML, Composition-based feature vector Read Is domain knowledge necessary for MI (paper1) paper1
Jan 25 Structure-based feature vector, crystal graph networks, SMILES vs SELFIES, 2pt statistics read selfies (paper1), two-point statistics (paper2) and intro to graph networks (blog1) paper1, paper2, blog1
Jan 27 Simple linear/nonlinear models. test/train/validation/metrics HW1 due. Read linear vs non-linear (blog1), read best practices (paper1), benchmark dataset (paper2), and loco-cv (paper3). blog1, paper1, paper2, paper3
Jan 1 Support vector machines, ensemble models Read SVM (blog1) and ensemble (blog2) blog1, blog2
Feb 3 Extrapolation, ensemble learning, clustering Read extrapolation to extraordinary materials (paper1), ensemble learning (paper2), clustering (blog1) paper1, paper2, blog1
Feb 8 Artificial neural networks Read the introduction to neural networks (blog1, blog2) blog1, blog2
Feb 10 Advanced deep learning (CNNs, RNNs) HW2 due. Read… blog1, blog2
Feb 15 Transformers Read the introduction to transformers (blog1, blog2) blog1, blog2
Feb 17 Generative ML: Generative Adversarial Networks and variational autoencoders Read about VAEs (blog1, blog2, repo1) and GANS () blog1, blog2, repo1
Feb 22 Image segmentation TBD TBD
Feb 24 Bayesian Inference HW3 due. Read the introduction to Bayesian (blog1) blog1
Feb 29 TMS meeting, NO CLASS
Mar 3 Dr. Sparks at TMS meeting, Dr. Luther McDonald will provide guest lecture TBD TBD
Mar 8 Spring Break, NO CLASS
Mar 10 Spring Break, NO CLASS
Mar 15 Dr. Sparks at APS Meeting, Dr. Tolga Tasdizen will provide guest lecture Read U-net (paper1) and nuclear forensics (paper2) paper1, paper2
Mar 17 APS meeting, NO CLASS
Mar 22 Case study: Superhard materials, structure prediction Read superhard (paper1), and structure prediction papers (paper2) paper1, paper2
Mar 24 Case study: CGCNN vs MEGNET vs SchNET Read CGCNN (paper1), MegNET (paper2), SchNET (paper3) paper1, paper2, paper3
Mar 29 Case study: CrabNET vs Roost Read CrabNet (paper1) and Roost (paper2) paper1, paper2
Mar 31 Case study: Cococrab, BRDA HW4 due. Read Cococrab (paper1) and BRDA (paper2) paper1, paper2
Apr 5 Dr. Sparks at AIM 2022 meeting, Dr. Jake Hochalter will provide guest lecture. Explainable/interpretable ML, physics-informed modeling TBD
Apr 7 Dr. Sparks at AIM 2022 meeting, Dr. Ben Blaiszik of MDF will provide guest lecture. MDF TBD
Apr 12 Case study: Element Mover’s Distance, Mat2Vec Read Element mover’s distance (paper1) and Mat2Vec (paper2) paper1, paper2
Apr 14 Case study: Discover algorithm, Robocrystallographer TBD TBD
Apr 19 Final project presentation day 1 Final Project due
Apr 21 Dr. Sparks at AMRAD meeting, Dr. Ashley Spear will provide guest lecture TBD TBD
Apr 26 Final project presentation day 2 Final Project due
You might also like...
A course-planning, course-map rendering and GPA-calculation web service, designed for the SFU (Simon Fraser University) student.

SFU Course Planner What is the overall goal of the project (i.e. what does it do, or what problem is it solving)? As the title suggests, this project

Repository containing the project files for CEN4020's Team Utah.

inCollege-Team-Utah Repository containing the project files for CEN4020's Team Utah. Contributors: Deepak Putta Jose Ramirez Fuentes Jaason Raudales C

Python-based Informatics Kit for Analysing Chemical Units

INSTALLATION Python-based Informatics Kit for the Analysis of Chemical Units Step 1: Make a conda environment: conda create -n pikachu python=3.9 cond

School of Artificial Intelligence at the Nanjing University (NJU)School of Artificial Intelligence at the Nanjing University (NJU)

F-Principle This is an exercise problem of the digital signal processing (DSP) course at School of Artificial Intelligence at the Nanjing University (

Course Materials for Math 340

UBC Math 340 Materials This repository aims to be the one repository for which you can find everything you about Math 340. Lecture Notes Lecture Notes

Repository of Jupyter notebook tutorials for teaching the Deep Learning Course at the University of Amsterdam (MSc AI), Fall 2020

Repository of Jupyter notebook tutorials for teaching the Deep Learning Course at the University of Amsterdam (MSc AI), Fall 2020

This is a repository for the Duke University Cloud Computing course project on Serveless Data Engineering Pipeline. For this project, I recreated the below pipeline.
This is a repository for the Duke University Cloud Computing course project on Serveless Data Engineering Pipeline. For this project, I recreated the below pipeline.

AWS Data Engineering Pipeline This is a repository for the Duke University Cloud Computing course project on Serverless Data Engineering Pipeline. For

Among AIs is a (prototype of) PC Game we developed as part of the Smart Applications course @ University of Pisa.
Among AIs is a (prototype of) PC Game we developed as part of the Smart Applications course @ University of Pisa.

Among AIs is a PC Game we developed as part of the Smart Applications course @ Department of Computer Science of University of Pisa, under t

Jittor Medical Segmentation Lib -- The assignment of Pattern Recognition course (2021 Spring) in Tsinghua University
Jittor Medical Segmentation Lib -- The assignment of Pattern Recognition course (2021 Spring) in Tsinghua University

THU模式识别2021春 -- Jittor 医学图像分割 模型列表 本仓库收录了课程作业中同学们采用jittor框架实现的如下模型: UNet SegNet DeepLab V2 DANet EANet HarDNet及其改动HarDNet_alter PSPNet OCNet OCRNet DL

Code for the AI lab course 2021/2022 of the University of Verona

AI-Lab Code for the AI lab course 2021/2022 of the University of Verona Set-Up the environment for the curse Download Anaconda for your System. Instal

Programming of Robotics Systems course at the University of Aveiro, Portugal, 2021-2022.
Programming of Robotics Systems course at the University of Aveiro, Portugal, 2021-2022.

Programação de Sistemas Robóticos Miguel Riem Oliveira Universidade de Aveiro 2021-2022 Projeto AtlasCar Projecto RACE IROS 2014 AtlasCar2 ATOM IROS 2

Final Project for the CS238: Decision Making Under Uncertainty course at Stanford University in Autumn '21.

Final Project for the CS238: Decision Making Under Uncertainty course at Stanford University in Autumn '21. We optimized wind turbine placement in a wind farm, subject to wake effects, using Q-learning.

A Web Scraper built with beautiful soup, that fetches udemy course information. Get udemy course information and convert it to json, csv or xml file
A Web Scraper built with beautiful soup, that fetches udemy course information. Get udemy course information and convert it to json, csv or xml file

Udemy Scraper A Web Scraper built with beautiful soup, that fetches udemy course information. Installation Virtual Environment Firstly, it is recommen

Course material for the Multi-agents and computer graphics course

TC2008B Course material for the Multi-agents and computer graphics course. Setup instructions Strongly recommend using a custom conda environment. Ins

All exercises done during the Python 3 course in the Video Course (World 1, 2 and 3)
All exercises done during the Python 3 course in the Video Course (World 1, 2 and 3)

Python3-cursoemvideo-exercises - All exercises done during the Python 3 course in the Video Course (World 1, 2 and 3)

Course-parsing - Parsing Course Info for NIT Kurukshetra

Parsing Course Info for NIT Kurukshetra Overview This repository houses code for

Algorithm and Structured Programming course project for the first semester of the Internet Systems course at IFPB
Algorithm and Structured Programming course project for the first semester of the Internet Systems course at IFPB

Algorithm and Structured Programming course project for the first semester of the Internet Systems course at IFPB

An API serving data on all creatures, monsters, materials, equipment, and treasure in The Legend of Zelda: Breath of the Wild
An API serving data on all creatures, monsters, materials, equipment, and treasure in The Legend of Zelda: Breath of the Wild

Hyrule Compendium API An API serving data on all creatures, monsters, materials, equipment, and treasure in The Legend of Zelda: Breath of the Wild. B

Materials and information for my PyCascades 2021 Presentation

Materials and information for PyCascades 2021 Presentation: Sparking Creativity in LED Art with CircuitPython

Comments
  • HW2, task 2: supposed to say

    HW2, task 2: supposed to say "using the arbitrary cut-off value of 10−2 Ω cm for *electrical resistivity*?"

    Says conductivity

    (b) task 2. Using a support vector machine classifier and the composition-based feature vector (magpie descriptor set), construct a model that will categorize materials as metals or insulators using the arbitrary cut-off value of 10−2 Ω cm for electrical conductivity. The model should take chemical formula as an input and take into account temperature as a feature (300, 400, 700, and 1000K).

    opened by sgbaird 0
  • HW 1 general suggestions - `webplotdigitizer` and `MPRester` tips

    HW 1 general suggestions - `webplotdigitizer` and `MPRester` tips

    Problem 1

    • when you have variables in the chemical formula, pay extra attention to which formulas correspond to which values of x. For example, in some plots, x=0 --> x=1.0 might go from the top to the bottom, whereas in others x=0 starts from the bottom.

    • pay attention to units, e.g. Kelvin vs. Celsius, 10^4 S/m vs. S/m vs. S/cm, make sure units are converted correctly based on what's listed on the spreadsheet e.g. electrical conductivity: S*cm^-1.

    • I found it useful to add all images (where the image includes figure caption) to a single session in webplotdigitizer, and use "Point Groups" corresponding to each of the chemical formulas if grabbing multiple traces from an image. Additionally, if multiple types of data were in the same figure, I made copies of each figure and named them e.g. fig5-electrical-conductivity.png, fig5-thermal-conductivity.png ... even though they're the exact same figure. This makes it easier to retain the caption and separate calibrations for each dataset. Rename your dataset appropriately, e.g. electrical-conductivity to make it easier to keep track and so that when you export the CSV it auto-populates the name.

    • a trick to using "Point Groups" (not the crystallographic kind) is to add a group for each composition (e.g. Cu0.98GaTe2, Cu0.985GaTe2, Cu0.99GaTe2, CuGaTe2) and then select the points in order for a given temperature. For example, click points in the following order:

      1. Cu0.98GaTe2@300K 2. Cu0.985GaTe2@300K 3. Cu0.99GaTe2@300K 4. CuGaTe2@300K 5. Cu0.98GaTe2@400K 6. Cu0.985GaTe2@400K ... ... 16. CuGaTe2@800K

    Then click on your dataset, View Data, and Sort By --> Groups (dropdown). You can also export to CSV from this interface.

    • I suggest saving your images, raw CSV data, and your webplotdigitizer project (JSON and TAR format) data organized into folders based on the article, or at least save a copy of your data somewhere other than Google Sheets (e.g. your local computer) for data redundancy.

    Problem 2

    One of the best resources for getting an intro to MPRester is via the Materials Project workshop tutorial.

    On YouTube, there is Taylor's prerecorded lecture and (what I'm pretty sure is) the corresponding video for the workshop tutorial mentioned above.

    In addition to the customized examples given by Taylor in this repository, here are some additional examples "in practice" at RoboCrab (archived repo) and mat_discover.

    Task 5

    • See https://matsci.org/t/how-to-distinguish-experimental-or-theoretical-structure-entries/2036/4

    • To keep track of the MPIDs that map back to a single composition (i.e. repeat chemical formulas), I suggest using df.set_index() to replace the normal indices (0, 1, 2, ...) with your mpids. Then follow the advice at https://stackoverflow.com/a/49216427/13697228. See also groupby_formula for an example that is close to what is asked.

    • Bonus (but not actually extra credit): assuming you added a "count" column as in the example above, you can see the number of repeats for a given chemical formula via:

    grp_df.hist("count", bins=100, log=True)
    

    In this case, the large majority of compounds have fewer than 20 polytopes, but there is one chemical formula with 200 repeats!?

    opened by sgbaird 0
  • Suggestion for hw 1, pb 1 next time course is taught: use of Zotero shared group folder and shared annotations for literature extraction

    Suggestion for hw 1, pb 1 next time course is taught: use of Zotero shared group folder and shared annotations for literature extraction

    To help with making the literature data extraction FAIR, going with a Zotero group library where PDF files, annotations, etc. are shared between group members can help out by:

    1. keeping all the references in one place
    2. highlights/annotations are shared and are easily made searchable, plus "click link to go directly to annotation" (makes curation easier)
    3. easy to make the list of references public, and the copyrighted files along with the annotations can be easily shared upon request

    (planning to update later with some examples/images)

    See also: https://github.com/sparks-baird/auto-paper#annotations

    opened by sgbaird 1
Owner
null
An API serving data on all creatures, monsters, materials, equipment, and treasure in The Legend of Zelda: Breath of the Wild

Hyrule Compendium API An API serving data on all creatures, monsters, materials, equipment, and treasure in The Legend of Zelda: Breath of the Wild. B

Aarav Borthakur 116 Dec 1, 2022
PESU Academy Discord Bot built for PESsants and PESts of PES University

PESU Academy Bot PESU Academy Discord Bot built for PESsants and PESts of PES University You can add the bot to your Discord Server using this link. O

Aditeya Baral 0 Nov 16, 2021
Space Bot, a Discord bot built for HackerSpace Club of PES University

Space Bot Space Bot, a Discord bot built for HackerSpace Club of PES University What can Space Bot do? Space Bot allows you to lookup any mentor or to

HackerSpace @PESU 7 Oct 23, 2022
A quick-and-dirty script to scrape the daily menu of Leipzig University Mensa and send it to a telegram channel.

Feed me Mensa UL A quick-and-dirty script to scrape the daily menu of Leipzig University Mensa and send it to a telegram channel. For food and cat lov

null 3 Apr 8, 2022
Discord bot developed by Delhi University Student Community!

DUSC-Bot Discord bot developed by Delhi University Student Community! Libraries Used Pycord - Documentation Features Can purge messages in bulk Drop-D

professor 1 Jan 29, 2022
Python script for download course from platzi.com

Platzi Downloader Tool Esta es una pequeña herramienta que hace mucho y que te ahorra una gran cantidad de trabajo a la hora de descargar cursos de Pl

Devil64-Dev 21 Sep 22, 2022
A course on getting started with the Twitter API v2 for academic research

Getting started with the Twitter API v2 for academic research Welcome to this '101 course' on getting started with academic research using the Twitter

@TwitterDev 426 Jan 4, 2023
You cant check for conflicts until course enrolment actually opens. I wanted to do it earlier.

AcornICS I noticed that Acorn it does not let you check if a timetable is valid based on the enrollment cart, it also does not let you visualize it ea

Isidor Kaplan 2 Sep 16, 2021
Code done for/during the course

Serverless Course Autumn 2021 - Code This repository contains a set of examples developed during, but not limited to the live coding sessions. Lesson

Alexandru Burlacu 4 Dec 21, 2021
All course materials for the Zero to Mastery Deep Learning with TensorFlow course.

All course materials for the Zero to Mastery Deep Learning with TensorFlow course.

Daniel Bourke 3.4k Jan 7, 2023