Faces of HPC: Zhong-Nan Wang
Zhong-Nan Wang is a research associate in the Department of Engineering at the University of Cambridge. He develops CFD methods for simulations of aero-engine noise and he aims to reduce the noise created by them for future aeroplanes. He received “best use of ARCHER” award due to this work using HPC. He also created the developed algorithm that has been incorporated in the Rolls-Royce CFD solver to improve the turbulent eddy resolving capability.
Introduction
Zhong-Nan has been interested in mathematics, fluid dynamics and computer science since he was studying for his undergraduate degree. After completing his undergraduate degree, he was selected to do a PhD involving CFD and HPC. He uses HPC now to explore sound generating mechanisms and enjoys working in HPC because it is a vibrant community and he is able to tackle more challenging problems than ever.
Biography
Tell us a bit about yourself – where you’re from, what you’ve studied and where, and what some of your outside interests are.
I was born in Baotou, a northern Chinese city by the Yellow River. I first left my home to spend my undergraduate studies in Xi’an Jiaotong University, located in an ancient Chinese city Xi’an, which has been the capitals of 13 dynasties. Whilst completing my undergraduate, I became fascinated by the beauty of mathematics, fluid dynamics and computer science. I began to think of pursuing my further study by combining them. After the graduation, I was selected to do a PhD study through a low carbon technology alliance program of three universities (Tsinghua University, University of Cambridge and Massachusetts Institute of Technology). When I was mainly based in Tsinghua but also had joint study time in Cambridge, I developed high-fidelity computational fluid dynamic (CFD) algorithms to simulate turbulence flows for low-emission aircraft engines using high performance computing. CFD is the use of mathematics, physics and computational software to visualise how a gas or liquid flows. The developed algorithm has been incorporated in the Rolls-Royce CFD solver to improve the turbulent eddy resolving capability. Outside my research, I love sports and music. I am a striker and played in the department and college football team. Another thing I enjoy is spending time with friends listening to or playing music.
What is your current job? Describe what you do in HPC. Is this your main interest, or something you fell into?
I am a research associate in the Department of Engineering at the University of Cambridge. My research is focused on developing high-fidelity computational fluid dynamics (CFD) methods for large-scale turbulence simulations of aero-engine noise. This is exciting to me because the fine turbulent structures that generate the sound can be numerically reproduced and visualized. This could never happen without the massive parallel computation via HPC facilities. With this HPC-aid simulation, sound generation mechanisms can be explored for improving scientific understandings and viable low noise designs can also be pursued for future generation aircraft engines.
How did you become interested in HPC? Briefly describe your path into HPC.
I began to hear of HPC at my high school and read a few stories about scientists using supercomputers to aid space exploration. It all seemed so cool to me. But when I learned to program as an undergraduate, what impressed me the most was that the computer is “stupid” actually. Even for a very simple problem, I need to tell the computer every step in its own language, which is especially complex and patience-demanding for debugging it. However, once it has been programmed correctly, the computer is so incredibly fast that it can solve a large amount of computation in seconds. I am really fascinated by it. In my PhD time, I directed my research into the computational fluid dynamics (CFD) field. This is a multidisciplinary field, which lies across numerical analysis, fluid dynamics and computer science. I developed numerical methods to improve turbulent eddy resolving simulation. This simulation needs many computing cores working together in parallel to solve a large-scale fluid problem. Thus, I learnt how to program CFD codes on distributed memory and shared memory clusters using MPI and OpenMP. Then when I started my current position, I used HPC clusters more frequently for large-scale simulations. With the recent advent of modern computing architectures, such as GPU and intel Phi, I am now working on porting the CFD and acoustic solver to these architectures for a high speed-up ratio. This is all interesting and exciting to me.
Is there something about you that’s given you a unique or creative approach to what you do?
The attraction to arithmetic might bring me the motivation to do research related to HPC. Another might be the nature of saving human work. It always inspires me to pursue a better way of using computers to replace some of my labour.
Were there any challenges when you first entered the field? How have you overcome these, or do they continue to challenge you?
The first challenge for me was debugging code when I entered this field. Sometimes code I wrote in one hour could take me one week to debug. After some painful debugging experiences, I learned to write and validate the code step by step by designing some test cases instead of writing thousands of lines at once and then trying to debug them all at the end. I find this very helpful for me to make the debug process more manageable.
What’s the best thing about working in HPC?
The best thing about working in HPC is the dynamic and vibrant environment. The HPC techniques develop fast and requires updated knowledge to make the most of it. It is a very active field and there is a friendly networking environment. Working in HPC allows me to tackle more challenging aerodynamic and aeroacoustic problems than ever before. By making efficient use of it, we can simulate the flow physics in more detail and understand the mechanisms to guide better engineering design and also speed up the design cycle.
If there’s one thing about HPC you could change, what would it be?
If I could change one thing about HPC, I would make it more available to the public or at least raise public awareness. Although the resource of HPC is still limited to academic researchers today, I still think that it would be beneficial to boost the concept like cloud computing, which brings HPC closer to our daily life. Hopefully, one day HPC might become an easy-access product/service for everyone.
What’s next for you in HPC – where does your career lead you?
I am working on improving unsteady CFD simulation accuracy and utilizing HPC to accelerate this simulation process. The next step is to demonstrate that this HPC-based high-fidelity large-scale simulation is capable to partially replace expensive rig testing for aircraft and aero-engine components.