| Crates.io | goad |
| lib.rs | goad |
| version | 1.1.9 |
| created_at | 2025-05-20 10:19:43.234863+00 |
| updated_at | 2026-01-16 20:41:56.607398+00 |
| description | Compute the single scattering properties of particles much larger than the wavelength of light with geometric optics and aperture diffraction theory. |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1681101 |
| size | 2,013,739 |
GOAD is a Rust-based physical-optics hybrid light scattering model based on geometric optics with aperture diffraction. It computes the 2D Mueller matrix by using geometric optics and a polygon clipping algorithm to compute the electric field on the particle surface. The surface field is then mapped to the far-field on the basis of the electromagnetic equivalence theorem, which takes the form of a vector surface integral diffraction equation. Green's theorem is used to reduce the surface integral to a line integral around the contours of outgoing beam cross sections, which leads to fast computations compared to some other methods. Compared to the PBT method, GOAD uses a beam clipping algorithm instead of ray backtracing on a meshed geometry, which makes the computation more accurate and faster if the particle has smooth planar surfaces.
📖 Reference Paper If you use this code in your work, please cite: A Light Scattering Model for Large Particles with Surface Roughness H. Ballington, E. Hesse JQSRT, 2024
For documentation, see the wiki.