Welcome to the Bates Fluid Dynamics Group! Most of our work involves solving partial differential equations by computer. Typically, this means running simulations on supercomputers, most often the Leavitt cluster here at Bates.
Using Linux
All of the group’s software runs on Linux. You need to be familiar with the command line, and it helps to know a bit of bash shell scripting. We use the git
version control system. Nearly all of our code, including our main simulation workhorse, Dedalus, is written in Python.
For writing theses, papers, and notes, we use the LaTeX typesetting system.
All of this is taught in PHYS s10, but if you haven’t taken it, don’t fear! Here are some resources.
- Intro to command line
- wikipedia command line programs list. I still make reference to this on a regular basis.
- Resources to learn git
- The official python tutorial. If you’re starting from zero programming, come see me first. If you know enough to be dangerous in another language, this is a good startingplace.
- Getting Started with LaTeX. This is a pretty comprehensive resource.
- Creating ssh keys ssh keys are essential to secure access to many of the group’s resource. They also allow you to do awesome stuff like caching your password so you don’t have to type it everytime you want to access remote data on Leavitt.
- sshfs tutorial Once you have an ssh key, you can use sshfs to “mount” your directory on Leavitt like it’s a local disk on your Mac, Windows, or Linux laptop. Then you can edit scripts using whatever text editor you’re most comfortable with.
You’ll be doing a lot of text editing. This is like word processing, but without formatting. It’s really important to get familiar with a text editor. There are many, and I’d ask around to see what your friends are using. Here’s a few.
- emacs the greatest editor ever. Also, somewhat hard to use.
- atom has a lot of buzz. It seems pretty cool, is free and open-source.
- sublime text A widely used and much liked editor. It is proprietary and costs money, so I don’t fully recommend it.
Dedalus
- Dedalus Users Group. A great place to start. Search the questions first! Often your question has already been answered. If you don’t find an answer, send a message. There’s over a hundred Dedalus users reading and mailing that list, so chances are someone will know the answer.
- Dedalus Tutorial Notebooks These tutorials go over the basics of how Dedalus works from the ground up.
Local Bates Computing Resources
- Leavitt is our 476 core, 17 node compute cluster. Managed by the Bates High Performance Computing Center, it’s where we do most of our smaller runs.
a23637.bates.edu
is our group workstation. It’s available via ssh from on campus, and has 256 GB of memory for big data analysis and small runs. If you need an account on it, just ask Jeff.
Fluid Dynamics
I’ll fill this section out over time, but for now, here are a few resources I’ve made use of in the past.
General Overviews
The first three are all available from the Bates Library for free as pdfs.
- An Introduction to Fluid Dynamics, G. K. Batchelor. This is probably the most classic fluid dynamics textbook in English. It’s not easy going, but well worth the effort.
- Fluid Mechanics, a free textbook by University of Texas, Austin physics professor Richard Fitzpatrick.
- Fluid Dynamics for Physicists, T. E. Faber. The first chapter of this book does a very nice job of covering the flavor.
- FYFD will give you tons of inspiration!
- Physical Fluid Dynamics, D. J. Tritton. This is only available in print at the Bates library. This was one of my favorites when I was a student.
Instability
Understanding how fluid flows become unstable is a key part of our work. Here are a few references on instability.
- The National Committee for Fluid Mechanics Films on Flow Instability is a good place to start. It lays out what an instability is with several experimental examples.
- Prof. V. Shankar’s “Introduction to Hydordynamic Stability” course (lecture notes, video) is a good overview.
- An Introduction to Hydrodynamic Stability, P.G. Drazin. This is a very good book to get started with, though it presumes a bit of hydrodynamic knowledge. It is available as a PDF to download from the Bates Library.
Learning MPI
Dedalus is parallelized using the message passing interface (MPI) via the mpi4py python library. Here are a few resources on learning MPI
- MPI tutorial This is a very thorough introduction to MPI using C.
- Parallel Programming with MPI using Python and mpi4py by Jeremy Bejarano. A video series teaching basic MPI concepts using mpi4py.