A Fast Numerical Scheme for the Godunov-Peshkov-Romenski Model of Continuum Mechanics

A new second-order numerical scheme based on an operator splitting is proposed for the Godunov-Peshkov-Romenski model of continuum mechanics. The homogeneous part of the system is solved with a finite volume method based on a WENO reconstruction, and the temporal ODEs are solved using some analytic results presented here. Whilst it is not possible to attain arbitrary-order accuracy with this scheme (as with ADER-WENO schemes used previously), the attainable order of accuracy is often sufficient, and solutions are computationally cheap when compared with other available schemes. The new scheme is compared with an ADER-WENO scheme for various test cases, and a convergence study is undertaken to demonstrate its order of accuracy.


Motivation
The Godunov-Peshkov-Romenski model of continuum mechanics (as described in 1.2) presents an exciting possibility of being able to describe both fluids and solids within the same mathematical framework. This has the potential to streamline development of simulation software by reducing the number of different systems of equations that require solvers, and cutting down on the amount of theoretical work required, for example in the treatment of interfaces in multimaterial problems. In addition to this, the hyperbolic nature of the GPR model ensures that the nonphysical instantaneous transmission of information appearing in certain non-hyperbolic models (such as the Navier-Stokes equations) cannot occur. Parallelization also tends to be easier with hyperbolic models, allowing us to leverage the great advances that have been made in parallel computing architectures in recent years.
At the time of writing, the GPR model has been solved for a variety of fluid and solid problems using the ADER-WENO method (Dumbser et al. [8], Boscheri et al. [4]). ADER-WENO methods (described in 1.3) are extremely effective in producing arbitrarily-high order solutions to hyperbolic systems of PDEs, but in some situations their accompanying computational cost may prove burdensome. A new method is presented in this study that is simple to implement and computationally cheaper than a corresponding ADER-WENO method if only second order accuracy is required. This may prove useful in the design of simulation software addressing problems in which not just accuracy but also speed and usability are of paramount importance.

The GPR Model
The GPR model, first introduced in Peshkov and Romenski [23], has its roots in Godunov and Romenski's 1970s model of elastoplastic deformation (see Godunov and Romenski [14]). It was expanded upon in Dumbser et al. [8] to include thermal conduction. This expanded model takes the following form: ρ,v,p,δ,σ,T ,E,q retain their usual meanings. θ 1 and θ 2 are positive scalar functions, chosen according to the properties of the material being modeled. A is the distortion tensor (containing information about the deformation and rotation of material elements), J is the thermal impulse vector (a thermal analogue of momentum), τ 1 is the strain dissipation time, and τ 2 is the thermal impulse relaxation time. ψ = ∂E ∂A and H = ∂E ∂J . The following definitions are given: To close the system, the equation of state (EOS) must be specified, from which the above quantities and the sources can be derived. E is the sum of the contributions of the energies at the molecular scale (microscale), the material element 1 scale (mesoscale), and the flow scale (macroscale): The EOS used in this study (and described in the following passages) is taken from Dumbser et al. [8]. It should be noted, however, that this is just one particular choice, and there are many others that may be used.
For an ideal or stiffened gas, E 1 is given by: where p ∞ = 0 for an ideal gas. E 2 is chosen to have the following quadratic form: c s is the characteristic velocity of propagation of transverse perturbations. α is a constant related to the characteristic velocity of propagation of heat waves: G = A T A is the Gramian matrix of the distortion tensor, and dev (G) is the deviator (trace-free part) of G: E 3 is the usual specific kinetic energy per unit mass: The following forms are chosen: The justification of these choices is that classical Navier-Stokes-Fourier theory is recovered in the stiff limit τ 1 , τ 2 → 0 (see Dumbser et al. [8]). This results in the following relations: The following constraint also holds (see Peshkov and Romenski [23]): The GPR model and Godunov and Romenski's 1970s model of elastoplastic deformation in fact relie upon the same equations. The realization of Peshkov and Romenski was that these are the equations of motion for an arbitrary continuum -not just a solid -and so the model can be applied to fluids too. Unlike in previous continuum models, material elements have not only finite size, but also internal structure, encoded in the distortion tensor.
The strain dissipation time τ 1 of the HPR model is a continuous analogue of Frenkel's "particle settled life time" Frenkel [12]; the characteristic time taken for a particle to move by a distance of the same order of magnitude as the particle's size. Thus, τ 1 characterizes the time taken for a material element to rearrange with its neighbors. τ 1 = ∞ for solids and τ 1 = 0 for inviscid fluids. It is in this way that the HPR model seeks to describe all three major phases of matter, as long as a continuum description is appropriate for the material at hand.
The evolution equation for J and its contribution to the energy of the system are derived from Romenski's model of hyperbolic heat transfer, originally proposed in Malyshev and Romenskii [19], Romenski [26], and implemented in Romenski et al. [25,24]. In this model, J is effectively defined as the variable conjugate to the entropy flux, in the sense that the latter is the derivative of the specific internal energy with respect to J. Romenski remarks that it is more convenient to evolve J and E than the heat flux or the entropy flux, and thus the equations take the form given here. τ 2 characterizes the speed of relaxation of the thermal impulse due to heat exchange between material elements.

