In this example, we look at the scattering spectrum of light from an electron beam.

A screenshot of sp_ebeam.fsp is shown above. The simulation consists of a gold particle on a glass surface. The electron beam is represented by a series of dipoles with phase delay that is related to the electron velocity. Note that, we are simulating a single electron (as you can see in the movie). The actual experiment is a continuous beam, our results can be scaled by the beam intensity. The current density due to the electron is given by
$$ \vec{J}(t, \vec{r})=e v \hat{u}_{z} \delta(zv t) \delta\left(xx_{0}\right) \delta\left(yy_{0}\right) $$
where e is the electron charge and v is the velocity of the electron. In the frequency domain, this corresponds to a current density of
$$ \vec{J}(\omega, \vec{r})=e \hat{u}_{z} \exp \left(\frac{i \omega z}{v}\right) \delta\left(xx_{0}\right) \delta\left(yy_{0}\right) $$
This current density can be simulated by using a large number of closely space dipoles along the electron trajectory, of the form
$$ \vec{p}(\omega, \vec{r})=\frac{p_{0}}{i \omega} \hat{u}_{z} \exp \left(\frac{i \omega z}{v}\right) $$
Since the system is linear, we can study a system of dipoles of the form
$$ \vec{p}(\omega, \vec{r})=p_{0} \hat{u}_{z} \exp \left(\frac{i \omega z}{v}\right) $$
and multiply the electromagnetic fields by a factor of 1/iw during the post processing phase. We will not be concerned with the overall normalization factor p0. In the time domain, we can create the desired sources by delaying the source pulses by z/v.
In the absence of any structure, similarly to how a constant DC current through a wire will not produce any radiation, the electron beam will not generate any radiation because it is moving at a constant velocity. In FDTD, we are obliged to simulate only a finite portion of the electron path and the sudden appearance and disappearance of the electron will generate radiation. To minimize this problem, a raisedcosine filter is introduced to turn on and off the dipoles' amplitude gradually. We are also running a reference simulation (without the nanoparticle and substrate) to subtract anything that can potential obscure the signal from the nanoparticle. Although this makes the analysis slightly more complex, we can calculate the electromagnetic fields at frequency w by taking the difference in fields between the simulations, using sp_ebeam.lsf. To get an accurate difference, we must force the simulation mesh to be exactly the same with and without the structure. For this reason, we use mesh override regions over all the structures.
We use a setup script contained in the ebeam group to create all the sources with the correct pulse delays and positions. In this example, we use an electron velocity of 0.2*c. A raisedcosine filter is also introduce to gradually turn on and off the dipoles.
To reproduce the plots below, open the sp_ebeam.fsp simulation and run the sp_ebeam.lsf script file. The script file will run two simulations, take the difference in electromagnetic fields and calculate the scattering spectrum. This means that it will calculate the total power scattered into the upper z half space due to the presence of the gold particle and substrate.
Note that the CW normalization with a large number of sources leads to a variety of complications. Instead, we use the no normalization state, and remove the spectrum of the source pulse by calculating the sourcenorm for a single source pulse, rather than a sum of all the dephased source pulses.
The total scattering into the upper halfspace. Transmission has been normalized by the maximum value.
Poynting vector at the first peak wavelength.
Angular distribution of the electric field intensity in the far field calculated at the first peak wavelength.
Movie of simulation. A number of interesting phenomena are visible, including the strong influence of the nanoparticle on the scattering direction as well as on the scattering spectrum, the width of the pulse gives some indication about the spatial extent of the ebeam field profile and injection errors that occur at the beginning and end of the simulation. These errors exist because we only inject a finite length portion of the electron beam and are already minimized using a filter to control the dipoles' amplitude.
This example was run with a mesh size of only 10nm. Some convergence testing should be done. Typically, a mesh size of 15 nm is required to obtain acceptable accuracy for gold nanoparticles in this wavelength range. The z span is also important in convergence testing where the injection error can be further reduced for longer z span.