Huygens-Fresnel integral approximation on the GPU

Simulate electromagnetic wave propagation through free-form apertures, or off rough surfaces. Speed up the computation by using the GPU.
1.8K Downloads
Updated Fri, 23 Oct 2020 14:52:10 +0000

View License

A Matlab toolbox to simulate light propagation for monochromatic coherent light through free-form apertures and off rough/free-form surfaces by means of a numerical approximation of the Huygens-Fresnel integral.

Toolbox features are:
* GPGPU computing, using Nvidia graphics cards with CUDA
* fallback to CPU if no GPU is found
* rough surface generation via spatial frequency filters and
surface roughness determination z=f(fx,fy,Ra)
* free form surface generation z=f(x,y)
* arrangement of objects in 3D space coordinates (6 DOF)
* rectangular 3D grids, free form apertures via logical indexing
* artificial jitter, to reduce diffraction by the input grid
* the Huygens-Fresnel approximation
* memory management, job resume if pre-existing data is found
* some examples and visualizations

A theoretical background is given by:
Dominik Hofer, Bernhard G. Zagar, A numerical approximation of the Huygens-Fresnel integral – Simulations of a rough wetting problem, Measurement, Volume 46, Issue 8, October 2013, Pages 2828-2836, ISSN 0263-2241, http://dx.doi.org/10.1016/j.measurement.2013.05.003

View readme.txt for more details.

Cite As

Dominik Hofer (2024). Huygens-Fresnel integral approximation on the GPU (https://www.mathworks.com/matlabcentral/fileexchange/42602-huygens-fresnel-integral-approximation-on-the-gpu), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010b
Compatible with R2010b and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
2.0.0.0

switch from GPUMAT to the Parallel Processing Toolbox, use Matlab LaTeX interpreter und print() instead of MYMLF2PDF

1.0.0.0