Examples
These pages are Pluto.jl notebooks rendered to HTML (with plots). Each one is a self-contained walkthrough of one capability; the live, editable sources live in the examples/ directory of the repository.
The notebooks
- Shapes quick-start gallery — define a spheroid, cylinder, Chebyshev particle, and N-fold prism; compute each T-matrix and its
Qsca/Qext/g/ω, with notes on which solver to use. - Solver landscape & convergence — the two-layer API (
EBCM,IITM,Iterative,stable) on a high-aspect spheroid, showing classic EBCM diverging withnₘₐₓwhile the stabilized path holds. - Angular scattering & polarization — the orientation-averaged scattering (Mueller) matrix vs angle (phase function
F₁₁, linear polarization-F₁₂/F₁₁, …), plus fixed-geometry amplitude and phase matrices. - Orientation averaging — Mishchenko's analytic
RandomOrientationTransitionMatrixvs the numericalorientation_average, and the numerical average converging to it. - Spectral sensitivity — fast wavelength / refractive-index sensitivities via the Sh-matrix moment-separation backend:
prepare_shruns the geometry quadrature once, thenForwardDiffover the cheap reconstruction gives exact∂Cₛ𝚌ₐ/∂λand∂Cₛ𝚌ₐ/∂mᵣacross a spectrum. - Rain radar observables — a self-contained radiative-transfer prototype: spheroidal IITM T-matrices, a rain-drop axis-ratio model, water/ice refractive-index fits, and a drop-size distribution feeding dual-pol radar moments and brightness-temperature integrals.
- Near-field maps from a T-matrix — reconstruct the external electromagnetic field (incident + scattered) from any T-matrix; a field-enhancement $|E|/|E_0|$ map and axial cut around a Mie sphere, with the Rayleigh-hypothesis region-of-validity note.
Running them locally
The notebooks use the examples/ environment, which develops the parent package:
julia> import Pkg; Pkg.activate("examples"); Pkg.instantiate() # first time only
julia> using Pluto; Pluto.run()Then open a notebook from the Pluto start page. Each notebook's first cell activates this environment and develops TransitionMatrices from the repository root, so it works from a fresh checkout.