# ryujin **Repository Path**: yuzi233/ryujin ## Basic Information - **Project Name**: ryujin - **Description**: High-performance high-order finite element solver for hyperbolic conservation equations - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: development - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-09 - **Last Updated**: 2026-03-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ryujin ====== Ryujin is a high-performance high-order collocation-type finite-element solver for conservation equations such as the compressible Navier-Stokes and Euler equations of gas dynamics. The solver is based on the [convex limiting technique](https://doi.org/10.1137/17M1149961) to ensure [invariant domain preservation](https://doi.org/10.1137/16M1074291) and uses the finite element library [deal.II](https://github.com/dealii/dealii) ([website](https://www.dealii.org)) and the [vector class SIMD library](https://github.com/vectorclass/version2). As such the solver maintains important physical invariants and is guaranteed to be stable without the use of ad-hoc tuning parameters. Ryujin is freely available under the terms of the [Apache License 2.0](https://spdx.org/licenses/Apache-2.0.html) with [LLVM Exception](https://spdx.org/licenses/LLVM-exception.html). Part of the contributed source code, third-party dependencies and header libraries are covered by different open source licenses. For details consult [COPYING.md](COPYING.md). Contributions to the ryujin source code are governed by the [Developer Certificate of Origin version 1.1](https://developercertificate.org/); see [CONTRIBUTING.md](CONTRIBUTING.md) for details. Modules ------- Ryujin features the following equation modules selectable by the following parameter flags: - `equation = euler`, an optimized solver module for the [compressible Euler equations](https://en.wikipedia.org/wiki/Euler_equations_(fluid_dynamics)) with polytropic equation of state. - `equation = euler barotropic`, an optimized solver module for the [compressible Euler equations](https://en.wikipedia.org/wiki/Euler_equations_(fluid_dynamics)) with a barotropic equation of state, such as the isentropic or isothermal equation of state. - `equation = euler aeos`, a generalized solver module for the compressible Euler equation with an [arbitrary or tabulated equation of state](https://en.wikipedia.org/wiki/Equation_of_state). - `equation = navier stokes`, an optimized solver module for the [compressible Navier-Stokes equations](https://en.wikipedia.org/wiki/Navier%E2%80%93Stokes_equations) with polytropic equation of state, Newtonian fluid model, and Fourier's law for the heat flux. - `equation = euler poisson`, an optimized solver module for a charged (single species) fluid goverened by the compressible Euler with polytropic gas equation of state, and subject to an electrostatic force model with background magnetic field. - `equation = euler poisson barotropic`, an optimized solver module for a charged (single species) fluid goverened by the compressible Euler equations](https://en.wikipedia.org/wiki/Euler_equations_(fluid_dynamics)) with a barotropic equation of state, and subject to an electrostatic force model with background magnetic field. - `equation = euler poisson aeos`, an generalized solver module for a charged (single species) fluid goverened by the compressible Euler equation with an arbitrary or tabulated equation of state, and subject to an electrostatic force model with background magnetic field. - `equation = shallow water`, a module for the [shallow water equations](https://en.wikipedia.org/wiki/Shallow_water_equations). - `equation = scalar conservation`, a module for scalar conservation equations with user-supplied flux. The module features a greedy wave-speed estimate to maintain an invariant domain, a generic indicator based on the entropy-viscosity commutator technique with a general, entropy-like function, and a customizable convex limiter. Resources --------- - [Website](https://conservation-laws.org/) - [Installation instructions](./INSTALLATION.md) - [Usage instructions](./USAGE.md) - [Doxygen documentation](https://conservation-laws.org/ryujin/doxygen) Videos ------ A number of simulation results can be found on [this youtube channel](https://www.youtube.com/@matthiasmaier8956). [](https://www.youtube.com/watch?v=ig7R3yA7CtE) [](https://www.youtube.com/watch?v=yM2rT3teakE) [](https://www.youtube.com/watch?v=xIwJZlsXpZ4) [](https://www.youtube.com/watch?v=pPP26zelb0M) [](https://www.youtube.com/watch?v=vBCRAF_c8m8) [](https://www.youtube.com/watch?v=xecIZylotSE) There original videos are available [here](https://tamiko.43-1.org/developer/) ([license details](https://tamiko.43-1.org/developer/COPYING.txt)). References ---------- If you use this software for an academic publication please consider citing some of the following references: ``` @article{ryujin-2021-1, author = {Matthias Maier and Martin Kronbichler}, title = {Efficient parallel 3D computation of the compressible Euler equations with an invariant-domain preserving second-order finite-element scheme}, doi = {10.1145/3470637}, url = {https://arxiv.org/abs/2007.00094}, journal = {ACM Transactions on Parallel Computing}, year = {2021}, volume = {8}, number = {3}, pages = {16:1-30} } @article{ryujin-2021-2, author = {Jean-Luc Guermond and Matthias Maier and Bojan Popov and Ignacio Tomas}, title = {Second-order invariant domain preserving approximation of the compressible Navier--Stokes equations}, doi = {10.1016/j.cma.2020.113608}, url = {https://arxiv.org/abs/2009.06022}, journal = {Computer Methods in Applied Mechanics and Engineering}, year = {2021}, volume = {375}, number = {1}, pages = {113608} } @article{ryujin-2021-3, author = {Jean-Luc~Guermond and Martin Kronbichler and Matthias Maier and Bojan Popov and Ignacio Tomas}, title = {On the implementation of a robust and efficient finite element-based parallel solver for the compressible Navier-stokes equations}, url = {https://arxiv.org/abs/2106.02159}, journal = {Computer Methods in Applied Mechanics and Engineering}, year = {2022}, volume = {389}, pages = {114250} } @article{ryujin-2023-4, author = {Bennett Clayton and Jean-Luc Guermond and Matthias Maier and Bojan Popov and Tovar, Eric J.}, title = {Robust second-order approximation of the compressible Euler equations with an arbitrary equation of state}, url = {http://arxiv.org/abs/2207.12832}, journal = {Journal of Computational Physics}, pages = {111926}, year = {2023} } @article{ryujin-2024-5, author = {Jean-Luc Guermond and Matthias Maier and Bojan Popov and Laura Saavedra and Ignacio Tomas}, title = {First-Order Greedy Invariant-Domain Preserving Approximation for Hyperbolic Problems: Scalar Conservation Laws, and p-System}, url = {https://arxiv.org/abs/2310.01713}, journal = {Journal of Scientific Computing}, year = {2024}, volume = {100}, number = {46}, pages = {}, } @article{ryujin-2025-6, author = {Jean-Luc Guermond and Matthias Maier and Tovar, Eric J.}, title = {A high-order explicit Runge-Kutta approximation technique for the shallow water equations}, url = {https://arxiv.org/abs/2403.17123}, journal = {Computers \& Fluids}, year = {2025}, volume = {288}, pages = {106493}, } @article{ryujin-2025-7, author = {Martin Kronbichler and Matthias Maier and Ignacio Tomas}, title = {Graph-based methods for hyperbolic systems of conservation laws using discontinuous space discretizations}, url = {https://arxiv.org/abs/2402.04514}, journal = {Communications in Computational Physics}, year = {2025}, volume = {38}, pages = {74--108} } @article{ryujin-2025-8, author = {Jake Harmon and Martin Kronbichler and Matthias Maier and Eric Tovar}, title = {A conservative invariant-domain preserving projection technique for hyperbolic systems under adaptive mesh refinement}, url = {https://arxiv.org/abs/2507.18717}, year = {2025}, journal = {submitted} } @article{ryujin-2025-9, author = {Jordan Hoffart and Matthias Maier and John Shadid and Ignacio Tomas}, title = {Structure-preserving finite-element approximations of the magnetic Euler-Poisson equations}, url = {https://arxiv.org/abs/2510.11808}, year = {2025}, journal = {submitted} } ``` Contact ------- For questions either open an [issue](https://github.com/conservation-laws/ryujin/issues), or contact Matthias Maier (maier@tamu.edu). Developers ---------- - Martin Kronbichler ([@kronbichler](https://github.com/kronbichler)), Ruhr University Bochum, Germany - Matthias Maier ([@tamiko](https://github.com/tamiko)), Texas A&M University, TX, USA - Ignacio Tomas ([@nachosaurus](https://github.com/nachosaurus)), Texas Tech University, TX, USA - Eric Tovar ([@ejtovar](https://github.com/ejtovar)), Xcimer Energy Corporation, USA Contributors ------------ - Wolfgang Bangerth [@bangerth](https://github.com/bangerth), Colorado State University - Taylor Boylan ([@tmboylan](https://github.com/tmboylan)), - Jerett Cherry ([@jerret-cc](https://github.com/jerett-cc)), Colorado State University - Gregory Christian ([@gregorychristian](https://github.com/gregorychristian), Imperial College London, UK - Bennett Clayton ([@bgclayto](https://github.com/bgclayto)) - Seth Gerberding ([@Gerbeset](https://github.com/Gerbeset)), Texas A&M University, TX, USA - Jake Harmon ([@harmonj](https://github.com/harmonj)), Los Alamos National Laboratory, USA - Jordan Hoffart ([@jordanhoffart](https://github.com/jordanhoffart)), Texas A&M University, TX, USA - David Pecoraro ([@ChrisPec27](https://github.com/ChrisPec27)), Texas A&M University, TX, USA - Madison Sheridan ([@Helblindi](https://github.com/Helblindi)), Texas A&M University, TX, USA