Software

A variety of numerical software packages have been developed by the group over the past few years. If you are interested in using any of these packages, please contact David Dritschel or Richard Scott.


EPIC

The Elliptical Parcel-In-Cell (EPIC) framework is an open-source project developed to simulate fluid flows where the Lagrangian parcels are described by ellipses in 2D and ellipsoids in 3D. Although EPIC targets the simulation of cloud and atmospheric systems, the core idea of advecting elliptical parcels is applicable to any fluid dynamical system.

Reference for the two dimensional model: https://doi.org/10.1016/j.jcpx.2022.100109
Reference for the three dimensional model: https://doi.org/10.1016/j.jcpx.2023.100136

EPIC is open source and available on GitHub (https://github.com/EPIC-model) or Zenodo (https://zenodo.org/records/15065252). Please check the manual of the current release. Note: This is still work in progress.


Hydra

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 and available on GitHub (https://github.com/daviddritschel/Hydra/) and Zenodo (https://zenodo.org/records/8416751). If you are interested in collaborating with us on any of the above topics please do get in contact.


CASL

CASL (Contour Advective Semi-Lagrangian method) is the name for a numerical scheme based around contour advection (see this paper). The old CASL website is still available but no longer being maintained. We strongly recommend using hydra instead.


Other software links

Below are useful links to software created by others that we make use of:

  • Python org website
  • Numpy – numerical computing in python
  • Scipy – scientific computing in python
  • Matplotlib – mathematical plotting in python
  • OpenMP -shared memory parallelisation in Fortran/C
  • OpenMPI -message passing interface for distributed computation in Fortran/C
  • Stack Overflow – general computing help and discussion