Laser beams can be used to create optical traps that can hold and transport small particles. Optical trapping has been used in a number of applications ranging from prototyping at the microscale to biological cell manipulation. Successfully using optical tweezers requires predicting optical forces on the particle being trapped and transported. Reasonably accurate theory and computational models exist for predicting optical forces on a single particle in the close vicinity of a Gaussian laser beam. However, in practice the workspace includes multiple particles that are manipulated using individual optical traps. It has been experimentally shown that the presence of a particle can cast a shadow on a nearby particle and hence affect the optical forces acting on it. Computing optical forces in the presence of shadows in real-time is not feasible on CPUs. In this paper, we introduce a ray-tracing-based application optimized for GPUs to calculate forces exerted by the laser beams on microparticle ensembles in an optical tweezers system. When evaluating the force exerted by a laser beam on 32 interacting particles, our GPU-based approach is able to get a 66-fold speed up compared to a single core CPU implementation of traditional Ashkin's approach and a 10-fold speedup over the single core CPU-based implementation of our approach.
Using GPUs for Realtime Prediction of Optical Forces on Microsphere Ensembles
Fellow of ASME
Contributed by the Computers and Information Division of ASME for publication in the Journal of Computing and Information Science in Engineering. Manuscript received February 2, 2013; final manuscript received February 19, 2013; published online April 25, 2013. Editor: Bahram Ravani.
- Views Icon Views
- Share Icon Share
- Search Site
Bista, S., Chowdhury, S., Gupta, S. K., and Varshney, A. (April 25, 2013). "Using GPUs for Realtime Prediction of Optical Forces on Microsphere Ensembles." ASME. J. Comput. Inf. Sci. Eng. September 2013; 13(3): 031002. https://doi.org/10.1115/1.4023862
Download citation file: