Skip to content

Introductory tutorial for learning to use python, remote terminals, and JDFTx in the Musgrave Group

Notifications You must be signed in to change notification settings

cote3804/Musgrave-Tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alt text

Musgrave-Tutorial

This tutorial is for recently joined members of the Musgrave group at CU Boulder working on the electrocatalysis team. After this tutorial, students should have enough resources to start learning on their own and contributing to sicence done in the group. This tutorial will be divided into 4 sections:

  1. Python
  2. Remote Computing
  3. JDFTx
  4. High Throughput Computation

Each section contains a Jupyter notebook with code examples and explanations.

Python

Being comfortable in Python is the most useful skill one can have in the group. Python is a simple scripting language that we use to automate many mundane tasks necessary for submitting calculations and analyzing their results. Our group mostly uses it for sorting through files, submitting jobs to computers, and analyzing results with premade packages. The python tutorial will cover the following topics:

  • basic data types
  • simple logic (if, for, while)
  • functions
  • anaconda/modules
  • object oriented programming (barely)

Remote Computing

Due to the computational demand of our methods, almost all of our calculations are run on remote supercomputers. These computers use Unix operating systems and must be accessed through a remote terminal. This tutorial covers:

  • software for remote computing
  • file system navigation
  • BASH scripting
  • Slurm job scheduling

JDFTx

JDFTx is the DFT software used by the Musgrave group to run grand canonical calculations under bias. This tutorial will borrow heavily from the tutorial found on the JDFTx website. Subjects include:

  • molecular calculations
  • bulk calculations
  • surface calculations
    • bias and solvation
    • analysis

High Throughput Computation

To study a large material space, it is necessary to automate large portions of the workflow. For this, the group uses gc_manager, a set of python scripts that automate job submission and monitoring. The entire workflow for using gc_manager will be presented.

  • bulk calculations
  • cutting and running surfaces
  • adding adsorbates
  • running NEB barriers

Lesson Order

  1. Python
    1. Anaconda
    2. Python
    3. Functions_and_Objects
  2. Remote Computing
    1. Alpine_Setup
    2. Basic_Bash_Commands
    3. Bash_Scripting
    4. Job_Scheduling
  3. JDFTx
    1. N2
    2. Pt_111
    3. bias
  4. Atomic Simulation Environment
    1. Structure_Manipulation
    2. Calculator

About

Introductory tutorial for learning to use python, remote terminals, and JDFTx in the Musgrave Group

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published