3 Numerical method
To analyze the model problem discussed in Sect. 1, it was
convenient to express the governing equations in an inertial
frame attached to the constant velocity piston using the Galilean
transformation ξ = x − upt and v = u − up, where ξ
and v are position and velocity measured relative to the piston
frame. Because the equations are frame-invariant, the transformed
equations are identical to Eqs. (1)–(5)with x replaced
by ξ and u replaced by v. The physical domain 0 ≤ ξ ≤ ξmax,
where the piston is located at ξ = 0 and the upstream boundary
is located at ξ = ξmax, was discretized into N evenly
spaced nodes located at positions ξ j = ( j − 1)_ξ ( j =
1, 2, . . . , N), where _ξ = ξmax/(N − 1). Here, ξ j denotes
the center of a computational cell having boundaries located
at ξ j}1/2 = ξ j } _ξ/2. The model equations are numerically
solved on the computational grid using a time-step splitting
technique [23] that enables the coupling of a numerical
method for nonlinear convection and a separate numerical
method for local processes such as compaction. The splitting
algorithm is given byWn+2 = L_t
c
L2_t
s
L_t
c Wn, where