Alternative Acoustics Software

The k-Wave toolbox is a powerful tool for general acoustic modelling. However, this doesn't mean it's the best tool for every purpose! There is a diverse range of other acoustics-related software available, both commercially and open-source. This list is our attempt at keeping a catalogue of other acoustics software we've either used, heard about, or found referenced on the web. If you think we've made any errors or omissions, get in touch. In most cases, the descriptions of the software come from online documentation - any questions should be directed to their respective developers.

Free Acoustics and Ultrasound Software

Abersim (ntnu.no/isb/abersim)
Interface: MATLAB with optional C mex files
License: GNU General Public License (GPL)
Description: Linear and nonlinear ultrasound simulation using the angular spectrum method.

AC2D (individual.utoronto.ca/kzhu/acoustic/)
Interface: C++ with visualisation in MATLAB
License: Berkeley Software Distribution (BSD)
Description: Finite-difference time domain (FDTD) solution of coupled first-order acoustic equations in 2D using a 2-2 scheme.

BEM++ (bempp.org)
Interface: C++ and Python
License: Berkeley Software Distribution (BSD)
Description: Open source C++ boundary element library including the galerkin discretisation of all standard boundary integral operators for Laplace, Helmholtz and modified Helmholtz problems in three dimensions.

BEM Acoustics (bemacoustics.com)
Interface: MATLAB
License: GNU General Public License (GPL)
Description: Time-domain direct boundary element method (TD-BEM) solver for calculating sound radiation and scattering problems in 3D.

CABRILLO (mpl.ucsd.edu/people/pgerstoft/cabrillo/)
Interface: Fortran / MATLAB
License:
Description: Pseudospectral finite difference code for modelling waves in acoustic elastic and poroelastic media.

Clawpack (clawpack.org)
Interface: Python / Fortran
License: Berkeley Software Distribution (BSD)
Description: Solution of linear and nonlinear hyperbolic systems of conservation laws using the finite volume method.

CREANUIS (creatis.insa-lyon.fr/site/fr/CREANUIS)
Interface: C/C++
License: CeCILL-B
Description: Nonlinear ultrasound simulation using the angular spectrum method.

The Dream MATLAB Toolbox (signal.uu.se/Toolbox/dream/)
Interface: MATLAB
License: GNU General Public License (GPL)
Description: Simulation of the acoustic fields radiated by single and multi element ultrasound transducers based on the linear spatial impulse response.

FastWave (code.google.com/p/fastwave/)
Interface: C++/CUDA
License: GNU General Public License (GPL)
Description: Seismic wave modelling in complex 2D media using a staggered-grid finite difference scheme implemented for graphics processing units (GPUs).

Field II (field-ii.dk)
Interface: MATLAB
License: Freeware (closed-source)
Description: Simulation of transducer beam patterns and B-mode ultrasound images based on the linear spatial impulse response.

FOCUS (egr.msu.edu/focus-ultrasound)
Interface: MATLAB
License: Freeware (closed-source)
Description: Simulation of the acoustic fields radiated by ultrasound transducers using the fast nearfield method (FNM) and the angular spectrum method.

HIFU Simulator (mathworks.com/matlabcentral/fileexchange)
Interface: MATLAB
License: Berkeley Software Distribution (BSD)
Description: Frequency domain solution of the KZK equation in a 2D axisymmetric coordinate system coupled with an implicit finite-difference solution of Pennes' bioheat equation.

IWAVE (trip.caam.rice.edu/software/iwave/doc/html/)
Interface: C
License: Berkeley Software Distribution (BSD)
Description: Finite-difference time domain (FDTD) solver for variable density acoustic wave propagation in 1, 2 or 3 spatial dimensions, and isotropic linear elasticity in 2 or 3 spatial dimensions.

KZK Bergen Code (uib.no/people/nmajb/)
Interface: Fortran
License: Open-source
Description: Frequency domain solution of the KZK equation in 1D and 2D (Cartesian or axisymmetric).

KZK Texas Code (people.bu.edu/robinc/kzk/)
Interface: Fortran / C++
License: Open-source
Description: Time-domain computer code to model axisymmetric sound beams in fluids based on an augmented KZK equation.

MU-DIFF (mu-diff.math.cnrs.fr/mu-diff/)
Interface: MATLAB
License: GNU General Public License (GPL)
Description: MATLAB toolbox for solving multiple wave scattering by disks.

Pogo (pogo-fea.com)
Interface: CUDA / C++
License: GNU General Public License (GPL)
Description: GPU-based explicit time-domain finite element solver for the elastic wave equation in 2D and 3D.

Seismic CPML (geodynamics.org/cig/software/)
Interface: Fortran 90
License: CeCILL
Description: Solution of the two-dimensional or three-dimensional isotropic or anisotropic elastic, viscoelastic or poroelastic wave equation using a finite-difference method.

Simsonic (simsonic.fr)
Interface: MATLAB
License: GNU General Public License (GPL)
Description: Finite-difference time domain (FDTD) solution of the elastodynamic equations in 2D and 3D.

Ultrasim (mn.uio.no)
Interface: MATLAB
License: GNU General Public License (GPL)
Description: Interactive toolbox for simulating ultrasound fields based on a discrete solution to the Rayleigh-Sommerfeld integral.

V-EFIT (code.google.com/p/v-efit/)
Interface: MATLAB
License: Educational Community License (ECL)
Description: Acoustic wave solver of elastodynamic equations for heterogeneous isotropic media using a finite integration technique.

Wave Cloud (wavecloud.jonsh.net)
Interface: C/CUDA, with MATLAB front-end.
License: GNU General Public License (GPL)
Description: Finite difference time domain (FDTD) solution of the wave equation for room acoustics, including modelling binaural listeners.