Huygens-Fresnel integral approximation on the GPU
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. Extrait(e) le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxCatégories
- Sciences > Physics > Atomic, Molecular & Optical >
- MATLAB > Graphics > 2-D and 3-D Plots > Surfaces, Volumes, and Polygons > Volume Visualization >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
HuygensFresnelApproximation_2.0
HuygensFresnelApproximation_2.0/gpuSpeckle
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 |