The ADER-WENO Method
The ADER-WENO method was used in Dumbser et al. [8], Boscheri et al. [4] to solve the GPR system. It produces arbitrarily high-order solutions to hyperbolic systems of PDEs and has been shown to be particularly effective for a wide range of systems (e.g. the classical Euler equations of gas dynamics, the special relativistic hydrodynamics and ideal magnetohydrodynamics equations, and the Baer-Nunziato model for compressible two-phase flow -see Balsara et al. [1], Zanotti and Dumbser [28]). The first step in the process -the WENO method -will be used later in this study and is therefore discussed in detail here. The remaining steps are described qualitatively, with references for further information given.
WENO (Weighted Essentially Non-Oscillatory) methods are used to produce high order polynomial approximations to piece-wise constant data. Many variations exist. In this study, the method of Dumbser et al. [11] is used.
Consider the domain [0, L]. Take K, N ∈ N. The order of accuracy of the resulting method will be N + 1. Take the set of grid points x i = i·L K for i = 0, . . . , K and let ∆x = L K . Denote cell [x i , x i+1 ] by C i . Given cell-wise constant data u on [0, L], an order N polynomial reconstruction of u in C i will be performed. Define the scaled space variable: Denoting the Gauss-Legendre abscissae on [0, 1] by {χ 0 , . . . , χ N }, define the nodal basis of order N: the Lagrange interpolating polynomials {ψ 0 , . . . , ψ N } with the following property: If N is even, take the stencils: If N is odd, take the stencils: The data is reconstructed on S j as: where theŵ i j p are solutions to the following linear system: where u k is the value of u in C k . This can be written as M jŵ i j = u [ j 0 : j N ] where { j 0 , . . . , j N } indexes the cells in S j . In this study reconstructions with N = 2 are used. The matrices of these linear systems are given in 8.3, along with their inverses, which are precomputed to accelerate the solution of these systems.
Define the oscillation indicator matrix: and the oscillation indicator for each stencil: The full reconstruction in C i is: wherew i p = ω jŵ i j p is the weighted coefficient of the pth basis function, with weights: In this study, r = 8, ε = 10 −14 , ζ j = 10 5 if S j is a central stencil, and ζ j = 1 if S j is a side stencil, as in Dumbser et al. [7].
The reconstruction can be extended to two dimensions by taking: and defining stencils in the y-axis in an analogous manner. The data in C i is then reconstructed using stencil S j as: (24) where the coefficients of the weighted 1D reconstruction are used as cell averages: The oscillation indicator is calculated for each p in the same manner as the 1D case. The reconstruction method is easily further extensible to three dimensions, now using the coefficientsw pq of the weighted 2D reconstruction as cell averages.
The next process in the ADER-WENO method is to perform a Continuous Galerkin or Discontinuous Galerkin spatiotemporal polynomial reconstruction of the data in each cell, using the WENO reconstruction as initial data at the start of the time step (see Balsara et al. [1] and Dumbser et al. [5] respectively for implementations of these two variations). The order of this reconstruction in time is usually taken to be the same as the spatial order, and the same basis polynomials are used. The process involves finding the root of a non-linear system, and this process is guaranteed to converge in exact arithmetic for certain classes of PDEs (see Jackson [16]). This root finding can be computationally expensive relative to the WENO reconstruction, especially if the source terms of the PDE system are stiff.
The final step in the ADER-WENO method is to perform a finite volume update of the data in each cell, using the boundary-extrapolated values of the cell-local Galerkin reconstructions to calculate the flux terms, and the interior values of the Galerkin reconstructions to calculate the interior volume integrals. See Dumbser et al. [7] for more details.

