{"id":21044325,"url":"https://github.com/trixi-framework/paper-2021-ec_performance","last_synced_at":"2026-05-17T20:37:52.103Z","repository":{"id":63339546,"uuid":"436197487","full_name":"trixi-framework/paper-2021-EC_performance","owner":"trixi-framework","description":"Reproducibility repository for \"Efficient implementation of modern entropy stable and kinetic energy preserving discontinuous Galerkin methods for conservation laws\"","archived":false,"fork":false,"pushed_at":"2023-09-28T06:41:53.000Z","size":165,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-20T17:28:23.659Z","etag":null,"topics":["conservation-laws","discontinuous-galerkin","fortran","julia","simd"],"latest_commit_sha":null,"homepage":"","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trixi-framework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-12-08T09:57:52.000Z","updated_at":"2024-08-04T18:51:03.000Z","dependencies_parsed_at":"2022-11-17T08:01:19.567Z","dependency_job_id":null,"html_url":"https://github.com/trixi-framework/paper-2021-EC_performance","commit_stats":{"total_commits":20,"total_committers":3,"mean_commits":6.666666666666667,"dds":0.4,"last_synced_commit":"8ab600c070fcd25ceba3f53f8c02a35bb36b53a9"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trixi-framework%2Fpaper-2021-EC_performance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trixi-framework%2Fpaper-2021-EC_performance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trixi-framework%2Fpaper-2021-EC_performance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trixi-framework%2Fpaper-2021-EC_performance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trixi-framework","download_url":"https://codeload.github.com/trixi-framework/paper-2021-EC_performance/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243489898,"owners_count":20299001,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["conservation-laws","discontinuous-galerkin","fortran","julia","simd"],"created_at":"2024-11-19T14:16:19.487Z","updated_at":"2025-12-28T20:16:09.378Z","avatar_url":"https://github.com/trixi-framework.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Efficient implementation of modern entropy stable and kinetic energy preserving discontinuous Galerkin methods for conservation laws\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-success.svg)](https://opensource.org/licenses/MIT)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5792576.svg)](https://doi.org/10.5281/zenodo.5792576)\n\nThis repository contains information and code to reproduce the results presented in the\narticle\n```bibtex\n@article{ranocha2023efficient,\n  title={Efficient implementation of modern entropy stable and kinetic energy\n         preserving discontinuous {G}alerkin methods for conservation laws},\n  author={Ranocha, Hendrik and Schlottke-Lakemper, Michael and Chan, Jesse and\n          Rueda-Ram\\'{i}rez, Andr{\\'e}s M and Winters, Andrew R and\n          Hindenlang, Florian and Gassner, Gregor J},\n  journal={ACM Transactions on Mathematical Software},\n  year={2023},\n  month={09},\n  doi={10.1145/3625559},\n  eprint={2112.10517},\n  eprinttype={arxiv},\n  eprintclass={cs.MS}\n}\n```\n\nIf you find these results useful, please cite the article mentioned above. If you\nuse the implementations provided here, please **also** cite this repository as\n```bibtex\n@misc{ranocha2021efficientRepro,\n  title={Reproducibility repository for\n         {E}fficient implementation of modern entropy stable and kinetic energy\n         preserving discontinuous {G}alerkin methods for conservation laws},\n  author={Ranocha, Hendrik and Schlottke-Lakemper, Michael and Chan, Jesse and\n          Rueda-Ram\\'{i}rez, Andr{\\'e}s M and Winters, Andrew R and\n          Hindenlang, Florian and Gassner, Gregor J},\n  year={2021},\n  month={12},\n  howpublished={\\url{https://github.com/trixi-framework/paper-2021-EC\\_performance}},\n  doi={10.5281/zenodo.5792576}\n}\n```\n\n\n## Abstract\n\nMany modern discontinuous Galerkin (DG) methods for conservation laws make use of summation by parts operators and flux differencing to achieve kinetic energy preservation or entropy stability. While these techniques increase the robustness of DG methods significantly, they are also computationally more demanding than standard weak form nodal DG methods. We present several implementation techniques to improve the efficiency of flux differencing DG methods that use tensor product quadrilateral or hexahedral elements, in 2D or 3D respectively. Focus is mostly given to CPUs and DG methods for the compressible Euler equations, although these techniques are generally also useful for GPU computing and other physical systems including the compressible Navier-Stokes and magnetohydrodynamics equations. We present results using two open source codes, Trixi.jl written in Julia and FLUXO written in Fortran, to demonstrate that our proposed implementation techniques are applicable to different code bases and programming languages.\n\n\n## Numerical experiments\n\nThe numerical experiments presented in the paper use [Trixi.jl](https://github.com/trixi-framework/Trixi.jl)\nand [FLUXO](https://gitlab.com/project-fluxo/fluxo).\nTo reproduce the numerical experiments using Trixi.jl, you need to install\n[Julia](https://julialang.org/).\n\nThe subfolders of this repository contain `README.md` files with instructions\nto reproduce the numerical experiments, including postprocessing.\n\nThe numerical experiments were carried out using Julia v1.7.0.\n\n\n## Authors\n\n- [Hendrik Ranocha](https://ranocha.de) (University of Hamburg, Germany)\n- [Michael Schlottke-Lakemper](https://lakemper.eu) (University of Stuttgart, Germany)\n- [Jesse Chan](https://jlchan.github.io) (Rice University, USA)\n- [Andrés M. Rueda-Ramírez](https://www.mi.uni-koeln.de/NumSim/dr-andres-rueda-ramirez) (University of Cologne, Germany)\n- [Andrew Winters](https://liu.se/en/employee/andwi94) (Linköping University, Sweden)\n- Florian Hindenlang (Max Planck Institute for Plasma Physics, Germany)\n- [Gregor Gassner](https://www.mi.uni-koeln.de/NumSim/gregor-gassner) (University of Cologne, Germany)\n\n\n## Disclaimer\n\nEverything is provided as is and without warranty. Use at your own risk!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrixi-framework%2Fpaper-2021-ec_performance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrixi-framework%2Fpaper-2021-ec_performance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrixi-framework%2Fpaper-2021-ec_performance/lists"}