An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (2024)

Keli ZhangSchool of Aeronautic Science and Engineering, Beihang University, Beijing, 100191, ChinaLHD, Institute of Mechanics, Chinese Academy of Sciences, Beijing, 100190, China  Changping YuLHD, Institute of Mechanics, Chinese Academy of Sciences, Beijing, 100190, China  Peiqing Liu*,{}^{*,}start_FLOATSUPERSCRIPT * , end_FLOATSUPERSCRIPTSchool of Aeronautic Science and Engineering, Beihang University, Beijing, 100191, China  Xinliang Li*,{}^{*,}start_FLOATSUPERSCRIPT * , end_FLOATSUPERSCRIPTlixl@imech.ac.cnlpq@buaa.edu.cnLHD, Institute of Mechanics, Chinese Academy of Sciences, Beijing, 100190, China

(December 26, 2023)

Abstract

In this paper, a permeable surface nondimensional FW-H (Ffowcs Williams-Hawkings) acoustics analogy post-processing code with convective effectand AoA (angle of attack) corrections, OpenCFD-FWH, has been developed. OpenCFD-FWH is now used as post processing code of our finite volume CFD solverOpenCFD-EC (Open Computational Fluid Dynamic code for Engineering Computation). However, OpenCFD-FWH can also be used by other CFD solvers with thespecified data interface.The convective effect is taken into account by using Garrick Triangle to switch the wind tunnel cases coordinate system to a moving model with fluidat rest coordinate system, which simplifies the FW-H integration formulation and improves the computational efficiency of the code. The AoA effect isalso taken into account by coordinate transformation.In order to validate the code, three cases have been implemented. The first two cases are a monopole and a dipole in a mean flow with AoA, andthe results of the code and the analytical solution are practically identical. The third case is the well-known 30P30N configuration with aReynolds number of 1.71×106absentsuperscript106\times 10^{6}× 10 start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT and an AoA of 5.5superscript5.55.5^{\circ}5.5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT. OpenCFD-EC with IDDES (Improved Delayed Detached-eddy simulation) is utilizedto obtain the flow field, and the result shows relative good agreement when compared to JAXA experiments. Moreover, the code is implementedin a hybrid parallel way with MPI and OpenMP to speed up computing processes (up to 538.5 times faster in the 30P30N validation case) andavoid an out-of-memory situation. The code is now freely available on https://github.com/Z-K-L/OpenCFD-FWH.

preprint: AIP/123-QED

I INTRODUCTION

With the escalating demands for environmental protection, aeroacoustics noise hasreceived considerable attention from both the industrial and academic sectors,especially in the aviation sector. Aircraft noise is restricting the development ofairports. Hence, it is very important to conduct far-field noise evaluation duringaircraft development and design stages. One of the most practical ways to evaluate far-fieldnoise of the aircraft is the hybrid CAA (computational aeroacoustics) approach, since the DNS(direct numerical simulation) for far-field noise in engineering problems is unrealistic.

The hybrid CAA method involves obtaining unsteady flow field through CFD solvers and thenemploying acoustic analogy equations to calculate far-field noise, which is widely adopteddue to its substantial reduction in computational complexity.For example, Molina et al. Molinaetal. investigated tandem cylinder noise throughDDES (Delayed Detached-eddy simulation) and FW-H (Ffowcs Williams-Hawkings) acoustic analogy.Ma et al. Ma, Shi,andSong investigated aeroacoustic characteristics of Swept Constant-ChordHalf model with four different types of high-lift devices through IDDES(Improved Delayed Detached-eddy simulation) and FW-H acoustic analogy. Hu et al. Huetal. utilized implicit wall-resolved LES (Large Eddy Simulation) and FW-H acoustic analogyto explore the noise reduction mechanisms of TE (trailing edge) serrations. Chen et al.Chen, Zang,andAzarpeyvand also used the hybrid method of LES and the FW-H acoustic analogy, tostudy the noise of flow across a cylinder with varying spanwise lengths.Souza et al. Souzaetal. (a) carried out LBM (Lattice Boltzmann Method) simulation on the30P30N high-lift configuration and applied FW-H acoustic analogy to compute the associated acoustic field.Teruna et al. Terunaetal. analyzed the noise reduction effect of a fully resolved3-D printed porous TE utilizing LBM and FW-H acoustic analogy as well. DNS and FW-H acoustic analogywere conducted by Turner and Kim TurnerandKim to assess the importance of quadrupolenoise in aerofoil flow separation or stall conditions. They acquired the quadrupole noise by calculating therelative difference between the FW-H results of the solid and permeable surface.

Currently, there are only a few open source codes available for FW-H acoustic analogy, such as libAcoustics developedby Epikhin et al. Epikhinetal. for OpenFOAM written in C++, SU2PY_FWH developedby Zhou et al. Zhou, Albring,andGauger for SU2 written in python, and a Farassat 1A solver developed byShen et al. ShenandMiller for HiFiLES written in C++. However, they all have some problems. Firstthey do not support MPI (Message Passing Interface) parallel to accelerate the computing processes and reducememory usage by distributing the computing tasks across multiple nodes/computers, which is very important when facinglarge datasets. Second, they only support FW-H integration solutions for solid surface, which do not account forthe quadrupole noise and unable to address cases with porous materials. Third, libAcoustics and SU2PY_FWHrequire the installation of OpenFOAM and SU2 software, respectively. Fourth, libAcoustics and SU2PY_FWHdo not consider inflow with an AoA (angle of attack). Finally, they lack comprehensive tutorials, making it difficult forothers to use their codes with other CFD solvers.

Hence, the OpenCFD-FWH code has been developed for our compressible finite volume CFD solver OpenCFD-ECLi, Fu,andMa (2010) (Open Computational Fluid Dynamic code for Engineering Computation). More importantly, it can be utilizedby any other solvers with the right data structures. Alternatively, one can modify the data reading module of the code accordingly.The code is based on a permeable surface FW-H integration solution with the Garrick Triangle GarrickandWatkins (1953) appliedto simplify the equations. The inflow with an AoA is also taken into account. Additionally, the code is implemented in a hybridparallel way to accelerate the computing processes and reduce the memory requirement for a single node/computer.The deployment of the code demands only an MPI library and a Fortran 90 compilation environment.Furthermore, Matlab programs for monopole and dipole validation are provided to generate the required input data for tutorial purposes.

The rest of the paper is organized as follows. Sec.II derived the permeable surface FW-H acoustic analogy methods withconvective effect and AoA correction. Sec.III depicted the code structure and parallel implementation. Sec.IVpresent the results of the code for three different validation cases. Finally, conclusions are given in Sec.V.

II FW-H Acoustic Analogy

II.1 Permeable Surface FW-H equation

The FW-H equation FfowcsWilliamsandHawkings (1969) for permeable surface has the form of:

2c2(ρρ0)superscript2superscript𝑐2𝜌subscript𝜌0\displaystyle\Box^{2}c^{2}(\rho-\rho_{0})□ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_c start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( italic_ρ - italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT )=t[Qnδ(f)]absent𝑡delimited-[]subscript𝑄𝑛𝛿𝑓\displaystyle=\frac{\partial}{\partial t}\left[Q_{n}\delta(f)\right]= divide start_ARG ∂ end_ARG start_ARG ∂ italic_t end_ARG [ italic_Q start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_δ ( italic_f ) ](1)
xi[Liδ(f)]+xixj[TijH(f)],subscript𝑥𝑖delimited-[]subscript𝐿𝑖𝛿𝑓subscript𝑥𝑖subscript𝑥𝑗delimited-[]subscript𝑇𝑖𝑗𝐻𝑓\displaystyle\quad-\frac{\partial}{\partial x_{i}}\left[L_{i}\delta(f)\right]+%\frac{\partial}{\partial x_{i}\partial x_{j}}\left[T_{ij}H(f)\right],- divide start_ARG ∂ end_ARG start_ARG ∂ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG [ italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_δ ( italic_f ) ] + divide start_ARG ∂ end_ARG start_ARG ∂ italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∂ italic_x start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_ARG [ italic_T start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT italic_H ( italic_f ) ] ,

where the 2=1/c22/t22superscript21superscript𝑐2superscript2superscript𝑡2superscript2\square^{2}=1/c^{2}\partial^{2}/\partial t^{2}-\nabla^{2}□ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT = 1 / italic_c start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ∂ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT / ∂ italic_t start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT - ∇ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT is the D’Alembert operator, c is the sound speed, ρ𝜌\rhoitalic_ρ is thedensity, ρ0subscript𝜌0\rho_{0}italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is the density of the undisturbed medium, δ𝛿\deltaitalic_δ and H𝐻Hitalic_H are the Dirac delta and Heaviside function, respectively.The moving surface is described by f(𝒙,t)=0𝑓𝒙𝑡0f(\bm{x},t)=0italic_f ( bold_italic_x , italic_t ) = 0 such that 𝒏^=f^𝒏𝑓\hat{\bm{n}}=\triangledown fover^ start_ARG bold_italic_n end_ARG = ▽ italic_f is theunit outward normal of the surface Farassat (2007). The Qnsubscript𝑄𝑛Q_{n}italic_Q start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT, Lisubscript𝐿𝑖L_{i}italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and Lighthill tensor stress Tijsubscript𝑇𝑖𝑗T_{ij}italic_T start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT are defined as:

Qnsubscript𝑄𝑛\displaystyle Q_{n}italic_Q start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT=Qin^i=[ρ0vi+ρ(uivi)]n^i,absentsubscript𝑄𝑖subscript^𝑛𝑖delimited-[]subscript𝜌0subscript𝑣𝑖𝜌subscript𝑢𝑖subscript𝑣𝑖subscript^𝑛𝑖\displaystyle=Q_{i}\hat{n}_{i}=\left[\rho_{0}v_{i}+\rho(u_{i}-v_{i})\right]%\hat{n}_{i},= italic_Q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT over^ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = [ italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_ρ ( italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ] over^ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ,(2)
Lisubscript𝐿𝑖\displaystyle L_{i}italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT=Lijn^j=[Pij+ρui(ujvj)]n^j,absentsubscript𝐿𝑖𝑗subscript^𝑛𝑗delimited-[]subscript𝑃𝑖𝑗𝜌subscript𝑢𝑖subscript𝑢𝑗subscript𝑣𝑗subscript^𝑛𝑗\displaystyle=L_{ij}\hat{n}_{j}=\left[P_{ij}+\rho u_{i}(u_{j}-v_{j})\right]%\hat{n}_{j},= italic_L start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT over^ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = [ italic_P start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT + italic_ρ italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_u start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT - italic_v start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) ] over^ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ,(3)
Tijsubscript𝑇𝑖𝑗\displaystyle T_{ij}italic_T start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT=ρuiuj+Pij+c2(ρρ0)δij,absent𝜌subscript𝑢𝑖subscript𝑢𝑗subscript𝑃𝑖𝑗superscript𝑐2𝜌subscript𝜌0subscript𝛿𝑖𝑗\displaystyle=\rho u_{i}u_{j}+P_{ij}+c^{2}(\rho-\rho_{0})\delta_{ij},= italic_ρ italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT + italic_P start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT + italic_c start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( italic_ρ - italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) italic_δ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ,(4)

