Skip to content

v0.18.0 — Multi-plane field-propagation chain (propagate_chain)

Choose a tag to compare

@emircbngl emircbngl released this 28 Jun 22:45

v0.18.0 — Multi-plane field-propagation chain (propagate_chain)

propagate_field runs the angular-spectrum propagator once; the new propagate_chain marches a complex field through a sequence of planes — the POPPY-style multi-plane OpticalSystem the single-step layer could not chain. The geometric trace is byte-identical to v0.17.0 (regression 375/375).

Each step is ["prop", dz_mm] (free-space propagation), ["aperture", D_mm] (hard circular aperture), or ["lens", f_mm] (thin lens); the source is a Gaussian w0_mm or a clear aperture_mm. (optics_api + MCP.) Validated:

  • propagator additivity — the pure angular spectrum composes exactly, prop(z1)·prop(z2) = prop(z1+z2) to 3.7×10⁻¹¹;
  • a chained aperture→lens(f)→prop focuses at z=f (200 mm);
  • a free Gaussian marched through the chain reproduces w(z)=w0√(1+(z/zR)²).

This closes the optics-textbook catalog's principal remaining gap: single plane→plane is now a chainable auto-pipeline (Voelz propTF, POPPY-style multi-plane). Validation now 171 oracle checks. (Near-field / moderate-propagation layer — a tight focus or a Fraunhofer far field is better via direct FFT: wave_psf / slit_diffraction.)

Install / update

Existing users on the native update channel get this as a one-click update. New install: download the zip below → Blender Preferences ▸ Add-ons ▸ Install from Disk…

Full notes: CHANGELOG.md.