my way: a computational autobiography · 2020-04-22 · communications on applied mathematics and...

20
Vol.:(0123456789) Communications on Applied Mathematics and Computation (2020) 2:321–340 https://doi.org/10.1007/s42967-019-00021-0 1 3 ORIGINAL PAPER My Way: A Computational Autobiography Philip Roe 1 Received: 23 January 2019 / Revised: 20 February 2019 / Accepted: 20 February 2019 / Published online: 22 May 2019 © Shanghai University 2019 Abstract In this paper, the author recounts his forty-year plus struggle to find a sound basis for understanding the computational fluid dynamics of compressible flow. Keywords Compressible flow · Computational fluid dynamics · Characteristic theory · Conservation laws · Multidimensional methods Mathematics Subject Classification 35-03 · 35A30 · 35F40 · 35F55 · 35L05 · 35M30 · 36Q31 · 35Q35 · 35M25 · 35M27 · 65-01 · 65N06 · 65N08 · 65N30 · 65N80 In the 1970s, aircraft engines became sufficiently powerful and reliable that non-stop pas- senger flights across the Atlantic became practicable, and this opened up a huge new mar- ket. The largest share of this market would go to those manufacturers whose planes could fly as fast as possible at the lowest cost and this made it very important to understand the phenomenon of transonic drag rise. At that time, computers were not yet nearly powerful enough to attempt prediction of the complete three-dimensional flow around an airliner, so attention was focused on the two-dimensional flow over an airfoil, with the free-stream Mach number being large enough that one or more shockwaves might form on the sur- face. This transonic airfoil problem was the major driver in the development of computa- tional fluid dynamics within the aircraft industry. It forced attention onto the nonlinear flow regime that comes into being as the flight Mach number increases, and which becomes progressively less accessible to simple mathematics or to human intuition (Fig. 1). At that time, I was working for what was then called the Royal Aircraft Establishment 1 at Bedford. There was already a strong group at RAE Farnborough 2 working on numerical solutions of potential flow and boundary layers, but the senior researchers could tell that a time would come when only the Navier–Stokes equations would suffice. And before we * Philip Roe [email protected] 1 University of Michigan, Franois-Xavier Bagnoud Aerospace Building 1320, Beal Avenue, Ann Arbor, MI 48109-2140, USA 1 Now, tragically, QinetiQ. 2 Clive Albone, Dave Catherall, Cedric Sells, Robin Lock, Mike Hall, Gaynor Joyce.

Upload: others

Post on 27-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

Vol.:(0123456789)

Communications on Applied Mathematics and Computation (2020) 2:321–340https://doi.org/10.1007/s42967-019-00021-0

1 3

ORIGINAL PAPER

My Way: A Computational Autobiography

Philip Roe1

Received: 23 January 2019 / Revised: 20 February 2019 / Accepted: 20 February 2019 / Published online: 22 May 2019 © Shanghai University 2019

AbstractIn this paper, the author recounts his forty-year plus struggle to find a sound basis for understanding the computational fluid dynamics of compressible flow.

Keywords Compressible flow · Computational fluid dynamics · Characteristic theory · Conservation laws · Multidimensional methods

Mathematics Subject Classification 35-03 · 35A30 · 35F40 · 35F55 · 35L05 · 35M30 · 36Q31 · 35Q35 · 35M25 · 35M27 · 65-01 · 65N06 · 65N08 · 65N30 · 65N80

In the 1970s, aircraft engines became sufficiently powerful and reliable that non-stop pas-senger flights across the Atlantic became practicable, and this opened up a huge new mar-ket. The largest share of this market would go to those manufacturers whose planes could fly as fast as possible at the lowest cost and this made it very important to understand the phenomenon of transonic drag rise. At that time, computers were not yet nearly powerful enough to attempt prediction of the complete three-dimensional flow around an airliner, so attention was focused on the two-dimensional flow over an airfoil, with the free-stream Mach number being large enough that one or more shockwaves might form on the sur-face. This transonic airfoil problem was the major driver in the development of computa-tional fluid dynamics within the aircraft industry. It forced attention onto the nonlinear flow regime that comes into being as the flight Mach number increases, and which becomes progressively less accessible to simple mathematics or to human intuition (Fig. 1).

At that time, I was working for what was then called the Royal Aircraft Establishment1 at Bedford. There was already a strong group at RAE Farnborough2 working on numerical solutions of potential flow and boundary layers, but the senior researchers could tell that a time would come when only the Navier–Stokes equations would suffice. And before we

* Philip Roe [email protected]

1 University of Michigan, Franois-Xavier Bagnoud Aerospace Building 1320, Beal Avenue, Ann Arbor, MI 48109-2140, USA

1 Now, tragically, QinetiQ.2 Clive Albone, Dave Catherall, Cedric Sells, Robin Lock, Mike Hall, Gaynor Joyce.

Page 2: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

322 Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

could tackle Navier–Stokes, we had to be able to do Euler. So in 1974 a team was set up. Cedric Sells was asked to follow up on the best current American work (Bob MacCormack at Stanford) and Jack Pike was asked to follow up on the best current British work (Frank Walkden at Salford). I had the wonderful instruction to try and find something new.

In fact whatever I did find was almost sure to be new, in some sense, because I actually knew very little. My education had not included anything about numerical methods beyond Simpson’s Rule3. I knew nothing about finite element schemes, and almost nothing about finite volume schemes. I did know, from my own reading, a bit about finite difference schemes and about the method of characteristics (even in three dimensions). From my pre-sent perspective, I now see this ignorance as not such a bad thing. What I badly needed was a point of view that would allow me to think conceptually about the problems posed by dis-cretizing the Euler equations, and I had to discover this for myself. This has been, for me, the continuing fascination of CFD. How best should you think about creating a discrete fluid?

These days the finite element method provides a popular viewpoint because, with only finitely many degrees of freedom, we can define an approximate solution everywhere. All pro-cesses of interpolation, integration and differentiation can be uniquely determined by operat-ing on the function that is determined by the trial functions and their amplitudes. However, it was not immediately apparent how to combine this with a physically motivated strategy.

In the finite difference method on the other hand, the solution is defined only at points, and we are allowed to fill in between the points in whatever way we please. I began to con-sider the question, if you are given two adjacent points in a finite difference method, what assumptions should you make about what happens between them? The traditional approach is simply to assume that they are connected through some sufficiently differentiable

Fig. 1 US and European contestants for the booming transatlantic airline market in the 1970s

3 Because, you see, we did not have programmable computers during my college years.

