I suppose I’ll start with the stuffy company line: Dr. Thomas D. Economon is a Postdoctoral Scholar at Stanford University, where he received MS and PhD degrees in the Department of Aeronautics & Astronautics. He holds a BS in Aerospace Engineering from the University of Notre Dame. His research interests include computational fluid dynamics (CFD), optimal shape design via adjoint-based methods, and high performance computing. He leads the development of the open-source SU2 suite for CFD analysis and design.
Allow me to soften that up a bit with a more personal touch. I grew up in St. Louis, MO until shipping off to South Bend, IN for college. Upon arrival, it was basically a coin flip between aerospace or mechanical engineering. Airplanes sounded more interesting at the time (and my best buddy at ND was doing it), so aerospace it was.
Undergrad flew by, and I found myself gravitating toward the fluids-related topics, such as compressible flow and applied aerodynamics. I distinctly remember a lecture from my junior year fluid mechanics class during which my professor walked through the Navier-Stokes equations but said something to the effect of “Don’t worry about the details here for now. There are rooms full of people at companies and labs solving these equations on computers.” I suppose that is when I was first introduced to the concept of CFD, but at the time, it was just some nebulous idea that wasn’t going to be on the next exam.
The summer after graduating from Notre Dame, I got my first real experience with CFD during an internship at NASA Langley in the Configuration Aerodynamics Branch. There was a project on active flow control that included an experimental campaign in the Basic Aerodynamics Research Tunnel (BART) nearby on the Langley campus. The concept was circulation control, where jets placed near the trailing edge of an airfoil or wing are used to modify the flow characteristics, typically to increase lift, for instance. My charge was to run 2D airfoil calculations with different turbulence models and meshes on the exact same geometry that was being tested over in the BART. Looking back, it was a unique opportunity, and it helped me develop an appreciation for CFD verification and validation (V&V) right from the start.
Once at Stanford for grad school in the Department of Aeronautics & Astronautics, during one of the first research meetings with my PhD advisor, Prof. Juan Alonso, I recall telling him that I would like to use CFD for part of my dissertation work, but that I didn’t really expect to be a CFD developer. I thought I was more interested in conceptual aircraft design at the time. However, by the end of my first year, I had the pleasure of taking my first CFD course from Prof. Robert MacCormack. I wrote my first CFD code in that class (2D, structured, C++), and I was hooked. It was like getting to play video games all day, except they created physically-meaningful results that were useful for engineering (when the code wasn’t diverging that is, a phenomenon that never occurred in any of my Nintendo games as a kid, by the way).
CFD was pretty great, but I became enamored with the idea of using it to accomplish more than just computing the lift or drag on a wing (analysis): I wanted to design the wing using CFD. Enter adjoint methods. I fell deeper down the rabbit hole after being told that one can solve another set of equations to compute derivatives (the adjoint equations) and then wrap everything up in a design loop to automatically optimize the shape of geometries for improved aerodynamics. Before long, I was working on a dissertation in adjoint methods, investing large amounts of time developing the SU2 suite alongside Francisco Palacios (the original architect), and enjoying every moment of it.
- Location: Stanford, California
- Current position: Postdoctoral Scholar
- Current computer: Apple MacBook (Retina, 12-inch, Early 2015) for day-to-day work, code development, email, etc. A Dell Precision Tower 7910 workstation under my desk provides 24 cores worth of number crunching for smallish CFD runs and doubles as a foot warmer in the winter.
- One word that best describes how you work: Purposefully
What software or tools do you use every day?
At any given point, you could open my laptop and see roughly 10 separate desktop spaces, each sporting applications in full screen mode. The “always open” list: Xcode, Terminals all over the place, Mail, iTunes, Safari with tons of tabs open, Notes (where I drafted this post originally), Messages, and Calendar. The next tier of applications that you’ll find open very regularly: Pointwise, Tecplot, Keynote, and TexShop for writing technical documents. By the way, it seems to be catching on in a lot of places now, but we’ve gotten quite a bit of mileage out of overleaf.com for collaborating on LaTeX articles for conferences or journals.
What does your workspace look like?
A bit spartan to say the least, but I prefer a minimalistic, clutter-free space for working. The only thing I need on my desk other than work hardware is my family. Ok, fine, and a cup of coffee too.
The typical setup is to have my closed laptop driving the external monitor for the extra screen real estate. The picture gives you a glimpse at my configuration for when I launch into “coding mode”: split screen between multiple Terminal tabs on the left, complete with columns of CFD residual history for good measure, and Xcode on the right for hacking on SU2. Don’t overlook the noise canceling headphones either. I usually have Apple music streaming all day.
What do you see are the biggest challenges facing CFD in the next 3 years?
Since I know how much John Chawner appreciates it, I’ll concur and say that the CFD 2030 report is a good read if you haven’t yet. I’ll take some liberties here and extend your 3-year horizon to the next 10-15 years as well. Given that I’m cut from similar fabric as my academic ancestors in terms of research interests, I’ll highlight a few of the challenges that resonate with me personally:
- Algorithmic advancements for CFD, such as improved discretizations, solvers, and techniques for sensitivity analysis
- Developing and improving frameworks for multidisciplinary analysis and design at high-fidelity
- Extracting performance from rapidly changing high performance computing (HPC) hardware
What are you currently working on?
There are three projects that I spend the majority of my time supporting:
- The development of a turbulence / particle / radiation code embedded within a domain specific language (DSL) for exascale simulations of particle-laden flows as part of the US Department of Energy’s PSAAP II program.
- Investigation of high-performance computing strategies for CFD in collaboration with Intel and Argonne National Laboratory.
- Research in CFD and adjoint methods within (as well as the general development and maintenance of) the SU2 suite.
What would you say is your meshing specialty?
I cut my teeth early in grad school on multi-block meshes, and I even caught the end of the Gridgen era (or at least the transition period). As most folks reading this will know, structured multi-block meshes can give you a level of accuracy that often can’t be beat, but they can also be painstaking to produce. Once we started working on SU2 here at Stanford, I jumped at the opportunity to go unstructured.
However, my initial struggles to create high-quality structured meshes really paid off, I think. I learned many of the features in Pointwise early on, and I still embed structured domains/blocks wherever I can in my SU2 meshes for accuracy. Nowadays, I take advantage of the T-Rex capabilities to build out mixed-element, viscous meshes around complex geometries.
Over the years, since we have had the chance to work on a number of workshops and webinars (Supersonic Aircraft Shape Design and the Stanford Solar Car Project) together, which gave me a front seat to the master, I feel like I have picked up so many tips and tricks. In particular, I think I am getting pretty good at creating mixed element unstructured meshes around complex geometries.
Any tips for our users?
I was building an airfoil mesh earlier today, in fact, and I was reminded of one of the most valuable options that I know about within Pointwise. The Volume Smoothing option when performing a Normal Extrusion, especially when creating mixed-element airfoil meshes.
I can’t tell you how much of a revolution it was to discover that option, or rather, to have you tell me about it, which is how I learn most things in Pointwise. As someone who is a believer in the “eye test” for meshes (i.e., if it is pleasing to the eye then it has a better chance of being a quality mesh), this little knob satisfies my need to generate aesthetically pleasing meshes. Check out what I mean in the image below.
There is an option to accomplish just about everything you might want in Pointwise. You just need to find it. Of course, their documentation is top-notch, including webinars and screencasts, but why read that when I can just ask Travis? Just kidding. As someone who also invests considerable effort in documentation and training, I recommend that everyone reads the manual first!
What project are you most proud of and why?
SU2. By a long shot. We will be celebrating the 5th anniversary of the code next January, and I think I speak for many by saying it has surpassed all of our expectations. Since the start, it has been a wonderful story about collaboration, first here at Stanford and then growing to other organizations and individuals worldwide. Everyone involved, from the initial students in the group that burned the midnight oil testing and writing documentation before the release, to the thousands of users and hundreds of developers in the community today, can be proud of the project. In my opinion, it is a testament to the real impact that can be created when folks buy in to a shared vision of openness and collaboration.
What CFD solver and postprocessor do you use most often?
Just in case you haven’t figured it out by now, I’m an SU2 user.
I picked up some Tecplot skills during my short stint at NASA Langley to postprocess my first CFD runs, and while I’ve dabbled with other postprocessors, Tecplot is still the mainstay. I have enjoyed getting to know and to collaborate with some of the folks over at Tecplot too, recently.
Are you reading any interesting technical papers we should know about?
There is a thread of recent adjoint literature that I have been following lately. The general topic is the differences between using a purely “surface” formulation for the continuous adjoint, i.e., the derivation results in an analytic expression for the variation of an objective function that is an integral over only the surface to be designed, or using a “volume” formulation that includes some terms integrated over the entire domain. There has been some intriguing research in this area, and I highly recommend papers by Kavvadias, Papoutsis-Kiachagias, and Giannakoglou 2015 and Lozano et al. 2012, in particular. Like usual, there are positives and negatives to both formulations. So, what’s my verdict after trying both out in SU2? I’ll share my thoughts at the ECCOMAS conference next month (see next question).
Do you plan on attending any conferences or workshops this year?
I am gearing up to go back-to-back next month at ECCOMAS in Greece followed immediately by AIAA Aviation in Washington D.C. In July, I am planning to attend the 2016 Numerical Optimization Methods for Engineering Design (NOED) conference in Germany. I have to say that I am quite excited to engage more with the European adjoint and optimization community during both ECCOMAS and NOED.
What do you do outside the world of CFD?
I make a concerted effort to build in as many weekend trips as possible, including visiting friends around the country and traveling for running events. A couple of recent highlights include tackling the beautiful Big Sur Half Marathon on Monterey Bay with an old friend from home and finally catching a St. Louis Cardinals spring training baseball game down in Florida. Last fall, we got together a group of 12 people and 2 vans to tag team the 200-ish mile Napa Valley Ragnar that starts in San Francisco and ends in Napa.
I’m fairly serious about fitness, mostly running and hitting the gym several times a week, and I’m a sports fan in general. St. Louis Cardinals baseball and Notre Dame football top the list. When it’s time to relax, you’ll find me reading a good book either in a coffee shop (Philz Coffee to be more exact), on the beach, or in the big comfy chair in the corner of my studio apartment.
What is some of the best CFD advice you’ve ever received?
During that first CFD course with Prof. MacCormack, I noted down several golden nuggets of wisdom. In addition to being a CFD legend, he is a very engaging lecturer with a great sense of humor.
One day, he stopped in the middle of class and launched into a lengthy story about a British bird lover that perished out in the thickets while bird watching. In the story, others found the bird watcher’s notebook afterwards, and the last thing he had written within it was “it’s all territorial.” Prof. MacCormack then claimed that if people were to find his notebook, the last thing he would have written is “it’s all dissipation.”
If you had to pick a place to have dinner, where would you go?
Imagine that you are coming for a visit in the bay area. We just spent the day bouncing around San Francisco seeing the sights and even made it further north to see redwoods at Muir Woods National Monument or to grab a glass up in wine country. On the trip back down the peninsula toward the south bay, I would offer the following three dinner suggestions:
- Cliff House in San Francisco: seafood spot on the coast hanging right over the water with incredible views. Try to catch a table for sunset.
- Patxi’s Pizza in Palo Alto: deep dish pizza. The crust is so buttery and flaky that it might as well be a real pie crust. Enjoy the savory portion of the slice, and then drizzle honey on the crust to finish it off. That’s why they put the jar of honey on the table.
- Pampas in Palo Alto: Brazilian-style steakhouse. I recommend starting with a cocktail or a glass of red wine, but do yourself a favor and skip the salad and side bar altogether. I’m serious. Don’t touch it. You want to save as much room as possible for the rodizio, i.e., the unlimited quantity of spit-roasted meats straight from the grill. Order the rodizio, flip the coaster they give you to the green light position, and let the good times roll. There are currently 15 different cuts of meat available, along with roasted pineapple. Don’t skip that one.
Oh ! I really would like to have classes with Prof. MacCormack. First class and 2D code ! Wow!.
And I am Brazilian. I know exactly with a “rodizio” is and I agree: do not touch the salad 😉
Really enjoyed reading it. Wish you success and bigger project than SU2 in your future endeavor. Really liked to to be in that CFD class someday. That’s my kind of class, starting with it’s all about prediction, then questioning everything, and then questioning myself and come with the conclusion that it’s all about dissipation.