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 (folk.ntnu.no/johannk/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)
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.

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/site7/en/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.

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.

HITU Simulator (github.com/jsoneson/HITU_Simulator)
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.

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.

mSOUND (m-sound.github.io/mSOUND/)
Interface: MATLAB
License: GNU GPL
Description: Mixed domain solver for the Westervelt equation.

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

MultipleScattering (github.com/JuliaWaveScattering/MultipleScattering.jl)
Interface: Julia
License: MIT "Expat" License
Description: A Julia library for simulating, processing, and plotting multiple scattering of waves.

NiHu (last.hit.bme.hu/nihu)
Interface: MATLAB
License: Open Source
Description: C++ and Matlab toolbox used for solving boundary value problems by means of the boundary element method (BEM).

OpenBEM (openbem.dk)
Interface: MATLAB
License: Open Source
Description: Solution of Helmholtz equation for arbitrary geometries in 2-D and 3-D.

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.

SPECFEM3D (/geodynamics.org/cig/software/specfem3d/)
Interface: MATLAB
License: GNU General Public License (GPL)
Description: Solution of acoustic, elastic, coupled acoustic/elastic, poroelastic or seismic wave propagation using the continuous Galerkin spectral-element method.

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.

USTB (ustb.no)
Interface: MATLAB
License: Open Source
Description: An open source MATLAB toolbox for processing ultrasonic signals.