A pythonic solver for the 2D (x-z) bossinesq equations. It uses streamfunction-vorticity-buoyancy formulation, and solves the equations using pseudo-spectral methods. Time-stepping is performed using a RK3-Theta method.
This 2D code is a first step towards the main goal of the pyboussinesq
project that aims to build
a pythonic mpi-parallelizable solver for the 3D Boussinesq equations.
- Gregory L. Wagner
- Cesar B. Rocha
TwoDimBoussinesq started as a script for solving the 2D (x-z) when Boussinesq equations when Cesar was a fellow of the WHOI GFD Program. This script was crafted in an afternoon hack. Its design builds on the basic model class of pyqg.
The code uses Fourier pseudo-spectral methods. Time-stepping is performed using a semi-implicit, low-storage RK3-theta method.
The goal of this project is to take this script to the next level, ultimately generalizing the code to three-dimensions and different basis-functions. The main motivation is to implement the code to study the physics of breaking internal gravity waves.
Contribution are very welcome.