Vectorial ray-based diffraction integral (VRBDI)

Vectorial ray-based diffraction integral (VRBDI) and simulation tools

You are now following this Submission

Simulation of monochromatic light propagation in optical systems by combination of ray-tracing with a vectorial diffraction integral (See: B. Andreas, G. Mana, and C. Palmisano, "Vectorial ray-based diffraction integral," J. Opt. Soc. Am. A 32, 1403-1424 (2015)).

Cite As

Birk Andreas (2026). Vectorial ray-based diffraction integral (VRBDI) (https://www.mathworks.com/matlabcentral/fileexchange/52210-vectorial-ray-based-diffraction-integral-vrbdi), MATLAB Central File Exchange. Retrieved .

Acknowledgements

Inspired by: PARFOR Progress Monitor v2

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.8.0.0

Added support of Jones matrices which can be assigned to surfaces.

1.7.0.0

Several bugfixes, enabled even asphere support, fixed possible "NaNification" in diffraction integral CUDA kernels, added function for calculation of mode field of step-index single-mode fiber (SMFmodefield.m), added Example6.m, 250 chars not enough!

1.6.0.0

Removed a bug in TraceSystemVNP which could cause a wrong reflection coefficient in special cases.

1.5.0.0

Added experiemtal CUDA functions for vectorial diffraction integrals (VDIgpu.m, VDInTgpu.m, VDInRgpu.m) and plane wave integrals (PWIgpu.m, PWInTgpu.m, PWInRgpu.m). Operation tested and confirmed for Quadro K6000.
Fixed bugs in SFFT.m and VDInterf.m.

1.4.0.0

Added Example4.m: skew propagation of a large Gaussian beam through a bestform lens to the focal region.
Added the functions GetRM.m, PropSpectrum.m, TransSpectrum.m, Rx.m, Ry.m and Rz.m.
Added functionality to VDI.m: time-reversed propagation.

1.3.0.0

The inclusion of the intensity law of geometrical optics into TraceSystemVNP.m, i.e. where the refracted field is calculated, has improved the accuracy of VRBDIsw.m and VRBDIpw.m.

1.2.0.0

Added VDInterf.m (stepwise propagation through interfaces);
Changed parameter passing to VRBDIsw.m (normal and surface element are now required because the automatic calculation was not working correctly for tilted planes);
Other minor changes.

1.1.0.0

In order to fix numerical root finding issues the internal function ULTRAceParaboloid.m has been optimized.

1.0.0.0