k-Wave
A MATLAB toolbox for the time-domain
simulation of acoustic wave fields
- Getting Started
- Examples
- Initial Value Problems
- Example: Homogenous Propagation Medium
- Example: Using A Binary Sensor Mask
- Example: Defining A Sensor Mask By Opposing Corners
- Example: Loading External Image Maps
- Example: Heterogeneous Propagation Medium
- Example: Saving Movie Files
- Example: Recording The Particle Velocity
- Example: Defining A Gaussian Sensor Frequency Response
- Example: Comparison Of Modelling Functions
- Example: Setting An Initial Pressure Gradient
- Example: Simulations In One Dimension
- Example: Simulations In Three Dimensions
- Example: Photoacoustic Waveforms in 1D, 2D and 3D
- Time Varying Source Problems
- Example: Monopole Point Source In A Homogeneous Propagation Medium
- Example: Dipole Point Source In A Homogeneous Propagation Medium
- Example: Simulating Transducer Field Patterns
- Example: Steering A Linear Array
- Example: Snell's Law And Critical Angle Reflection
- Example: The Doppler Effect
- Example: Diffraction Through A Slit
- Example: Simulations In Three-Dimensions
- Sensor Directivity
- Example: Focussed Detector in 2D
- Example: Focussed Detector in 3D
- Example: Modelling Sensor Directivity in 2D
- Example: Modelling Sensor Directivity in 3D
- Example: Sensor Element Directivity in 2D
- Example: Focussed 2D Array with Directional Elements
- Photoacoustic Image Reconstruction
- Example: 2D FFT Reconstruction For A Line Sensor
- Example: 3D FFT Reconstruction For A Planar Sensor
- Example: 2D Time Reversal For A Line Sensor
- Example: 2D Time Reversal For A Circular Sensor
- Example: 3D Time Reversal For A Planar Sensor
- Example: 3D Time Reversal For A Spherical Sensor
- Example: Image Reconstruction With Directional Sensors
- Example: Image Reconstruction With Bandlimited Sensors
- Example: Iterative Image Improvement Using Time Reversal
- Example: Attenuation Compensation Using Time Reversal
- Example: Attenuation Compensation Using Time Variant Filtering
- Example: Automatic Sound Speed Selection
- Diagnostic Ultrasound Simulation
- Example: Defining An Ultrasound Transducer
- Example: Simulating Ultrasound Beam Patterns
- Example: Using An Ultrasound Transducer As A Sensor
- Example: Simulating B-mode Ultrasound Images
- Example: Simulating B-mode Images Using A Phased Array
- Numerical Analysis
- Example: Controlling The Absorbing Boundary Layer
- Example: Source Smoothing
- Example: Filtering A Delta Function Input Signal
- Example: Modelling Power Law Absorption
- Example: Modelling Nonlinear Wave Propagation
- Example: Optimising k-Wave Performance
- Using The C++ Code
- Elastic Wave Propagation
- Example: Explosive Source In A Layered Medium
- Example: Plane Wave Absorption
- Example: Shear Waves And Critical Angle Reflection
- Example: Simulations In Three Dimensions
- Functions - By Category
- Functions - Alphabetical List
- Release Notes
- License
k-Wave Toolbox |
Modelling Nonlinear Wave Propagation Example
On this page… |
---|
Overview
This example describes the characteristics of the nonlinearity encapsulated by the first-order k-Wave simulation functions.
Cumulative nonlinearity
The coupled governing equations used in the k-Wave simulation functions (kspaceFirstOrder1D
, kspaceFirstOrder2D
, and kspaceFirstOrder3D
) are derived directly from the equations of fluid mechanics. The nonlinear terms are then re-written in terms of the acoustic Lagrangian density (which characterises the difference between the kinetic and potential energy density of the acoustic wave). If only cumulative nonlinear effects are important (these are nonlinear effects that "build-up" over space and time), the Lagrangian density can then be set to zero. This is sufficient for modelling nonlinear effects in many biomedical ultrasonics applications (in the absence of microbubbles). The strength of the nonlinear effects observed is dependent on the magnitude of the pressure field (the higher the pressure, the more nonlinear effects will be observed), the material parameter B/A (the parameter of nonlinearity), and the absorption parameters (the generation of higher frequency harmonics is delicately balanced with their absorption).
Within k-Wave, the parameter of nonlinearity is specified by medium.BonA
. If this parameter is given, nonlinear governing equations are solved at each time step. If this is not given, linear governing equations are used (so the output results will always scale linearly with the input pressure). To illustrate the characteristics of the nonlinearity encapsulated by k-Wave, the time series recorded 15 wavelengths from the source for a shock parameter of 1 is compared with the series solution given by Mendousse (mendousse
). There is a close agreement between the theoretical and numerical results which demonstrates that the desired nonlinear and absorption characteristics have been correctly modelled.
Numerical errors
The accuracy of the k-Wave model is dependent on several parameters. First, the number of grid points used per wavelength will control whether the computational grid can support the propagation of the generated harmonics. In turn, the rate at which these harmonics are produced will depend on the shock parameter (for example, the source strength, the receiver distance, and the nonlinearity parameter), while the rate at which they are absorbed will depend on the power law absorption parameters. Finally, the CFL number will control the amount of unwanted numerical dispersion introduced by the finite-difference time step, as well as the accuracy with which the nonlinearity and absorption terms in the governing equations are computed. For strongly nonlinear fields, the number of points per wavelength at the fundamental frequency may need to be high to allow the generated harmonics to be modelled (giving at least two points per wavelength at the highest generated harmonic).
Modelling Power Law Absorption Example | Optimising k-Wave Performance |
© 2009-2014 Bradley Treeby and Ben Cox.