ryujin requires deal.II version 9.4.0 or newer compiled with support enabled for MPI and P4est.
On Debian and Ubuntu you can conveniently install all necessary libraries
and tools with apt
.
- On Debian you can run the following command (as root user) to
install deal.II, all development libraries and necessary tools:
apt install libdeal.ii-dev cmake cmake-curses-gui numdiff make g++ ninja-build git
- On Ubuntu LTS 24.04 you can run the following command to install
deal.II, all development libraries and necessary tools:
sudo apt install libdeal.ii-dev cmake cmake-curses-gui numdiff make g++ ninja-build git
- On Ubuntu LTS 22.04 you can install the current deal.II version
from a PPA
sudo add-apt-repository ppa:ginggs/deal.ii-9.5.1-backports sudo apt update sudo apt install libdeal.ii-dev cmake cmake-curses-gui numdiff make g++ ninja-build git
If you are on a MAC it might be easiest to simply install our precompiled MAC bundle for deal.II which you can find on the Github download page.
If you are on Windows we strongly recommend to set up the Windows Subsystem for Linux v2 (WSL) and install Ubuntu LTS 24.04 from the Microsoft store. Then, simply launch the Ubuntu App which starts a Bash shell. You can then proceed with the installation instructions for Ubuntu LTS 24.04 summarized above. You can find a helpful tutorial on how to use the linux command line here.
Generic installation instructions how to download, install, or manually
compile deal.II can be found on the
deal.II homepage and on the
deal.II wiki.
Make sure that deal.II is configured with MPI and P4est support and that
the following additional tools are in your PATH
: git, numdiff, cmake,
make.
At this point you should have deal.II and all necessary command line tools
installed. You then simply check out the ryujin repository and run make
to compile ryujin:
git clone https://github.com/conservation-laws/ryujin
cd ryujin
git submodule init
git submodule update
make release
Note that ryujin uses the CMake build system. The
Makefile
found in the repository only contains a number of convenience
targets and its use is entirely optional. If invoked it will create a
subdirectory build
, run cmake to configure the project, and make to build
it. The executable will be located in build/run
. The
convenience Makefile contains the following additional targets:
make debug
: switch to debug build and compile programmake release
: switch to release build and compile programmake edit_cache
: runs ccmake in the build directory