Hiroaki Nishikawa (also a Fortran programmer) wrote on X,
Phil Roe (1938–2026), Professor of Aerospace Engineering at the University of Michigan, was my advisor during my doctoral study. I greatly admired his thorough approach: he was never satisfied with simply getting a scheme to work, but would dig into the underlying reasons why it worked until he fully understood them, always striving for excellence. Now so many wonderful memories are coming back to me.
One day, when he handed me a book and said, “You should read this,” I replied, “Then I’ll return this one,” handing back a book I’d borrowed earlier, and Professor Roe said, “Conservation! (Conservation!)” and we both laughed.
After graduation, I worked as a postdoc with him for about six years. One day, he came over to me and said, “I’ve derived a third-order approximation,” showing me his handwritten notes. I replied, “Well, I’ve derived a fifth-order approximation,” then he said, “You win!” and we both laughed.
In the photo, I’m holding a regular dodecahedron that he made himself by carving it from wood. He gave it to me as a gift when I left Michigan. I asked him, “Could you sign it so people know who made it?” but then he replied, “I can’t do that. It would break the symmetry.” and we both laughed. I still treasure that dodecahedron to this day.
I have only read two or three papers by Roe; he helped me indirectly with his replies on Stack Exchange in a thread about implementing a finite volume method in axisymmetric coordinates.
Here are two quotes that I saved from his works. One his from his autobiography:
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 processes of interpolation, integration and differentiation can be uniquely determined by operating 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 consider 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 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, admitting that there is a limit to what we can infer from finite information, and this leaves us with some ”wiggle room”.
The basic difference is simply the meaning to be attached to the results. FDM predicts point values of any aspect of the solution. Interpolation between these values is often left to the imagination of the user. FVM predicts averages of conserved variables within specific control volumes. Hence it predicts the integrated conserved variables and can be shown to converge to weak (discontinuous) solutions. FEM gives a set of discrete values from which an approximate solution can be deduced unambiguously everywhere by invoking a set of basis functions. Usually, but not necessarily, the variables involved are conservative. It is possible to have finite difference methods that are conservative in some sense, according to a particular quadrature rule.
These are matters of definition. There are many variations of all three methods. Not every method is cleanly of one type, and the details vary between application areas. Researchers inventing a new method employ those tools that will help to provide the properties that they are looking for. It is, as you seem to have found, difficult to find an authoritative discussion and it would be difficult for me to provide one. The best advice that I can give is to continue reading, without expecting a totally clear answer, but giving credence to the things that make sense to you.
I do not want to “heart” this post, and I certainly do not want to “thumbsup”, or “laugh”, or “clap”. I feel like in the long run, Fortran community is going to be the first programming community that needs a RIP emoji.
Truly sad news. Dr. Roe was one of those rare pioneers whose work fundamentally changed how we do CFD. To me his work on Riemann solvers and the resulting explosion in research in that area that his work inspired is one of the major accomplishments in the history of CFD. I never met him but did get to hear him give papers and speak a couple of times. He came across as a true scholar and gentleman.
CFD was never mentioned in my undergraduate physics program, and I wish I had studied it. I asked an ex-physicist decades later why CFD was not part of the physics curriculum (at least in the U.S.), and he said that when a branch of physics becomes useful it gets transferred to the engineering department.