This example has been updated. Find the latest version at Mie Scattering (DGTD).
We address Mie scattering in three dimensions from a gold nano-particle and compare the scattering and absorption cross sections to the analytic solution. We also visualize the field enhancement around the gold particle.
The Modeling Instructions page contains step by step instructions on how to create the 3D simulation file mie_example_3d.ldev. It also demonstrates how to visualize the partitioned volume and check the simulation setup for errors.
The file mie_example_3d.ldev contains an example of the Mie problem in 3D, using a plane wave source that surrounds a gold particle. The plane wave source is injected from a closed spherical surface which turns it into a total field scattered field (TFSF) source. An EM field monitor (scat) is placed on the same sphere as the source surrounding the gold particle to calculate the scattering and the absorption cross-sections. Three additional EM field monitors (field_XY, field_YZ, field_XZ) are placed through the center of the particle to calculate the electric field enhancement on different planes. The total field scattered field source covers a wavelength range of 300 to 1100 nm. The simulation volume is defined by the "outer" sphere by setting all the simulation boundaries of the "simulation region" object to "open".
The gold material is a copy of the "Au (Gold) - Johnson and Christy" material from the default optical material database. In order to get a good fit with the experimental index data over the wavelength range of interest, a maximum coefficient of 8 and an imaginary weight of 5 was used.
The mesh in the mie_example_3d.ldev project file is coarse enough so that the simulation runs very quickly but still provides reasonably accurate result. For simulations with metals, the mesh constraints are often used to more accurately resolve the locations of the metal interface, especially with curved surfaces. In this simulation, the mesh constraint object is used to refine the mesh on the surface of the gold particle restricting the maximum edge length of the triangular mesh on the surface of the sphere to 15 nm. For a more accurate but longer simulation use the mie_example_3d_fine.ldev project file where the maximum edge length of the triangular mesh on the surface of the gold particle is restricted to 3 nm. Note that this simulation will take much longer (a few hours) to run.
Open the mie_example_3d.ldev project file and run the simulation by clicking the "Run" button in the "DGTD" tab of the tabbed toolbar. Once the simulation is finished the mie_compare_3d.lsf script file can be used to plot the following results.
The absorption cross-section (the rate at which energy is removed from the incident plane wave by absorption) is automatically calculated by scat EM field monitor surrounding the gold particle since it is placed on the same closed surface as the plane wave source. The monitor also calculates the scattering cross-section of the gold particle. The monitor uses 41 frequency points over the entire frequency range to calculate the absorption and scattering cross-sections. Right click on the "scat" monitor and select visualize>flux. This will open the visualizer and plot the scattering cross-section (sigma_front) and the absorption cross-section (sigma_back) as a function of frequency.
Note that the cross-section data reported by the monitor are labeled as sigma_front and sigma_back. Since the electric field on the two sides of the monitor surface is discontinuous, the "front" and "back" data represents the flux on two sides of the surface. The "front" data represents the result from the side in the direction of the surface normal of the monitor surface and the "back" data represents data from the opposite side of the monitor surface. In this particular example since the monitor is on a closed surface the surface normal is always outward and therefore sigma_front represents the scattering cross section and sigma_back represents the absorption cross-section. The three figures above (right) shows the x, y, and z components of the surface normal of the "scat" monitor (reported as "n" in the "fields" dataset) showing that the surface normal is in the outward direction.
The Mie efficiency is defined as the ratio of cross_section of scattering/absorption and the geometrical area pi*r^2; the size parameter is defined as 2*pi*r/lambda*n1, where n1 is the background index of the simulation region and is set to 1 for Vacuum. The script file mie_compare_3d.lsf reads the scattering and absorption cross-sections from the EM field monitor, calculates the Mie efficiency as a function of size parameter, and generates the plots below. It also compares the DGTD results with the results from theory computed using the index data from the material fit used in the simulation (the mie3d script command is used to calculate the scattering and absorption cross-section values from mie theory).
The default settings for this simulation are designed to give reasonably accurate results while minimizing the simulation time. If higher accuracy is desired, use the mie_example_3d_fine.ldev project file that uses a finer mesh on the surface of the gold particle. The following figures show the cross sections from the higher accuracy simulation. Agreement between the DGTD and theoretical results is clearly much better.
We use a series of EM field monitors to image the electric field profile |E| in the YZ, XZ and XY planes through the center of the particle. To view the electric field right click on the monitors and select Visualize>fields. Notice that the edge of the TFSF source is visible in the plots. These figures were created with the higher accuracy settings. The plots below show the electric field profile at a wavelength of 526.71 nm.
In the majority of scattering experiments, measurements of the scattered field (radiation pattern) are made far away from the scatterer. We will, therefore, examine the behavior of the scattered field in the far field. The mie_compare_3d_ff.lsf script file can be used to project the scattered field collected by the DFT monitor 'scat' to the far-field. The script computes the scattered far field over a sphere using the "createspherical" surface and "near2far" scripting commands. The scattered far field is compared against the analytic result provided by the command "mie3ds12".
The visualizer also provides the option to create polar radiation plots for finite-element surface data. To create radiation plots for the scattered far-fields click on the "show/hide chart settings" button and select "Radiation plot" in the pull-down menu option for "surface" plot type.
It is possible to use the symmetry in the simulated structure and simulate only a quarter of the nanoparticle. This will reduce the simulation time and memory requirement by a factor of 4 while maintaining the same level of accuracy. The mie_example_3d_symmetry.ldev project file simulates a quarter of the nanoparticle by using PEC and PMC boundary conditions at the plane of symmetries. This approach, however, requires using the simulation region object to define the extent of the simulation volume. This is done by setting all the boundaries of the simulation region object to "closed" type.
To model symmetry, PEC boundary condition is used at the "x min" boundary and PMC boundary condition is applied at the "y min" boundary of the simulation region. The plot below shows the boundaries where the PEC and PMC boundary conditions are applied along with the direction of the electric field in the plane wave source. Note that the PEC boundary condition is applied on the plane of symmetry perpendicular to the electric field and the PMC boundary condition is applied to the plane of symmetry parallel to the electric field. The "absorbing" boundary condition has also been modified to be applied to the other simulation boundaries. Run the simulation and use the mie_compare_3d_symmmetry.lsf script file to plot the mie efficiency along with theoretical results. Note that the script uses a factor of 4 to account for the fact that a quarter of the particle has been simulated.
The figures below shows the absorption and scattering cross-sections plotted by the script. Note that since the mesh is kept coarse for a faster simulation, the result is still dependent on the mesh and therefore the accuracy of the results are slightly better than the ones from the (coarse) full 3d simulation.