An Alternative Numerical Scheme
Note that (1a), (1b), (1c), (1d), (1e) can be written in the following form: As described in Toro [27], a viable way to solve inhomogeneous systems of PDEs is to employ an operator splitting. That is, the following subsystems are solved: The advantage of this approach is that specialized solvers can be employed to compute the results of the different subsystems. Let H δt , S δt be the operators that take data Q (x, t) to Q (x, t + δt) under systems (27a) and (27b) respectively. A second-order scheme (in time) for solving the full set of PDEs over time step [0, ∆t] is obtained by calculating Q ∆t using a Strang splitting: In the scheme proposed here, the homogeneous subsystem will be solved using a WENO reconstruction of the data, followed by a finite volume update, and the temporal ODEs will be solved with appropriate ODE solvers. This new scheme will be referred to here as the Split-WENO method.

The Homogeneous System
A WENO reconstruction of the cell-averaged data is performed at the start of the time step (as described in 1.3).
Focusing on a single cell C i at time t n , we have w n (x) = w n p Ψ p χ (x) in C i where Ψ p is a tensor product of basis functions in each of the spatial dimensions. The flux in C is approximated by F (x) ≈ F w p Ψ p χ (x) . w p are stepped forwards half a time step using the update formula: where χ p is the node corresponding to Ψ p . This evolution to the middle of the time step is similar to that used in the second-order MUSCL and SLIC schemes (see Toro [27]) and, as with those schemes, it is integral to giving the method presented here its second-order accuracy.
Integrating (27a) over C gives: where V is the volume of C and Q − , Q + are the interior and exterior extrapolated states at the boundary of C, respectively.
Note that (27a) can be rewritten as: where M = ∂F ∂Q + B. Let n be the normal to the boundary at point s ∈ ∂C. For the GPR model,M = M (Q (s)) · n is a diagonalizable matrix with decompositionM =RΛR −1 where the columns ofR are the right eigenvectors andΛ is the diagonal matrix of eigenvalues. Define alsoF = F · n andB = B · n. Using these definitions, the interface terms arising in the FV formula have the following form: M is chosen to either correspond to a Rusanov/Lax-Friedrichs flux (see Toro [27]): or a simplified Osher-Solomon flux (see Dumbser and Toro [9,10]): B takes the following form:B It was found that the Osher-Solomon flux would often produce slightly less diffusive results, but that it was more computationally expensive, and also had a greater tendency to introduce numerical artefacts.

The Temporal ODEs
Noting that dρ dt = 0 over the ODE time step, the operator S entails solving the following systems: These systems can be solved concurrently with a stiff ODE solver. The Jacobians of these two systems to be used in an ODE solver are given in 8.1 and 8.2. However, these systems can also be solved separately, using the analytical results presented in Section 3, under specific assumptions. The second-order Strang splitting is then: where D δt , T δt are the operators solving the distortion and thermal impulse ODEs respectively, over timestep δt. This allows us to bypass the relatively computationally costly process of solving these systems numerically.

The Thermal Impulse ODEs
Taking the EOS for the GPR model (3) and denoting by E (A) 2 , E (J) 2 the components of E 2 depending on A and J respectively, we have: where: Over the time period of the ODE (39b), c 1 , c 2 > 0 are constant. We have: Therefore: Note that this is a generalized Lotka-Volterra system in J 2 1 , J 2 2 , J 2 3 . It has the following analytical solution:

