Installation
Tools and library dependencies
Section titled “Tools and library dependencies”ryujin requires deal.II version 9.6.0 or newer, compiled with support enabled for MPI and P4est.
On Debian 13 (trixie) or newer, run the following as root to install deal.II, all development libraries, and the necessary tools:
apt install libdeal.ii-dev cmake cmake-curses-gui numdiff make g++ ninja-build gitOn Ubuntu LTS 26.04, run:
sudo apt install libdeal.ii-dev cmake cmake-curses-gui numdiff make g++ ninja-build gitUbuntu LTS 24.04 and LTS 22.04 ship deal.II 9.5.1 and 9.3.2, which are too old. Add the deal.II 9.7.1 backports PPA first, then install the same packages:
sudo apt install software-properties-commonsudo add-apt-repository ppa:ginggs/deal.ii-9.7.1-backportssudo apt updatesudo apt install libdeal.ii-dev cmake cmake-curses-gui numdiff make g++ ninja-build gitThe deal.II download page lists PPAs for other deal.II releases.
The simplest route is the precompiled macOS bundle for deal.II, available from the deal.II GitHub download page.
We strongly recommend setting up the Windows Subsystem for Linux v2 (WSL) and installing Ubuntu LTS 26.04 from the Microsoft Store. Launch the Ubuntu app, which starts a Bash shell, and follow the Ubuntu instructions above.
If the Linux command line is new to you, this tutorial is a good starting point.
Generic instructions for downloading, installing, or manually compiling deal.II
are on the deal.II homepage and the
deal.II wiki. Make sure deal.II is
configured with MPI and P4est support, and that git, numdiff, cmake and
make are in your PATH.
Retrieving and compiling ryujin
Section titled “Retrieving and compiling ryujin”With deal.II and the command line tools installed, check out the repository and
run make:
-
Clone the repository and fetch its submodules:
Terminal window git clone https://github.com/conservation-laws/ryujincd ryujingit submodule initgit submodule update -
Compile a release build:
Terminal window make release -
The executable is now at
build/run/ryujin.
ryujin uses the CMake build system. The Makefile in the
repository holds a handful of convenience targets and its use is entirely
optional; when invoked it creates a build subdirectory, runs cmake to
configure the project, and builds it.
| Target | Effect |
|---|---|
make debug |
Switch to a debug build and compile |
make release |
Switch to a release build and compile |
make edit_cache |
Run ccmake in the build directory |
See Usage for running the solver, and Compile-time options for tuning the build.