Skip to content

v0.6.0

Choose a tag to compare

@VANvonZHANG VANvonZHANG released this 24 May 07:59
· 68 commits to main since this release

Added

  • Parallel DDA orientation averaging using joblib.Parallel with loky backend
  • Flattened (wavelength × orientation) task grid into single parallel dispatch for full CPU utilization
  • n_jobs parameter on solve_optics() — number of parallel workers (default 32)
  • show_progress parameter on solve_optics() — tqdm progress bars (default True)
  • Error-tolerant parallel execution — failed orientation tasks are logged and skipped, not discarded

Changed

  • n_dirs default changed from 100 to 50
  • Warning threshold for low direction count changed to n_dirs < 30
  • Near-field computation disabled in parallel orientation path (results are discarded)
  • Updated validate_mie_vs_dda example to use parallel orientation averaging

Fixed

  • Restored phase-function-specific warning when compute_phase_func=True with n_dirs < 100
  • Explicitly set backend="loky" to prevent unsafe threading with PyJulia

Documentation

  • Expanded orientational averaging section in optical computation guide with parallel execution, parameters, and code example
  • Updated Mie vs DDA validation tutorial to reflect n_dirs=50 and n_jobs=32
  • Added orientational_average, n_dirs, n_jobs, show_progress to quickstart key parameters
  • Added Parallel Orientation Averaging to README features and updated solve_optics API signature
  • Documented tqdm and joblib as required dependencies in installation guide