Reduced Distortion ODEs
3 > 0 and let A have singular value decomposition UΣV T . Then: Therefore: It is a common result (see Giles [13]) that: and thus: Using a fast 3 × 3 SVD algorithm (such as in McAdams et al. [20]), U, V, Σ can be obtained, after which the following procedure is applied to Σ, giving Denote the singular values of A by a 1 , a 2 , a 3 . Then: we have: where τ = 2 τ 1 ρ ρ 0 7 3 t andx is the arithmetic mean of x 1 , x 2 , x 3 . This ODE system travels along the surface Ψ = As such, given that the system is autonomous, the paths of evolution of the x i cannot cross the intersections of these planes with Ψ. Thus, any non-strict inequality of the form x i ≥ x j ≥ x k is maintained for the whole history of the system. By considering (53) it is clear that in this case x i is monotone decreasing, x k is monotone increasing, and the time derivative of x j may switch sign.
Note that we have: Thus, an ODE solver can be used on these two equations to effectively solve the ODEs for all 9 components of A. Note that: This has solution: where In the case that x i,0 = x j,0 , we have x i = x j for all time. Thus, the ODE system for A has been reduced to a single ODE, as x j (x i ) can be inserted into the RHS of the equation for dx i dτ . However, it is less computationally expensive to evolve the system presented in (54).

Bounds on Reduced Distortion ODEs
If any of the relations in x i ≥ x j ≥ x k are in fact equalities, equality is maintained throughout the history of the system. This can be seen by noting that the time derivatives of the equal variables are in this case equal. If x j = x k then x i = 1 x 2 j . Combining these results, the path of the system in x i , x j coordinates is in fact confined to the curved triangular region: This is demonstrated in Figure 1 on page 13. By (54), the rate of change of x i at a particular value x i = x * i is given by: Note that: These have implicit solutions: As (53) is an autonomous system of ODEs, it has the property that its limit x 1 = x 2 = x 3 = 1 is never obtained in finite time, in precise arithmetic. In floating point arithmetic we may say that the system has converged when x i − 1 < (machine epsilon) for each i. This happens when: This provides a quick method to check whether it is necessary to run the ODE solver in a particular cell. If the following condition is satisfied then we know the system in that cell converges to the ground state over the time interval in which the ODE system is calculated: If the fluid is very inviscid, resulting in a stiff ODE, the critical time is lower, and there is more chance that the ODE system in the cell reaches its limit in ∆t. This check potentially saves a lot of computationally expensive stiff ODE solves. The same goes for if the flow is slow-moving, as the system will be closer to its ground state at the start of the time step and is more likely to converge over ∆t. Similarly, if the following condition is satisfied then we know for sure that an ODE solver is necessary, as the system certainly will not have converged over the timestep:

Analytical Approximation
We now explore cases when even the reduced ODE system (54) need not be solved numerically. Define the following variables: It is a standard result that m ≥ 3 √ x 1 x 2 x 3 . Thus, m ≥ 1. Note that u is proportional to the internal energy contribution from the distortion. From (53) we have: Combining these equations, we have: Therefore: We make the following assumption, noting that it is true in all physical situations tested in this study: Thus, we have the linearized ODE: This is a Sturm-Liouville equation with solution: Thus, we also have: 3 ∆t have been found, we have: This gives: Note that taking the real parts of the above expression for x i gives: At this point it is not clear which values of x i , x j , x k are taken by x 1 , x 2 , x 3 . However, this can be inferred from the fact that any relation x i ≥ x j ≥ x k is maintained over the lifetime of the system. Thus, the stiff ODE solver has been obviated by a few arithmetic operations.

Strain Relaxation
In this section, the approximate analytic solver for the distortion ODEs, presented in 3.2.3, is compared with a numerical ODE solver. Initial data was taken from Barton and Drikakis [2]: Additionally, the following parameter values were used: ρ 0 = 1, c s = 1, µ = 10 −2 , giving τ 1 = 0.06. As can be seen in Figure 2 on page 17, Figure 3 on page 17, and Figure 4 on page 17, the approximate analytic solver compares well with the numerical solver in its results for the distortion tensor A, and thus also the internal energy and stress tensor. The numerical ODE solver was the odeint solver from SciPy 0.18.1, based on the LSODA solver from the FORTRAN library ODEPACK (see Oliphant [22]).

