A package to calculate ensemble averaged waves in heterogeneous materials. The focus is on wave propagation, scattering, and reflection, from particulate and porous materials.
Author JuliaWaveScattering
7 Stars
Updated Last
10 Months Ago
Started In
December 2017


A Julia package for calculating, processing and plotting waves travelling in heterogeneous materials. The focus is on ensemble averaged waves.

Documentation Build Status

At present, the packages calculates effective wavenumbers, wave transimission and wave reflection from random particulate materials in two-dimensions, see arXiv preprint for details on the mathematics, or these notes for the formulas.


Type into Julia:

using Pkg

using EffectiveWaves


  • STABLEdocumentation of the most recently tagged version.
  • DEVELdocumentation of the in-development version.

Simple example

Effective wavenumbers for two species randomly (uniformly) distributed in Glycerol.

#where: ρ = density, r = radius, c = wavespeed, and volfrac = volume fraction

const WaterDistilled= Medium=0.998*1000, c = 1496.0)
const Glycerol      = Medium=1.26*1000,  c = 1904.0)

species = [
    Specie=WaterDistilled.ρ,r=30.e-6, c=WaterDistilled.c, volfrac=0.1),
    Specie=Inf, r=100.0e-6, c=2.0, volfrac=0.2)
# background medium
background = Glycerol

Calculate effective wavenumbers:

# angular frequencies
ωs = LinRange(0.01,1.0,60)*30.0e6
wavenumbers = wavenumber_low_volfrac(ωs, background, species)

speeds = ωs./real(wavenumbers)
attenuations = imag(wavenumbers)

For a list of possible materials go to src/materials.jl.

More examples

For more examples and details go to docs/src/examples/.

Acknowledgements and contributing

This library was originally written by Artur L Gower. Contributions are very welcome.


[1] Gower AL, Smith MJ, Parnell WJ, Abrahams ID. Reflection from a multi-species material and its transmitted effective wavenumber. Proc. R. Soc. A. 2018 Apr 1;474(2212):20170864.

[2] Gower, Artur L., William J. Parnell, and I. David Abrahams. "Multiple waves propagate in random particulate materials." SIAM Journal on Applied Mathematics 79.6 (2019): 2569-2592.

[3] Gower, Artur L., I. David Abrahams, and William J. Parnell. "A proof that multiple waves propagate in ensemble-averaged particulate materials." Proceedings of the Royal Society A 475.2229 (2019): 20190344.

Used By Packages

No packages found.