Teaching

I use Western's learning management system, OWL, for all my courses. so login there to find course information.

Text

Topics on Scientific Computing by M. Karttunen & C. Denniston.

X-Windows/Line Terminals

Our work involves running simulations on high performance computing systems. Typically these run LINUX and are accessible using SSH from a line terminal. Using a line terminal can seem confusing at first but once you get the hang of it, you will find it is a much more powerful way to access the resources needed for high performance computing and programming. There are lots of online resources to help like those at 1, 2, and 3. First, you need to get a line terminal on your local machine.

C++/C

Most high performance computing code is written in C++ or C and can be compiled most easily using GNU compilers (also available on most high performance computing platforms). There are lots of online resources to help you learn C++. Some are a fairly comphrehensive guide that can take you from a novice to something approaching an expert while others can be helpful tutorials that can get you doing some basic programming in C++ quite quickly 1 (Going through the first 4 sections of this tutorial, Intro to C++ to functions section, and the section on arrays should cover almost everything you need to know about C++ to get started) and 2 (Going through this tutorial up to the arrays section should also cover almost everything you will need to know about C++ to get started).

Molecular Dynamics

We primarily use the open source C++ LAMMPS system for molecular dynamics, VMD for MD visualization, and Paraview for liquid visualization. The advantage of using LAMMPS is that it is very easy to write packages to enhance its capabilities, something that we need to do regularly.

Data file for LBFLUID package example

The data file for the "confined colloid" example for our LBFLUID package is quite large (100 Mbyte) and can be downloaded here (you will need to gunzip it).