Abstract

An open source implementation of the Fourier pseudospectral time-domain (PSTD) method for computing the propagation of sound is presented, which is geared towards applications in the built environment. Being a wave-based method, PSTD captures phenomena like diffraction, but maintains efficiency in processing time and memory usage as it allows to spatially sample close to the Nyquist criterion, thus keeping both the required spatial and temporal resolution coarse. In the implementation it has been opted to model the physical geometry as a composition of rectangular two-dimensional subdomains, hence initially restricting the implementation to orthogonal and two-dimensional situations. The strategy of using subdomains divides the problem domain into local subsets, which enables the simulation software to be built according to Object-Oriented Programming best practices and allows room for further computational parallelization. The software is built using the open source components, Blender, Numpy and Python, and has been published under an open source license itself as well. For accelerating the software, an option has been included to accelerate the calculations by a partial implementation of the code on the Graphical Processing Unit (GPU), which increases the throughput by up to fifteen times. The details of the implementation are reported, as well as the accuracy of the code. Program summaryProgram title: openPSTD v1.1 (v1.0 is the version without the GPU acceleration)Catalogue identifier: AFAA_v1_0Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AFAA_v1_0.htmlProgram obtainable from: CPC Program Library, Queen’s University, Belfast, N. IrelandLicensing provisions: GNU General Public License, version 3No. of lines in distributed program, including test data, etc.: 45339No. of bytes in distributed program, including test data, etc.: 4139815Distribution format: tar.gzProgramming language: Python (as comes with Blender 2.72).Computer: Variable.Operating system: Windows, Linux, Mac OS X.RAM: From 250 MB for a typical geometry up to 1 GB for large geometries (with about 4M grid points)Classification: 4.3, 12.External routines: Blender 2.72, NumPy, SciPy, PyFFT, PyOpenCL, PyCUDANature of problem: Sound propagationSolution method: Fourier pseudospectral time-domain methodRestrictions: Structured grid, two dimensions, real-valued boundary conditions onlyUnusual features: Implementation of code using Blender/Python including GPU acceleration; subdomain modelling within Fourier pseudospectral methodRunning time: Depending on the dimension of the problem, calculation times take minutes up to hours

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.