This repo contains a sample solver for the Hasegawa-Wakatani equations using Nektar++.
More details on the formulation are available in the brief documentation workbook.
The easiest way to build this solver is via Docker; from the top directory, build an image by running
docker build -t nektar-driftwave .
and then run an interactive shell with
docker run -it nektar-driftwave /bin/bash
If you have compiled and installed Nektar++ elsewhere, you can manually configure and compile this solver through CMake:
mkdir build && cd build
cmake -DNektar++_DIR=/path/to/lib/nektar++/cmake ..
make install
By default and unless a CMAKE_INSTALL_PREFIX is supplied binaries will appear in build/dist/bin. If Nektar++ is built with MPI, this will be supported in the DriftWaveSolver.
Assuming that you are working from the shell in the Docker image, you can run the enclosed example either in serial or parallel as follows:
cp /usr/local/share/doc/nektar++/nektar-driftwave/*.xml .
DriftWaveSolver driftwave.xml square_quads.xml # For serial execution
mpirun -n 20 DriftWaveSolver driftwave.xml square_quads.xml # For parallel execution