Skip to content

SeisSol/SeisSol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6,906 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

SeisSol

DOI License GitHub Repo stars GitHub forks GitHub issues GitHub pull requests Documentation status

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.

Quick Start

Prerequisites

  • 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.

Building SeisSol

# 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).

Documentation

Visit seissol.readthedocs.io for the full documentation, including a detailed overview over the meshing process and available features and options.

Community and Support

  • 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

Contributing

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.

Citing SeisSol

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.

Collaboration

If you are interested in a close collaboration, please contact Alice Gabriel.

Code of Conduct

We follow a Code of Conduct. Please adhere to it when participating in our community.

Licensing

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.

About

A scientific software for the numerical simulation of seismic wave phenomena and earthquake dynamics

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors