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 |
Plane Wave Absorption Example
On this page… |
---|
Overview
This example describes the characteristics of the Kelvin-Voigt absorption model used in the k-Wave simulation functions pstdElastic2D
, pstdElastic3D
. It builds on the Explosive Source In A Layered Medium and Modelling Power Law Absorption examples.
Kelvin-Voigt absorption model
The functions in k-Wave for simulating wave propagation in solid media (pstdElastic2D
, pstdElastic3D
) are based on the classical Kelvin-Voigt model of viscoelasticity. For low frequencies and small absorption coefficients, this gives acoustic absorption that is proportional to frequency squared. The compressional and shear absorption coefficients are defined based on this low frequency limit, and are specified in units of dB/(MHz^2 cm).
% define the absorption properties medium.alpha_coeff_compression = 0.1; % [dB/(MHz^2 cm)] medium.alpha_coeff_shear = 0.5; % [dB/(MHz^2 cm)]
These absorption coefficients are related to the compressional and shear viscosities of the medium by:
alpha_coeff_compression_np = (chi + 2*eta) / (2 * rho0 * cp^3); alpha_coeff_shear_np = (eta) / (2 * rho0 * cs^3);
where chi
and eta
are the compressional and shear viscosity coefficients, respectively, cp
and cs
are the compressional and shear sound speeds, respectively, rho0
is the mass density, and the absorption coefficients are given in units of Nepers/((rad/s)^2 m) (see db2neper
and neper2db
). Within the simulation functions, the absorption coefficients are used to calculate the viscosities, and it is these variables that are used in the model. The absorption coefficients can be defined either as a single value, or as a matrix the same size as the computational grid.
Absorption of plane waves
In this example, the absorption of compressional and shear waves is demonstrated by generating plane waves using a velocity source. A compressional plane wave can be generated by assigning a velocity source parallel with the direction of wave propagation, while a shear plane wave can be generated by assigning a velocity source in the perpendicular direction. In both case, the PML must be switch off in the direction perpendicular to the direction of the wave by setting the PML absorption to zero (see Controlling The Absorbing Boundary Layer).
The absorption encapsulated by the model is extracted using the velocity traces recorded at two sensor points separated by some distance (see Modelling Power Law Absorption). The time traces and absorption behaviour are shown in the figure below. The modelled absorption is shown with the open circles, while the corresponding analytical frequency power law is shown with the solid line. There is a very close agreement up to the Nyquist limit of two points per wavelength, illustrating that the desired absorption behaviour is captured by the model.
Explosive Source In A Layered Medium | Shear Waves And Critical Angle Reflection |
© 2009-2014 Bradley Treeby and Ben Cox.