ARCHER logo ARCHER banner

The ARCHER Service is now closed and has been superseded by ARCHER2.

  • ARCHER homepage
  • About ARCHER
    • About ARCHER
    • News & Events
    • Calendar
    • Blog Articles
    • Hardware
    • Software
    • Service Policies
    • Service Reports
    • Partners
    • People
    • Media Gallery
  • Get Access
    • Getting Access
    • TA Form and Notes
    • kAU Calculator
    • Cost of Access
  • User Support
    • User Support
    • Helpdesk
    • Frequently Asked Questions
    • ARCHER App
  • Documentation
    • User Guides & Documentation
    • Essential Skills
    • Quick Start Guide
    • ARCHER User Guide
    • ARCHER Best Practice Guide
    • Scientific Software Packages
    • UK Research Data Facility Guide
    • Knights Landing Guide
    • Data Management Guide
    • SAFE User Guide
    • ARCHER Troubleshooting Guide
    • ARCHER White Papers
    • Screencast Videos
  • Service Status
    • Detailed Service Status
    • Maintenance
  • Training
    • Upcoming Courses
    • Online Training
    • Driving Test
    • Course Registration
    • Course Descriptions
    • Virtual Tutorials and Webinars
    • Locations
    • Training personnel
    • Past Course Materials Repository
    • Feedback
  • Community
    • ARCHER Community
    • ARCHER Benchmarks
    • ARCHER KNL Performance Reports
    • Cray CoE for ARCHER
    • Embedded CSE
    • ARCHER Champions
    • ARCHER Scientific Consortia
    • HPC Scientific Advisory Committee
    • ARCHER for Early Career Researchers
  • Industry
    • Information for Industry
  • Outreach
    • Outreach (on EPCC Website)

You are here:

  • ARCHER

Can't list the navigation items at the moment. Please try again later.

  • ARCHER Community
  • ARCHER Benchmarks
  • ARCHER KNL Performance Reports
  • Cray CoE for ARCHER
  • Embedded CSE
  • ARCHER Champions
  • ARCHER Scientific Consortia
  • HPC Scientific Advisory Committee
  • ARCHER for Early Career Researchers

Contact Us

support@archer.ac.uk

Twitter Feed

Tweets by @ARCHER_HPC

ISO 9001 Certified

ISO 27001 Certified

A fast coupling interface for a high-order acoustic perturbation equations solver with finite volume CFD codes to predict complex jet noise

eCSE12-20

Key Personnel

PI/Co-I: Dr H. Xia; Prof G. Page

Technical: Dr M. Angelino; Mr M. Moratilla-Vega

Relevant Documents

eCSE Technical Report: A fast coupling interface for a high-order acoustic perturbation equations solver with finite volume CFD codes to predict complex jet noise

Project summary

In this project, our aim was to develop a fast interface for a high-order acoustic perturbation equations solver, APESolver, to couple with finite volume Navier-Stokes equations codes that are widely used in the UK Turbulence, Applied Aerodynamics and ARCHER communities.

Driven by more stringent design requirements, the demand for multi-physics modelling capabilities is growing fast. Well-established modelling tools for individual disciplines are in need of running simultaneously while exchanging coupling data efficiently.

APESolver, as part of the Nektar++ software framework (www.nektar.info), is an open-source p-order polynomial spectral element code, which solves the linear Acoustic Perturbation Equations (APE) to obtain flow-induced acoustic fields in time and space. It is ideal for capturing sound wave dilatation and scattering around complex geometry with high accuracy, such as jet noise emitted from civil aircraft, where source terms can be determined from solutions of compressible Navier-Stokes (N-S) equations using well-established finite volume CFD codes. Since the sound source data is volumetric and time-dependent, a fast, parallel and memory efficient coupling is essential and the best way to achieve this is via MPI.

To couple with APESolver, we chose two mainstream finite volume N-S codes: HYDRA, and OpenFOAM based on their popularity and availability within the community (either proprietary or free). The N-S codes chosen also feature cell-vertex and cell-centred control volumes, allowing our coupling implementation to work with both types of connectivity as commonly used within the CFD community.

Achievement of objectives

