trixi-framework / Trixi.jl
git clone https://github.com/trixi-framework/Trixi.jl.git
v0.17.16 · 5d ago
🔥 on GitHub Trending today
Trixi.jl: Adaptive high-order numerical simulations of conservation laws in Julia
+0
stars, 24h · #46,920
+0
stars, 7 days · #50,041
+~0
stars, 30 days · #50,634
737
★ total
169
forks · 423 open issues
Star history (as recorded here)
LanguageJulia
LicenseMIT
Created2020-08-18 (6y ago)
Last pushtoday
Watchers21
OwnerOrganization
Seen on GitHub Trending
- 2026-10-23 — #2 weekly in julia
- 2026-10-22 — #2 weekly in julia
GitHub topics
adaptive-mesh-refinementamrconservation-lawsdiscontinuous-galerkinhyperbolic-equationsjulianumerical-simulation-frameworksimulationsummation-by-parts
Links
- GitHub: github.com/trixi-framework/Trixi.jl
- Homepage: https://trixi-framework.org/TrixiDocumentation
- Releases · Issues · Hacker News mentions
README excerpt
# Trixi.jl **Trixi.jl** is a numerical simulation framework for conservation laws written in Julia. A key objective for the framework is to be useful to both scientists and students. Therefore, next to having an extensible design with a fast implementation, Trixi.jl is focused on being easy to use for new or inexperienced users, including the installation and postprocessing procedures. Its features include: * 1D, 2D, and 3D simulations on line/quad/hex/simplex meshes * Cartesian and curvilinear meshes * Conforming and non-conforming meshes * Structured and unstructured meshes * Hierarchical quadtree/octree grid with adaptive mesh refinement * Forests of quadtrees/octrees with p4est via P4est.jl * High-order accuracy in space and time * Arbitrary floating-point precision * Discontinuous Galerkin methods * Kinetic energy-preserving and entropy-stable methods based on flux differencing * Entropy-stable shock capturing * Finite difference summation by parts (SBP) methods * Advanced limiting strategies * Positivity-preserving limiting * Subcell invariant domain-preserving (IDP) limiting * Entropy-bounded limiting * Compatible with the SciML ecosystem for ordinary differential equations * Explicit low-storage Runge-Kutta time integration * Strong stability preserving methods) * CFL-based and error-based time step control * Custom explicit time integration schemes * Maximized linear stability via paired explicit Runge-Kutta methods * Relaxation Runge-Kutta methods for entropy-conservative time integration * Native support for differentiable programming * Forward mode automatic differentiation via ForwardDiff.jl * Automatic Jacobian sparsity detection via SparseConnectivityTracer.jl * Periodic and weakly-enforced boundary conditions * Multiple governing equations: * Compressible Euler equations * Compressible Navier-Stokes equations * Magnetohydrodynamics (MHD) equations * Multi-component compressible Euler and MHD equations * Multi-ion compressible MHD equations * Linearized Euler and acoustic perturbation equations * Hyperbolic diffusion equations for elliptic problems * Lattice-Boltzmann equations (D2Q9 and D3Q27 schemes) * Shallow water equations via TrixiShallowWater.jl * Several scalar conservation laws (e.g., linear advection, Burgers' equation, LWR traffic flow) * Linear diffusion/heat equation * Multi-physics simulations * Self-gravitating gas dynamics * Shared-memory parallelization via multithreading * Multi-node parallelization via MPI * Visualization and postprocessing of the results * In-situ and a posteriori visualization with Plots.jl * Interactive visualization with Makie.jl * Postprocessing with ParaView/VisIt via Trixi2Vtk ## Installation If you have not yet installed Julia, please follow the instructions for your operating system. Trixi.jl works with Julia v1.10 and newer. We recommend using the latest stable release of Julia. ### For users Trixi.jl and its related tools are registered Julia packages.