Implementation of a highly scalable aeroacoustic module based on the Ffowcs-Williams and Hawkings analogy within the open-source CFD software Code_Saturne

eCSE04-13

Key Personnel

PI/Co-I: Dr Charles Moulinec and Prof David Emerson - Scientific Computing Department of the Science and Technology Facilities Council (STFC)

Technical: Dr Stefano Rolfo - Scientific Computing Department of the Science and Technology Facilities Council (STFC)

Relevant documents

eCSE Technical Report: Implementation of a highly scalable aeroacoustic module based on the Ffowcs-Williams and Hawkings analogy within the open-source CFD software Code_Saturne

Project summary

The aim of this project was to expand the capabilities of the open-source CFD software Code_Saturne to directly perform noise predictions by means of an acoustic analogy. Noise prediction is key for many engineering applications ranging from aerospace (particularly for rotor noise generated by helicopters and turboprops) to combustion, to car industry and to electrical engineering (for noise generated by electrical appliances for instance). The classical way to simulate noise is to compute the compressible Navier-Stokes equations through Direct Numerical Simulation (DNS). However, DNS remains a very computationally demanding approach to fluid simulations where all length and time scales of the turbulent spectrum have to be resolved. For this reason DNS is still limited, industry-wise, to moderate Reynolds numbers and relatively simple geometries. Compared to noise-free simulations, noise predictions further increase the computational requirements since noise levels might be required very far away from the noise source locations. As a consequence, very large computational domains, which might not be necessary from a pure hydrodynamic point of view, are mandatory here.

A very well established solution to reduce computational demand consists of separating the computation of the noise sources, which can be performed using several CFD methodologies, from the propagation of the sound itself, assuming there is no feedback in the noise generation. This assumption is well verified in the case of subsonic flows (i.e. Mach number < 1) and when the noise sources are compact with the sound propagating into a fluid at rest (a compact source is a source region which is small compared to the acoustic wave length.). This procedure for modelling noise is referred to as hybrid computational aeroacoustics (CAA) and the theory is known as the aeroacoustic analogy. The most famous aeroacoustic analogy was proposed by Lighthill in 1952.

During this work a module based on the Ffowcs-Williams and Hawkings (FWH) theory has been included in Code_Saturne. The implementation takes into account both surface (thickness and loading noise) and volume (quadrupole noise) noise sources.

The main objective of the project was to retain the scalability of Code_Saturne after the inclusion of the new module. The figures below show the CPU time to solution per time step as a function of the number of processors. The scalability is presented for Code_Saturne without the module, Code_Saturne and the FWH module for surface sources (PL) only, and Code_Saturne for both surface and volume sources (PQ). An overhead of at most 10% of the CPU time is observed when adding the surface sources, while the inclusion of the quadrupole sources introduces an increase of up to 40% of the CPU time. However, the speed-up without and with the FWH module is very similar in all tests, demonstrating that scalability has not been affected by the addition of the new module.

Scalability test for a 38M cell mesh without and with the FWH module
Figure 1: Scalability test for a 38M cell mesh without and with the FWH module.

Scalability test for a 150M cell mesh without and with the FWH module
Figure 2: Scalability test for a 150M cell mesh without and with the FWH module.

A larger simulation using a 1.2B cell mesh has also been carried out using the FWH module, where both surface and volume integrals are computed. The scalability of this configuration has been tested at scale, and an efficiency of about 87% has been observed going from 24,576 to 49,152 processors (about 45% of the whole ARCHER Phase 2).

Achievement of objectives

The main objectives of the proposal were the following:

  1. Implementation of an acoustic module within the open source CFD code Code_Saturne.
  2. Maintaining the excellent scalability of Code_Saturne after addition of the new module.
  3. Release of the module within the official validated version of the code.

Obj 1: The acoustic module based on the Ffowcs-Williams and Hawkings acoustic analogy has been implemented in Code_Saturne, where the solution of both surface (thickness and loading noise) and volume (quadrupole) integrals are computed.

Obj 2: The scalability of Code_Saturne after addition of the new module has also been tested for a mesh made of 1.2 billion cells, demonstrating an efficiency of about 87% going from 24,576 to 49,152 MPI tasks on ARCHER.

Obj 3: EDF R&D France develop, distribute and maintain the code, and they require a Copyright Transfer Form to be signed before integrating new functionalities in official releases. The Copyright Transfer Form has been signed on Friday 21 October 2016. The new module (developed in version 4.0 of the code) should be officially part of the next validated versions of the code (6.0 onwards, as 5.0 is already in the validation/verification stage).

Summary of the Software

Code_Saturne is an open source CFD code developed and maintained by EDF R&D in France. It is publicly available from the following website: www.code-saturne.org.

Several branches of the code are available, with the 2 most important ones being:

The fully validated version of the code is also available as a module on ARCHER (i.e. version 4.0.3, the latest one currently being 4.0.6).

The FWH module will be available from version 6.0 onwards. However it can already be obtained for version 4.0 by emailing stefano.rolfo@stfc.ac.uk.

A Copyright Transfer Form has been signed by STFC and EDF R&D in order to officially release the module to EDF R&D for them to perform its integration in the code.