I spend a lot of my time creating mathematical software of one kind or another. I have also over the years collected up some experience in scripting and scripting languages for tasks in *nix. Some of these codes are available online - for the most part I am happy to share any of the codes I create - so if you are interested get in touch.
I am particularly interested in HPC in Fortran, and have recently become very interested in parallel computing techniques using OpenMP and MPI. I have a range of interests in other languages, particularly in Python. This is an excellent language for scientific computing and is becoming well supported with features that make it increasingly well-fitted to this purpose.
Hydra is a suite of codes designed to use a variety of numerical methods to perform simulations of a range of fluid dynamical phenomena. The numerical methods used for the more advanced of these are largely based around contour advection (see CASL, CLAM). Contour advection methods are extremely accurate Lagrangian methods using contours (essentially field iso-levels) to perform advection to high accuracy.
At the moment hydra has codes and modules for studying:
- Stratified flow in a bounded and semi-periodic domain
- Steady-state large amplitude internal solitary waves
- The quasi-geostrophic equations in a doubly-periodic domain
- Two-layer quasi-geostrophic flow equations in a channel
- Spherical shallow water flow
- Spherical barotropic flow
- Chaotic tracer advection in a doubly-periodic domain
- Idealised MHD in a doubly-periodic domain
- Collections of point vortices on a plane or sphere
- Collections of point masses on a sphere
along with many associated visualisation and post-processing codes. Currently several of these applications are being written up for journal publications.
Hydra is open source, but is not yet on general release. We plan to make the entire software package available on github or bitbucket in the near future. If you are interested in collaborating with me on any of the above topics in the mean time please do get in contact.