SeisSol is a scientific software for the numerical simulation of seismic wave phenomena and earthquake dynamics. It is based on the discontinuous Galerkin method combined with ADER time discretization.
Note
SeisSol is still under heavy development and comes without any guaranteed functionality. At the moment we can only provide very limited support for general users.
- C++ compiler (GCC ≥ 9, Clang ≥ 18, ICX, or NVHPC)
- CMake ≥ 3.20
- Python ≥ 3.9 with numpy and setuptools
- MPI (standard ≥ 2.2), HDF5 (parallel), Eigen ≥ 3.4, and easi ≥ 1.5
- (recommended) ParMETIS or another supported graph partitioning library
- (recommended) LIBXSMM, PSpaMM, (for GPUs) TensorForge
For a complete list of dependencies and installation methods (including Spack), see the Installing Dependencies guide.
# Clone the repository with all submodules (important!)
git clone --recursive https://github.com/SeisSol/SeisSol.git
cd SeisSol
# Configure and build (CPU example, 4th order, elastic)
mkdir -p build && cd build
cmake -DORDER=4 -DEQUATIONS=elastic -DPRECISION=double ..
make -j $(nproc)For GPU builds, add the device backend and architecture flags (here CUDA, Hopper GPU):
cmake -DORDER=4 -DPRECISION=single \
-DDEVICE_BACKEND=cuda -DDEVICE_ARCH=sm_90 ..See the Build Documentation for detailed instructions and the Build Parameters Reference for all available configuration options.
The full documentation seissol.readthedocs.io also contains setup guides for specific HPC clusters (e.g. SuperMUC-NG, Leonardo, Frontera, and others).
Visit seissol.readthedocs.io for the full documentation, including a detailed overview over the meshing process and available features and options.
- Discussion Forum: Ask questions, share ideas, and connect with developers and users in our GitHub Discussions.
- Bug Reports: If there is a problem with SeisSol, please open an issue with a description of the problem, your build configuration, and steps to reproduce.
- Website: www.seissol.org
We welcome contributions of new features, extensions, and bug fixes. Before starting, please discuss your plans by opening an issue so we can coordinate effectively.
For detailed guidelines on code style, branching, testing, and the pull request workflow, see CONTRIBUTING.md.
If you utilize SeisSol in a publication or want to refer to it, please follow the suggestions on our How To Cite page. It also includes examples how to cite specific SeisSol features, models or previous use cases.
To reference SeisSol as a software package and the specific version you used, please provide the link doi.org/10.5281/zenodo.4672483 which points to Zenodo.
If you are interested in a close collaboration, please contact Alice Gabriel.
We follow a Code of Conduct. Please adhere to it when participating in our community.
SeisSol is licensed under the BSD-3-Clause License.
Some files in the cmake and external folders may carry different
licenses (BSL-1.0, MIT, BSD-2-Clause). See the individual file headers
and the LICENSES directory for details.