- Added Gauss-Legendre and Clenshaw-Curtis integration methods for force calculations
- Changed the default integration order to twice the number of Mie modes for the Lebedev-Laikov integration scheme when no integration order is given.
- Renamed
integration_orders
tointegration_order
- Speed up trapping calculations by making loops multi-threaded
- Update Trapping forces example with closures
- Bumped minimum version of support Python to 3.9, to easily accomodate typing
- Bumped maximum tested version of Python to 3.12
- Added closures to prevent recalculating fixed, but computationally intense, data for force calculations. See
trapping.force_factory
. - Speed up trapping calculations by rewriting code such that it can be compiled by Numba
- Added functionality to shift the coordinate system for
fast_psf()
- Added Pytest tests for example notebooks
- Added Pytest test for czt equivalence between FFT and czt for specific cases
- Fixed broken czt transform for array inputs
- Fixed bug where the electric field was not correct as a function of z in
psf.reference.focused_dipole_ref
- Fixed bug where the Z grid points were not returned even with
return_grid
being True inpsf.reference.focused_dipole_ref
- Initial release