The following example shows how to calculate the photonic force from FDTD simulations. The optical force is calculated by integrating the Maxwell Stress Tensor over a closed boxed that surrounds the particle.
Simulation setup
Consider a Gaussian laser beam with wavelength λ=1000 nm with NA=0.7, focused on to a dielectric rod in 2D with radius r=40 nm and refractive index n=1.5. The background index is 1. The rod is located at (x,y) = (0,-100 nm) relative to the center of the focused Gaussian beam.
Four 1D field profile monitors are used to define the closed surface S. An additional 2D field profile monitor is used to observe the focused laser beam path.
The analysis script located in the optical force MST analysis group integrates the stress tensor to provide the total force on the particle. The optical_force_MST analysis group contains four subgroups which are used to calculate the components of the stress tensor from the simulation.
Force on a particle
After running the simulation, the field intensity profile can be plotted with the following script commands:
x=getdata("field","x"); y=getdata("field","y"); E2=getelectric("field"); image(x*1e6,y*1e6,E2,"x (um)","y (um)","E2");
The following figures show the field profile for simulations without and with the dielectric rod. The first figure, without the rod, shows the beam has a focal point at x=0, y=0. The second figure shows the field when the rod is present. Note that the figures shown below have been zoomed in to show the range between y=-1 um to y=1 um.
The light is seen to refract through and reflect off the rod. This small change in photon momentum applies a force to the rod. Using the field data collect by the monitors forming the closed surface S, the optical_force_MST analysis group can calculate the components of the Maxwell Stress Tensor and then integrate the components normal to S over the surface. The following script can be used to collect the force result from the optical_force_MST group and print the x and y components of the force to the script prompt. The units of the force is Newtons.
F= getresult("optical_force_MST","F_total"); ?F.F_totalx; ?F.F_totaly;
We can run the same analysis script on the simulation without the rod. In principle, the force should be zero, but the simulation will always measure a non-zero force due to numerical errors. Running a reference simulation without a particle is a good way to estimate the numerical error, since you know the force should be zero. The Volumetric technique for measuring optical force tends to have smaller numerical errors than the MST technique.
Force vs position
To calculate the optical force as a function of x position relative to the focal point of the beam, run the script file tweezer_position.lsf. The particle is offset by -50 nm in the y direction. This script actually changes the beam focal point, rather than the rod position. This technique of modifying the source focal point is more efficient since the simulation X span can be kept small. The script collects the force and normalizes it by the injected power of the source to create the following figure.
The negative slope of the force vs position data near x=0 um suggest the presence of a stable trapping region.
NOTE: Accuracy of the Maxwell Stress Tensor Calculating the net force on a particle with the Maxwell Stress Tensor involves taking the difference of very large numbers to get a very small number. Such calculations are numerically difficult because of the limited precision of floating point numbers used to represent the electromagnetic fields in the simulation. The Volumetric technique is less sensitive to numerical errors, but will require more memory when running the simulation. |
NOTE: Focused Beams These simulations use a highly focused beam with a focal point that may not be at the source injection plane. This can lead to source field profiles that have a large y extent. If the field does not decay to zero at the edge of the source, the beam profile will be truncated. The field profile can be seen by editing the source properties and selecting the Beam options Tab. Click on the "visualize beam data" button to view the field profile. As the distance from focus parameter is increased, the y extent of the beam will increase significantly. To ensure that the simulations are accurate, the y extent of the simulation region may need to be increased to ensure the beam is correctly injected. |
Related publications
- Rockstuhl and Herzig, J. Opt. A: Pure Appl. Opt. 6 (2004) p. 921
- Jackson, “Classical Electrodynamics,” p. 239