JE5: Hyperbolic balance laws with dispersive source terms
Contents
While solving the two-fluid Riemann problems small oscillations are observed in the solution. On first sight it might be thought that these oscillations are numerical and do not reflect a correct solution to the ideal two-fluid equation system. In this note I show that such solutions can (and do) occur when certain types of source terms are present and the homogeneous system is hyperbolic.
Linearization and hyperbolic balance laws with dispersive sources
Linearizing a hyperbolic balance law can lead to important insights into the structure of solutions, although linearization can not reveal the rich non-linear phenomena (shocks, rarefactions and contact discontinuities) that are described by these equations. We start from the non-conservative form of the equations
where \(\mathbf{v}\) are the primitive variables, \(\mathbf{A}_p\) is a Jacobian matrix and \(\mathbf{s}_p\) are source terms. Linearize about a uniform equilibrium \(\mathbf{v}_0\) to write \(\mathbf{v} = \mathbf{v}_0 + \mathbf{v}_1\), where \(\mathbf{v}_1\) is a small perturbation. Using a Taylor series expansion to first-order to write \(\mathbf{s}_p(\mathbf{v}) = \mathbf{s}_p(\mathbf{v}_0) + \left( {\partial \mathbf{s}_p}/{\partial \mathbf{v}} \right)_{\mathbf{v}_0} \mathbf{v}_1\) and \(\mathbf{A}_p(\mathbf{v}) = \mathbf{A}_p(\mathbf{v}_0) + \left( {\partial \mathbf{A}_p}/{\partial \mathbf{v}} \right)_{\mathbf{v}_0} \mathbf{v}_1\) and letting \(\mathbf{M}_p \equiv {\partial \mathbf{s}_p}/{\partial \mathbf{v}}\), the linear form of the non-conservative equation becomes
To understand the mathematical structure of the linear equation a Fourier representation of the solution is assumed and each mode is represented as \(\mathbf{v}_1 = \mathbf{\hat{v}}_1 e^{i\omega t} e^{i k x}\), where \(\omega\) is the frequency and \(k\) is the wavenumber. Using this we obtain
where \(\mathbf{I}\) is a unit matrix. For non-trivial solutions the determinant of the matrix in the square brackets must vanish. Another way to state this condition is that the frequency and wavenumbers must be related by the dispersion relations \(\omega = \omega(k)\) which are the eigenvalues of the matrix \(-k\mathbf{A}_p(\mathbf{v}_0) - i\mathbf{M}_p(\mathbf{v}_0)\). Thus if \(\lambda^p(k,\mathbf{v}_0)\) is the \(p^{\textrm{th}}\) eigenvalue of this matrix then the \(p^{\textrm{th}}\) branch of the dispersion relation is \(\omega = \lambda^p(k,\mathbf{v}_0)\).
If the dispersion relation is purely real then the equation system will support non-decaying waves. Further, if the dispersion relation is linear, then a wave packet will propagate without distortion. If, however, if the dispersion relation is non-linear (but still real), the wave packet will suffer dispersion, i.e. waves with different wave-numbers will propagate with different group and phase speeds.
For the simple case of vanishing sources (\(\mathbf{s}_p=0\)) the dispersion relation reduces to \(\omega = \lambda^p k\), where \(\lambda^p\) are the eigenvalues of the Jacobian matrix \(\mathbf{A}_p\). As the homogeneous equation is assumed to be hyperbolic the eigenvalues are all real, indicating that for the homogeneous case waves will propagate without dispersion or decay.
This simple analysis indicates that the linear solution will depend on the nature of the eigenvalues of the source Jacobian matrix \(\mathbf{M}_p\). In case the eigenvalues of this matrix are purely imaginary, the dispersion relation will be real but waves will suffer dispersion as they propagate in the background uniform equilibrium. In this case the system of equations is called hyperbolic balance laws with dispersive source terms. (This is my own terminology and I have not seen such equations discussed in the literature).
The Dispersive Euler Equations
Several simple hyperbolic balance laws with dispersive source terms can be constructed. However, a particularly useful system that has properties similar to the ideal two-fluid equations is the following dispersive Euler system
where \(\mathbf{b}(\mathbf{x})\) is a time-independent vector field and \(\lambda\) is a constant.
Consider solving the linearized system in one-dimension. Linearizing around stationary uniform initial state \(\rho = \rho_0\), \(p = p_0\) and assuming \(\mathbf{b} = (0,0,b_z)\), where \(b_z\) is constant leads to the linear system
Assuming solutions of the form
for \(f\in \{\rho_1,u_1,v_1,p_1\}\) and \(k_n\) is the wave number and \(\omega_n\) is frequency we get the algebraic equations
From this the dispersion relation can be computed as
Here \(c_{s0} \equiv \sqrt{\gamma p_0/\rho_o}\) is the speed of sound and \(\omega_c \equiv \lambda b_z\) is the eigenvalue of the source Jacobian.
Exact solution for initial step function perturbation
Consider a initial perturbation of the form \(u(x,0)\) where
with \(k_n = 2\pi(2n+1)\). For \(N\rightarrow \infty\) this represents the propagation of a step function perturbation. Letting \(u_i^{(n)} \equiv i U_0 /(2n+1) e^{i(k_nx+\omega_nt)}\) the Fourier components of the other flow variable perturbations are given by
summing which over \(n=0,\ldots,N\) gives the exact solution to the linear problem. The following figure shows the exact solution for \(N=5000\), \(\omega_c = 10\) and \(c_s = \sqrt{2}\) at time 1000.
A note on solving dispersive Euler equations with Lucee
The dispersive Euler equations can be solved by adding a source term to the Euler equations. The source terms can be implemented using a Lorentz force object. This object needs an electric and magnetic field as input. Hence, we need to allocate memory for all the field components and set the electric field to zero. Due to the peculiarity of the point ODE integrator, this memory needs to be part of the fluid fields. Hence, in the simulations shown below (see, for example, s40) the fields have 11 components (5 for fluids and 3 for electric field and 3 for magnetic field).
Problem 1: Case \(\omega_c = 10\)
A series of simulations was performed for the case of \(\omega_c = 10\) and \(c_s = \sqrt{2}\). To avoid exciting all the Fourier modes in the step function, the expansion was carried out to only \(N=9\) modes. The solution was computed on grids of 100, 200, 300 and 400 cells. The results of velocity \(u(x,t)\) are shown below at \(t=3\). The wave-propagation scheme has intrinsic diffusion due to which the small wavelength features are poorly resolved when the grid is relatively coarse.
Problem 2: Case \(\omega_c = 100\)
In these simulations, the influence from sources was increased by setting \(\omega_c = 100\). The simulation is run on a grid with 200 cells. The time-step for this case is constrained by the need to resolve the oscillations from the source terms. Taking \(k \approx 1/\Delta x = 1/200\) we get the largest frequency as approximately 283. To resolve this the time-step needs to much smaller than \(1/238 \approx 0.0035\). This forces a more restrictive CFL number (0.5) than allowed by stability of just the hyperbolic part. If the oscillations are not resolved significant phase errors are seen in the solution.
The simulation was next run with 400 cells. This significantly improves the numerical solution even though some small-scale features are still not resolved correctly.
Problem 3: Sod-shock problem
The previous simulations show the effect of dispersive source terms on linear problems. In this simulation I solve the sod-shock problem for the dispersive Euler equations. This is a highly non-linear problem and shows complex shock structure. The problem is initialized with a discontinuity at \(x=0.5\) and with left and right states
and is run to \(t=0.1\) on a grid of 800 cells with \(\mathbf{b} = (0.75, 0.0, 1.0)\), \(\lambda=100\) and \(\gamma = 5/3\).
The results are shown below. These show significant differences between the zero-source case and the one with the dispersive sources. Note that the solution looks like the two-fluid solutions to the Riemann problem.
Conclusions
One conclusion from these series of simulations is that dispersive source terms can cause small-scale features in the solution. To resolve these features sufficient spatial and temporal resolution is needed. Poor spatial resolution can diffuse the oscillations while poor temporal resolution can lead to phase errors. In physical problems (for example multi-fluid plasmas) there is usually some diffusion that is active at small scales and can be important when the gradients change rapidly over a few grid cells. This physical diffusion will wipe out the oscillations from the dispersive sources. Hence, in such cases the resolution of the oscillations might not be so important. However, from a mathematical view-point the numerical schemes need to be accurate enough to resolve such features.