I grew up in New Jersey where may father was always fixing something in his workshop and I was very lucky that my parents supported the many hobbies I was interested in. I spent a number of summers working on my Aunt and Uncle’s farm in Minnesota. They are another set of parents that instilled hard work and an interest in all things mechanical. My father was a pilot for Trans World Airlines, which allowed us to visit many European cities growing up. After high school, I was drawn to the University of Southern California (USC) where my dad’s career and my interest in model airplanes piqued my interest in aerospace engineering. Through USC’s Co-op office, I interned at NASA Dryden (now Armstrong) Flight Research Center. I had semesters in the Aerodynamic, Control, and Propulsion branches. Being at a small center exposed me to a breadth of topics because everyone was wearing many hats. It was so exciting to work around airplanes such as the F-18, SR-71, and F-16XL. Wind tunnel testing, computational fluid dynamics (CFD), and simulation turned into watching flight tests from the control room. Pursing an internship is the best advice I have to share with students.
I loved the work at Dryden, but I didn’t see a future for myself living in the desert. I moved across coasts to George Washington University and NASA Langley Joint Institute for the Advancement of Flight Sciences. My master’s thesis applied automatic differentiation to CFD codes for computing stability and control derivatives. I developed a passion for research and conference publications to the point of being a detriment to my grades. The program was a unique opportunity to have NASA engineers as professors, which lent itself to very practical classes where current research was brought into the classroom.
I started in my current position in 2000. An early task was implementing adjoint-based error estimation and grid adaptation in 3D, which is still ongoing work today. An effort to combine the physical models found in the structured grid CFD codes LAURA and VULCAN into the unstructured grid CFD code FUN3D laid the foundation for today’s FUN3D capabilities. This involved a shift to develop code as a team, where previously it was one or two people. This exposed me to version control, automated testing, and other aspects of agile programming methods. I’m still striving to improve how I develop code as an individual and how to effectively foster the success of teams.
My career at NASA has included many opportunities. NASA supported my pursuit of a Ph.D. at Massachusetts Institute of Technology (MIT) in CFD. I developed a cut-cell finite volume technique for adaptive tetrahedral grids for my dissertation. Like all education, the most important lesson I gained was how to attack challenging problems. CFD for near field sonic boom prediction became an important application for grid adaptation. This grew into my involvement organizing the AIAA Sonic Boom Workshops and Low Boom Flight Demonstration Quiet Supersonic Transport (QueSST) X-plane. During my career I have been invited to be a guest scientist at German Aerospace Center (DLR) and visited a number of U.S. aerospace companies. My current focus is on fostering collaboration with international researchers to advance unstructured grid adaptation for aerospace modeling.
- Location: NASA Langley Research Center, Hampton, VA, USA
- Current position: Research Scientist, Computational AeroSciences Branch
- Current computer: 13” mid-2012 MacBook Air, 16-core Linux desktop with dual monitors and keyboards for pair programming, NASA Langley mid-range computing cluster, and agency high performance computing resource, Pleiades
- One word that best describes how you work: Test
How do you know Pointwise?
I really enjoy the “This Week in CFD” blog series. I often run CFD on meshes partially or entirely made in Pointwise by others, but I have only performed rudimentary tasks myself.
What do you see are the biggest challenges facing CFD in the next 5 years?
Maintaining and improving automation and time to solution is the biggest challenge we face. The change underway in computer architectures will cause current codes, if not modified, to run slower on new computers. The increase in grid size of individual simulations and increase in the number of members of simulation ensembles exploit weakness in current nonlinear solvers, which disrupts automation when solvers fail to reach convergence. Currently, the time to create a grid is longer than the time to actually solve on it. This trend will worsen without embracing concurrency and automation in geometry access and grid generation. The CFD Vision 2030 Study (NASA/CR-2014-218178) does a great job of illustrating these issues. I was the first author on a paper focusing on the status and outlook of grid adaptation in the context of the study, Unstructured Grid Adaptation: Status, Potential Impacts, and Recommended Investments Towards CFD 2030 (AIAA-2016-3323). This paper includes 5, 10, and 15 year forecasts and a discussion of the critical steps of diffusing new technology into the hands of practitioners.
What are you currently working on?
I don’t say no to things as often as I should, so I often end up working on too many things at one time.
I’m working to address barriers to routine use of grid adaptation. This includes improvements to the adaptive grid mechanics and error estimation in FUN3D. These efforts would be of limited utility without transferring grid adaptation technology to users by improving the grid adaptation process documentation and ease of use based on user feedback. I recently added exact linear transport to FUN3D with Joe Derlaga and Sriram Rallabhandi (AIAA-2017-0076). We hope to make this a painless addition to any CFD solution. Error transport is synergistic with grid adaptation and can help fill the void left by the reluctance of CFD practitioners to perform uniform grid refinement studies.
I’m compiling the summary and statistical analysis of the Second AIAA Sonic Boom Workshop, which is a great exposure to psychoacoustics and the use of statistics to quantify the variation in an ensemble of solutions. The QueSST project is very busy right now. I spend effort on continued care and feeding of FUN3D for application support and bi-annual releases. I also mentor students in official and informal capacities.
What project are you most proud of and why?
I’m proud of FUN3D, which has grown to become a very widely used code at NASA, U.S. industry, and academia. FUN3D exposed me to many experts throughout NASA and in the U.S. and I am always surprised by the applications that users share. These include ground vehicles, rotorcraft, distributed electric propulsion, subsonic transports, supersonic transports, launch vehicles, and atmospheric reentry. I find the time accurate simulations very mesmerizing (e.g., Rotorcraft, F-18XL hybrid RANS LES, and launch abort).
Are you reading any interesting technical papers we should know about?
I recently read Spalart and Venkatakrishnan, “On the role and challenges of CFD in the aerospace industry”. I have experienced multiple steady solutions in CFD myself in the AIAA Drag and High Lift Prediction Workshops. I think this will become a more common occurrence as CFD resolution is increased and difficult cases near the edges of the flight envelope are pursued. Error estimation techniques used for grid adaptation and error transport would be interesting to study in situations where multiple converged steady solutions occur. The authors’ complimentary view of RANS and LES methods is very pragmatic. Grid adaptation schemes under development should consider what is necessary to support this physical modeling approach.
The Google re:Work blog article “The five keys to a successful Google team” has been eye opening. Looking into topics that they identified (psychological safety, dependability, structure & clarity, meaning of work, and impact of work) has changed my understanding of what is working well and what can be improved in my group projects.
What software or tools do you use every day?
I prefer terminal and shell scripting on Linux and Mac OS X over graphical interfaces. I prefer to edit with Emacs, and I can use vi well enough for quick edits or pair programing with others. I use a number of C and Fortran compilers. Fortran compilers are particularly buggy, so having more than one helps to isolate compiler bugs from coding errors. I run everything I can through Valgrind. It is impossible to overstate how many times it has found issues that would be very difficult to identify with other methods. I use LaTeX for writing and BibTeX for organizing my references. Git is my preference for version control. I maintain every project, paper, and talk in a Git repository. I use FUN3D for CFD applications, which I typically visualize with Tecplot. I use services like Gitlab, Jenkins, and Slack for team projects. Automated testing of FUN3D (Gitlab+Jenkins+BASH) is critical to assuring correctness and enabling rapid development. I prefer applications that are available on both Linux and Mac OS X, i.e., Thunderbird for email and Chrome for the web.
What does your workspace look like?
I have my desktop setup for pair programming. It is a very effective way to spread knowledge throughout a team. I also use it to on-board new team members and students. My Mac usually sits idle unless I need to edit Word or PowerPoint. I also telework from home about one day a week using the Mac. Telework is great to focus on reading, writing, and individual software development tasks.
Do you plan on attending any conferences or workshops this year?
I attended AIAA SciTech and I’m planning on attending the AIAA Aviation conference in June. I helped organize the AIAA Sonic Boom Workshop the weekend before SciTech and will be giving a summary of the nearfield CFD submissions at AIAA Aviation. I’m attending the Acoustics ’17 Boston joint meeting of the Acoustical Society of America and the European Acoustics Association for the first time. I’ll be giving an overview of the progress made during the workshops and I’m looking forward to gaining a deeper exposure to acoustics.
What do you do outside the world of CFD?
I’m about to become a new father. My wife and I are looking forward to the joy our son will bring to our lives. We don’t know what to expect other than life is certainly going to change.
I grew up sailing and was into racing sailboats in collage. I have assumed most positions on a number of different boats. I’m the tactician on the J30 that I have crewed on for the last decade. I love combing observations of the winds, tide, and competition to plan the best route forward. We work well as group and discuss how different scenarios would work out. I also use how confident I am in the situation to choose how big a risk to take. When situations are unclear, I position us conservatively in the fleet of boats racing to minimize our exposure to risk. When I see a clear advantage in the tide or a wind shift, I will aggressively take advantage of it to gain on our opponents.
I also enjoy multiple forms of cycling. I compete on occasion including mountain biking, cyclocross, and triathlons. I have never exceled, but these events provide motivation for training where the real benefit of fitness is realized. I enjoy the sights on long rides and have done six of the Register’s Annual Great Ride Across Iowa (RAGBRAI). It is also a great opportunity to see my extended family in the mid-west. Every day is a new adventure with 10,000 riders camping and leapfrogging across the state during the week of riding.
What is some of the best CFD advice you’ve ever received?
Always question CFD simulations with flow separation on a smooth body. My officemate, Pieter Bunning (primary author of OVERFLOW), reminds me of the persistent challenges for CFD accuracy—grid and turbulence modeling.
If you had to pick a place to have dinner, where would you go?
Crackers and Pacifica. They both offer small tapas-style plates and great drinks. I love bringing new people and trying new dishes. Order a few plates and share, which is great for conversation.