API Reference

Types

UTDKernels.WedgeType
Wedge(alpha)

Wedge with exterior (free-space) angle alpha ∈ (0, 2π]. Faces at φ=0 and φ=alpha. The half-plane corresponds to alpha=2π.

source
UTDKernels.DistancesType
Distances(s, sp)

s: edge-to-observer distance. sp: source-to-edge distance (Inf for plane wave).

source

Wedge parameters

Angle utilities

Transition function

UTDKernels.F_utdFunction
F_utd(x::Number) -> ComplexF64

Evaluate the UTD transition function at x (real or complex). Uses the erfcx representation for numerical stability.

source

Diffraction coefficients

UTDKernels.pec_wedge_DsDhFunction
pec_wedge_DsDh(wedge, ang, k, L; convention=EXP_IWT) -> (Ds, Dh)

Compute the soft and hard scalar UTD diffraction coefficients for a PEC wedge using the Kouyoumjian–Pathak four-term form.

Arguments

  • wedge::Wedge: wedge geometry
  • ang::RayAngles: observation and incident azimuths
  • k::Number: wavenumber (real positive for lossless media)
  • L::Real: effective distance parameter s·s'/(s+s')

Returns

  • (Ds, Dh): tuple of complex diffraction coefficients
source
UTDKernels.pec_wedge_apply_shFunction
pec_wedge_apply_sh(Ds, Dh, Es_i, Eh_i, k, s, sp; convention=EXP_IWT)

Apply the PEC wedge diffraction dyadic in the soft/hard basis:

E_s^d = Ds · E_s^i · A(s,s') · exp(-iks)
E_h^d = Dh · E_h^i · A(s,s') · exp(-iks)

Returns (Esd, Ehd).

source
UTDKernels.spreading_factorFunction
spreading_factor(s, sp)

UTD spreading factor A(s,s') = √(s'/(s(s+s'))) for a straight edge. For plane-wave incidence (sp=Inf), returns 1/√s.

source

Regime detection

UTDKernels.wedge_transition_argsFunction
wedge_transition_args(wedge, ang, k, L; tol=1e-10) -> NamedTuple

Compute the transition arguments and regime classification for each of the four KP terms.

Returns a NamedTuple with:

  • gj: NTuple{4,Float64} – signed quantities cos((2nπNj - βj)/2)
  • Xj: NTuple{4,Float64} – transition arguments kL·a_j
  • regime: NTuple{4,Symbol} – :lit, :shadow, or :transition
source

Diagnostics