tl;dr
My greatest professional accomplishment was founded on a failure. It shaped the rest of my career, but those heights were never returned to. The work was key to how my craft as a computational physicist grew. It made me who I am. The culture of Los Alamos in the early 1990s allowed it to happen. That culture is dead today. The culture at Sandia would have never allowed it.
“The most important questions in life can never be answered by anyone except oneself.” — John Fowles

An Inspired Lunchtime Question
A good friend took me to lunch recently to celebrate my retirement. He’s a few years out from his own retirement. Lunch was enjoyable as expected, but one moment stands out. He asked me about my greatest professional accomplishment. In your career, what achievement do you look back on with the most pride? What a spectacular question! I asked him as well. Our answers said a lot about us.
My answer was easy to come up with.
Back in 1994, I had moved into the computational science part of the Lab. I was continuing my examination of interface tracking while collaborating with Doug Kothe. I had come to understand the importance of these methods to the Lab and its core mission. The method of David Youngs, with piecewise linear (or planar) interfaces, was the state of the art. To understand it, I implemented it and used the manner of implementation I had seen in code. The time integration of the method used operator splitting. It worked pretty well.
I have a firm belief that to really understand a method, you improve it. An obvious way to improve this method is to remove operator splitting and create an “unsplit” method. This was far more complex and logic-intensive. When I tested it using the standard translation of simple shape tests, it worked.
I was also working on better tests for these methods. The standard tests were lame as fuck. The whole reason you need interface tracking is the phenomenon of shear. Without shear (and vorticity), Lagrangian methods are just fine. Vorticity in a flow is what makes Lagrangian methods fail. I introduced problems from the literature for advection with vorticity. These problems were introduced by Randy LeVeque and Piotr Smolarkiewicz. Randy also introduced a cool time reversal term where a flow could be rewound to the initial state. These problems were more realistic and difficult. They immediately broke my “improved” method. I could not debug it either. As I learned, the new method had too much cyclomatic complexity (too many nested if-thens).
An important point about this is failure. I tried something, and it failed badly. This failure would power accomplishment. Without the failure, all the good things that followed would not have happened. The other key point is that no one paid for this work. There was no project, no funding, no management involved. I was working on another project using C++ to code up methods. In those days, the compile-link cycle with C++ took forever (15 minutes a pop). The code I wrote, along with everything below, happened during the compile-link time. I was using Fortran, and it compiled and linked very fast. The Fortran on the UNICOS Cray Y-MPs was awesome.
“The scientist is not a person who gives the right answers, he’s one who asks the right questions.” — Claude Levi-Strauss
I went back to the drawing board. I ingested techniques from computational geometry. I realized the entire methodology for Youngs’ method could be implemented using it. I created a set of primitives from computational geometry and created Youngs’ method anew. It worked great. The code had very low cyclomatic complexity. I then did the unsplit version, and it worked too. It passed the tests and was easy to debug. Doug and I wrote up the work and submitted “Reconstructing Volume Tracking” for publication. It was published in the Journal of Computational Physics, including the history of these methods. The paper has over 2500 citations now.
Something else is the clincher for the greatest accomplishment. A few years later, I was involved in adding interface tracking to an important Eulerian code at Los Alamos. It turned out that any Eulerian code needs this, and AMR is not enough for interfaces. I was working with Ed Dendy, who was hands-on in the code. I was mapping out and deriving methods. We designed a method using artificial compression that blended with the existing code seamlessly. It is the standard method used today. Ed also added the version of Youngs’ method I created to the code. Recently, I confirmed that this code is still used today.
The achievements here were multiple. I created a new way to implement a method that is a genuine improvement. I created a better version of the existing method. We wrote a comprehensive paper on the methodology that was well-received. Finally, I created better test problems for this class of methods. These tests have become far more standard and helped drive improvements across the board in interface tracking. Improved level set methods are a key example. Finally and critically, the methods and code I worked on are used for important problems at Los Alamos. It is a substantial and meaningful contribution to our national security.
All of this produces a great sense of pride and accomplishment.
The lessons from this chapter of my career are deep and bountiful. Almost everything about it is counter to the current scientific environment at the Labs. Today, no manager trusts their staff enough to allow this unless you do the work off the clock.
“To be yourself in a world that is constantly trying to make you something else is the greatest accomplishment.” — Ralph Waldo Emerson
Postscript
This work is a source of pride and achievement, but it also fills me with dismay. I left Los Alamos 20 years ago, and this work is 30 years old, with the implementation in the code dating back 25 years. I expect the technology to have advanced over that time. The work I did so long ago could be a foundation, but it should have been replaced by something better. The fact that something better is not on the agenda at Los Alamos leaves me with a sense of despair. The part of me that feels responsibility and duty would rather have seen that work replaced by something newer, better, and more capable. It’s been a quarter century after all. My accomplishment was shaped by curiosity, responsibility, and duty.
I was driven by a desire to support the Lab’s mission and national security by addressing something that seemed very important. Those are things to celebrate with hopes young people find the same inspirations. My greatest worry is that the combination of motivations today undermines this. The basic incentive structure for the institutions and people is different today. Another key element is trust, which is lower in both directions. Proper incentives and trust were key to my accomplishment.
“If what you have done yesterday still looks big to you, you haven’t done much today.” — Mikhail S. Gorbachev
I’m going to write shorter, more frequent posts for a bit. See how that works. I would love any feedback or reactions.
References
Rider, William J., and Douglas B. Kothe. “Reconstructing volume tracking.” Journal of Computational Physics 141, no. 2 (1998): 112-152.
Rider, William, and Douglas Kothe. “Stretching and tearing interface tracking methods.” In 12th Computational Fluid Dynamics Conference, p. 1717. 1995.
Kothe, Douglas B., and William J. Rider. “Comments on modeling interfacial flows with volume-of-fluid methods.” Submitted for publication (1995).
Kothe, Douglas, W. Rider, Stewart Mosso, J. Brock, and John Hochstein. “Volume tracking of interfaces having surface tension in two and three dimensions.” In 34th Aerospace Sciences Meeting and Exhibit, p. 859. 1996.