Gajanan Choudhary | Computational Engineer

Gajanan Choudhary

Computational scientist with interdisciplinary research experience in scientific computing, high-performance computing, numerical methods, and machine learning

Home

My professional background demystified for everyone

Published Jun 04, 2020

I have often been asked to describe my professional background. Since computational engineering is a relatively new field, giving the right answer, “computational scientist,” is seldom a sufficient response. The same goes for my graduate degree in engineering mechanics, which people easily mistake for mechanical engineering. Alternative answers like scientist, software engineer, or mathematician are either unintentionally misleading, or fail to do justice to my background. I am often left with spontaneously condensing years of my diverse experience into a few sentences, tailored for the person I am talking to. So, here is my professional background demystified for laypersons, engineers, and experts:

For laypersons

Being a computational scientist, I solve different types of math equations (that cannot be solved by hand) using computers. These equations describe the world around us, and solving them helps us predict how things behave. For example, I have studied how water floods the coast and rivers when huge storms called hurricanes hit coastal cities.

My work is generally divided into projects spanning several months to a few years. In order to keep the explanation simple, say we have a project about an apple falling from a tree, and we wish to find the time it takes for the apple to hit the ground. I typically work on the following three aspects of the project:

  • Science: Understanding how things behave.
    This involves observing that the apple falls down in a straight line and that gravity is involved.
  • Mathematics: Dealing with equations.
    This involves finding the right equations that accurately tell us how things would behave once we solve them; for example, how fast the apple moves when it is falling. We then find ways to solve these equations. Fun fact: we often make these equations look horrifying to others to protect our jobs. 😉 Just kidding!
  • Software: Making it easy to solve equations.
    For big and real problems, often the only way to solve the equations is using computers. So, we write a software to do that. In fact, we make sure that the software is able to tell us how much time any apple (and not just yours) would take to hit the ground.

Essentially, my work lets people facing engineering problems (much bigger than the apple one) find answers quickly.

For engineers

I specialize in understanding the physics behind engineering problems, utilizing or designing mathematical techniques to solve them, and making it quick and easy to find their solution by writing computer code. I design, create, and use high-performance computing (HPC) software that simulate real-world phenomena.

Computational Engineering is an interdisciplinary field comprising of computer
science, mathematics, and engineering

I have worked on numerous projects in different fields, all of which require knowledge of at least one of engineering, mathematics, and computer science, which are the pillars of computational engineering. One of my first major projects used image processing and neural networks for monitoring cracks in concrete surfaces. My first professional experience was designing buildings made of concrete and steel. Thereafter, I studied how nearby explosions deform certain materials, and worked on reducing the weight and cost of trusses without compromising on their safety. I continued into research in my first job, where I wrote a computer software to automate finding stresses in ship structures and airplane wings, given their shape and material. Over the last six years, I have worked on numerous projects on improving computer models that simulate how water moves in oceans, rivers, and below the ground, particularly during extreme events such as hurricanes.

For experts

My expertise is in solving partial differential equations using numerical methods in a high-performance computing (HPC) setting. My research interests and past projects span a multitude of fields including computational mechanics, numerical methods, coupled models, finite element analysis, scientific programming, parallel computing, machine learning, and heuristic and mathematical optimization.

I have been an active contributor to Adaptive Hydraulics (AdH) and ADvanced CIRCulation (ADCIRC), which are HPC software used for simulating ocean dynamics, respectively written in C and Fortran. I am experienced in using Python to modernize legacy HPC codes written in Fortran and C/C++, opening up new avenues of research such as multi-software coupling and physics-informed machine learning. I have also created an HPC Python software called the Water Coupler (WaCoup), a framework for two-way weak/flux coupling between different HPC CFD models. I have worked on 2D/3D shallow water, 2D/3D transport, 3D groundwater, 2D/1D diffusive wave, and atmospheric models. My work enables simulation of complex phenomena such as compound flooding from combined effects of torrential rainfall and storm surge during hurricanes, wetting/drying in 3D baroclinic shallow water models, and coupled overland and groundwater flow.


Gajanan Krishna Choudhary | Computational Engineer | Scientist Gajanan obtained his B.Tech. from Indian Institute of Technology (IIT) Kharagpur, and M.S. and Ph.D. from The University of Texas at Austin. He works as a Postdoctoral Fellow at UT Austin as of this writing. Further details about his profile are available on his personal website.