Acoustic

Acoustic

Acoustic type and functions.

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.

check_material(p::Particle{T}, outer_medium::Acoustic{T})

Checks if wave scattering from the particle p is physically viable given the material properties of p and its surrounding medium outer_medium.

hard(host_medium::Acoustic)

See sound_hard.

impedance(medium::Acoustic)

Characteristic specific acoustic impedance (z₀) of medium

pressure_release(host_medium::Acoustic)

See sound_soft.

rigid(host_medium::Acoustic)

See sound_hard.

soft(host_medium::Acoustic)

See sound_soft.

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.

sound_soft([T::Type = Float64,] Dim::Integer)

Construct physical properties of a sound hard acoustic object with type T and dimension Dim. Equivalent to a zero_dirichlet pressure boundary condition.

zero_dirichlet(host_medium::Acoustic)

See sound_soft.

zero_neumann(host_medium::Acoustic)

See sound_hard.

internal_field(x::SVector{2,T}, p::Particle{T,2,Acoustic{T,2},Circle{T}}, sim::FrequencySimulation{T,2,Acoustic{T,2}}, ω::T, scattering_coefficients::AbstractVector{Complex{T}})

The internal field for a 2D circlular acoustic particle in a 2D acoustic medium.

t_matrix(Particle{T,2,Acoustic{T,2},Circle{T}}, Acoustic{T,2}, ω, order)

The T-matrix for a 2D circlular acoustic particle in a 2D acoustic medium.

t_matrix(CapsuleParticle{T,2,Acoustic{T,2},Circle{T}}, Acoustic{T,2}, ω, order)

The T-matrix for a 2D circlular capsule particle in an acoustic medium.

plane_source(medium::Acoustic, source_position, source_direction=[1,0], amplitude=1)::Source

Create an Acoustic planar wave Source

point_source(medium::Acoustic, source_position, amplitude=1)::Source

Create 2D Acoustic point Source (zeroth Hankel function of first type)