Stokes' First Problem
This problem is one of the few test cases with an analytic solution for the Navier-Stokes equations. It consists of two ideal gases in an infinite domain, meeting at the plane x = 0, initially flowing with equal and opposite velocity ±0.1 in the y-axis. The initial conditions are given in Table 1 Heat conduction is neglected, and γ = 1.4, c v = 1, ρ 0 = 1, c s = 1. The viscosity is variously taken to be µ = 10 −2 , µ = 10 −3 , µ = 10 −4 (resulting in τ 1 = 0.06, τ 1 = 0.006, τ 1 = 0.0006, respectively). Due to the stiffness of the source terms in the equations governing A in the case that µ = 10 −4 , the step (30) in the WENO reconstruction under the Split-WENO method was not performed, and w n+ 1 2 p ≡ w n p was taken instead. This avoided the numerical diffusion that otherwise would have emerged at the interface at x = 0.
The results of simulations with 200 cells at time t = 1, using reconstruction polynomials of order N = 2, are presented in Figure 5 on page 19. The GPR model solved with both the ADER-WENO and Split-WENO methods closely matches the exact Navier-Stokes solution. Note that at µ = 10 −2 and µ = 10 −3 , the ADER-WENO and Split-WENO methods are almost indistinguishable. At µ = 10 −4 the Split-WENO method matches the curve of the velocity profile more closely, but overshoots slightly at the boundaries of the center region. This overshoot phenomenon is not visible in the ADER-WENO results.

Viscous Shock
This test is designed to demonstrate that the numerical methods used are also able to cope with fast flows. First demonstrated by Becker Becker [3], the Navier-Stokes equations have an analytic solution for P r = 0.75 (see Johnson Johnson [17] for a full analysis). As noted by Dumbser Dumbser et al. [8], if the wave has nondimensionalised upstream velocityv = 1 and Mach number M c , then its nondimensionalised downstream velocity is: The wave's velocity profilev (x) is given by the roots of the following equation: c 1 , c 2 are constants that affect the position of the center of the wave, and its stretch factor, respectively. Following the analysis of Morduchow and Libby Morduchow and Libby [21], the nondimensional pressure and density profiles are given by:p  To obtain an unsteady shock traveling into a region at rest, a constant velocity field v = M c c 0 is imposed on the traveling wave solution presented here (where c 0 is the adiabatic sound speed). Thus, if p 0 , ρ 0 are the downstream (reference) values for pressure and density: These functions are used as initial conditions, along with A = 3 √ρ I and J = 0. The downstream density and pressure are taken to be ρ 0 = 1 and p 0 = 1 γ (so that c 0 = 1). M c = 2 and R e = 100. The material parameters are taken to be: 3 × 10 −2 (resulting in τ 1 = 0.0048, τ 2 = 0.005226). The results of a simulation with 200 cells at time t = 0.2, using reconstruction polynomials of order N = 2, are presented in Figure 6 on page 21 and Figure 7 on page 22. The shock was initially centered at x = 0.25, reaching x = 0.65 at the final time. Note that the density, velocity, and pressure results for both methods match the exact solution well, with the ADER-WENO method appearing to produce a slightly more accurate solution. The results for the two methods for the stress tensor and heat flux are close.

Heat Conduction in a Gas
This is a simple test case to ensure that the heat transfer terms in the implementation are working correctly. Two ideal gases at different temperatures are initially in contact at position x = 0. The initial conditions for this problem are given in Table 2 on page 20.