Page 3: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

323Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

function, but in compressible flow they might be separated by a shock. It seemed to me then, and does so still, that the finite difference viewpoint has the merit of honesty, admit-ting that there is a limit to what we can infer from finite information, and this leaves us with some “wiggle room”.

That was how I came up with what I called “uniformly valid” characteristic theory, based on the idea that the characteristic equations and the shock jump relations can be put into a one-to-one correspondence. The idea actually works in three dimensions but is most easily explained in two. Consider a shock of the up-running family. There will be an alge-braic connection between the states on either side. As the shock strength becomes weaker, this will become a differential equation that holds along the down-running characteristic.

The following example may make this clear. Suppose that the states �1, �2 are found close to each other at P1,P2 on the same down-running characteristic, as in Fig. 2. They will be connected through the characteristic equation [5]

where � = 0 for plane flow and � = 1 for axisymmetric flow. If �1, �2 are located immedi-ately on either side of an up-running shockwave, they will be connected through the jump condition [5]

An immediately apparent difference between Eqs. (1) and (2) is that the latter contains no axisymmetric term because in the case of a shock we have dr = 0 . But otherwise the equa-tions will become identical in the limit of an extremely weak shockwave.

My idea was to write a space-marching method of characteristics code, always putting the equations in their jump form, with a rather empirical axisymmetric term. If the solution was actually smooth, I would just be using the regular characteristic equations with the coefficients determined by a special form of averaging between the adjacent states. This special averaging would have no significant effect for smooth flow, but would take care of the possibility that there could be a shockwave there. We had some very nice experimen-tal data for the supersonic flow over an axisymmetric body (whose “waisted” shape had been chosen to allow the examination of a boundary layer in an adverse pressure gradient). So the code was written using an axisymmetric characteristic method with the coefficients always chosen from the jump form. When I allowed for the measured boundary layer dis-placement thickness, the results, shown in Fig. 3, were quite respectable.

(1)vdu − udv = (M2 − 1)1

2

dp

�+ �

u2 + v2

(M2 − 1)1

2 + u∕v

dr

r,

(2)(�1 + �2) × (�2 − �1) =[ (�1 + �2)�1 ⋅ �2

�(p1 + p2)− 1

] 1

2 p2 − p1

(�1�2)1

2

.

Fig. 2 Up-running characteristics ( C+ ), down-running character-istics ( C− ), and an up-running shockwave

Page 4: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

324 Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

However, the method had some problems. The special coefficients had to be obtained iteratively as the solution developed, there was no rigorous conservation property, and the iterations were slow to converge if the shocks were strong. I made a quite interesting attack on the three-dimensional problem, but nothing emerged that might be useful in practice. However, it has been a continuing theme of my CFD research that a good starting point is to find a form of the governing equations that expresses as much of the physics as possible under the widest range of circumstances.

It was only about then that I learned about finite volume schemes. Art Rizzi was a gracious correspondent who fixed some of my misconceptions, but I continued with my own personal interpretation. I considered the use of “uniformly valid” averaging to find the interface fluxes. At this stage, I was still not thinking of the data as discontinuous, but my policy was to take out insurance against the eventuality that it actually was. I played around with the formulas and found that they were clean and straightforward if an unsteady one-dimensional flow was being marched in time (time marching was of course then the common approach to finding steady solutions). After a while, I noticed that the algebra was made more elegant4 by intro-ducing the “Roe variables” � = �

1

2 (1, �, h)T . The appearance of the square root of density is

Fig. 3 Pressure distribution over a “waisted” axisymmetric body in supersonic flow

4 This is due to the fact that both the conserved variables and the fluxes are quadratic functions of � . This simple form of nonlinearity can drastically simplify some operations. For a recent example, reformulating the discontinuous Galerkin method, see [33].

Page 5: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

325Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

slightly surprising, although it had already shown up in formulas like (2). I sometimes suspect that the popularity of this method owes much to the “cuteness” of the formulas rather than their effectiveness! With the new variables, I was able to make an attack on the space-march-ing version of the problem, which also came out quite nicely. In fact it turned out that there was little difference between solving the full Euler equations and their linearized versions.

By now things were going well, and in fact too well. The 1976 International Conference on Numerical Methods in Fluid Dynamics was to be held in Holland and I submitted an abstract that was accepted. However, I was told that the RAE had run out of travel funds for that year. I responded that Holland was close enough that I would pay my own way. Unfortunately, another obstacle arose when the security people decided that this work was too promising to give away. They placed a CLASSIFIED security level on it, and I had to stay at home. There followed a very frustrating four years while I saw many of my ideas appearing in jour-nal papers by other people.

One of these ideas related to the limiting that is necessary to remove oscillations from any method for hyperbolic problems that is second-order or better. However, I was not at that time aware of any of Godunov’s work. In particular, I did not know about the inevitability of these oscillations for any linear method. I studied the phenomenon in the context of Burgers’ equation

where F(u) = 1

2u2 , and MacCormacks method [25] with a predictor step for a provisional

solution un+1

as illustrated on the left of Fig. 4, followed by the corrector step

At least for linear problems, the predictor can use either a backward or forward difference, provided the opposite choice is made in the corrector. I then had an idea that may per-haps still be usefully developed. I will demonstrate a simplified version, valid if all waves are right going. Now, shock waves are of course irreversible, but apparently second-order numerical schemes are not irreversible enough. So just how irreversible are they? This is not actually a very sensible question, because the problem arises even in reversible linear problems. But sometimes even a silly question can lead to a useful train of thought. So I realized that after the predictor step, I could turn round and go backward in time and try to recover the initial data. Let the estimate of this be un , where

(3)�tu + �xF(u) = 0,

(4)un+1

j− un

j

Δt=

Fnj−1

− Fnj

Δx,

(5)un+1j

=1

2

(unj+ un+1

j

)−

Δt

2Δx

(Fn+1

j− F

n+1

j+1

).

(6)un+1

j− un

j

Δt=

Fn+1

j− F

n+1

j+1

Δx.

un

un+1

un

un+1

j − 2 j − 1 j j + 1 j + 2j − 2 j − 1 j j + 1 j + 2

Fig. 4 Illustrating two versions of MacCormack’s two-step algorithm

Page 6: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

326 Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

The quantity unj− un

j measures the margin by which this fails, or the amount of irrevers-

ibility. It is a second-order quantity, precisely equal to twice the second-order increment,

The overall method can be written in a conservative form as

where

In this form, there is a link to flux-corrected transport methods, with Fnj being a low-order

flux (optimal, first-order upwind), and 12(Fn+1

j+1− Fn

j) being the antidiffusive flux that needs

to be limited.In the course of numerous experiments, I noticed that oscillations would appear in the

solution whenever the RHS of Eq. (6) was larger than the RHS of Eq. (4), that is to say, whenever the gradient of the flux seemed to be increasing in time. A cure for this behavior was, in these circumstances, to apply the “excess” of the corrector at j + 1 rather than j if the wavespeed un

j> 0 and at j − 1 if un

j< 0 . In this way of thinking, there is no limiting of

the gradient that affects the amplitude of the wave, but instead a phase shift applied to the high-frequency components, which experience a lagging error if no limiting is applied.

The reason why I think this idea might prove fruitful is that nonlinear limiting is still a source of difficulty today and one of the main obstacles in the way of developing high-order schemes. There are effective ways to perform limiting if there are known bounds on the solution [46]. This is always the case for purely advective behavior, but not for acous-tic behavior, where waves may spread or focus so that values appear in the solution that were not present in the data. A need for limiting then has to be established in some other way, and asking whether the flow seems to be reversible (within some tolerance) may be informative. The following maxim is one that I am currently examining with a student. A flow solution is smooth enough not to require limiting if the data can be accurately be retrieved from the result. Notice that this question does not depend on the dimensionality of the problem.

During this time, I would occasionally drive over to Cambridge to visit Arieh Iserles in the Mathematics Department. As a numerical analyst, Arieh is the purest of the pure theorem provers, and he is particularly interested in “barrier theorems” that define, for some suitably simplified problem, what can and cannot be achieved by numerical methods. Together with Iserles and Strang [16], he was investigating the linear advection equation �tu + a�xu = 0 (as was everybody else!) and posed this question [15]. If we employ a dis-crete method of the form

and if the scheme is derived by polynomial interpolation of the data to the location (jΔx − aΔt) , using the highest order of approximation possible, what choice of stencil will lead to a stable method?

(7)un+1j

= un+1

j+

1

2

(unj− un

j

).

(8)un+1j

− unj

Δt=

F∗j−1∕2

− F∗j+1∕2

Δx,

(9)F∗j+1∕2

= Fnj+

1

2(Fn+1

j+1− Fn

j).

(10)un+1j

=∑k

ckunj+k

Page 7: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

327Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

Figure 5 illustrates their conclusion for the case a > 0 . If the stencil spans � intervals to the left of j and r intervals to the right, then the resulting scheme will be stable if and only if � − r takes one of the values 0, 1, 2. If the total number of intervals � + r is even, there are two schemes of maximal accuracy having phase errors larger than their amplification errors. Therefore, solutions are produced in which there are waves moving with the wrong speed that are not damped out, and they appear as ‘wiggles’. But if the total number of intervals is odd (that is, � = r + 1 ), the amplitude and phase errors are of equal magnitude, and the “wiggles” are much smaller5. The difference between schemes of odd or even order of accuracy has been known for at least forty years [14] (see also [3, 9]) but is very seldom acknowledged. Indeed, one often still encounters an automatic reaction that “symmetry is best for the numerics” even when dealing with problems whose behavior is manifestly unsymmetric.

I find the Strang-Iserles result convincing and highly suggestive. It suggests the fol-lowing rule of thumb: The best advection schemes are not purely upwind (except in the case � = 1, r = 0 ) but they are upwind-biased ( � = r + 1 ) and have odd order of accuracy. More generally, and more loosely, it suggests that ‘the best numerical methods for any set of hyperbolic pdes are those whose stencil most closely resembles the exact domain of dependence.’ This has to be balanced against the fact that according to the CFL Rule, some information must come from outside the exact domain, but I believe that it is very impor-tant that it does not come from too far outside. This accounts for the often disappointing performance of ENO schemes.

The security restrictions on my research were lifted in 1980, when it finally became clear to my managers that I was not going to solve every CFD problem all by myself, and this came in time for me to attend the Seventh International Conference on Numerical Methods in Fluid Dynamics, held in Stanford. To finally meet so many of the international

Fig. 5 The stencils giving maxi-mally accurate stable advection schemes

5 They are reduced in amplitude by a factor of about five. They decay in space exponentially rather than algebraically.

Page 8: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

328 Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

experts whose papers I had read was an intoxicating experience, especially as the commu-nity proved so open and welcoming.

I gave my paper [37] on “The Use of the Riemann Problem in Finite Difference Schemes” that included a high-quality solution (Fig. 6) to the notorious “Sod’s shock tube” problem. This was obtained by considering the flux difference Δ�j+1∕2 = �j+1 − �j , split-ting it into left- and right-going components

and then using the left-going component to update �j and the right-going component to update �j+1,

This is not a finite-volume method, although it is equivalent to one in which

In the last step, A is the Jacobian matrix � = �� evaluated at the “Roe-average” state. Such

a state does not always exist for an arbitrary conservation law, but when it does exist it leads to very simple algebra that can be useful for other purposes.

At that time, I liked to write schemes in the form (12), because of the thought pro-cess involved. We ask first if the flow has locally reached a steady state (is �j = �j+1 ?) and if not, we seek a description of what is going on by performing the splitting (12). I was not thinking at the time in terms of resolving a discontinuity despite the title that I gave to my paper. I was keeping an open mind about what was happening between cells j and j + 1 , but it certainly involved some left-going waves and some right-going waves. The Riemann problem was as good a way of estimating these as any. If these waves happened to be shocks or contact discontinuities, I did not want the method to break down. I am pre-pared to put forward a principle that can be rather generally applied. “Before attempting to predict the future, you must first understand the present”.

(11)Δ�j+1∕2 =�����Δ�j+1∕2 +

�����Δ�j+1∕2

(12)�n+1j

− �nj=

Δt

Δx

(�����Δ�j−1∕2 +

�����Δ�j+1∕2

).

(13)�j+1∕2 =1

2

[�j + �j+1 − (�����Δ�j+1∕2 −

�����Δ�j+1∕2)]

(14)=1

2

[�j + �j+1

]−

1

2|�|j+1∕2(�j+1 − �j).

Fig. 6 Solution to the Sod shock-tube problem, as presented at ICNMFD7. The computer graphics have not improved by much

Page 9: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

329Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

An outcome of the Stanford meeting was that Elaine Oran and Bram van Leer arranged for me to attend the NASA contractors meeting held at ICASE later in the year. Suddenly, I had the chance to talk to everyone, but when I tried to explain my work via (12) I did not find it easy, although an explanation in terms of (14) was readily understood. It was for this reason that I began to adopt (14) in conversations and presentations, and eventually in my thinking. Looking back, I feel that I should have been more obstinate.

The Stanford paper dealt only with the one-dimensional flow, but we had already been looking at two-dimensional problems for a while. Cedric Sells had abandoned his work on MacCormack’s method and was busy implementing my approach in two dimensions. He took what would now be regarded as the obvious approach and computed one-dimensional wave exchanges (still under the MacCormack influence) across the interfaces of a struc-tured grid around the airfoil. I was a bit skeptical that this would work, believing that the differences between one- and two-dimensional flows were too great to permit this simpli-fication. However, I took a phone call one afternoon that began with Cedric announcing in his most sonorous bass voice “Consummatus est” (it is accomplished).

The airfoil results came in time to be included in the workshop organized by the Ger-man mathematical society GAMM and held in Stockholm [36] in 1979. The object was to compare results from a number of methods for inviscid flow over airfoils. Figure 7 shows one typical comparison. The large amount of scatter in the results was quite unexpected. It was particularly apparent in the methods based on potential flow, whether fully conserva-tive (FCPOT, actually just mass conservative), or nonconservative (NCPOT). Things were better with the full Euler equations that took account of the entropy and vorticity generated at the embedded shockwave. These results were very influential, causing interest in poten-tial flow calculations to diminish considerably.

Our result was in the middle of the Euler group, as can be seen from Fig. 7. It is quite possible that for several months we were the proud possessors of the worlds most accu-rate Euler code. It is fairly certain that we possessed the worlds slowest Euler code. It was based on explicit directional splitting, with the one-dimensional operators advanced using the modified MacCormack method described by (7). We never succeeded in making the code fast, but for some time it gave valuable service in calibrating less expensive methods.

Fig. 7 Predicted lift coefficients for a NACA 0012 airfoil at 1o of incidence in a free stream with M∞ = 0.85 . The result from the Sells/Roe airfoil code is circled. It is now known that an accurate value is 0.361

Page 10: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

330 Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

We speculated that any method for the Euler equations, with several scalar unknowns, must somehow inevitably be more costly than a potential method with just one unknown.

However, in 1981 the world of computational aerodynamics was turned upside down by the justly famous Jameson–Schmidt–Turkel paper [19]. The JST method used simple cen-tral differencing combined with a clever artificial viscosity and Runge–Kutta time march-ing. It was faster than other Euler codes by an order of magnitude. Jack Pike and myself diverted some of our energies to understanding the JST method and made a few minor contributions that we were able to share with Antony Jameson when he came to the CFD conference at Reading in 1981.

It was a surprise to many, myself included, that a central differencing scheme, notori-ously unstable for hyperbolic problems, could be stabilized by the proper choice of time marching. Overnight, not only did central schemes become popular, but semi-discrete schemes, that treated the space and time discretizations almost independently, became the majority choice. Time marching that previously required tedious analysis became, for Runge–Kutta methods, simply a sequence of calls to one subroutine that evaluated the cur-rent residual. Older Lax–Wendroff-type methods were abandoned, perhaps prematurely. The JST scheme turned out to be very well suited to transonic flow problems, where the nonlinearities were fairly mild, but had much less success with stronger shockwaves, such as those common in astrophysics and industrial processing. It was here that upwind schemes came into their own. In striving to solve the transonic airfoil problem, I had done the equivalent of scoring a hole in one on the next green.

Eventually, upwinding returned to transonic flow with the invention of inexpensive Rie-mann solvers such as CUSP [22] and AUSM [4], but almost always in the context of a semi-discretization6, and a method called Flux Vector Splitting that I personally find rather dubious. This is quite a popular approach that attempts to incorporate the directional flow of information by splitting the flux into two parts. Specifically, for the Euler equations, the flux � is written as

where the first bracket on the right is presumed to be the “advective flux” and the second bracket is the “acoustic flux”. Many different splittings of the energy flux have been pro-posed, but all are unsatisfactory because none of them leads to the correct wavespeeds and eigenvectors being properly assigned. Moreover, it seems highly unlikely that information about the dynamics of fluid motion can be gained from examining a single state. Later, I will describe my own current efforts to distinguish advective and acoustic behavior.

Back in 1981, with Cedric Sells, I continued trying to improve the upwind airfoil code. We abandoned directional splitting and replaced our MacCormack-style predictor–corrector advance with a non-split single-stage advance using a limiter that worked on the data rather than on the updates. These changes sped things up considerably, but we were nowhere near to the speed of the JST method. Today, the “Roe flux” is in routine use in many commercial and industrial codes, on account of being applicable to many different equation sets and being almost free of tuning parameters. It is often used for hypersonic flows, although much care needs to be taken to avoid some errant behavior. The original paper has just passed 10,000

(15)� =

⎡⎢⎢⎣

�u

�u2 + p

�uE + up

⎤⎥⎥⎦=

⎡⎢⎢⎣

�u

�u2

??

⎤⎥⎥⎦+

⎡⎢⎢⎣

0

p

??

⎤⎥⎥⎦,

6 I find today that some of the facts about fully discrete schemes that used to be common knowledge are largely forgotten.

Page 11: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

331Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

citations, according to Google Scholar, and almost every CFD student codes it as a homework problem.

The 1981 conference, the first in a long-running series, was organized by Bill Morton and Mike Baines. Bill had worked at Los Alamos and the Courant Institute. He brought an inter-national perspective that was most valuable and, very importantly, his experience was not limited to aerodynamics. Bill showed me many kindnesses; his wide-ranging contacts greatly expanded my horizons. Also, I had begun to spend my summers at the legendary Institute for Computer Applications in Science and Engineering (ICASE) located within the NASA Lang-ley Research Center. Especially under its first director, Milt Rose, this was a blissful place to be, supportive and welcoming, and overflowing with famous names (David Gottlieb, Saul Abarbanel, Eli Turkel, Ami Harten, Bram van Leer, Eitan Tadmor,....). Best was that ICASE was co-housed with Langleys Theoretical Aerodynamics branch (Manuel Salas, Jim Thomas, Venkatakrishnan, Bob Swanson, Tom Roberts ....). We attended each other’s talks, went to lunch together and coauthored papers.

It may have been that broadening experience that secured me the Professorship in Computa-tional Fluid Dynamics in 1984 at Cranfield Institute of Technology. This was another remark-able place (we had our own airfield) and I learned the pleasure of working with good students. My first PhD student was Smadar Karni, now a colleague at the University of Michigan.