where visubscript𝑣𝑖v_{i}italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is the component of the velocity of the moving surface, uisubscript𝑢𝑖u_{i}italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is the component of the velocity of the fluid, δijsubscript𝛿𝑖𝑗\delta_{ij}italic_δ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT isthe Kronecker delta, and Pijsubscript𝑃𝑖𝑗P_{ij}italic_P start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT is the stress tensor:

Pij=(pp0)δijσij,subscript𝑃𝑖𝑗𝑝subscript𝑝0subscript𝛿𝑖𝑗subscript𝜎𝑖𝑗\displaystyle P_{ij}=(p-p_{0})\delta_{ij}-\sigma_{ij},italic_P start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = ( italic_p - italic_p start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) italic_δ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT - italic_σ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ,(5)

where p0subscript𝑝0p_{0}italic_p start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is the ambient pressure, σijsubscript𝜎𝑖𝑗\sigma_{ij}italic_σ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT is the viscous stress tensor. Usually σijsubscript𝜎𝑖𝑗\sigma_{ij}italic_σ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT is a negligible source of soundand is neglected by almost any other FW-H implementations Epikhinetal. ; Zhou, Albring,andGauger ; ShenandMiller ; Farassat (2007). Hence, Pij=(pp0)δijsubscript𝑃𝑖𝑗𝑝subscript𝑝0subscript𝛿𝑖𝑗P_{ij}=(p-p_{0})\delta_{ij}italic_P start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = ( italic_p - italic_p start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) italic_δ start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT is used in this paper.

II.2 Integration solution for general cases

Neglecting the quadrupole term in Eqs.(1), and following the derivation procedure of Farassat 1A formulation Farassat (2007),the integral solution of the FW-H equation for permeable surface can be derived as:

