We continue to use the example from the previous section to calculate the dynamic motion of the rod. The previous example showed how to calculate the force on a particle. Once the force on the rod at a particular position is known, it is possible to determine the rod motion as a function of time.
Simulation setup
In the previous simulations, the beam focal point was changed, rather than actually moving the rod. This was more efficient for scanning over a large range of X positions because the simulation volume could be kept small. In these simulations, we will leave the focal point fixed, and actually move the rod.
The script tweezer_motion.lsf will make the necessary modifications to the source focal position and the rod starting position before starting the simulations.
Analysis
The following equations are used to calculate the rod motion resulting from the optical force.
$$ \begin{array}{l}{ \vec{F}=m \vec{A}-\tau \vec{V}} \\ {\vec{V}=\vec{V_0}+\vec{A} t} \\ {X=X_{0}+\vec{V_0}t+\frac{1}{2} \vec{A} t^{2}}\end{array}$$
The first simulation gives the initial force on the rod. Once the force is known, acceleration is easily calculated. Assuming constant acceleration for a short period of time, we can calculate the future position of the rod. At this point, another simulation is run, calculating the force on the rod at this new position. Once again, the acceleration and future position can be calculated. This process can be repeated as many times as required.
Results
Open tweezer.fsp and run tweezer_motion.lsf. The script will first modify the simulation region as described above. It then runs a series of simulations. The rod position at time step i+1 is calculated from the time step i position, velocity, and force. The following figures will be generated, showing the particle position and force as a function of time.
The figures show that the rod is trapped at a point 0.4 um in front of the focal point of the beam.
Once tweezer_motion.lsf is complete, we can watch the particle motion as a function of time in the GUI with the following script commands.
# recreate particle motion in GUI setview("extent",view); for (i=1:length(T)) { switchtolayout; select("circle"); set("x",X_t(i,1)+focal_point); set("y",X_t(i,2)); pause(0.3); }