Euler1D_AUSM2

Self contained code for solving the 1D Euler equation with a source term.

You are now following this Submission

Solves the 1D Euler equation by means of the Liou and Steffen AUSM Flux Vector Split (FVS) technique, based on the second type of pressure split. An added source term accounts for cylindrical and spherical symmetric flows, by setting the parameter alpha to 0 (plain 1D), 1 (cylindrical axisymmetric) or 2 (spherical symmetric). Boundary conditions are of the transmissive type, and initial data is suitable for a Riemann problem (RP). To solve the added source, a PDE/ODE split is carried on Ut as:
PDE:
Ut + Fx = 0 for U(x,t0) yields Up (prediction)

ODE:

dU/dt = S(U) for U(t0) = Up yields U(x,t+dt)

Details of the numerics can be found in E. Toro's book, as well as in the original paper of Liou and Steffen. Works well for most benchmark tests, except for Test 3 described in Chapter 8 of Toro's book, for which it fails.
To determine the time-step, run a coarse mesh case, calculate eigenvalues L1 = u-a and L3 = u+a for the complete solution and set S1 = max(max(abs(L1))) and S3 = max(max(abs(L3))); dt = CFL*dx/max(S1,S3), where CFL and dx are chosen as desired (0 < CFL < 1).
This code assumes ideal gas relations, such that p = rho*R*T, where R = 287 and gamma = 1.4 for air. Essentialy, when alpha = 0, it solves a traditional shock tube problem. Useful for benchmarking 2D and 3D commercial software such as Fluent or CFX. Will upload a Steger-Warming and AUSM1 FVS soon.

Cite As

Lucas Gasparino (2026). Euler1D_AUSM2 (https://www.mathworks.com/matlabcentral/fileexchange/66589-euler1d_ausm2), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0.0