Skip to content

v0.5.0

Choose a tag to compare

@VANvonZHANG VANvonZHANG released this 23 May 06:07
· 85 commits to main since this release

Added

  • EMA (Effective Medium Approximation) module (core/ema.py) with three methods:
    • volume_weighted — simple volume-weighted average of refractive indices
    • maxwell_garnett — Maxwell-Garnett mixing rule for inclusion-in-host geometries
    • bruggeman — Bruggeman symmetric mixing rule with Newton-iteration solver
  • coreshell_geometry property on Particle — computes core-shell geometry using volume-based core identification
  • solve_mie_coreshell() — Mie solver for coated spheres using PyMieScatt's core-shell API
  • ema_method parameter on solve_mie(), solve_optics(), and MIE_CORESHELL dispatcher
  • Integration tests for all EMA methods and core-shell solver (test_ema_integration.py)
  • legendre_moments_beta field on AerosolOpticsData — stores DISORT-ready normalized Legendre moments (β_l = k_l/(2l+1))
  • Updated coated_fractal_aggregate example — compares four Mie approximations with spectral plots

Changed

  • Refactored Particle.effective_refractive_index to delegate to EMA module (backward compatible)
  • Simplified pipeline example using ParticleOptics.from_aerosol3d()

Fixed

  • Removed unsupported deltam flag, reverted to ASCII output for libRadtran 2.0.6 compatibility