Acoustic
Acoustic type and functions.
MultipleScattering.Acoustic — Type
Acoustic{T<:AbstractFloat,Dim}(ρ::T, c::Complex{T})
Acoustic(ρ::T, c::Union{T,Complex{AbstractFloat}}, Dim::Integer)Physical properties for a homogenous isotropic acoustic medium with wavespeed (c) and density (ρ)
Simulations in this medium produce scalar (1D) fields in Dim dimensions.
MultipleScattering.check_material — Method
check_material(p::Particle, outer_medium::Acoustic)Checks if wave scattering from the particle p is physically viable given the material properties of p and its surrounding medium outer_medium.
MultipleScattering.hard — Method
hard(host_medium::Acoustic)See sound_hard.
MultipleScattering.impedance — Method
impedance(medium::Acoustic)Characteristic specific acoustic impedance (z₀) of medium
MultipleScattering.internal_field — Method
internal_field(x::AbstractVector, p::Particle{Dim,Acoustic{T,Dim}}, source::AbstractSource, ω::T, scattering_coefficients::AbstractVector{Complex{T}})The internal field for an acoustic particle in an acoustic medium. For a sphere and circular cylinder the result is exact, for everything else it is an approximation which assumes smooth fields.
MultipleScattering.pressure_release — Method
pressure_release(host_medium::Acoustic)See sound_soft.
MultipleScattering.rigid — Method
rigid(host_medium::Acoustic)See sound_hard.
MultipleScattering.soft — Method
soft(host_medium::Acoustic)See sound_soft.
MultipleScattering.sound_hard — Method
sound_hard([T::Type = Float64,] Dim::Integer)Construct physical properties of a sound hard acoustic object with type T and dimension Dim. Also known as rigid and equivalent to a zero_neumann pressure boundary condition.
MultipleScattering.sound_soft — Method
sound_soft([T::Type = Float64,] Dim::Integer)Construct physical properties of a sound soft acoustic object with type T and dimension Dim. Equivalent to a zero_dirichlet pressure boundary condition.
MultipleScattering.zero_dirichlet — Method
zero_dirichlet(host_medium::Acoustic)See sound_soft.
MultipleScattering.zero_neumann — Method
zero_neumann(host_medium::Acoustic)See sound_hard.
MultipleScattering.t_matrix — Method
t_matrix(Particle{2,Acoustic{T,2},Sphere{T,2}}, Acoustic{T,2}, ω, order)The T-matrix for a 2D circlular acoustic particle in a 2D acoustic medium.
MultipleScattering.t_matrix — Method
t_matrix(Particle{3,Acoustic{T,3},Sphere{T,3}}, Acoustic{T,3}, ω, order)The T-matrix for a 3D spherical acoustic particle in a 3D acoustic medium.
MultipleScattering.t_matrix — Method
t_matrix(CapsuleParticle{2,Acoustic{T,2},Sphere{T,2}}, Acoustic{T,2}, ω, order)The T-matrix for a 2D circlular capsule particle in an acoustic medium.
MultipleScattering.t_matrix — Method
t_matrix(Particle{2,Acoustic{T,2},Helmholtz{T,2}}, Acoustic{T,2}, ω, order)The T-matrix for a 2D non-isotropic Helmholtz resonator in a 2D acoustic medium.
MultipleScattering.t_matrix — Method
t_matrix(Particle{2,Acoustic{T,2},IsotropicHelmholtz{T,2}}, Acoustic{T,2}, ω, order)The T-matrix for a 2D isotropic Helmholtz resonator in a 2D acoustic medium.
MultipleScattering.plane_source — Method
plane_source(medium::Acoustic, position, direction = azimuthalnormal(Dim), amplitude = 1; causal = false, beam_width = Inf)::RegularSourceCreate an Acoustic planar wave RegularSource. The default direction is [1,0] in 2D and [0,0,1] in 3D. The amplitude can be a number or a function of the angular frequency.
MultipleScattering.point_source — Method
point_source(medium::Acoustic, source_position, amplitude=1)::RegularSourceCreate 2D Acoustic point RegularSource (zeroth Hankel function of first type)