This repository contains the implementation of the Discontinuous Galerkin method (DG) applied to systems of possibly coupled non-linear hyperbolic equations, i.e. to physical conservative systems. The geometry is currently assumed to be two-dimensional. The targeted physical application was chosen to be the shallow water equations, but any new system of equations can easily be implemented, by adding new physical fluxes or sources.
The time-integration process is explicit, and uses Runge-Kutta algorithms, up to the fourth order. The mesh is handled using Gmsh, and Eigen is used for the linear algebra operations. Please note that edges of the elements in the mesh are assumed to be straight.
The code is currently parallized locally using OpenMP, such that it can be run on HPC clusters.
This project was part of the 2018-2019 Multiphysics integrated computational project course. Here is a link of the problem statement. The authors are ImperatorS79, tgregov and jmarichal.
Some useful information can be found on the wiki. In particular, a small (uncomplete) description of the physical parameters that can be introduced in the context of the shallow water equations is provided.
The project use CMake to manage the build system. The run
directory contains some predefined configuration for various platforms.
Do not forget to install the Gmsh 4.4.0 SDK as well as the Eigen 3.3.7 SDK on your system.
Connect to NIC4/VEGA (using SSH for instance). Then, clone the repositoy:
git clone https://github.com/tgregov/Multiphysics
Move to the code repository:
cd ./Multiphysics
Automatically build the code (<cluster>
is either vega
or nic4
):
. ./build_cluster.sh <cluster>
Submit a batch file for one of the simulations
cd ../simulations
sbatch runObstacleSquare.sh