Software Pages
Digital Research Alliance (formerly Compute Canada)
This is the national organization that manages our main computational resources. Their documentation is comprehensive, including details about specific clusters, available software, and how to get started. To use these resources, you'll need to create a CCDB account.
Related:
Slurm Workload Manager
Slurm is the job scheduler that runs on our remote clusters. You can find a useful
cheatsheet here. sbatch
, squeue
, and sacct
are commonly
used for submitting and monitoring jobs.
bash
bash is a shell program and shell-scripting language. Notably, it is the default
on most compute clusters. Navigating and interacting with the file system on remote
clusters is done using bash. For example, the command-line functions ssh
and scp
are used to connect to and transfer files between the Alliance clusters.
Git
Git is a version control system (VCS) that allows you to keep track of multiple versions of files at once. With git it's easy to revert back to an old version of a file or merge different versions of files. This is very helpful when you're trying to determine what change resulted in a particular error. Chapters 1 to 3 provide a good enough background to get started. See Section 5.1 for a description of our git workflow, the "Integration-Manager Workflow". You can find a guide to git best practices here.
Python
Python is a relevant programming language in which many useful utilities for our
computational workflows are written. Python files can be identified by the .py
extension.
Atomic Simulation Environment (ASE)
The Atomic Simulation Environment (ASE) is a set of tools and Python modules for setting up, manipulating, running, visualizing and analyzing atomistic simulations.
Pymatgen
Pymatgen (Python Materials Genomics) is an open-source Python library for materials analysis.
cclib
cclib is an open source library, written in Python, for parsing and interpreting the results of computational chemistry packages.
Vienna Ab Initio Simulation Package (VASP)
VASP is a proprietary, plane-wave-based code used for studying periodic systems.
Quantum Espresso
From their webpage:
Quantum Espresso is an integrated suite of Open-Source computer codes for electronic-structure calculations and materials modeling at the nanoscale. It is based on density-functional theory, plane waves, and pseudopotentials.
Gaussian
Gaussian is a proprietary, gaussian-orbital based code mainly used for studying molecular systems. The Alliance also maintains a documentation page for running Gaussian on Alliance clusters.
ORCA
ORCA is a free-for-academic gaussian-orbital based code mainly used for studying molecular systems.
Markdown
Markdown is a markup language commonly used for writing documentation. A common extension
for Markdown files is .md
. The documentation for this Welcome Guide is written in
Markdown. Markdown files can easily be converted into the pages of a static website using
a tool like mkdocs.
Lmod
Lmod is a software for managing software environments. The necessary commands
and variables required for a software to be used are specified in 'module files'
that are written in the Lua programming language. Modules are managed using
commands like module load
, module purge
, and module unload
.
Computational Chemistry Utilities
CompChemUtils (Computational Chemistry Utilities; AKA ccu
) is a Python package
containing several useful Python classes and routines for computational
chemistry such as adsorbate complex creation, defect creation, free energy
diagram generation, and more.
Autojob
autojob
is a framework for executing high throughput calculations with the
flexibility to granularly resubmit and modifying calculations between
execution. Autojob also provides a codeless interface for generating input
directories for calculations.
WIP
- Materials Cloud
- Materials Project
- Globus
- FileZilla
- Cyberduck
- bader
- Multiwfn
- Lobster
- chargemol
- Fireworks
- jobflow
- Custodian
- atomate2
- catmap
- matplotlib