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,9K téléchargements
Mise à jour 23 oct. 2020

Afficher la licence

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.

Citation pour cette source

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. Récupéré le .

Compatibilité avec les versions de MATLAB
Créé avec R2010b
Compatible avec les versions R2010b et ultérieures
Plateformes compatibles
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!
Version Publié le Notes de version
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