A very interesting controversy was being debated at that time, arising out of a multigrid Euler code produced [32] by Ron-Ho Ni of the engine manufacturers Pratt and Whitney. In Fig. 8, the traditional finite-volume storage is shown on the right. The unknowns are taken to be cell-averaged values of the conserved variables � stored, of course, in the cells. To update them, we compute the flux through edges such as (25) by considering the states A and B. After dealing with all edges, we integrate the flux through the boundary of the cell (1254). Ni took an approach that is apparently quite different. He took the unknowns to be point values of the conserved variables and located them at the cell vertices, as in Fig. 8, left. He then inte-grated around a cell such as 1234 using the trapezium rule, to arrive at an average value of �t� over that cell. For a conservation law �t� + �x� + �y� = 0 , the expression is

(16)

∫1234

�t� dx dy = ∫1234

� dy −� dx

=1

2

[(�1 − �3)(y2 − y4) + (�2 − �4)(y3 − y1)

− (�1 −�3)(x2 − x4) − (�2 −�4)(x3 − x1)].

Fig. 8 On the right, the traditional cell-centered form of a finite-volume method. On the left, the vertex-centered form

Page 12: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

332 Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

He then distributed this change among the four vertices. An equal distribution would result in a central scheme, but the distribution can be made unequal in a way that reproduces a kind of Lax–Wendroff method.

The new strategy came to be called a cell vertex finite-volume scheme. Most intrigu-ingly, it turns out, for irregular grids, that the flux integration is much more accurate when based on vertex values than when based on edge midpoints. Very accurate solutions could be obtained for smooth flows, as was found by Bill Morton [31], Mike Hall [13], Antony Jameson [18] and my student Hong-Chia Lin [21]. The compensating difficulty that arose was how to incorporate the upwinding that was increasingly seen as valuable and perhaps essential. The cell-vertex method has a point in common with finite-element techniques. The solution is defined everywhere by bilinear interpolation within each cell, but no use is made of test functions to produce an integral weak form. I am still not quite sure how much benefit is derived from the integration-by-parts/weak form maneuver.

In the cell-based method, the physics of the problem arises at the first step, the stage where the flux through an interface (25) is calculated from the two states A, B. With only two pieces of information, it is hard to see how we can use anything except one-dimen-sional analysis and the remainder of the algorithm is trivial. In the vertex-based method, the first step is trivial, and the physics arises at the second step, where the residual has to be distributed. At this stage, we have four pieces of data on which to base the decisions for each cell. We have more information, but how should we use it?

So, as so often, I went back to linear advection7 in its two-dimensional form

or

The governing equation tells me the direction � in which information propagates. The most important thing about the data is the direction |∇u| of its gradient. At this stage, I had the happy idea of using triangular elements with the solution stored at the vertices. The advan-tage of this over quadrilateral elements was that the data in each element varied linearly, so the gradient was unambiguous and merely constant. I could calculate a residual for each cell Ti,

where ki,j =1

2� ⋅ �i and �j is the inward normal to the side of Ti that is opposite vertex j.

We have ki,j > 0 if we have flow into cell i through side j. By analogy with Ni’s method, I wanted to add this residual to the vertices in such a way that information would travel downwind.

Note that ∑j

ki,j = 0 . There is flow inwards on either one or two sides as shown in Fig. 9.

If there is only one inflow side (one positive value of k), then we add all the residual to the opposite vertex. If there are two inflow sides, the residual must be shared between the two downwind vertices and there are several ways to do this. One method, however, has a spe-cial property. If both k1 and k2 are positive, write the residual as

�tu + a�xu + b�yu = 0,

�tu + � ⋅ ∇u = 0.

(17)�ii= ∬ �tu ds = −∬ � ⋅ ∇u ds = −� ⋅ ∇u S =

∑j∈Ti

ki,juj,

7 Today, I put equal stress on listing those problems where linear advection is NOT a guide to good prac-tice.

Page 13: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

333Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

The “N-scheme” adds �1

T to u1 and �2

T to u2 . It is a two-dimensional version of Godunov’s

method, in that it is the most accurate monotone method in two dimensions [45]. I wrote a short note about the residual distribution method in 1987 [39]. The N-scheme is only first-order accurate in the steady state, but gives results much better than dimension-by- dimen-sion upwinding. However, it has a fault that makes it less accurate than it might have been. Consider a case where �1

T and �2

T are of opposite sign but equal magnitude. Their sum is

zero so we might reasonably conclude that the residual is zero and that this cell has reached a steady state. However, finite changes will be made to both u1 and u2 . Resolving this prob-lem eventually took an interesting turn.

At that time, Avions Marcel Dassault was hoping to lead a European project for a space launcher. Although this never materialized the EU provided a significant amount of research funding. I applied unsuccessfully when their representatives visited London, but someone else who attended was very interested. This was Herman Deconinck from the von Karman Institute for Fluid Dynamics in Brussels. We worked closely together for several years and there is now an extensive literature on what have mostly come to be called Residual Distribution schemes. For a system of equations, the residuals are vectors and the distribution coefficients k are now matrices.

In 1990, I made the move to the University of Michigan, where Bram van Leer and Ken Powell had already set up a very strong CFD program in the Aerospace Depart-ment. On the flight that took me to my new home I read the Ph.D. thesis of David Sidilkover [45]. He had an elegant and surprising solution to the case of the two-target RD scheme. Given a separation into two partial residuals �1

T,�2

T , he defined the changes

at vertices 1 and 2 as

where B(b1, b2) is almost any one of the limiter functions commonly employed in upwind methods. In that context, b1,2 are consecutive flow gradients in the same direction. The trick here is that a comparison is made between two gradients that are in different direc-tions. This works because most limiters have the property that B(b, b) = b so that when �u1 = −�u2 (equilibrium), no changes are made. The two gradients that are compared are in different directions. I really liked this result because it shows that one-dimensional ideas do not carry over straightforwardly to higher dimensions, and we see this happening even in the linear scalar advection case. The geometry of the grid comes on stage and is a new

(18)�Ti

= −∬ (a�xu + b�yu) dxdy = −a∮ u dy + b∮ u dx

= k1u1 + k2u2 + k3u3 = k1(u1 − u3) + k2(u2 − u3) = �1

T+ �2

T.

(19)�uL1= �u1 − B(�u1,−�u2),

(20)�uL2= �u2 − B(�u2,−�u1),

Fig. 9 Applying the Residual Distribution idea to linear advec-tion in two dimensions. The ele-ment on the left has one inflow and one outflow vertex. On the right, we have two inflow sides and two outflow vertices

