Data, code and geometry for "Spectral theory of the aeroacoustic diffraction filter: radiating-wavenumber projection and an exact surface distribution of radiated sound power"
Description
This dataset supports the manuscript "Spectral theory of the aeroacoustic diffraction filter: radiating-wavenumber projection and an exact surface distribution of radiated sound power" by S. Sharma and M. Herr (German Aerospace Center, DLR, Institute of Aerodynamics and Flow Technology; submitted to the Journal of Sound and Vibration). The paper concerns how a turbulent flow generates sound on a solid surface: where on the surface the sound originates, and how much power each part radiates. It builds on the acoustic surface pressure of Delfs and Ruck (J. Sound Vib. 586 (2024) 118490), identifies their diffraction filter as the acoustic double-layer boundary operator, derives an exact surface density of radiated sound power, and gives a criterion for when the filtered pressure reproduces the far field. The results are verified against exact sphere solutions and demonstrated on a lattice-Boltzmann simulation of the SD7003 trailing-edge case. The deposit has three parts. Geometry: the SD7003 aerofoil used in the simulation (chord 235 mm, span 400 mm, 8 deg angle of attack) as a closed STL and a 2-D section file, with the script that regenerates them offline from the public UIUC/Selig SD7003 coordinates. Data: the processed arrays behind the figures — per-face surface maps of the wall pressure, the filtered acoustic surface pressure, and the surface power density sigma (band-integrated at 500, 1000 and 2000 Hz); the surface-resolution convergence of the power identity (integral of sigma over the surface equals the radiated power) and of the completeness defect; the far-field directivity on a 1 m ring radiated from the full and from the filtered pressure; and FW-H far-field spectra and directivity (tripped, untripped, and ring). Spectra are in dB/Hz re 20 uPa. Code: Python post-processing and figure scripts (NumPy, SciPy, Matplotlib) that read the data files and reproduce the figures. The raw lattice-Boltzmann wall-pressure time series is not included because of its size; the processed arrays reproduce every figure that uses simulation data. The direct-field ring time history needed for the FW-H-versus-direct cross-check is available from the authors on request. Data and geometry are licensed under CC BY 4.0; code under the MIT licence. The SD7003 section originates from the public UIUC/Selig aerofoil database and should be credited to that source when reused. Please cite the manuscript and this deposit if you use the data.
Files
Steps to reproduce
Requirements: Python 3 with NumPy, SciPy and Matplotlib. No other dependencies. Layout: keep the geometry/, data/ and code/ folders as provided. The figure scripts read the arrays in data/; set the DATADIR path near the top of each script to point at data/. File integrity can be checked against the sha256 sums in MANIFEST.txt. Geometry: run geometry/make_sd7003_stl.py to regenerate sd7003_c235_b400_aoa8.stl and the 2-D section sd7003_section_c235_aoa8.dat offline. The SD7003-085-88 section (UIUC/Selig database) is embedded in the script; chord 235 mm, span 400 mm, 8 deg angle of attack. Figures from the processed data (scripts in code/, reading data/): Surface maps of the raw wall pressure, the filtered acoustic surface pressure and the surface power density sigma, in three third-octave bands: run make_prolb_figures.py, which reads sigma_maps.npz. Power identity and completeness defect versus surface resolution: make_prolb_figures.py reads identity_conv.npz. Far-field directivity reconstructed from the acoustic surface pressure alone, compared with the full wall pressure: run make_farfield_pS.py, which reads dir_farfield.npz. Ring directivity, FW-H against the directly resolved (DNC) field: run make_ring_polar.py (or make_ring_crosscheck.py), which read MicRing.prf and fwh_ring_spectra.csv / fwh_ring_directivity.csv. Far-field spectra and directivity, tripped versus untripped: from fwh_trip*.csv and fwh_notrip*.csv. Data conventions: spectra CSVs carry freq_Hz and one column per observer (obs0, obs1, ...) in dB/Hz re 20 uPa; directivity CSVs carry theta_deg, the observer coordinates and OASPL_dB. The .npz files store per-face centroids, normals, areas and the band-integrated fields; load with numpy.load. Not included: the raw lattice-Boltzmann wall-pressure snapshots (order 1e4 surface time steps), on account of size. sigma_maps.py and identity_conv.py are provided for provenance and regenerate the .npz arrays from those snapshots; the processed arrays in data/ reproduce every figure directly without them. The analytical results (sphere eigenvalues, Mie-series checks) are self-contained in the paper and need no simulation data.