Speed
Both the ADER-WENO scheme and the Split-WENO scheme used in this study were implemented in Python3. All array functions were precompiled with Numba's JIT capabilities and the root-finding procedure in the Galerkin predictor was performed using SciPy's Newton-Krylov solver, compiled against the Intel MKL. Clear differences in computational cost between the ADER-WENO and Split-WENO methods were apparent, as is to be expected, owing to the lack of Galerkin method in the Split-WENO scheme. The wall times for the various tests undertaken in this study are given in Table 3 on page 24, comparing the combined WENO and Galerkin methods of the ADER-WENO scheme to the combined WENO and ODE methods of the Split-WENO scheme. All computations were performed using an Intel Core i7-4910MQ, on a single core. The number of time steps taken are given in Table 4 on page 24. The differences between the methods in terms of the number of time steps taken in each test result from the fact that, for numerical stability, CFL numbers of 0.8 and 0.7 were required by the ADER-WENO method and the Split-WENO method, respectively.
Note that, unlike with the ADER-WENO scheme, the wall time for the Split-WENO scheme is unaffected by a decrease in the viscosity in Stokes' First Problem (and the corresponding increase in the stiffness of the source terms). This is because the analytic approximation to the distortion ODEs obviates the need for a stiff solver. The large difference in ADER-WENO solver times between the µ = 10 −3 and µ = 10 −4 cases is due to the fact that, in the latter case, a stiff solver must be employed for the initial guess to the root of the nonlinear system produced by the Discontinuous Galerkin method (as described in Hidalgo and Dumbser [15]).
The convergence rates in the L 1 , L 2 , L ∞ norms for the density variable are given in Table 5 on page 24 and Table 6 on page 24 for WENO reconstruction polynomial orders of N = 2 and N = 3, respectively. As expected, both sets of tests attain roughly second order convergence. For comparison, the corresponding results for this test from Dumbser et al. [8] -solved using a third-order P2P2 scheme -are given in Table 7 on page 24 for comparison.

Conclusions
In summary, a new numerical method based on an operator splitting, and including some analytical results, has been proposed for the GPR model of continuum mechanics. It has been demonstrated that this method is able to match current ADER-WENO methods in terms of accuracy on a range of test cases. It is significantly faster than the other currently available methods, and it is easier to implement. The author would recommend that if very high orderof-accuracy is required, and computational cost is not important, then ADER-WENO methods may present a better option, as by design the new method cannot achieve better than second-order accuracy. This new method clearly has applications in which it will prove useful, however.
In a similar manner to the operator splitting method presented in Leveque and Yee [18], the Split-WENO method is second-order accurate and stable even for very stiff problems (in particular, the reader is referred to the results of the µ = 10 −4 variation of Stokes' First Problem in 4.2 and the convergence study in 4.6). However, it will inevitably suffer from the incorrect speed of propagation of discontinuities on regular, structured grids. This is due to a lack of spatial resolution in evaluating the source terms, as detailed in Leveque and Yee [18]. This issue can be rectified by the use of some form of shock tracking or mesh refinement, as noted in the cited paper. It is noted in Dumbser et al. [      operator splitting-based methods can result in schemes that are neither well-balanced nor asymptotically consistent. The extent to which these two conditions are violated by the Split-WENO method -and the severity in practise of any potential violation -is a topic of further research.
It should be noted that the assumption (72) used to derive the approximate analytical solver may break down for situations where the flow is compressed heavily in one direction but not the others. The reason for this is that one of the singular values of the distortion tensor will be much larger than the others, and the mean of the squares of the singular values will not be close to its geometric mean, meaning that the subsequent linearization of the ODE governing the mean of the singular values fails. It should be noted that none of the situations covered in this study presented problems for the approximate analytical solver, and situations which may be problematic are in some sense unusual. In any case, a stiff ODE solver can be used to solve the system (54) if necessary, utilizing the Jacobians derived in the appendix, and so the Split-WENO method is still very much usable in these situations, albeit slightly slower.

Acknowledgments
I acknowledge financial support from the EPSRC Centre for Doctoral Training in Computational Methods for Materials Science under grant EP/L015552/1.

Jacobian of Distortion ODEs
The Jacobian of the source function is used to speed up numerical integration of the ODE. It is derived thus: Thus: Thus: where G = AA T and X a,b refers to tensor X with indices a, b transposed.

Jacobian of Thermal Impulse ODEs
As demonstrated in 3.1, we have: Thus, the Jacobian of the thermal impulse ODEs is: