Skip to main content

Shared-memory, distributed-memory, and mixed-mode parallelisation of a CFD simulation code


This paper presents some different approaches to the parallelisation of a harmonic balance Navier-Stokes solver for unsteady aerodynamics. Such simulation codes can require very large amounts of computational resource for realistic simulations, and therefore can benefit significantly from parallelisation. The simulation code addressed in this paper can undertake different modes of aerodynamic simulation and includes both harmonic balance and time domain solvers. These different modes have performance characteristics which can affect any potential parallelisation, as can the specifics of the problem being simulated. Therefore, three different techniques have been used for the parallelisation, shared-memory, distributed-memory, and a combination of the two—a hybrid or mixed-mode parallelisation. These different techniques attempt to address the different performance requirements associated with the types of simulation the code can be used for and provide the level of computational resources required for significant simulation problems. We discuss the different parallelisations and the performance they exhibit on a range of computational resources.

This is a preview of subscription content, access via your institution.


  1. 1.

    Campobasso MS, Baba-Ahmadi (2011, submitted) Analysis of unsteady flows past horizontal axis wind turbine airfoils based on harmonic balance Navier-Stokes equations with low-speed preconditioning. In: ASME paper GT2011-45303, ASME turbo expo 2011 technical conference, Vancouver, Canada, June 2011

    Google Scholar 

  2. 2.

    MPI Forum, MPI a message-passing interface standard. Available at:

  3. 3.

    MPI Forum, OpenMP architecture review board. OpenMP Fortran application program interface. Version 1.1. Available from:

  4. 4.

    Vahdati AM, Sayma AI, Imregun M, Simpson G (2007) Multibladerow forced response modeling in axial-flow core compressors. J Turbomach 129:412–420

    Article  Google Scholar 

  5. 5.

    Steijl BR, Barakos G (2008) Sliding mesh algorithm for CFD analysis of helicopter rotor-fuselage aerodynamics. Int J Numer Methods Fluids 58(5):527–549

    MATH  Article  Google Scholar 

  6. 6.

    Hall KC, Thomas JP, Clark WS (2002) Computations of unsteady nonlinear flows in cascades using a harmonic balance technique. AIAA J 40(5):879–886

    Article  Google Scholar 

  7. 7.

    Layton W, Lenferink HWJ (1996) A multilevel mesh independence principle for the Navier-Stokes equations. SIAM J Numer Anal 33(1):17–30

    MathSciNet  MATH  Article  Google Scholar 

  8. 8.

    Rizzi A, Eliasson P, Lindblad I, Hirsch C, Lacor C, Haeuser J (1993) The engineering of multiblock/multigrid software for Navier-Stokes flows on structured meshes. Comput Fluids 22:341–367

    MATH  Article  Google Scholar 

  9. 9.

    Amdahl GM (1967) Validity of the single-processor approach to achieving large scale computing capabilities. In: Proceedings, AFIPS SJCC, Reston, VA

    Google Scholar 

  10. 10.

    Johnson S, Leggett P, Ierotheou C, Spiegel A, an Mey D, Hoerschler I (2008) Nested parallelization of the flow solver TFS using the ParaWise parallelization environment. Lecture notes in computer science, vol 4315. Springer, Berlin, pp 217–229

    Google Scholar 

  11. 11.

    Mulas M, Beeri Z, Golby D, Surridge M, Talice M (1997) A parallel Navier-Stokes code for large industrial flow simulations. In: Kutler P, Flores J, Chattot J-J (eds) Fifteenth international conference on numerical methods in fluid dynamics. Lecture notes in physics, vol 490. Springer, Berlin, pp 450–455

    Chapter  Google Scholar 

  12. 12.

    Issman E, Degrez G, De Keyser J (1994) A parallel multiblock Euler/Navier-Stokes solver on a cluster of workstations using pvm. In: Gentzsch W, Harms U (eds) High-performance computing and networking. Lecture notes in computer science, vol 796. Springer, Berlin, pp 157–162

    Chapter  Google Scholar 

  13. 13.

    Elman H, Howle VE, Shadid J, Tuminaro R (2003) A parallel block multi-level preconditioner for the 3D incompressible Navier-Stokes equations. J Comput Phys 187:504–523

    MATH  Article  Google Scholar 

Download references

Author information



Corresponding author

Correspondence to Adrian Jackson.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Jackson, A., Campobasso, M.S. Shared-memory, distributed-memory, and mixed-mode parallelisation of a CFD simulation code. Comput Sci Res Dev 26, 187–195 (2011).

Download citation


  • Parallel
  • Shared-memory
  • Distributed-memory
  • Hybrid
  • Computational fluid dynamics
  • MPI
  • OpenMP