Computational Fluid Dynamics

Fluid dynamics solvers are among the most important applications that are run on supercomputers, consuming countless processing hours per year. The gap between the capabilities of the CPU and the complexity of the problems to be solved continues to widen. We continually seek to simulate larger systems with higher resolution meshes. In more recent years, many in the community decided to leverage the computing power of graphics processing units (GPUs) to improve the performance of their computational fluid dynamics (CFD) solvers.

With market leader NVIDIA, the GPU has become a respected platform for computing. There are many codes in the CFD space that can benefit from GPUs or other parallel platforms, and EM Photonics has worked to create custom computational cores for several of these codes. The result is a many-fold improvement in performance, allowing for more complex simulations in less time without sacrificing accuracy. We have worked on CFD solvers designed for the single desktop, as well as those that run on the largest clusters. In some cases, the transition to high performance parallel computing requires a simple code translation, but in most cases a full mathematical retooling is required.

CFD Quick Facts

  • CFD simulations are used in numerous fields such as automotive, nautical, aeronautical, and space.
  • Problem sizes are on the order of hundreds of millions of nodes.
  • Multiple equations are implicitly solved over all the nodes hundreds of times to simulate one point in time.
  • EM Photonics is using GPUs to parallelize the large amount of required computations.
  • The fluid dynamics can be coupled with additional physics to increase the robustness of the simulations.
  • Aeroelastic effects are commonly coupled with CFD simulations for modeling rotorcraft blades.

Current Projects

GPU-acceleration of Landing Scenario CFD Simulations

Simulations are essential to the training of pilots, in particular those in the military. They must be as accurate as possible to ensure the safety of pilots. Computer models can help predict real-life landing scenarios, but because of their complexity, they are also very compute- and time-intensive process. Landing simulations become even more complex when they take place on naval vessels. They require simulating flow over the ship deck, the air-water flow interface, and the ship motion in additional to flow around the aircraft.

We are currently working with the Naval Air Systems Command (NAVAIR) and NASA on a DARPA-funded project to test GPUs on a more robust computational fluid dynamics (CFD) algorithm. By scaling the initial GPU test to a cluster of Tesla cards, we believe we can meet the increased computational challenges, getting the Navy that much closer to being able to test different flight scenarios for a variety of aircrafts across multiple naval vessels.


We offer a GPU-accelerated sparse linear algebra package - CULA Sparse. It provides solvers that are at the heart of many CFD codes and may bring you instant acceleration.

We also offer our expertise in accelerating, parallelizing, or increasing the efficiency of your code.


  • John Humphrey, Dan Hertenstein, Eric Kelmelis, "GPU Accelerated CFD Simulations," SPIE Defense and Security Symposium (DSS), April, 2011.
  • John Humphrey, Eric Kelmelis, "Computational Fluid Dynamics (CFD) for the GPU," NVIDIA GPU Technology Conference, Sep 2009.