This repository contains the source files of the paper on Trixi.jl to be submitted to the proceedings of JuliaCon 2021. Additionally, it also contains material to reproduce the numerical experiments reported therein.
We present Trixi.jl, a Julia package for adaptive high-order numerical simulations of hyperbolic partial differential equations. Utilizing Julia's strengths, Trixi.jl is extensible, easy to use, and fast. We describe the main design choices that enable these features and compare Trixi.jl with a mature open source Fortran code that uses the same numerical methods. We conclude with an assessment of Julia for simulation-focused scientific computing, an area that is still dominated by traditional high-performance computing languages such as C, C++, and Fortran.
This repository contains information and code to reproduce the results presented in the article
@article{ranocha2022adaptive,
title={Adaptive numerical simulations with {T}rixi.jl:
{A} case study of {J}ulia for scientific computing},
author={Ranocha, Hendrik and Schlottke-Lakemper, Michael and Winters, Andrew Ross
and Faulhaber, Erik and Chan, Jesse and Gassner, Gregor},
journal={Proceedings of the JuliaCon Conferences},
volume={1},
number={1},
pages={77},
year={2022},
month={01},
publisher={The Open Journal},
doi={10.21105/jcon.00077},
eprint={2108.06476},
eprinttype={arXiv},
eprintclass={cs.MS}
}
If you find these results useful, please cite the article mentioned above. If you use the implementations provided here, please also cite this repository as
@misc{ranocha2021adaptiveRepro,
title={Reproducibility repository for
Adaptive numerical simulations with {T}rixi.jl:
{A} case study of {J}ulia for scientific computing},
author={Ranocha, Hendrik and Schlottke-Lakemper, Michael and Winters, Andrew Ross
and Faulhaber, Erik and Chan, Jesse and Gassner, Gregor},
year={2021},
month={08},
howpublished={\url{https://github.com/trixi-framework/paper-2021-juliacon}},
doi={10.5281/zenodo.5201484}
}
- All material necessary to reproduce the simulation of a Mach 2000 jet shown
in the paper is contained in the folder
figure_jet
, including aREADME.md
with instructions. - All material necessary to reproduce the simulation of a Kelvin-Helmholtz
shown in the paper is contained in the folder
figure_kelvin_helmholtz
, including aREADME.md
with instructions. - All material necessary to reproduce the acoustics simulation on a curved
high-order mesh shown in the paper is contained in the folder
figure_gingerbread_man
, including aREADME.md
with instructions. - All material necessary to reproduce the performance comparison with the Fortran
code FLUXO is contained in the folder
pid_runs
, including aREADME.md
with instructions.
The source files of the paper are contained in the folder paper
.
Build the paper by running
make
Clean up your mess afterwards with
make clean
- JuliaCon Proceedings: https://proceedings.juliacon.org/
- Author's guide: https://juliacon.github.io/proceedings-guide/author/
The source code included in this repository is licensed under the MIT license (see LICENSE.md). The manuscript is subject to the license of the JuliaCon proceedings.
Everything is provided as is and without warranty. Use at your own risk!