Table of Contents
Journal of Computational Engineering
Volume 2015, Article ID 295393, 10 pages
Research Article

Asynchronous Parallelization of a CFD Solver

1Department of Applied Mathematics, Naval Postgraduate School, 1 University Circle, Monterey, CA 93943, USA
2Department of Civil and Environment Engineering, University of Western Ontario, 1151 Richmond Street, London, ON, Canada N6A 3K7

Received 24 July 2015; Accepted 13 October 2015

Academic Editor: Fu-Yun Zhao

Copyright © 2015 Daniel S. Abdi and Girma T. Bitsuamlak. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


A Navier-Stokes equations solver is parallelized to run on a cluster of computers using the domain decomposition method. Two approaches of communication and computation are investigated, namely, synchronous and asynchronous methods. Asynchronous communication between subdomains is not commonly used in CFD codes; however, it has a potential to alleviate scaling bottlenecks incurred due to processors having to wait for each other at designated synchronization points. A common way to avoid this idle time is to overlap asynchronous communication with computation. For this to work, however, there must be something useful and independent a processor can do while waiting for messages to arrive. We investigate an alternative approach of computation, namely, conducting asynchronous iterations to improve local subdomain solution while communication is in progress. An in-house CFD code is parallelized using message passing interface (MPI), and scalability tests are conducted that suggest asynchronous iterations are a viable way of parallelizing CFD code.