4πpT(𝒙,t)4𝜋superscriptsubscript𝑝𝑇𝒙𝑡\displaystyle 4\pi p_{T}^{\prime}(\bm{x},t)4 italic_π italic_p start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( bold_italic_x , italic_t )=f=0[Qi˙n^i+Qini^˙r(1Mr)2]ret𝑑Sabsentsubscript𝑓0subscriptdelimited-[]˙subscript𝑄𝑖subscript^𝑛𝑖subscript𝑄𝑖˙^subscript𝑛𝑖𝑟superscript1subscript𝑀𝑟2𝑟𝑒𝑡differential-d𝑆\displaystyle=\int_{f=0}\left[\frac{\dot{{Q}_{i}}\hat{n}_{i}+{Q_{i}}\dot{\hat{%n_{i}}}}{r(1-M_{r})^{2}}\right]_{ret}dS= ∫ start_POSTSUBSCRIPT italic_f = 0 end_POSTSUBSCRIPT [ divide start_ARG over˙ start_ARG italic_Q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG over^ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + italic_Q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT over˙ start_ARG over^ start_ARG italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG end_ARG end_ARG start_ARG italic_r ( 1 - italic_M start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ] start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT italic_d italic_S
+f=0[Qn(rMr˙+c0(MrM2))r2(1Mr)3]ret𝑑S,subscript𝑓0subscriptdelimited-[]subscript𝑄𝑛𝑟˙subscript𝑀𝑟subscript𝑐0subscript𝑀𝑟superscript𝑀2superscript𝑟2superscript1subscript𝑀𝑟3𝑟𝑒𝑡differential-d𝑆\displaystyle+\int_{f=0}\left[\frac{Q_{n}(r\dot{M_{r}}+c_{0}(M_{r}-M^{2}))}{r^%{2}(1-M_{r})^{3}}\right]_{ret}dS,+ ∫ start_POSTSUBSCRIPT italic_f = 0 end_POSTSUBSCRIPT [ divide start_ARG italic_Q start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_r over˙ start_ARG italic_M start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_ARG + italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_M start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT - italic_M start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) ) end_ARG start_ARG italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( 1 - italic_M start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_ARG ] start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT italic_d italic_S ,(6)
4πpL(𝒙,t)4𝜋superscriptsubscript𝑝𝐿𝒙𝑡\displaystyle 4\pi p_{L}^{\prime}(\bm{x},t)4 italic_π italic_p start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( bold_italic_x , italic_t )=1c0f=0[L˙rr(1Mr)2]ret𝑑Sabsent1subscript𝑐0subscript𝑓0subscriptdelimited-[]subscript˙𝐿𝑟𝑟superscript1subscript𝑀𝑟2𝑟𝑒𝑡differential-d𝑆\displaystyle=\frac{1}{c_{0}}\int_{f=0}\left[\frac{\dot{L}_{r}}{r(1-M_{r})^{2}%}\right]_{ret}dS= divide start_ARG 1 end_ARG start_ARG italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG ∫ start_POSTSUBSCRIPT italic_f = 0 end_POSTSUBSCRIPT [ divide start_ARG over˙ start_ARG italic_L end_ARG start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT end_ARG start_ARG italic_r ( 1 - italic_M start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ] start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT italic_d italic_S
+f=0[LrLMr2(1Mr)2]ret𝑑Ssubscript𝑓0subscriptdelimited-[]subscript𝐿𝑟subscript𝐿𝑀superscript𝑟2superscript1subscript𝑀𝑟2𝑟𝑒𝑡differential-d𝑆\displaystyle+\int_{f=0}\left[\frac{L_{r}-L_{M}}{r^{2}(1-M_{r})^{2}}\right]_{%ret}dS+ ∫ start_POSTSUBSCRIPT italic_f = 0 end_POSTSUBSCRIPT [ divide start_ARG italic_L start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT - italic_L start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT end_ARG start_ARG italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( 1 - italic_M start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ] start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT italic_d italic_S
+1c0f=0[Lr(rM˙r+c0(MrM2))r2(1Mr)3]ret𝑑S,1subscript𝑐0subscript𝑓0subscriptdelimited-[]subscript𝐿𝑟𝑟subscript˙𝑀𝑟subscript𝑐0subscript𝑀𝑟superscript𝑀2superscript𝑟2superscript1subscript𝑀𝑟3𝑟𝑒𝑡differential-d𝑆\displaystyle+\frac{1}{c_{0}}\int_{f=0}\left[\frac{L_{r}(r\dot{M}_{r}+c_{0}(M_%{r}-M^{2}))}{r^{2}(1-M_{r})^{3}}\right]_{ret}dS,+ divide start_ARG 1 end_ARG start_ARG italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG ∫ start_POSTSUBSCRIPT italic_f = 0 end_POSTSUBSCRIPT [ divide start_ARG italic_L start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ( italic_r over˙ start_ARG italic_M end_ARG start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT + italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_M start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT - italic_M start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) ) end_ARG start_ARG italic_r start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( 1 - italic_M start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_ARG ] start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT italic_d italic_S ,(7)
p(𝒙,t)=pT(𝒙,t)+pL(𝒙,t),superscript𝑝𝒙𝑡subscriptsuperscript𝑝𝑇𝒙𝑡subscriptsuperscript𝑝𝐿𝒙𝑡\displaystyle p^{\prime}(\bm{x},t)=p^{\prime}_{T}(\bm{x},t)+p^{\prime}_{L}(\bm%{x},t),italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( bold_italic_x , italic_t ) = italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ( bold_italic_x , italic_t ) + italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT ( bold_italic_x , italic_t ) ,(8)

where 𝒙𝒙\bm{x}bold_italic_x is the observer coordinate vector, t is the observer time, r is the distance between observer and source,c0subscript𝑐0c_{0}italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is the sound speed of the undisturbed medium, the superscript "·" means derivative over the source time τ𝜏\tauitalic_τ, and the subscripts T and L represent the thickness and loading components, respectively. M is the Mach number vector of the moving surfacewith component Mi=vi/c0subscript𝑀𝑖subscript𝑣𝑖subscript𝑐0M_{i}=v_{i}/c_{0}italic_M start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT / italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. Mrsubscript𝑀𝑟M_{r}italic_M start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT, Lrsubscript𝐿𝑟L_{r}italic_L start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT, and LMsubscript𝐿𝑀L_{M}italic_L start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT are defined as:

Mrsubscript𝑀𝑟\displaystyle M_{r}italic_M start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT=Mir^i,absentsubscript𝑀𝑖subscript^𝑟𝑖\displaystyle=M_{i}\hat{r}_{i},= italic_M start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT over^ start_ARG italic_r end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ,(9)
Lrsubscript𝐿𝑟\displaystyle L_{r}italic_L start_POSTSUBSCRIPT italic_r end_POSTSUBSCRIPT=Lir^i,absentsubscript𝐿𝑖subscript^𝑟𝑖\displaystyle=L_{i}\hat{r}_{i},= italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT over^ start_ARG italic_r end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ,(10)
LMsubscript𝐿𝑀\displaystyle L_{M}italic_L start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT=LiMi,absentsubscript𝐿𝑖subscript𝑀𝑖\displaystyle=L_{i}M_{i},= italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT italic_M start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ,(11)

where r^isubscript^𝑟𝑖\hat{r}_{i}over^ start_ARG italic_r end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is the component of the unit radiation vector.

The subscript ret𝑟𝑒𝑡retitalic_r italic_e italic_t in Eqs.(6), and (7) means thequantities inside the square brackets are evaluated at retarded time:

τret=trret/c.subscript𝜏𝑟𝑒𝑡𝑡subscript𝑟𝑟𝑒𝑡𝑐\displaystyle\tau_{ret}=t-r_{ret}/c~{}.italic_τ start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT = italic_t - italic_r start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT / italic_c .(12)

Despite the quadrupole term in Eqs.(1) is omitted, the quadrupole source inside the permeable FW-H surface is still beaccounted for by Eqs.(8) according to Brentner and Farassat BrentnerandFarassat (1998).

II.3 Integration solution for wind tunnel cases

Eqs.(8) is derived in a coordinate system that, the source is moving in a stationary medium with observers at restin the far-field. In a wind tunnel case, where both the source and observer are stationary within a uniform flow with an AoA,which is the common scenario in the majority of aircraft CFD cases, the Garrick Triangle GarrickandWatkins (1953) can beapplied to transform the coordinate system. In this new coordinate system, the source is now moving in a stationary medium,while observers remain stationary relative to the source. This will lead to a large simplification of the formulation andincrease the computational efficiency of the code.

First, let us assume that the mean flow has a velocity of U0subscript𝑈0U_{0}italic_U start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT along the positive x1subscript𝑥1x_{1}italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT axis direction. The retarded time ofEqs.(12) will be changed to:

τret=tR/c0.subscript𝜏𝑟𝑒𝑡𝑡𝑅subscript𝑐0\displaystyle\tau_{ret}=t-R/c_{0}~{}.italic_τ start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT = italic_t - italic_R / italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT .(13)

where R is the effective acoustic distance between the source and the observer Brès, Pérot,andFreed (2010):

R𝑅\displaystyle Ritalic_R=M0d1+R*β2,absentsubscript𝑀0subscript𝑑1subscript𝑅superscript𝛽2\displaystyle=\frac{-M_{0}d_{1}+R_{*}}{\beta^{2}},= divide start_ARG - italic_M start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_d start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_R start_POSTSUBSCRIPT * end_POSTSUBSCRIPT end_ARG start_ARG italic_β start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ,(14)
R*subscript𝑅\displaystyle R_{*}italic_R start_POSTSUBSCRIPT * end_POSTSUBSCRIPT=d12+β2[d22+d32],absentsuperscriptsubscript𝑑12superscript𝛽2delimited-[]superscriptsubscript𝑑22superscriptsubscript𝑑32\displaystyle=\sqrt{d_{1}^{2}+\beta^{2}[d_{2}^{2}+d_{3}^{2}]},= square-root start_ARG italic_d start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_β start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT [ italic_d start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_d start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ] end_ARG ,(15)
β𝛽\displaystyle\betaitalic_β=1M02,absent1superscriptsubscript𝑀02\displaystyle=\sqrt{1-M_{0}^{2}},= square-root start_ARG 1 - italic_M start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ,(16)
M0=U0/c0,subscript𝑀0subscript𝑈0subscript𝑐0\displaystyle M_{0}=U_{0}/c_{0},italic_M start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = italic_U start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT / italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ,(17)

where di=xiyisubscript𝑑𝑖subscript𝑥𝑖subscript𝑦𝑖d_{i}=x_{i}-y_{i}italic_d start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is the component of distance between the observer and the source.

The component of the unit radiation vector is now altered to:

R^1subscript^𝑅1\displaystyle\hat{R}_{1}over^ start_ARG italic_R end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT=M0R*+d1β2R,absentsubscript𝑀0subscript𝑅subscript𝑑1superscript𝛽2𝑅\displaystyle=\frac{-M_{0}R_{*}+d_{1}}{\beta^{2}R},= divide start_ARG - italic_M start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_R start_POSTSUBSCRIPT * end_POSTSUBSCRIPT + italic_d start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG start_ARG italic_β start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_R end_ARG ,(18)
R^2subscript^𝑅2\displaystyle\hat{R}_{2}over^ start_ARG italic_R end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT=d2/R,absentsubscript𝑑2𝑅\displaystyle=d_{2}/R,= italic_d start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT / italic_R ,(19)
R^3subscript^𝑅3\displaystyle\hat{R}_{3}over^ start_ARG italic_R end_ARG start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT=d3/R.absentsubscript𝑑3𝑅\displaystyle=d_{3}/R~{}.= italic_d start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT / italic_R .(20)

Next, consider a mean flow with an AoA in the x-y plane, and its velocity magnitude remains equal to U0subscript𝑈0U_{0}italic_U start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT. By using the 2D planecoordinate transformation

d1superscriptsubscript𝑑1\displaystyle d_{1}^{\prime}italic_d start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT=d1cos(AoA)+d2sin(AoA),subscript𝑑1𝑐𝑜𝑠AoAsubscript𝑑2𝑠𝑖𝑛AoA\displaystyle=\;\;\;\,d_{1}cos(\mathrm{AoA})+d_{2}sin(\mathrm{AoA}),= italic_d start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_c italic_o italic_s ( roman_AoA ) + italic_d start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_s italic_i italic_n ( roman_AoA ) ,(21)
d2superscriptsubscript𝑑2\displaystyle d_{2}^{\prime}italic_d start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT=d1sin(AoA)+d2cos(AoA),absentsubscript𝑑1𝑠𝑖𝑛AoAsubscript𝑑2𝑐𝑜𝑠AoA\displaystyle=-d_{1}sin(\mathrm{AoA})+d_{2}cos(\mathrm{AoA}),= - italic_d start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_s italic_i italic_n ( roman_AoA ) + italic_d start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_c italic_o italic_s ( roman_AoA ) ,(22)

and bring them into the d1subscript𝑑1d_{1}italic_d start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and d2subscript𝑑2d_{2}italic_d start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT of the Eqs.(14), and Eqs.(15) yields:

R=M1d1M2d2+R*β2,𝑅subscript𝑀1subscript𝑑1subscript𝑀2subscript𝑑2subscript𝑅superscript𝛽2\displaystyle\quad R=\frac{-M_{1}d_{1}-M_{2}d_{2}+R_{*}}{\beta^{2}},italic_R = divide start_ARG - italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_d start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT - italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_d start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_R start_POSTSUBSCRIPT * end_POSTSUBSCRIPT end_ARG start_ARG italic_β start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ,(23)
R*subscript𝑅\displaystyle R_{*}italic_R start_POSTSUBSCRIPT * end_POSTSUBSCRIPT=(M1d1+M2d2)2+β2[d12+d22+d32],absentsuperscriptsubscript𝑀1subscript𝑑1subscript𝑀2subscript𝑑22superscript𝛽2delimited-[]superscriptsubscript𝑑12superscriptsubscript𝑑22superscriptsubscript𝑑32\displaystyle=\sqrt{(M_{1}d_{1}+M_{2}d_{2})^{2}+\beta^{2}[d_{1}^{2}+d_{2}^{2}+%d_{3}^{2}]},= square-root start_ARG ( italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_d start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_d start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_β start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT [ italic_d start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_d start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_d start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ] end_ARG ,(24)
M1=M0cos(AoA),subscript𝑀1subscript𝑀0𝑐𝑜𝑠AoA\displaystyle\qquad\;M_{1}=M_{0}cos(\mathrm{AoA}),italic_M start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_M start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_c italic_o italic_s ( roman_AoA ) ,(25)
M2=M0sin(AoA).subscript𝑀2subscript𝑀0𝑠𝑖𝑛AoA\displaystyle\qquad\;M_{2}=M_{0}sin(\mathrm{AoA})~{}.italic_M start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = italic_M start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_s italic_i italic_n ( roman_AoA ) .(26)

The component of the unit radiation vector is also changed:

R^1superscriptsubscript^𝑅1\displaystyle{\hat{R}_{1}}^{\prime}over^ start_ARG italic_R end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT=M0R*+d1β2R,absentsubscript𝑀0subscript𝑅superscriptsubscript𝑑1superscript𝛽2𝑅\displaystyle=\frac{-M_{0}R_{*}+d_{1}^{\prime}}{\beta^{2}R},= divide start_ARG - italic_M start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_R start_POSTSUBSCRIPT * end_POSTSUBSCRIPT + italic_d start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG start_ARG italic_β start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_R end_ARG ,(27)
R^2superscriptsubscript^𝑅2\displaystyle{\hat{R}_{2}}^{\prime}over^ start_ARG italic_R end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT=d2/R,absentsuperscriptsubscript𝑑2𝑅\displaystyle=d_{2}^{\prime}/R,= italic_d start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT / italic_R ,(28)
R^3subscript^𝑅3\displaystyle\hat{R}_{3}over^ start_ARG italic_R end_ARG start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT=d3/R.absentsubscript𝑑3𝑅\displaystyle=d_{3}/R~{}.= italic_d start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT / italic_R .(29)
R^1subscript^𝑅1\displaystyle\hat{R}_{1}over^ start_ARG italic_R end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT=R^1cos(AoA)R^2sin(AoA),absentsuperscriptsubscript^𝑅1𝑐𝑜𝑠AoAsuperscriptsubscript^𝑅2𝑠𝑖𝑛AoA\displaystyle={\hat{R}_{1}}^{\prime}cos(\mathrm{AoA})-{\hat{R}_{2}}^{\prime}%sin(\mathrm{AoA}),= over^ start_ARG italic_R end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_c italic_o italic_s ( roman_AoA ) - over^ start_ARG italic_R end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_s italic_i italic_n ( roman_AoA ) ,(30)
R^2subscript^𝑅2\displaystyle\hat{R}_{2}over^ start_ARG italic_R end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT=R^1sin(AoA)+R^2cos(AoA).absentsuperscriptsubscript^𝑅1𝑠𝑖𝑛AoAsuperscriptsubscript^𝑅2𝑐𝑜𝑠AoA\displaystyle={\hat{R}_{1}}^{\prime}sin(\mathrm{AoA})+{\hat{R}_{2}}^{\prime}%cos(\mathrm{AoA})~{}.= over^ start_ARG italic_R end_ARG start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_s italic_i italic_n ( roman_AoA ) + over^ start_ARG italic_R end_ARG start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT italic_c italic_o italic_s ( roman_AoA ) .(31)

Then, replacing all the r𝑟ritalic_r in Eqs.(6) similar-to\sim Eqs.(10) by Eqs.(23).In addition, both the moving surface and fluid velocity need to subtract the mean flow velocity, sincethe coordinate system has changed. Now, the distance R𝑅Ritalic_R is a constant and can be calculated in advancefor each observer, rather than in every sampling frame. Moreover, the source time derivative of ni^^subscript𝑛𝑖\hat{n_{i}}over^ start_ARG italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG,and MRsubscript𝑀𝑅M_{R}italic_M start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT will be zero because the surface is in uniform rectilinear motion. Therefore, the simplifiedversion of Eqs.(6), and Eqs.(7) for wind tunnel cases take the following form:

4πpT(𝒙,t)4𝜋superscriptsubscript𝑝𝑇𝒙𝑡\displaystyle 4\pi p_{T}^{\prime}(\bm{x},t)4 italic_π italic_p start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( bold_italic_x , italic_t )=f=0[Qi˙n^iR(1MR)2]ret𝑑Sabsentsubscript𝑓0subscriptdelimited-[]˙subscript𝑄𝑖subscript^𝑛𝑖𝑅superscript1subscript𝑀𝑅2𝑟𝑒𝑡differential-d𝑆\displaystyle=\int_{f=0}\left[\frac{\dot{{Q}_{i}}\hat{n}_{i}}{R(1-M_{R})^{2}}%\right]_{ret}dS= ∫ start_POSTSUBSCRIPT italic_f = 0 end_POSTSUBSCRIPT [ divide start_ARG over˙ start_ARG italic_Q start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG over^ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG start_ARG italic_R ( 1 - italic_M start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ] start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT italic_d italic_S
+f=0[Qnc0(MRM2)R2(1MR)3]ret𝑑S,subscript𝑓0subscriptdelimited-[]subscript𝑄𝑛subscript𝑐0subscript𝑀𝑅superscript𝑀2superscript𝑅2superscript1subscript𝑀𝑅3𝑟𝑒𝑡differential-d𝑆\displaystyle+\int_{f=0}\left[\frac{Q_{n}c_{0}(M_{R}-M^{2})}{R^{2}(1-M_{R})^{3%}}\right]_{ret}dS,+ ∫ start_POSTSUBSCRIPT italic_f = 0 end_POSTSUBSCRIPT [ divide start_ARG italic_Q start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ( italic_M start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT - italic_M start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) end_ARG start_ARG italic_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( 1 - italic_M start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_ARG ] start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT italic_d italic_S ,(32)
4πpL(𝒙,t)4𝜋superscriptsubscript𝑝𝐿𝒙𝑡\displaystyle 4\pi p_{L}^{\prime}(\bm{x},t)4 italic_π italic_p start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( bold_italic_x , italic_t )=1c0f=0[L˙RR(1MR)2]ret𝑑Sabsent1subscript𝑐0subscript𝑓0subscriptdelimited-[]subscript˙𝐿𝑅𝑅superscript1subscript𝑀𝑅2𝑟𝑒𝑡differential-d𝑆\displaystyle=\frac{1}{c_{0}}\int_{f=0}\left[\frac{\dot{L}_{R}}{R(1-M_{R})^{2}%}\right]_{ret}dS= divide start_ARG 1 end_ARG start_ARG italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG ∫ start_POSTSUBSCRIPT italic_f = 0 end_POSTSUBSCRIPT [ divide start_ARG over˙ start_ARG italic_L end_ARG start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT end_ARG start_ARG italic_R ( 1 - italic_M start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ] start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT italic_d italic_S
+f=0[LRLMR2(1MR)2]ret𝑑Ssubscript𝑓0subscriptdelimited-[]subscript𝐿𝑅subscript𝐿𝑀superscript𝑅2superscript1subscript𝑀𝑅2𝑟𝑒𝑡differential-d𝑆\displaystyle+\int_{f=0}\left[\frac{L_{R}-L_{M}}{R^{2}(1-M_{R})^{2}}\right]_{%ret}dS+ ∫ start_POSTSUBSCRIPT italic_f = 0 end_POSTSUBSCRIPT [ divide start_ARG italic_L start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT - italic_L start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT end_ARG start_ARG italic_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( 1 - italic_M start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ] start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT italic_d italic_S
+f=0[LR(MRM2)R2(1MR)3]ret𝑑S,subscript𝑓0subscriptdelimited-[]subscript𝐿𝑅subscript𝑀𝑅superscript𝑀2superscript𝑅2superscript1subscript𝑀𝑅3𝑟𝑒𝑡differential-d𝑆\displaystyle+\int_{f=0}\left[\frac{L_{R}(M_{R}-M^{2})}{R^{2}(1-M_{R})^{3}}%\right]_{ret}dS,+ ∫ start_POSTSUBSCRIPT italic_f = 0 end_POSTSUBSCRIPT [ divide start_ARG italic_L start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_M start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT - italic_M start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) end_ARG start_ARG italic_R start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( 1 - italic_M start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_ARG ] start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT italic_d italic_S ,(33)

with

Qn=[ρ0U0i+ρui]n^i,subscript𝑄𝑛delimited-[]subscript𝜌0subscript𝑈0𝑖𝜌subscript𝑢𝑖subscript^𝑛𝑖\displaystyle Q_{n}=\left[-\rho_{0}U_{0i}+\rho{u_{i}}\right]\hat{n}_{i},italic_Q start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = [ - italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_U start_POSTSUBSCRIPT 0 italic_i end_POSTSUBSCRIPT + italic_ρ italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] over^ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ,(34)
Lisubscript𝐿𝑖\displaystyle L_{i}italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT=[Pij+ρ(uiU0i)uj]n^j,absentdelimited-[]subscript𝑃𝑖𝑗𝜌subscript𝑢𝑖subscript𝑈0𝑖subscript𝑢𝑗subscript^𝑛𝑗\displaystyle=[P_{ij}+\rho(u_{i}-U_{0i})u_{j}]\hat{n}_{j},= [ italic_P start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT + italic_ρ ( italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - italic_U start_POSTSUBSCRIPT 0 italic_i end_POSTSUBSCRIPT ) italic_u start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ] over^ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ,(35)
MR=MiR^i,subscript𝑀𝑅subscript𝑀𝑖subscript^𝑅𝑖\displaystyle\qquad\;M_{R}=M_{i}\hat{R}_{i},italic_M start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT = italic_M start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT over^ start_ARG italic_R end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ,(36)
LR=LiR^i.subscript𝐿𝑅subscript𝐿𝑖subscript^𝑅𝑖\displaystyle\qquad\;L_{R}=L_{i}\hat{R}_{i}~{}.italic_L start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT = italic_L start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT over^ start_ARG italic_R end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT .(37)

Notice that the quantities inside the square brackets in Eqs.(32), and (33) are now evaluatedat the retarded time calculated by Eqs.(13). And the necessary inputs for far-field noise calculationfrom the CFD solver include the coordinate, unit outward normal, and area of the FW-H surface, along with the density,velocity, and pressure pulsation at each sampling frame.

II.4 Nondimensionalization

Since OpenCFD-EC utilizes dimensionless Navier-Stokes equations, OpenCFD-FWH is based on a nondimensional version ofEqs.(32), and (33) to avoid data conversion errors and computational expenditures.

The reference quantity used for the dimensionless transformation is the mean flow quantity, with the exception thatthe pressure is nondimensionalized by ρ0U02subscript𝜌0superscriptsubscript𝑈02\rho_{0}U_{0}^{2}italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_U start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT, and the coordinate is nondimensionalized by the units of the mesh,which yields:

ρ*=superscript𝜌absent\displaystyle\rho^{*}=italic_ρ start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT =ρ/ρ0,ui*=ui/U0,vi*=vi/U0,p*=p/ρ0U02,formulae-sequence𝜌subscript𝜌0superscriptsubscript𝑢𝑖subscript𝑢𝑖subscript𝑈0formulae-sequencesuperscriptsubscript𝑣𝑖subscript𝑣𝑖subscript𝑈0superscript𝑝𝑝subscript𝜌0superscriptsubscript𝑈02\displaystyle\rho/\rho_{0},\;\,u_{i}^{*}=u_{i}/U_{0},\;\,v_{i}^{*}=v_{i}/U_{0}%,\;\,p^{*}=p/{\rho_{0}U_{0}^{2}},italic_ρ / italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT = italic_u start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT / italic_U start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT = italic_v start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT / italic_U start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_p start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT = italic_p / italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_U start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ,(38)
c0*=superscriptsubscript𝑐0absent\displaystyle c_{0}^{*}=italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT =c0/U0=1/M0,xi*=xi/Lref,yi*=yi/Lref,formulae-sequencesubscript𝑐0subscript𝑈01subscript𝑀0formulae-sequencesuperscriptsubscript𝑥𝑖subscript𝑥𝑖subscript𝐿𝑟𝑒𝑓superscriptsubscript𝑦𝑖subscript𝑦𝑖subscript𝐿𝑟𝑒𝑓\displaystyle c_{0}/U_{0}=1/M_{0},\;\,x_{i}^{*}=x_{i}/L_{ref},\;\,y_{i}^{*}=y_%{i}/L_{ref},italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT / italic_U start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT = 1 / italic_M start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT = italic_x start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT / italic_L start_POSTSUBSCRIPT italic_r italic_e italic_f end_POSTSUBSCRIPT , italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT = italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT / italic_L start_POSTSUBSCRIPT italic_r italic_e italic_f end_POSTSUBSCRIPT ,(39)
dS*𝑑superscript𝑆\displaystyle dS^{*}italic_d italic_S start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT=dS/Lref2,t*=tU0/Lref,τ*=τU0/Lref.formulae-sequenceabsent𝑑𝑆subscriptsuperscript𝐿2𝑟𝑒𝑓formulae-sequencesuperscript𝑡𝑡subscript𝑈0subscript𝐿𝑟𝑒𝑓superscript𝜏𝜏subscript𝑈0subscript𝐿𝑟𝑒𝑓\displaystyle=dS/{L^{2}_{ref}},\;\,t^{*}=tU_{0}/L_{ref},\;\,{\tau}^{*}={\tau}U%_{0}/L_{ref}~{}.= italic_d italic_S / italic_L start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_r italic_e italic_f end_POSTSUBSCRIPT , italic_t start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT = italic_t italic_U start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT / italic_L start_POSTSUBSCRIPT italic_r italic_e italic_f end_POSTSUBSCRIPT , italic_τ start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT = italic_τ italic_U start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT / italic_L start_POSTSUBSCRIPT italic_r italic_e italic_f end_POSTSUBSCRIPT .(40)

Then the dimensionless FW-H integration solution for wind tunnel cases can be obtained by replacing the variables inEqs.(32), and (33) to their corresponding nondimensional counterparts:

4πpT*(𝒙*,t*)4𝜋superscriptsuperscriptsubscript𝑝𝑇superscript𝒙superscript𝑡\displaystyle 4\pi{p_{T}^{\prime}}^{*}(\bm{x}^{*},t^{*})4 italic_π italic_p start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( bold_italic_x start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT , italic_t start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT )=f=0[Qi*˙n^iR*(1MR)2]ret𝑑S*absentsubscript𝑓0subscriptdelimited-[]˙subscriptsuperscript𝑄𝑖subscript^𝑛𝑖superscript𝑅superscript1subscript𝑀𝑅2𝑟𝑒𝑡differential-dsuperscript𝑆\displaystyle=\int_{f=0}\left[\frac{\dot{{Q}^{*}_{i}}\hat{n}_{i}}{R^{*}(1-M_{R%})^{2}}\right]_{ret}dS^{*}= ∫ start_POSTSUBSCRIPT italic_f = 0 end_POSTSUBSCRIPT [ divide start_ARG over˙ start_ARG italic_Q start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG over^ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_ARG start_ARG italic_R start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( 1 - italic_M start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ] start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT italic_d italic_S start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT
+f=0[Qn*(MRM2)M0R*2(1MR)3]ret𝑑S*,subscript𝑓0subscriptdelimited-[]subscriptsuperscript𝑄𝑛subscript𝑀𝑅superscript𝑀2subscript𝑀0superscriptsuperscript𝑅2superscript1subscript𝑀𝑅3𝑟𝑒𝑡differential-dsuperscript𝑆\displaystyle+\int_{f=0}\left[\frac{Q^{*}_{n}(M_{R}-M^{2})}{M_{0}{R^{*}}^{2}(1%-M_{R})^{3}}\right]_{ret}dS^{*},+ ∫ start_POSTSUBSCRIPT italic_f = 0 end_POSTSUBSCRIPT [ divide start_ARG italic_Q start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_M start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT - italic_M start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) end_ARG start_ARG italic_M start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_R start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( 1 - italic_M start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_ARG ] start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT italic_d italic_S start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ,(41)
4πpL*(𝒙*,t*)4𝜋superscriptsuperscriptsubscript𝑝𝐿superscript𝒙superscript𝑡\displaystyle 4\pi{p_{L}^{\prime}}^{*}(\bm{x^{*}},t^{*})4 italic_π italic_p start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( bold_italic_x start_POSTSUPERSCRIPT bold_* end_POSTSUPERSCRIPT , italic_t start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT )=f=0[M0L˙R*R*(1MR)2]ret𝑑S*absentsubscript𝑓0subscriptdelimited-[]subscript𝑀0superscriptsubscript˙𝐿𝑅superscript𝑅superscript1subscript𝑀𝑅2𝑟𝑒𝑡differential-dsuperscript𝑆\displaystyle=\int_{f=0}\left[\frac{M_{0}{\dot{L}_{R}}^{*}}{R^{*}(1-M_{R})^{2}%}\right]_{ret}dS^{*}= ∫ start_POSTSUBSCRIPT italic_f = 0 end_POSTSUBSCRIPT [ divide start_ARG italic_M start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT over˙ start_ARG italic_L end_ARG start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT end_ARG start_ARG italic_R start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( 1 - italic_M start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ] start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT italic_d italic_S start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT
+f=0[LR*LM*R*2(1MR)2]ret𝑑S*subscript𝑓0subscriptdelimited-[]subscriptsuperscript𝐿𝑅subscriptsuperscript𝐿𝑀superscriptsuperscript𝑅2superscript1subscript𝑀𝑅2𝑟𝑒𝑡differential-dsuperscript𝑆\displaystyle+\int_{f=0}\left[\frac{L^{*}_{R}-L^{*}_{M}}{{R^{*}}^{2}(1-M_{R})^%{2}}\right]_{ret}dS^{*}+ ∫ start_POSTSUBSCRIPT italic_f = 0 end_POSTSUBSCRIPT [ divide start_ARG italic_L start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT - italic_L start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT end_ARG start_ARG italic_R start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( 1 - italic_M start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ] start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT italic_d italic_S start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT
+f=0[LR*(MRM2)R*2(1MR)3]ret𝑑S*.subscript𝑓0subscriptdelimited-[]subscriptsuperscript𝐿𝑅subscript𝑀𝑅superscript𝑀2superscriptsuperscript𝑅2superscript1subscript𝑀𝑅3𝑟𝑒𝑡differential-dsuperscript𝑆\displaystyle+\int_{f=0}\left[\frac{L^{*}_{R}(M_{R}-M^{2})}{{R^{*}}^{2}(1-M_{R%})^{3}}\right]_{ret}dS^{*}.+ ∫ start_POSTSUBSCRIPT italic_f = 0 end_POSTSUBSCRIPT [ divide start_ARG italic_L start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_M start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT - italic_M start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) end_ARG start_ARG italic_R start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ( 1 - italic_M start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_ARG ] start_POSTSUBSCRIPT italic_r italic_e italic_t end_POSTSUBSCRIPT italic_d italic_S start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT .(42)

with

Qn*=[U0i*+ρ*ui*]n^i,subscriptsuperscript𝑄𝑛delimited-[]subscriptsuperscript𝑈0𝑖superscript𝜌subscriptsuperscript𝑢𝑖subscript^𝑛𝑖\displaystyle Q^{*}_{n}=\left[-U^{*}_{0i}+{\rho}^{*}u^{*}_{i}\right]\hat{n}_{i},italic_Q start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT = [ - italic_U start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 italic_i end_POSTSUBSCRIPT + italic_ρ start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT italic_u start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ] over^ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ,(43)
Li*subscriptsuperscript𝐿𝑖\displaystyle L^{*}_{i}italic_L start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT=[Pij*+ρ*(ui*U0i*)uj*]n^j,absentdelimited-[]subscriptsuperscript𝑃𝑖𝑗superscript𝜌subscriptsuperscript𝑢𝑖subscriptsuperscript𝑈0𝑖subscriptsuperscript𝑢𝑗subscript^𝑛𝑗\displaystyle=[P^{*}_{ij}+{\rho}^{*}(u^{*}_{i}-U^{*}_{0i})u^{*}_{j}]\hat{n}_{j},= [ italic_P start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT + italic_ρ start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT ( italic_u start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - italic_U start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 italic_i end_POSTSUBSCRIPT ) italic_u start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ] over^ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ,(44)
U01*=cossubscriptsuperscript𝑈01𝑐𝑜𝑠\displaystyle U^{*}_{01}=cositalic_U start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 01 end_POSTSUBSCRIPT = italic_c italic_o italic_s(AoA),U02*=sin(AoA),U03*=0.formulae-sequenceAoAsubscriptsuperscript𝑈02𝑠𝑖𝑛AoAsubscriptsuperscript𝑈030\displaystyle(\mathrm{AoA}),\;\,U^{*}_{02}=sin(\mathrm{AoA}),\;\,U^{*}_{03}=0~%{}.( roman_AoA ) , italic_U start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 02 end_POSTSUBSCRIPT = italic_s italic_i italic_n ( roman_AoA ) , italic_U start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 03 end_POSTSUBSCRIPT = 0 .(45)

Note that f=0𝑓0f=0italic_f = 0, R^isubscript^𝑅𝑖\hat{R}_{i}over^ start_ARG italic_R end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and n^isubscript^𝑛𝑖\hat{n}_{i}over^ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT remain unchanged whether the formulations arenondimensional or dimensional. Thus, the superscript "*" will not be necessary.

III Implementation of OpenCFD-FWH

OpenCFD-FWH can be divided into 4 main parts: initialization, pressure signals calculation, data output and finalization,as illustrated in Fig.1.

An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (1)

III.1 Initialization

The first step of the code is to initialize all the MPI processors. This involves control file reading,surface geometric data acquiring, assigning surface to the corresponding MPI processor, allocating memory,and reading the location of the observers as well as the FW-H dataset.

The essential parameters for the code are specified in the control.fwh file, such as Mach number, AoA, time step,number of observers, number of sampling frames, and number of OpenMP (Open Multi-Processing) threads.An example of the control.fwh file is given in AppendixA.1.

The coordinate yisubscript𝑦𝑖y_{i}italic_y start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, unit outward normal n^isubscript^𝑛𝑖\hat{n}_{i}over^ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, and area dS𝑑𝑆dSitalic_d italic_S of each subface in the FW-H surface are included inthe FWH_Surface_Geo.dat file. These quantities are specified at the center of the subfacesand split in different Faces, due to OpenCFD-EC is a cell center solver for multiblock structure mesh.A detailed description of the file can be found in AppendixA.2.

An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (2)

With the Faces information acquired, a partition method deployed by OpenCFD-EC for block splitting is applied forload balancing as shown in Fig.2. The method will first rank the Faces by their cellnumbers, and then assign the Faces to the processor with the least number of cells in order. As a result, the upper limitfor the utilization of MPI processors by the code corresponds to the number of the Faces. To achieve a faster MPIacceleration result, one can divide FW-H surface as much and as equally as possible during the mesh generation stage,or segment the output FW-H dataset of the CFD solver. Besides, when using a new big.little architectureCPU of Intel, or parallelizing an old system with a new one, one can adopt a partition method that considers theperformance of the processors to accomplish optimal load balancing.

Following the MPI partition, each processor will allocate memory for FW-H data at all the sampling frames according tothe assigned Faces. Then the root processor reads the observers.dat file, in which the coordinates of each observer occupya single row. Then, they are broadcasted to every other processor.

Subsequently, the FW-H dataset is read by the root processor and distributed to the corresponding processor.An illustrative description of the FW-H dataset can be found in AppendixA.3. Finally,memory is allocated for interpolated observer time across all processors, along with final pressure signal resultat the root processor.

III.2 Pressure signals calculation

The second step of the code is to calculate the pressure signals at one observer, rather than computing at all observersat once for the sake of conserving memory usage. Additionally, OpenMP parallel is deployed on all processors to expeditethe calculation procedure. Further details regarding the MPI and OpenMP mixing parallel implementation will be expoundedin Section III.4.

The "compute R" subroutine in Fig.1 is responsible for calculating the effective acousticdistance based on Eqs.(23) similar-to\sim Eqs.(31).

The "compute Noise" subroutine in Fig.1 is responsible for calculating the pressure signalsat each subface during respective source time, based on Eqs.(41) similar-to\sim Eqs.(45). It isnoteworthy that Qnsubscript𝑄𝑛Q_{n}italic_Q start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT and Lmsubscript𝐿𝑚L_{m}italic_L start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT remain unchanged in different observers, but they are both not stored to save memory.In addition, Qn˙˙subscript𝑄𝑛\dot{Q_{n}}over˙ start_ARG italic_Q start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT end_ARG and L˙msubscript˙𝐿𝑚\dot{L}_{m}over˙ start_ARG italic_L end_ARG start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT are computed using second-order schemes, employing a one-sided scheme for thefirst and last frame, while employing a central scheme for the other frames.

The "compute t" subroutine in Fig.1 is responsible for calculating the observer time based on:

tstart*=Rmax*M0,subscriptsuperscript𝑡𝑠𝑡𝑎𝑟𝑡subscriptsuperscript𝑅𝑚𝑎𝑥subscript𝑀0\displaystyle t^{*}_{start}=R^{*}_{max}M_{0},italic_t start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s italic_t italic_a italic_r italic_t end_POSTSUBSCRIPT = italic_R start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT italic_M start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ,(46)
tend*subscriptsuperscript𝑡𝑒𝑛𝑑\displaystyle t^{*}_{end}italic_t start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e italic_n italic_d end_POSTSUBSCRIPT=τmax+Rmin*M0,absentsubscript𝜏𝑚𝑎𝑥subscriptsuperscript𝑅𝑚𝑖𝑛subscript𝑀0\displaystyle=\tau_{max}+R^{*}_{min}M_{0}~{},= italic_τ start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT + italic_R start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT italic_M start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ,(47)

where Rmax*subscriptsuperscript𝑅𝑚𝑎𝑥R^{*}_{max}italic_R start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_m italic_a italic_x end_POSTSUBSCRIPT and Rmin*subscriptsuperscript𝑅𝑚𝑖𝑛R^{*}_{min}italic_R start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_m italic_i italic_n end_POSTSUBSCRIPT are computed by making used of the MPI_ALLREDUCE function. Consequently,the observer time period, during which all subfaces collectively contribute to the observer pressure signal istend*tstart*subscriptsuperscript𝑡𝑒𝑛𝑑subscriptsuperscript𝑡𝑠𝑡𝑎𝑟𝑡t^{*}_{end}-t^{*}_{start}italic_t start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_e italic_n italic_d end_POSTSUBSCRIPT - italic_t start_POSTSUPERSCRIPT * end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_s italic_t italic_a italic_r italic_t end_POSTSUBSCRIPT, as shown in Fig.3.

An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (3)

The "interp pressure signal" subroutine in Fig.1 is responsible for interpolating thepressure signal of each subface depending on the source time, into pressure signal depending on the observer time, withthe help of cubic spline interpolation. After that, both the observer time and source time pressure signal stored atevery subface will be deallocated to conserve memory as well.

III.3 Data output and Finalization

The third step of the code is to conduct surface integration across all the subfaces to obtain the pressure signal at aobserver and output it in the p_observer-xxx.log (xxx stands for the observer No.) file located within the/FWH_result-mpi folder.

The final step of the code is to verify whether all observers have completed their calculations, if the answer is no,the code will loop back to the second step for the subsequent observers. If the answer is yes, all the processors willcall MPI_Finalize to end the code.

III.4 Parallelization

OpenMP is a widely used API (application programming interface) that supports shared-memory parallelization in multi-coreand multi-processor systems. It is developed to facilitate parallel programming in C, C++, and Fortran, and can be easilydeployed without extensive modifications to the existing serial codes.

OpenCFD-FWH is implemented in a hybrid parallel way that the FW-H data surface is spread to many MPI processors,and OpenMP is deployed to split the loop in the computing stage among each MPI processor. This will result in an enormousreduction of the computation time, as shown in Table1. With the use of 31 nodes, each with 32 CPUcores for OpenMP parallelization, a remarkable acceleration of up to 538.5 times is achieved in comparison to the serial condition.When the number of MPI processors (only MPI parallel) and OpenMP threads (only OpenMP parallel) is almost equal, their accelerationeffect is nearly the same.

MPI processorsOMP threadsinit time/scomputing time/stotal time/scomputing acceleration ratiototal acceleration ratio
1×\times×753.718120.318873.9\\\backslash\\\\backslash\
31×\times×887.2811.31698.522.311.1
132823.9774.31598.123.411.8
3132717.533.7751.2538.525.1

Additionally, Table1 illustrates that the predominant portion of the execution time is spent oninitialization in the hybrid parallel condition. This is attributed to the fact that I/O operations can not be accelerated,as the data reading process requests sequential operations.

Furthermore, the 30P30N validation case costs a maximum of 62.6 GB of RAM (Random Access Memory). Without MPI parallelization,the computational demands for larger FW-H datasets can pose significant challenges for nodes and computers with limited memorycapacity. Hence, the MPI parallelization ensures successful execution on memory-constrained systems, or for even larger datasetsthat can easily consume hundreds of RAM.

IV Validation

Stationary monopole and dipole in a uniform flow with analytic solutions, along with a 30P30N case computed byOpenCFD-EC solver are used to validate OpenCFD-FWH.

IV.1 Stationary monopole in a uniform flow with AoA

The complex velocity potential for a stationary monopole in a uniform flow is given by Najafi et al.Najafi-Yazdi, Brès,andMongeau (2011) as:

ϕ(𝒙,t)italic-ϕ𝒙𝑡\displaystyle\phi(\bm{x},t)italic_ϕ ( bold_italic_x , italic_t )=A4πR*exp[iω(tRc0)].absent𝐴4𝜋subscript𝑅expdelimited-[]i𝜔𝑡𝑅subscript𝑐0\displaystyle=\frac{A}{4\pi R_{*}}\text{exp}\bigg{[}\mathrm{i}\omega\bigg{(}t-%\frac{R}{c_{0}}\bigg{)}\bigg{]}~{}.= divide start_ARG italic_A end_ARG start_ARG 4 italic_π italic_R start_POSTSUBSCRIPT * end_POSTSUBSCRIPT end_ARG exp [ roman_i italic_ω ( italic_t - divide start_ARG italic_R end_ARG start_ARG italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG ) ] .(48)

where A is the amplitude, ω𝜔\omegaitalic_ω is the angular frequency of the monopole, and i𝑖iitalic_i is the imaginary unit. In contrast to Najafi et al.Najafi-Yazdi, Brès,andMongeau (2011), Eqs.(23) and (24) are used here to calculate R𝑅Ritalic_R and R*subscript𝑅R_{*}italic_R start_POSTSUBSCRIPT * end_POSTSUBSCRIPT, respectively,taking into account the AoA effect of the uniform flow.

The velocity, pressure, and density pulsations induced by the monopole are:

𝒖(𝒙,t)=ϕ(𝒙,t),superscript𝒖𝒙𝑡italic-ϕ𝒙𝑡\displaystyle\qquad\quad\bm{u}^{\prime}(\bm{x},t)=\nabla\phi(\bm{x},t),bold_italic_u start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( bold_italic_x , italic_t ) = ∇ italic_ϕ ( bold_italic_x , italic_t ) ,(49)
p(𝒙,t)superscript𝑝𝒙𝑡\displaystyle p^{\prime}(\bm{x},t)italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( bold_italic_x , italic_t )=ρ0[t+U01x1+U02x2]ϕ,absentsubscript𝜌0delimited-[]𝑡subscript𝑈01subscript𝑥1subscript𝑈02subscript𝑥2italic-ϕ\displaystyle=-\rho_{0}\left[\frac{\partial}{\partial t}+U_{01}\frac{\partial}%{\partial x_{1}}+U_{02}\frac{\partial}{\partial x_{2}}\right]\phi,= - italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT [ divide start_ARG ∂ end_ARG start_ARG ∂ italic_t end_ARG + italic_U start_POSTSUBSCRIPT 01 end_POSTSUBSCRIPT divide start_ARG ∂ end_ARG start_ARG ∂ italic_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG + italic_U start_POSTSUBSCRIPT 02 end_POSTSUBSCRIPT divide start_ARG ∂ end_ARG start_ARG ∂ italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG ] italic_ϕ ,(50)
ρ(𝒙,t)=pc02,superscript𝜌𝒙𝑡superscript𝑝superscriptsubscript𝑐02\displaystyle\qquad\qquad\rho^{\prime}(\bm{x},t)=\frac{p^{\prime}}{c_{0}^{2}},italic_ρ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ( bold_italic_x , italic_t ) = divide start_ARG italic_p start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG start_ARG italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ,(51)
U01subscript𝑈01\displaystyle U_{01}italic_U start_POSTSUBSCRIPT 01 end_POSTSUBSCRIPT=U0cos(AoA),U02=sin(AoA).formulae-sequenceabsentsubscript𝑈0𝑐𝑜𝑠AoAsubscript𝑈02𝑠𝑖𝑛AoA\displaystyle=U_{0}cos(\mathrm{AoA}),\;U_{02}=sin(\mathrm{AoA})~{}.= italic_U start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_c italic_o italic_s ( roman_AoA ) , italic_U start_POSTSUBSCRIPT 02 end_POSTSUBSCRIPT = italic_s italic_i italic_n ( roman_AoA ) .(52)

The parameters used for the monopole are given in Table2. To avoid any errors introduced by the CFD solver,the FW-H dataset for the code is generated by Eqs.(48) similar-to\sim (51).

c0m/ssubscript𝑐0𝑚𝑠c_{0}\;\;m/sitalic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_m / italic_sM0subscript𝑀0M_{0}italic_M start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPTρ0kg/m3subscript𝜌0𝑘𝑔superscript𝑚3\rho_{0}\;\;kg/m^{3}italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_k italic_g / italic_m start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPTAoA/AoA/{}^{\circ}italic_A italic_o italic_A / start_FLOATSUPERSCRIPT ∘ end_FLOATSUPERSCRIPTAm2/s𝐴superscript𝑚2𝑠A\;\;m^{2}/sitalic_A italic_m start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT / italic_sf/Hz𝑓𝐻𝑧f/Hzitalic_f / italic_H italic_z
3400.614515

The permeable FW-H data surface is a sphere with a radius of 2 meters. Its center is located on the monopole. The sphere isdivided into 18 segments at the polar angle direction and 36 segments at the azimuth angle direction, resulting in a total of648 subfaces, as shown in Fig.4.

An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (4)

The observer locations are evenly distributed along a circle with a radius of 340 meters in the x-y plane, and its center is alsolocated on the monopole. A Matlab code is written to generate 1000 sampling frames, covering a time period of 2.5 seconds, in just26 seconds on a laptop equipped with an Intel i7-13620H CPU. Subsequently, the OpenCFD-FWH code processes the dataset in less than2.5 seconds with 12 OpenMP threads on only one MPI processor for 20 observers. Since the sphere FW-H surface is generated as asingle Face.

The comparison between the exact monopole solution and the result obtained from the OpenCFD-FWH code of far-field RMS(root mean square) pressure directivity and pressure signal of the right below observer are shown in Fig.5 and Fig.6, respectively. Very good agreements are observed betweenthe exact solution and the code. It is worth noting that results with even smaller errors can be achieved by using finerFW-H surface mesh and higher time sampling frequencies, but for the sake of simplicity, these results are not presented here.

An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (5)
An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (6)

Moreover, Fig.5 demonstrates that the directivity pattern of the monopole is diverted towardsthe inflow due to the convective effect.

IV.2 Stationary dipole in a uniform flow with AoA

The complex velocity potential for a stationary dipole, with the polar axis coinciding with the x2-axis in a uniform flowis given by:

ϕ(𝒙,t)italic-ϕ𝒙𝑡\displaystyle\phi(\bm{x},t)italic_ϕ ( bold_italic_x , italic_t )=x2{A4π𝑅*exp[iω(tRc0)]}.absentsubscript𝑥2𝐴4𝜋subscript𝑅i𝜔𝑡𝑅subscript𝑐0\displaystyle=\frac{\partial}{\partial x_{2}}\left\{\frac{A}{4\pi\textit{R}_{*%}}\left.\exp\left[\mathrm{i}\omega\left(t-\frac{R}{c_{0}}\right)\right]\right%\}\right.~{}.= divide start_ARG ∂ end_ARG start_ARG ∂ italic_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG { divide start_ARG italic_A end_ARG start_ARG 4 italic_π R start_POSTSUBSCRIPT * end_POSTSUBSCRIPT end_ARG roman_exp [ roman_i italic_ω ( italic_t - divide start_ARG italic_R end_ARG start_ARG italic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG ) ] } .(53)

The velocity, pressure, and density pulsations induced by the dipole are acquired by Eqs.(49)similar-to\sim (51) as well. And the parameters used for the dipole are given in Table3.

c0m/ssubscript𝑐0𝑚𝑠c_{0}\;\;m/sitalic_c start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_m / italic_sM0subscript𝑀0M_{0}italic_M start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPTρ0kg/m3subscript𝜌0𝑘𝑔superscript𝑚3\rho_{0}\;\;kg/m^{3}italic_ρ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT italic_k italic_g / italic_m start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPTAoA/AoA/{}^{\circ}italic_A italic_o italic_A / start_FLOATSUPERSCRIPT ∘ end_FLOATSUPERSCRIPTAm2/s𝐴superscript𝑚2𝑠A\;\;m^{2}/sitalic_A italic_m start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT / italic_sf/Hz𝑓𝐻𝑧f/Hzitalic_f / italic_H italic_z
3400.51101.57.5

The FW-H data surface remains consistent with the monopole case, while the observer locations have been relocatedto a radius of 50 meters in the x-y plane. Another Matlab code has been developed to generate 1000 sampling frames,covering a time period of 2 seconds. The time required for generating the FW-H dataset and post-processing it isbasically the same compared with the monopole case.

An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (7)
An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (8)

Fig.7 and Fig.8 present the result of the dipole far-field RMS pressuredirectivity and pressure signal of the right below observer, respectively. Excellent agreements are also achieved betweenthe exact solution and the code. By applying finer FW-H surface mesh and higher time sampling frequencies, results withessentially no error can be achieved. Again, for the sake of simplicity, these results are not presented here.

The mean flow leads to a reorientation of the maximum RMS pressure, resulting in a larger RMS pressure in the inflowdirection as shown in Fig.7.

All the Matlab programs used for the monopole and dipole validation cases are provided in the Tutorials folder of theOpenCFD-FWH project on GitHub. One can change the parameters in these programs to validate our code and get a betterunderstanding of OpenCFD-FWH.

IV.3 30P30N far-field noise prediction

The 30P30N configuration was developed by McDonnell Douglas (now Boeing) in the early 1990s. It has been extensively used in thestudy regarding the aeroacoustic characteristics of high-lift devices, especially for slat noise Murayamaetal. (a); Terracoletal. ; Souzaetal. (b); ChoudhariandLockard ; Terracol, Manoha,andLemoine ; Murayamaetal. (b); Souzaetal. (2019); Himenoetal. .

The JAXA modified version 30P30NMurayamaetal. (a, b) is utilized here to validate the code.The airfoil profile of the 30P30N configuration is shown in Fig.9, with a stowed chord length of cs=0.4572msubscript𝑐𝑠0.4572𝑚c_{s}=0.4572\;mitalic_c start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = 0.4572 italic_m.Both the deflection angles of the slat and flap are 30superscript3030^{\circ}30 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT, with the chord lengths of the slat and flap being 0.15cs0.15subscript𝑐𝑠0.15c_{s}0.15 italic_c start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and0.3cs0.3subscript𝑐𝑠0.3c_{s}0.3 italic_c start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT, respectively.

IDDES based on SA turbulence model is carried out on the OpenCFD-EC solver. The inflow Mach number is 0.170.170.170.17, with an AoA of 5.5superscript5.55.5^{\circ}5.5 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT.The Reynolds number based on the stowed chord length is 1.71×1061.71superscript1061.71\times 10^{6}1.71 × 10 start_POSTSUPERSCRIPT 6 end_POSTSUPERSCRIPT.

An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (9)

Fig.10 depicts a sketch of the computational domain. It extends 50cs50subscript𝑐𝑠50c_{s}50 italic_c start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT in theforward and vertical directions and 75cs75subscript𝑐𝑠75c_{s}75 italic_c start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT in the rear direction. Its length in the spanwise direction equals to1/9cs19subscript𝑐𝑠1/9c_{s}1 / 9 italic_c start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT, following the recommendation in the BANC-III workshopChoudhariandLockard (the 3rd AIAA Workshop on Benchmark Problems for Airframe Noise Computations). A periodic boundary condition is appliedin the spanwise direction. The permeable FW-H data surface is indicated by the blue line in Fig.10,which is one stowed chord length away from the 30P30N airfoil and stretches 5cs5subscript𝑐𝑠5c_{s}5 italic_c start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT in the wake flow direction. No endcap isused to avoid the spurious (numerical) noise created by wake flows crossing the permeable FW-H data surfaceRibeiroetal. (2023). The spanwise length of the FW-H surface is identical to the computational domain. Besides, a spongelayer is deployed at the boundaries of the computational domain, where the viscosity is adjusted to 100 times the value used inthe physical domain to mitigate reflections at the domain boundaries, in accordance with the approach taken by Himeno et al.Himenoetal. .

An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (10)

A multiblock structure mesh with C-type topological is created, yielding a total cell count exceeding 43 million. Eachplane of the 2.5D mesh comprises approximately 0.25 million cells, and the entire mesh is composed of 175 planes withequal spacing in the spanwise direction. Close-up views of the mesh around FW-H surface and slat cove area are shown inFig.11. Additionally, the average value of the dimensionless wall distance y+limit-from𝑦y+italic_y + of the mesh is below unity.

An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (11)
An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (12)

The well-known Roe scheme is employed to decompose the inviscid flux, with the third-order MUSCL scheme for variablereconstruction. The implicit dual-time LU-SGS method is applied for time advancement, with a time step of 2×107s2superscript107𝑠2\times 10^{-7}s2 × 10 start_POSTSUPERSCRIPT - 7 end_POSTSUPERSCRIPT italic_s.Five inner subiterations are used, with local time-stepping approach to accelerate the convergency process. And the FW-H datasampling interval is 1×105s1superscript105𝑠1\times 10^{-5}s1 × 10 start_POSTSUPERSCRIPT - 5 end_POSTSUPERSCRIPT italic_s. An RANS simulation with SA turbulence model is carried out to initialize the flow field.Subsequently, approximately 0.1s0.1𝑠0.1s0.1 italic_s of physical time is calculated by IDDES-SA, with 0.06534s0.06534𝑠0.06534s0.06534 italic_s available for data processingafter removing the initial transient.

A time average CLsubscript𝐶𝐿C_{L}italic_C start_POSTSUBSCRIPT italic_L end_POSTSUBSCRIPT of 2.62142.62142.62142.6214 is obtained, with a difference less than 2.3%percent2.32.3\%2.3 % compared to the average outcomes of the BANC-IIIChoudhariandLockard 2.68212.68212.68212.6821. Fig.12 presents the time average Cpsubscript𝐶𝑝C_{p}italic_C start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT distribution obtained over the last0.0360.0360.0360.036 seconds. While there is a slight underprediction of negative pressure on the suction side, a reasonably good agreement canbe seen, especially in the slat cove region, when compared with the JAXA Kevlar experimentMurayamaetal. (b) under7superscript77^{\circ}7 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT AoA.

An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (13)
An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (14)

The scaling method used by Avallone et al.Avallone, Vander Velden,andRagni (2017) is utilized to take into account the difference betweenthe spanwise acoustic integration size of the numerical simulation and experiment:

PSDcorr=PSD+10log10(bexpbm),𝑃𝑆subscript𝐷𝑐𝑜𝑟𝑟𝑃𝑆𝐷10𝑙𝑜subscript𝑔10subscript𝑏𝑒𝑥𝑝subscript𝑏𝑚\displaystyle PSD_{corr}=PSD+10log_{10}\left(\frac{b_{exp}}{b_{m}}\right),italic_P italic_S italic_D start_POSTSUBSCRIPT italic_c italic_o italic_r italic_r end_POSTSUBSCRIPT = italic_P italic_S italic_D + 10 italic_l italic_o italic_g start_POSTSUBSCRIPT 10 end_POSTSUBSCRIPT ( divide start_ARG italic_b start_POSTSUBSCRIPT italic_e italic_x italic_p end_POSTSUBSCRIPT end_ARG start_ARG italic_b start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT end_ARG ) ,(54)

where bexpsubscript𝑏𝑒𝑥𝑝b_{exp}italic_b start_POSTSUBSCRIPT italic_e italic_x italic_p end_POSTSUBSCRIPT and bmsubscript𝑏𝑚b_{m}italic_b start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT are equal to 650mm650𝑚𝑚650\;mm650 italic_m italic_m and 50.8mm50.8𝑚𝑚50.8\;mm50.8 italic_m italic_m, respectively.

The pressure signal obtained by the OpenCFD-FWH code is segmented into blocks with a 50%percent5050\%50 % overlap, anda Hanning window is employed. A total of 6535 sampling frames are input to the code, and the running time with differentparallel strategies can be found in Table1. As shown in Fig.13, the PSD(Power Spectral Density) result of the code is in good consistency with the JAXA hard-wall experiment at frequenciesbelow 10kHz10𝑘𝐻𝑧10\;kHz10 italic_k italic_H italic_z. Both the results exhibit a slightly higher noise level in the low-frequency range compared to the JAXAkevlar-wall experiment. Furthermore, the humping noise originating from the high-frequency vortex shedding from the slatTE of the reduced-scale wind tunnel model is absent in the FW-H result. This is attributed to the relatively coarse meshat the slat TE, which is unable to capture the high-frequency vortex shedding. Overall, the result validates that thefar-field noise can be accurately evaluated by the OpenCFD-FWH code.

An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (15)

V CONCLUSIONS

This paper presents the methodology, parallel implementation and validation of a post-processing code: OpenCFD-FWH,designed specifically for predicting far-field noise in wind tunnel cases, encompassing nearly all scenariosencountered in aircraft CFD cases. It is developed to use the flow field results of our OpenCFD-EC solver as input.However, it can be readily deployed for use with other solvers by modifying the data reading part of the code orconverting the FW-H dataset to the required format. Moreover, the deployment of the code only required an MPI libraryand a Fortran 90 compilation environment, without the need to install OpenCFD-EC or other affiliated libraries.

The code is based on the integration formulation of a nondimensional FW-H equation for permeable surface with convectiveand AoA effects corrected by Garrick Triangle, and 2D plane coordinate transformation, respectively. This formulation willincrease the computational efficiency compared to the original one. Additionally, the nondimensionalization of the FW-Hequation is the same as the nondimensionalization of the Navier-Stokes equations in the OpenCFD-EC solver.

MPI-OpenMP mixing parallelization is implemented to accelerate the post-processing process and reduce memory usage on a singlenode/computer when deploying the code on distributed computing systems. When dealing with very large datasets, as is common inaeroacoustic noise research related to landing gear or high-lift devices with LES, it can avoid an out-of-memory situation.On the CAS SunRising platform, by utilizing 31 nodes, each with 32 OpenMP threads, the computing time of the code is 538.5times faster compared to the serial implementation. This demonstrated the high operational efficiency of OpenCFD-FWH.

Three validation cases are considered in this paper. The monopole and dipole cases are compared with exact analytical solutions,and excellent agreements are achieved. The 30P30N configuration is used in the third case, with the flow field variable producedby IDDES-SA simulation via the OpenCFD-EC solver as input. For frequencies below 10kHz10𝑘𝐻𝑧10\;kHz10 italic_k italic_H italic_z, the far-field PSD result demonstratesrelatively good agreement with JAXA experiments, particularly with the JAXA hard-wall experiment. However, the result of thecode does not present the high-frequency hump observed in the experiments. This is due to the inability of the coarse mesh tocapture the high-frequency vortex shedding at the slat TE. Overall, the code is deemed validated.

The code is openly accessible on GitHub, along with the Matlab codes for the monopole and dipole validation cases tofacilitate its utilization by readers.

Acknowledgements.

This work was supported by the National Natural Science Foundation of China (Grant No. 12272024),National Key Research and Development Program of China (Grant Nos. 2020YFA0711800, 2019YFA0405302, 2019YFA0405300)and NSFC Projects (Grant Nos. 12072349, 12232018, 12202457), National Numerical Windtunnel Project, Science Challenge Project(Grant No. TZ2016001), and Strategic Priority Research Program of Chinese Academy of Sciences (Grant Nos. XDCO1000000 and XDB0500301).The authors thank CNIC (Computer Network Information Center), CAS (Chinese Academy of Sciences) for providing computer time.

AUTHOR DECLARATIONS

Conflict of Interest

The authors have no conflicts to disclose.

Author Contributions

Keli Zhang: Conceptualization (lead); Data curation (lead); Investigation (lead); Methodology (lead);Coding (lead); Writing - original draft (lead).Changping Yu: Funding acquisition (equal); Supervision (lead); Writing - original draft (equal); Writing - review & editing (equal).Peiqing Liu: Funding acquisition (equal); Supervision (equal); Writing - review & editing (equal).Xinliang Li: Funding acquisition (equal); Supervision (supporting); Coding (supporting); Writing - review & editing (equal).

Data Availability Statement

The data that support the findings of this study are available from the corresponding author upon reasonable request.

Appendix A File structures for OpenCFD-FWH

A.1 An example of the control.fwh file

OpenCFD-FWH utilized namelist method to read in control.fwh file. An example of the file is presented in Fig.A1, with the values therein representing the default settings in OpenCFD-FWH. Kstep_start and Kstep_end determine the start and final steps for FW-H post-processing, respectively.With the step interval: delta_step, OpenCFD-FWH can calculate the number of sampling frames. FWH_data _Format decided whether the FW-H dataset is in binary or ASCII format(0 for binary and 1 for ASCII).

An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (16)

A.2 Structure of the FWH_Surface_Geo.dat file

FWH_Surface_Geo.dat file is in ASCII format in convenient for data checking. It followsa structure similar to the Generic boundary description .inp file. It starts with a first line of text: variables=x,y,z,n1,n2,n3,dS,as illustrated in Fig.A2. The second line contains a single number indicating the total number ofFaces. Subsequently, is the nx, ny, nz for one Face, along with the x, y, z, n1, n2, n3, dS values for its subfaces, until the last Face.Note that each Face is described in a block way, consequently one of the nx, ny, nz will be 1.

An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (17)

A.3 Structure of the FW-H dataset

The FW-H dataset used for OpenCFD-FWH comprised multiple FWH-xxxxxxxx.dat files, where xxxxxxxx denotes the iteration steps.The file can be in either binary or ASCII format, with binary format being recommended for its significantly smaller data size.A schematic of the file structure is provided in Fig.A3.

An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (18)

REFERENCES

References

  • (1)E.Molina, B.Y.Zhou, J.J.Alonso, M.Righi, andR.G.Silva,“Flow and noise predictions around tandem cylinders using DDES approach with SU2,”inAIAA Scitech 2019 Forum(American Institute of Aeronautics and Astronautics).
  • (2)X.Ma, Y.Shi, andW.Song,“Aerodynamic and aeroacoustic analysis of SCCH models of four high-lift configurations near stall angle of attack,”inAIAA AVIATION 2020 FORUM(American Institute of Aeronautics and Astronautics).
  • (3)Y.-S.Hu, Z.-H.Wan, C.-C.Ye, D.-J.Sun, andX.-Y.Lu,“Noise reduction mechanisms for insert-type serrations of the NACA-0012 airfoil,”941,A57.
  • (4)G.Chen, B.Zang, andM.Azarpeyvand,“Numerical investigation on aerodynamic noise of flow past a cylinder with different spanwise lengths,”35,035128.
  • Souzaetal. (a)D.S.Souza, D.Rodríguez, F.H.T.Himeno, andM.A.F.Medeiros,“Dynamics of the large-scale structures and associated noise emission in airfoil slats,”875,1004–1034 (a).
  • (6)C.Teruna, F.Avallone, D.Ragni, A.Rubio-Carpio, andD.Casalino,“Numerical analysis of a 3-d printed porous trailing edge for broadband noise reduction,”926,A17.
  • (7)J.M.TurnerandJ.W.Kim,“Quadrupole noise generated from a low-speed aerofoil in near- and full-stall conditions,”936,A34.
  • (8)A.Epikhin, I.Evdokimov, M.Kraposhin, M.Kalugin, andS.Strijhak,“Development of a dynamic library for computational aeroacoustics applications using the OpenFOAM open source package,”66,150–157.
  • (9)B.Y.Zhou, T.Albring, andN.R.Gauger,“Aeroacoustic prediction and optimization capabilities in SU2,”.
  • (10)W.ShenandS.A.E.Miller,“Validation of a high-order large eddy simulation solver for acoustic prediction of supersonic jet flow,”28,1950023.
  • Li, Fu,andMa (2010)X.Li, D.Fu, andY.Ma,“Direct numerical simulation of hypersonic boundary layer transition over a blunt cone with a small angle of attack,”Physics of Fluids22 (2010).
  • GarrickandWatkins (1953)I.GarrickandC.E.Watkins,“A theoretical study of the effect of forward speed on the free-space sound-pressure field around propellers,”Tech. Rep.(1953).
  • FfowcsWilliamsandHawkings (1969)J.E.FfowcsWilliamsandD.L.Hawkings,“Sound generation by turbulence and surfaces in arbitrary motion,”Philosophical Transactions of the Royal Society of London. Series A, Mathematical and Physical Sciences264,321–342 (1969).
  • Farassat (2007)F.Farassat,“Derivation of formulations 1 and 1a of farassat,”Tech. Rep.(2007).
  • BrentnerandFarassat (1998)K.S.BrentnerandF.Farassat,“Analytical comparison of the acoustic analogy and kirchhoff formulation for moving surfaces,”AIAA journal36,1379–1386 (1998).
  • Brès, Pérot,andFreed (2010)G.Brès, F.Pérot, andD.Freed,“A ffowcs williams-hawkings solver for lattice-boltzmann based computational aeroacoustics,”in16th AIAA/CEAS aeroacoustics conference(2010)p.3711.
  • Najafi-Yazdi, Brès,andMongeau (2011)A.Najafi-Yazdi, G.A.Brès, andL.Mongeau,“An acoustic analogy formulation for moving sources in uniformly moving media,”Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences467,144–165 (2011).
  • Murayamaetal. (a)M.Murayama, K.Nakakita, K.Yamamoto, H.Ura, Y.Ito, andM.M.Choudhari,“Experimental study on slat noise from 30p30n three-element high-lift airfoil at JAXA hard-wall lowspeed wind tunnel,”in20th AIAA/CEAS Aeroacoustics Conference(American Institute of Aeronautics and Astronautics).
  • (19)M.Terracol, E.Manoha, M.Murayama, andK.Yamamoto,“Aeroacoustic calculations of the 30p30n high-lift airfoil using hybrid RANS/LES methods: Modeling and grid resolution effects,”in21st AIAA/CEAS Aeroacoustics Conference(American Institute of Aeronautics and Astronautics).
  • Souzaetal. (b)D.Souza, D.Rodríguez, L.Simões, andM.Medeiros,“Effect of an excrescence in the slat cove: Flow-field, acoustic radiation and coherent structures,”44,108–115 (b).
  • (21)M.M.ChoudhariandD.P.Lockard,“Assessment of slat noise predictions for 30p30n high-lift configuration from BANC-III workshop,”in21st AIAA/CEAS Aeroacoustics Conference(American Institute of Aeronautics and Astronautics).
  • (22)M.Terracol, E.Manoha, andB.Lemoine,“Investigation of the unsteady flow and noise generation in a slat cove,”54,469–489.
  • Murayamaetal. (b)M.Murayama, Y.Yokokawa, H.Ura, K.Nakakita, K.Yamamoto, Y.Ito, T.Takaishi, R.Sakai, K.Shimoda, T.Kato, andT.Homma,“Experimental study of slat noise from 30p30n three-element high-lift airfoil in JAXA kevlar-wall low-speed wind tunnel,”in2018 AIAA/CEAS Aeroacoustics Conference(American Institute of Aeronautics and Astronautics).
  • Souzaetal. (2019)D.S.Souza, D.Rodríguez, F.H.Himeno, andM.A.Medeiros,“Dynamics of the large-scale structures and associated noise emission in airfoil slats,”Journal of Fluid Mechanics875,1004–1034 (2019).
  • (25)F.H.Himeno, D.S.Souza, F.R.Amaral, D.Rodríguez, andM.A.Medeiros,“SPOD analysis of noise-generating rossiter modes in a slat with and without a bulb seal,”915,A67.
  • Ribeiroetal. (2023)A.F.Ribeiro, M.R.Khorrami, R.Ferris, B.König, andP.A.Ravetta,“Lessons learned on the use of data surfaces for ffowcs williams-hawkings calculations: Airframe noise applications,”Aerospace Science and Technology135,108202 (2023).
  • Avallone, Vander Velden,andRagni (2017)F.Avallone, W.Vander Velden, andD.Ragni,“Benefits of curved serrations on broadband trailing-edge noise reduction,”Journal of Sound and Vibration400,167–177 (2017).
An MPI-OpenMP mixing parallel open source FW-H code for aeroacoustics calculation (2024)

References

Top Articles
Latest Posts
Article information

Author: Errol Quitzon

Last Updated:

Views: 5541

Rating: 4.9 / 5 (59 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Errol Quitzon

Birthday: 1993-04-02

Address: 70604 Haley Lane, Port Weldonside, TN 99233-0942

Phone: +9665282866296

Job: Product Retail Agent

Hobby: Computer programming, Horseback riding, Hooping, Dance, Ice skating, Backpacking, Rafting

Introduction: My name is Errol Quitzon, I am a fair, cute, fancy, clean, attractive, sparkling, kind person who loves writing and wants to share my knowledge and understanding with you.