2

132

1 3

a

a

a

Page 14: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

334 Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

character. On one hand, this makes old procedures ineffectual. On the other hand, the extra dimension creates new possibilities.

Quite soon it was recognized that David’s innovation was an example of a powerful idea. If a scheme is such that whenever the element residual vanishes for polynomial data of order n, then the scheme must be of accuracy order n + 1 . The scheme defined by (20) is second order. Its generalizations give a powerful way to design schemes of higher order.

I developed some new interests, such as the MHD equations, where Dinshaw Balsara and I [42] tidied up the eigenstructure of the ideal MHD equations into what is now its standard form. I got excited for a time over an upwind-biased leapfrog scheme [40] that extended very prettily to higher dimensions. I hoped that it might prove useful for long-range wave propagation, but I soon came to realize the disadvantage of a scheme with no dissipation. It would blow up almost every time when confronted with a nonlinear problem or an irregular grid.

I made what I thought was a breakthrough in the Residual Distribution schemes using different strategies [27] depending on whether the spatial operator ��x + ��y was elliptic, as in subsonic flow, or hyperbolic, as in supersonic flow (The matrices here are the Jaco-bians � =

��

��,� =

��

�� ). For hyperbolic problems, the residual could be split into a number

of scalar advection problems, for which we had excellent methods. For elliptic problems, a method based on L2 minimization was very satisfactory. The residual for the Euler equation could be regarded as the sum of subresiduals. In the subsonic case, we have one of each type. The problem was that this decomposition worked only for steady two-dimensional flows. It was about here that Herman and I began to diverge. He and his students looked for formal extensions of the scalar case, but I was convinced that there should be something in

Fig. 10 Flow over an inclined ellipse, computed using the full Euler equations. The free stream Mach num-ber is 0.35

Page 15: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

335Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

a more physically oriented spirit. This is a search that has occupied me to this day, and it is not over yet.

The elliptic/hyperbolic splitting did work extremely well for those cases where it could be applied. Figure 10 is taken from the thesis of my student Mani Rad. The problem is one that had been set as a challenge by Tom Pulliam of NASA Ames [35]. This is simply a two-dimensional elliptic body at a high angle of attack. Tom claimed that this problem would break any Euler code that you tried. What happens universally (except here) is that the flow picks up a lot of circulation and develops into an asymmetric flow with considerable lift and drag. Here, the flow is almost perfectly symmetric. Entropy production is not zero, but round about 10−7 . The same code, with no tuning of parameters, was able to find excellent solutions to the flow past a circular cylinder at M∞ = 10−4 and the same transonic airfoil flow that is the topic of Fig. 7. I would like to put forward these results as showing what a really good Euler code should be capable of, if only we knew the general case of the secret.

Something that intrigued me for a long while was the role of entropy in CFD, but my hopes for this have rather diminished over time. It is possible to devise the so-called entropy-conserving schemes, but if these are used to solve problems containing shocks, they clearly will not be accurate. They remain stable, as they must, but generate long trains of oscillations behind each shock. In fact, we must generate some entropy and it is easy to ensure this by using a sufficiently dissipative scheme: the search is really for a scheme that will generate the right amount of entropy. However, as a shock moves over the grid, it might at one moment be smeared over two cells and at other times over three. So the requirement to produce entropy, although it is local in an exact solution, cannot be local in a discrete solution [17]. Nevertheless, the paper [17] does give a neat entropy-conservative flux, in case it should ever come in useful.

And in an unexpected turn I noticed that the “entropy variables” ��S obey the same PDE that is always satisfied by adjoint variables, and must therefore solve some optimization problem. My colleague Chris Fidkowski soon pointed out that this allowed us to adapt the mesh in such a way as to reduce errors in the entropy balance [12]. It turned out that this allowed a rather inexpensive way to obtain good general-purpose grids.

I would like to propose the idea that the “order of difficulty” of a problem is the smallest number of good ideas that are needed to solve it. I think that we have learned by now that in CFD this number is greater than one. You might have two good ideas without improv-ing matters because they do not play well together. The good ideas have to be linked and, in this, is the importance of finding the right way to think about the problem. I spend much of my time these days preoccupied with ‘multidimensional’ methods. Many authors share this interest, but the usual procedure has been to try and generalize the methods that are successful in one dimension. Most of these have been inspired by analysis of the famous “ICASE equation” �tu + a�xu = 0 , but we have already seen that the two-dimensional advection problem �tu + a�xu + �yu = 0 benefits greatly from a drastic reinterpretation of the limiting concept.

It is better, I think, to regard the extra dimension as an opportunity rather than a dif-ficulty. The possibilities become far wider when scalars a, b become matrices �,� . The simplest model problem is now the linear acoustic system. This has several nice properties that are essentially multidimensional in character: (i) the existence of a nontrivial steady state; (ii) invariance of vorticity8; (iii) spatial isotropy. These properties all have discrete analogues that are essentially multidimensional. With Bill Morton I studied the preserva-tion of vorticity in the acoustic system [29]. This and other invariants are discussed in [20,

8 For Maxwell’s equations the invariant is the divergence of the magnetic field.

Page 16: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

336 Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

23, 24, 28]. A notable feature is that for preserving vorticity or divergence with a finite vol-ume scheme it is a necessary and sufficient condition that the vertex-based version be used, as on the left of Fig. 8. This might have been anticipated from the common-sense argument that multidimensional properties cannot be assured by considering only two states at a time.

Back in 1977 Bram van Leer showed how to design a fully discrete numerical scheme if an analytical solution is available for the linearized problem, as it is for one-dimensional advection with u(x, t) = u(x − at, 0) . He defined piecewise polynomial data by matching it to the degrees of freedom in the numerical scheme. He advanced by one time step using the exact solution, and then projected this solution onto the original degrees of freedom. Taking the degrees of freedom to be the average value and the average gradient within each cell allows a discontinuous, piecewise linear distribution to be reconstructed in each cell. This led to the famous Monotone Upstream Scheme for Conservation Laws (MUSCL) that is the prototype of high-resolution methods.

