Vary volume fraction of the two species
Here we demonstrate how varying the volume fraction of two different species of particles changes the effective wave speed and attenuation.
Define the material
using EffectiveWaves
# for fixed total volume fraction
background = Acoustic(3; ρ = 1.0, c = 1.0) # 3 for a 3D material.
gas_particle = Particle(Acoustic(3; ρ = 0.3, c = 0.3), 0.5) # 0.5 is the radius
solid_particle = Particle(Acoustic(3; ρ = 1000.0, c = 1000.0), 1.5)
Calculate how the wavenumbers change when varying the volume fractions
ωs = LinRange(0.01,0.5,200)
N=5
volumefraction = 0.1
vols = LinRange(0.0,volumefraction,N)
ks_arr = map(1:N) do i
sp1 = Specie(gas_particle; volume_fraction = vols[i])
sp2 = Specie(solid_particle; volume_fraction = volumefraction-vols[i])
[ wavenumber_low_volumefraction(ω, background, [sp1,sp2]) for ω in ωs]
end
speeds = [ ωs ./ real(ks) for ks in ks_arr]
attenuations = imag.(ks_arr)
Plot the results
labs = reshape( map(v -> "void vol = $(Int(round(100*v)))%",vols),1, length(vols));
p1 = plot(ωs, speeds,
labels=labs,
ylabel="wave speed (m/s)" ,xlabel="frequency"
);
p2 = plot(ωs, attenuations,
labels=labs, xlabel="frequency", ylabel="attenuation (1/m)");
plot(p1,p2,layout=(2,1))