Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 9 DOI reference(s) in README -
✓Academic publication links
Links to: sciencedirect.com, zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.8%) to scientific vocabulary
Repository
The official Sapphire++ repository
Basic Info
- Host: GitHub
- Owner: sapphirepp
- License: lgpl-3.0
- Language: C++
- Default Branch: main
- Homepage: https://sapphirepp.org
- Size: 3.52 MB
Statistics
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 10
- Releases: 2
Metadata Files
README.md
About
Sapphire++ is an acronym and stands for \"Simulating astrophysical plasmas and particles with highly relativistic energies in C++\".
It is a code to simulate the interaction of charged particles with a background plasma, a typical example is the propagation and acceleration of cosmic rays. To this end it solves a Vlasov-Fokker-Planck (VFP) equation in mixed coordinates, namely
$$ \frac{\partial f}{\partial t} + (\mathbf{u} + \mathbf{v}) \cdot \nabla{x} f - \gamma m \frac{\mathrm{D} \mathbf{u}}{\mathrm{D} t} \cdot \nabla{p}f - \mathbf{p} \cdot\nabla{x} \mathbf{u}\cdot \nabla{p} f + q \mathbf{v} \cdot \left( \mathbf{B} \times \nabla{p} f \right) = \frac{\nu}{2} \Delta{\theta, \varphi} f + S . $$
Sapphire++ is developed by Nils Schween, Florian Schulze and Brian Reville members of the Astrophysical Plasma Theory group located at the Max-Planck-Institut für Kernphysik in Heidelberg, Germany.
Installation
Sapphire++ builds on top of the deal.II finite element library. To install deal.II and other prerequisites for Sapphire++ we provide an installation script. Run the script by executing:
shell
chmod u+x install-dealii.sh
./install-dealii.sh
To download Sapphire++ itself, you can either get the latest release as a tarball on the release page or clone the repository:
shell
git clone https://github.com/sapphirepp/sapphirepp
Afterwards you can compile Sapphire++, with cmake and make:
shell
cd sapphirepp
export DEAL_II_DIR="path/to/deal.II"
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DEXAMPLES=ON
make --directory=build
A detailed description of the installation process can be found in the documentation.
Getting started
To run Sapphire++ you need to provide a parameter file:
shell
./build/sapphirepp parameter-template.prm
You enable parallel execution by using mpirun:
shell
mpirun -np N ./build/sapphirepp parameter-template.prm
where N is the number of processors to use.
Comprehensive documentation is available on our website sapphire.org. There, you can find a quick-start guide and various tutorials. The source code for the examples is located in the examples folder.
If you have any questions, feel free to reach out to us via the GitHub Discussions page for support and community interaction.
Contributing
We welcome contributions to Sapphire++. If you want to contribute code, please follow the contribution guidelines and our code of conduct.
Licence and citation
Sapphire++ is distributed under the LGPL 3.0 license.
If you use Sapphire++ in your research, please cite the following paper and the software:
Schween, N. W. and Schulze, F. and Reville, B., Sapphire++: A Particle Transport Code Combining a Spherical Harmonic Expansion and the Discontinuous Galerkin Method, 2025, DOI: https://doi.org/10.1016/j.jcp.2024.113690
bibtex
@article{Sapphirepp2025,
title = {Sapphire++: A particle transport code combining a spherical harmonic expansion and the discontinuous Galerkin method},
journal = {Journal of Computational Physics},
volume = {523},
pages = {113690},
year = {2025},
issn = {0021-9991},
doi = {https://doi.org/10.1016/j.jcp.2024.113690},
url = {https://www.sciencedirect.com/science/article/pii/S0021999124009380},
author = {Nils W. Schween and Florian Schulze and Brian Reville},
keywords = {Numerical methods, Vlasov-Fokker-Planck, Cosmic rays, Discontinuous Galerkin method, Spherical harmonics, Particle acceleration},
abstract = {We present Sapphire++, an open-source code designed to numerically solve the Vlasov–Fokker–Planck equation for astrophysical applications. Sapphire++ employs a numerical algorithm based on a spherical harmonic expansion of the distribution function, expressing the Vlasov–Fokker–Planck equation as a system of partial differential equations governing the evolution of the expansion coefficients. The code utilises the discontinuous Galerkin method in conjunction with implicit and explicit time stepping methods to compute these coefficients, providing significant flexibility in its choice of spatial and temporal accuracy. We showcase the code's validity using examples. In particular, we simulate the acceleration of test particles at a parallel shock and compare the results to analytical predictions. The Sapphire++ code Image 1 is available as a free and open-source tool for the community.}
}
The reference to the Sapphire++ software can be found on Zenodo.
Sapphire++ builds on top of the deal.II library. We therefore strongly encourage you to cite the deal.II library as well.
Owner
- Name: Sapphire++
- Login: sapphirepp
- Kind: organization
- Website: https://sapphirepp.org
- Repositories: 1
- Profile: https://github.com/sapphirepp
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Schween"
given-names: "Nils W."
orcid: "https://orcid.org/0000-0003-0105-8733"
- family-names: "Schulze"
given-names: "Florian"
orcid: "https://orcid.org/0000-0003-1644-8697"
- family-names: "Reville"
given-names: "Brian"
orcid: "https://orcid.org/0000-0002-3778-1432"
title: "Sapphire++"
doi: 10.5281/zenodo.14506754
url: "https://sapphirepp.org"
preferred-citation:
type: article
authors:
- family-names: "Schween"
given-names: "Nils W."
orcid: "https://orcid.org/0000-0003-0105-8733"
- family-names: "Schulze"
given-names: "Florian"
orcid: "https://orcid.org/0000-0003-1644-8697"
- family-names: "Reville"
given-names: "Brian"
orcid: "https://orcid.org/0000-0002-3778-1432"
doi: "10.1016/j.jcp.2024.113690"
journal: "Journal of Computational Physics"
month: 2
issn: "0021-9991"
url: "https://www.sciencedirect.com/science/article/pii/S0021999124009380"
keywords: "Numerical methods, Vlasov-Fokker-Planck, Cosmic rays, Discontinuous Galerkin method, Spherical harmonics, Particle acceleration"
start: 113690 # First page number
end: # Last page number
title: "Sapphire++: A particle transport code combining a spherical harmonic expansion and the discontinuous Galerkin method"
volume: 523
year: 2025
GitHub Events
Total
- Create event: 35
- Issues event: 15
- Release event: 2
- Watch event: 3
- Delete event: 31
- Issue comment event: 8
- Push event: 177
- Pull request review comment event: 1
- Pull request review event: 21
- Pull request event: 36
- Fork event: 1
Last Year
- Create event: 35
- Issues event: 15
- Release event: 2
- Watch event: 3
- Delete event: 31
- Issue comment event: 8
- Push event: 177
- Pull request review comment event: 1
- Pull request review event: 21
- Pull request event: 36
- Fork event: 1
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 1
- Total pull requests: 18
- Average time to close issues: 3 months
- Average time to close pull requests: 8 days
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.33
- Merged pull requests: 12
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 18
- Average time to close issues: 3 months
- Average time to close pull requests: 8 days
- Issue authors: 1
- Pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.33
- Merged pull requests: 12
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- floschulze (10)
Pull Request Authors
- floschulze (14)
- nils-schween (9)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v4 composite
- jidicula/clang-format-action v4.11.0 composite
- actions/checkout v4 composite
- actions/checkout v4 composite