Something not widely noticed until quite recently is that among the six methods that Bram looked at, there was one (Scheme V) greatly superior to MUSCL (Scheme III). Scheme V is third-order accurate, but as compact as the first-order upwind scheme (therefore applicable at boundaries, and stable up to a Courant number of 1.0). The cho-sen degrees of freedom are the average values in the cells, and the point values on the interfaces. This representation is continuous, so no Riemann problems have to be solved. Because the interface values are shared, it has low storage requirements. It is a two-step scheme. First the interface fluxes are calculated from the initial data. This is done using the governing equations, rather than just by interpolation, so I have christened it the Active Flux scheme. The second step is a leapfrog scheme using these fluxes. Scheme V was not developed to the same extent as MUSCL, chiefly because it was not clear how to do so, but that is the task I have set myself. In fact Scheme V is scarcely recognizable in the eventual product, although it would be retrieved by applying the eventual product to one-dimen-sional linear advection.

It is possible to apply van Leer’s strategy to the multidimensional scalar wave equation, �ttu = c2∇2u and hence to the acoustic system, and hence to the acoustic part of the Euler equations. This is because the initial value problem for the wave equation is also known, even if it is a bit more complex than the advection equation.

The scalar solution given by Poisson [34] is to be found in many PDE textbooks

where MRu(�, t) is the mean value of a function u(�, t) taken at time t over [11] the surface of a sphere with center � and radius R. Note that this is a fully discrete formula, giving the exact solution at a later time. As with van Leer’s method, and with Godunov’s method, the approximation is made to the data, but not to the evolution. Some manipulations [11] allow it to be applied to the wave equation in first-order form. In two dimensions, the integral is over a disc rather than a sphere. In Fig. 11, the Mach discs are shown for updating a vertex node and an edge node. The integrands are weighted forms of (Fig. 12)∇ ⋅ �,∇p and their gradients ∇∇ ⋅ �,∇2p . The integrals have very simple closed form expressions.

For the advective part of the problem, we base our method on the “pressureless Euler equations”, in which all pressure gradients are set to zero [2]. This is the true multidimen-sional analogue of Burgers’ equation, and just as with Burgers’ equation, there is an exact, but implicit solution. In contrast to scalar problems, we find terms representing contraction and distortion of the streamtubes [26]. Application of these ideas to the full Euler equa-tions can be found in [43]. This involves a splitting of the Euler equations into advective

(21)u(�, t) = �tMctu(�, 0) + tMct�tu(�, 0),

Page 17: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

337Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

and acoustic components, rather than the hyperbolic and elliptic components employed by Mani Rad. Although these ideas sound very similar, Rad’s splitting separated the terms in the equations into two sets. The new proposal separates the steps in the solution proce-dure. On the standard test problem of a translating vortex, this method, even in a prelimi-nary implementation, is considerably more efficient [43] (run time for given accuracy) than DG1 and somewhat better than DG2. The comparisons are shown in Fig. 13. Results from an efficient code should be obtained soon.

The motivation for this new development is the wish to use the most appropriate stencil for every process in the update, in other words to sustain the principle illustrated in Fig. 5. As already noted, we cannot allocate the variables to advective or acoustic variables, but we can assign every aspect of the evolution to an advective or acoustic process. If advective in nature, it is accounted for by integration along the particle path; if acoustic, it is found by integration over the Mach discs. My intention eventually is to handle limiting and mesh adaptation also in a distinct manner for each mode. I aim for a fully discrete method for two reasons, which are possibly linked. One of these is that high-order semi-discrete schemes seem only to work with very small, inefficient time steps. The other reason is that it seems somehow inconsistent to take a great deal of care with the spatial discretization, only to couple it with some general-purpose ODE solver.

I do not think it is possible to achieve all these goals within any of the currently accepted frameworks. Perhaps it is unreasonable to expect that progress toward “the ultimate differ-encing scheme” will be smooth and monotone. It may be necessary to question and even

Fig. 11 Given approximate data over a triangulated mesh, integrals are taken over the Mach discs shown

Fig. 12 Nonlinear advection is accomplished by tracing the curved particle path

(n+ 1)∆t

n∆t

Page 18: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

338 Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

retract some of todays’ accepted wisdom [41]. I have been led by what seem to me to be logical steps to embrace continuous reconstruction, operator splitting and discrete time stepping, all of which have been anathema to the most recent trends in numerical conserva-tion laws. But so far the results are looking good.

There is an aphorism, that I believe is due to the German philosopher Georg Christoph Lichtenberg, to the effect that “knowledge does not mean all the things we happen to know, but only those we have thought about enough to know how they hang together and how they can be applied usefully”. I have a feeling that CFD has not yet reached that happy condition, and that the future may be just as exciting as the past.

References

1. Barsukow, W.: Stationarity preserving schemes for multi-dimensional linear systems. Mathematics of Computation (2018)

2. Berthon, C., Breu, M., Titeux, M.O.: A relaxation scheme for the approximation of the pressureless Euler equations. Numer. Methods Partial Differ. Equ. 22(2), 484–505 (2006)

3. Bouche, D., Bonnaud, G., Ramos, D.: Comparison of numerical schemes for solving the advection equation. Appl. Math. Lett. 16(2), 147–154 (2003)

4. Chima, R., Liou, M.S.: Comparison of the AUSM+ and H-CUSP schemes for turbomachinery appli-cations. In: 16th AIAA Computational Fluid Dynamics Conference, p. 4120 (2003)

5. Courant, R., Friedrichs, K.O.: Supersonic Flow and Shock Waves. Springer, Berlin (1999) 6. Deconinck, H., Paillere, H., Struijs, R., Roe, P.L.: Multidimensional upwind schemes based on fluctua-

tion-splitting for systems of conservation laws. Comput. Mech. 11(5/6), 323–340 (1993)

Fig. 13 Error versus run time for a vortex translated over twenty core radii, taken from [10]

Page 19: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

339Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

7. Deconinck, H., Ricchiuto, M.: Residual distribution schemes: foundations and analysis, 2nd edn, pp. 1–53. Encyclopedia of Computational Mechanics (2018)

8. Deconinck, H., Roe, P.L., Struijs, R.: A multidimensional generalization of Roe’s flux difference split-ter for the Euler equations. Comput. Fluids 22(2/3), 215–222 (1993)

9. Després, B.: Uniform asymptotic stability of Strang’s explicit compact schemes for linear advection. SIAM J. Numer. Anal. 47(5), 3956–3976 (2009)

10. Fan, D.: On the acoustic component of active flux schemes for nonlinear hyperbolic conservation laws. Ph.D. thesis, Department of Aerospace Engineering, University of Michigan (2017)

11. Fan, D., Roe, P.L.: Investigations of a new scheme for wave propagation. In: 22nd AIAA Computa-tional Fluid Dynamics Conference, p. 2449 (2015)

12. Fidkowski, K.J., Roe, P.L.: An entropy adjoint approach to mesh refinement. SIAM J. Sci. Comput. 32(3), 1261–1287 (2010)