There were four main objectives defined in the project:

  1. To implement coupling functionalities between HYDRA and APESolver
    The library used for the coupling was CWIPI, which was already implemented in the APESolver. The implementation of the library in HYDRA was successful. The coupling implementation was validated successfully using the existing file-based methodology applied to a cylinder vortex shedding case.

  2. To implement the same functionalities as i) for OpenFOAM coupled with APESolver.
    The implementation of CWIPI in OpenFOAM was successful using rhoPimpleFOAM. The same cylinder case was used for the validation of the implementation.

  3. To create a library of API subroutine/functions with the implementations in i) and ii) to form a wrapper layer.
    An API wrapper library has been created to contain as much as possible the implementation of coupling, in Fortran (using HYDRA's implementation as a reference), and in C++ for OpenFOAM.

  4. To make the project's outcome available to the community.
    The modified codes (under their original licence agreement) and the interface wrapper library are available on Github.

Summary of the software

Three different codes have been used during this project. HYDRA is the in-house code of Rolls-Royce plc and it is mainly used for compressible flows. It is an unstructured, cell-vertex, second-order finite-volume code.

The second code is OpenFOAM, which is an open-source code implemented in C++ for arbitrarily unstructured meshes. It is also based on a finite-volume second-order discretisation in which the variables are stored at the cell-centre.

The third code is the spectral/hp finite element open-source code Nektar++. The open-access library CWIPI was used for the coupling between the flow solver codes (HYDRA and OpenFOAM) and the acoustic code (APESolver).

The coupling wrapper interface developed during the project is available at a Github repository with the instructions for coupling using OpenFOAM and other codes written in Fortran with similarities, which can be found at: https://github.com/mimove?tab=repositories

Scientific Benefits

Aircraft noise is a major concern to modern societies and can have strong negative health and economic impact. The jet noise research community has made encouraging progress in recent years, thanks to advances in HPC and growing utilisation of HPC resources. Computational approaches are now seen as increasingly promising in modelling isolated simple jets, but more needs to be done to understand installed jets, where jet streams interact with aircraft wing, flaps and pylon, causing sound waves to reflect and scatter. All these efforts are necessary to help predict and potentially reduce noise.

This eCSE12-20 project is specifically targeting a computational issue that hinders more efficient modelling of the propagation of sound waves leaving the turbulent jet stream. It makes use of the latest high-end parallel computing techniques to ensure that massive amounts of data are exchanged in a way that is as parallel as possible. This removes the bottleneck between turbulent flow simulation and acoustic propagation.

As a result, performances of more than 10 times faster have been observed for smaller sized problems, and more than 100 times faster for larger problems. This gives the research community a new tool with which to model and predict the propagated far-field noise emitted from turbulent jets much more efficiently.

The open-source implementation of a coupling approach in fully parallel on the fly is also valuable to the ARCHER community. The software engineering outcomes of the project will benefit other research fields that potentially rely on high-end computing to tackle multi-physics problems.

The new parallel interface has improved the overall computational efficiency by a factor of 10 for small cases. For larger cases, a factor of more than 100 (eg for realistic configurations) compared to the existing file-based coupling approach can be achieved.

Figure 1: Jet wing/flap/pylon interaction.

Figure 1: Jet wing/flap/pylon interaction.

Figure 2: Coupling APE with captured noise sources

Figure 2: Coupling APE with captured noise sources

Figure 3: Diagram of coupling procedure with extensive modification to source codes

Figure 3: Diagram of coupling procedure with extensive modification to source codes

Figure 4: Diagram of coupling procedure with the common API library interface

Figure 4: Diagram of coupling procedure with the common API library interface

Figure 5: Acoustic field for the CFD and CFD/APE simulations

Figure 5: Acoustic field for the CFD and CFD/APE simulations

Figure 6: Coupling APE with captured noise sources

Figure 6: Coupling APE with captured noise sources

Figure 7: Coupling APE with captured noise sources

Figure 7: Coupling APE with captured noise sources

Figure 8: Contours of instantaneous spanwise vorticity and velocity fields obtained with HYDRA.

Figure 8: Contours of instantaneous spanwise vorticity and velocity fields obtained with HYDRA.

Figure 9: Contours of pressure perturbation (left) and power spectral density (right). Results obtained with HYDRA-Nektar++ coupled implementation.

Figure 9: Contours of pressure perturbation (left) and power spectral density (right). Results obtained with HYDRA-Nektar++ coupled implementation.

Figure 10: Acoustic field for the standalone OpenFOAM and the coupled OpenFOAM/Nektar++ cases.

Figure 10: Acoustic field for the standalone OpenFOAM and the coupled OpenFOAM/Nektar++ cases.

Copyright © Design and Content 2013-2019 EPCC. All rights reserved.

EPSRC NERC EPCC