13. Hall, M. G.: Cell-vertex multigrid schemes for solution of the Euler equations. In: Numerical methods for fluid dynamics, Eds Morton and Baines, pp. 303–345, Oxford University Press (1986)

14. Hedstrom, G.W.: Models of difference schemes for ut+ au

x= 0 by partial differential equations. Math.

Comput. 29(132), 969–977 (1975) 15. Iserles, A.: Order stars and a saturation theorem for first-order hyperbolics. IMA J. Numer. Anal. 2(1),

49–61 (1982) 16. Iserles, A., Strang, G.: The optimal accuracy of difference schemes. Trans. Am. Math. Soc. 277(2),

779–803 (1983) 17. Ismail, F., Roe, P.L.: Affordable, entropy-consistent Euler flux functions II: entropy production at

shocks. J. Comput. Phys. 228(15), 5410–5436 (2009) 18. Jameson, A.: A vertex based multigrid algorithm for three dimensional compressible flow calculations.

In: ASME Symposium on Numerical Methods for Compressible Flow, Anaheim (1986) 19. Jameson, A., Schmidt, W., Turkel, E.: Numerical solution of the Euler equations by finite volume

methods using Runge Kutta time stepping schemes. In: 14th Fluid and Plasma Dynamics Conference, p. 1259 (1981)

20. Lerat, A., Falissard, F., Sides, J.: Vorticity-preserving schemes for the compressible Euler equations. J. Comput. Phys. 225(1), 635–651 (2007)

21. Lin, H.C.: Topics in numerical computation of compressible flow. Ph. D. thesis, Cranfield Institute of Technology (1990)

22. Liu, F., Jennions, I., Jameson, A.: Computation of turbomachinery flow by a convective-upwind-split-pressure (CUSP) scheme. In: 36th AIAA Aerospace Sciences Meeting and Exhibit, p. 969 (1998)

23. Lung, T.B., Roe, P.L.: Toward a reduction of mesh imprinting. Int. J. Numer. Methods Fluids 76(7), 450–470 (2014)

24. Falissard, F., Lerat, A., Sidès, J.: Computation of airfoil-vortex interaction using a vorticity-preserving scheme. AIAA J. 46(7), 1614–1623 (2008)

25. MacCormack, R.: The effect of viscosity in hypervelosity impact cratering. AIAA paper 69–354 (1969)

26. Maeng, J.B.: On the advective component of active flux schemes for nonlinear hyperbolic conservation laws. Ph.D. thesis, Department of Aerospace Engineering, University of Michigan (2017)

27. Mesaros, L., Roe, P.: Multidimensional fluctuation splitting schemes based on decomposition methods. In: 12th AIAA Computational Fluid Dynamics Conference, p. 1699 (1995)

28. Mishra, S., Tadmor, E.: Constraint preserving schemes using potential-based fluxes. II. Genuinely mul-tidimensional systems of conservation laws. SIAM Journal on Numerical Analysis, 49(3), pp.1023-1045 (2011)

29. Morton, K.W., Roe, P.L.: Vorticity-preserving Lax–Wendroff-type schemes for the system wave equa-tion. SIAM J. Sci. Comput. 23(1), 170–192 (2001)

30. Morton, K.W., Suli, E.: Finite volume methods and their analysis. IMA J. Numer. Anal. 11(2), 241–260 (1991)

31. Morton, K.W., Paisley, M.F.: A finite volume scheme with shock fitting for the steady Euler equations. J. Comput. Phys. 80(1), 168–203 (1989)

32. Ni, R.H.: A multiple grid scheme for solving the Euler equations. In: 5th AIAA Computational Fluid Dynamics Conference, p. 1025 (1981)

33. Pettersson, P., Iaccarino, G., Nordstrm, J.: A stochastic Galerkin method for the Euler equations with Roe variable transformation. J. Comput. Phys. 257, 481–500 (2014)

34. Poisson, S.D.: Mm. Acad. Sci. Paris 3, 121–176 (1818) 35. Pulliam, T.H.: Computational challenge-Euler solution for ellipses. AIAA J. 28(10), 1703–1704 (1990) 36. Rizzi, A., Viviand, H.: Numerical methods for the computation of inviscid transonic flows with shock

waves: a GAMM workshop (Vol. 3). Springer-Verlag, (available as ebook) (1981)

Page 20: My Way: A Computational Autobiography · 2020-04-22 · Communications on Applied Mathematics and Computation (2020) 2:321–340 323 1 3 function,butincompressibleowtheymightbeseparatedbyashock.Itseemedtome

340 Communications on Applied Mathematics and Computation (2020) 2:321–340

1 3

37. Roe, P.L.: The use of the Riemann problem in finite difference schemes. In: Seventh International Con-ference on Numerical Methods in Fluid Dynamics, pp. 354-359. Springer, Berlin, Heidelberg. (1981)

38. Roe, P.L.: Approximate Riemann solvers, parameter vectors, and difference schemes. J. Comput. Phys. 43(2), 357–372 (1981)

39. Roe, P.L.: Linear advection schemes on triangular meshes. Technical Report 8720, Cranfield College of Aeronautics, 8720 (1987)

40. Roe, P.L.: Linear bicharacteristic schemes without dissipation. SIAM J. Sci. Comput. 19, 1405–1427 (1998)

41. Roe, P.L.: Did numerical methods for hyperbolic problems take a wrong turning?. In: XVI Interna-tional Conference on Hyperbolic Problems: Theory, Numerics, Applications, pp. 517–534. Springer, Cham (2016)

42. Roe, P.L., Balsara, D.S.: Notes on the eigensystem of magnetohydrodynamics. SIAM J. Appl. Math. 56(1), 57–67 (1996)

43. Roe, P.L., Maeng, J., Fan, D.: Comparing active flux and discontinuous galerkin methods for com-pressible flow. In: 2018 AIAA Aerospace Sciences Meeting, p. 0836 (2018)

44. Roe, P.L., Sidilkover, D.: Optimum positive linear schemes for advection in two and three dimensions. SIAM J. Numer. Anal. 29(6), 1542–1568 (1992)

45. Sidikover, D.: Numerical solution to steady-state problems with discontinuities. Ph. D. thesis, The Weizmann Institute, Rahovot (1990)

46. Zhang, X., Shu, C.-W.: Maximum-principle-satisfying and positivity-preserving high-order schemes for conservation laws: survey and new developments. Proc. R. Soc. A 467, 2752–2776 (2011)