Please enable JavaScript to view this site.

Application Gallery

Navigation: » No topics above this level «

Plasmon Mode Excitation

Scroll Prev Top Next More

cover_picture_plasmon_mode_excitation_zoom33In this example, we use the Finite Difference Time Domain (FDTD) method to model and analyze a plasmonic structure that exhibits bright and dark modes. We use a broken symmetry beam (with radial and azimuthal polarizations) to excite the dark modes that would, otherwise, be very difficult to excite using a linearly polarized excitation.


Licenses: FDTD

Files and Required Solvers






Minimum product version: 2019a r3



Run and results

Important model settings

Updating the model with your parameters

Taking the model further

Additional resources


Understand the simulation workflow and key results


Nano-particles clusters can show strong plasmonic resonances. Depending on the illumination condition, such structures can exhibit radiative (bright) and non-radiative (dark) modes. If bright modes are easy to excite using linearly polarized light, dark modes are much more difficult to excite and require breaking the excitation symmetry. This can be achieved using excitation with radial and azimuthal polarizations.


In this example, we consider a dimer of silver nano-spheres. Materials and dimensions are taken from Ref. 1. We will use a plane wave with linear polarization to excite the bright modes, and beams with radial and azimuthal polarizations to excite the dark modes.


Step 1: Linear polarization

We use a linearly polarized Total Field Scattered Field (TFSF) source to excite the bright modes of the dimer. We consider 2 polarizations, x and y.


Note: The TFSF source allows the calculation of the scattering and the absorption cross sections in one simulation.


Step 2: Radial and azimuthal polarizations

We use a Gaussian beam source with a numerical aperture of 0.75, to excite the dark modes of the dimer. The pupil function of the source allows to define radial and azimuthal polarizations.


Note: To extract the scattering and absorption cross sections as in step 1, we use a custom TFSF source. This requires 2 simulations for each considered polarization, one without the scattering objects and the other with them.

Run and results

Instructions for running the model and discussion of key results

Step 1: Linear polarization

1.Open the simulation file plasmon_mode_excitation_linear.fsp

2.Open the script file plasmon_mode_excitation_linear.lsf

3.Click the run script button

4.The results are automatically plotted or can be explored in the script workspace.


5.Right click on the monitor "field profile", select "enable"

6.Set the desired polarization

7.Click the run button

8.Visualize the field intensity profile vs wavelength (from the monitor) or at maximum intensity (from "model")


As with the Mie Scattering (FDTD) example, we use 2 analysis groups ("scat" and "total"), respectively located outside and inside the Total Field Scattered Field source to calculate the scattering and absorption cross sections. We use the parameter sweep "sweep_polarization" to run the 2 simulations required, linear x and linear y.


The script "plasmon_mode_excitation_linear.lsf" will load the results from the sweep (scattering and absorption cross sections, E field profile at maximum intensity) and calculate the extinction cross section as:


$$\sigma_{ext} = |\sigma_{scat}| + |\sigma_{abs}|$$


The script will then plot the scattering, absorption and extinction cross sections as functions of the photon energy:




and the electric field intensity \( |E|^2 \) profile taken at the frequency of maximum enhancement (image below in log scale):



Step 2: radial and azimuthal polarization

1.Open the simulation file plasmon_mode_excitation.fsp

2.Open the script file plasmon_mode_excitation.lsf

3.Click the run script button

4.The results are automatically plotted or can be explored in the script workspace.


5.Right click on the monitor "field profile", select "enable"

6.Set the desired polarization

7.Click the run button

8.Visualize the field intensity profile vs wavelength (from the monitor) or at maximum intensity (from "model")


As in step 1, we use a parameter sweep ("sweep_polarization") to perform the calculations. However, as we use a custom Total Field Scattered Field, for each polarization, we need to run 2 simulations, without the scattering object and with the scattering object. We use a nested sweep ("sweep_particle") for that purpose.


The analysis group "total" is used to record the electric and magnetic fields in a box of monitors around the scattering object. The scattered fields are obtained from the 2 simulations as:


$$\vec{E}_{scat} = \vec{E}_{\text{with particle}}(\vec r, \lambda) -  \vec{E}_{\text{without particle}}(\vec r, \lambda)$$

$$\vec{H}_{scat} = \vec{H}_{\text{with particle}}(\vec r, \lambda) -  \vec{H}_{\text{without particle}}(\vec r, \lambda)$$


The scattered power is then obtained by integrating the Poynting vector (calculated from the scattered fields) normal to each monitor over the monitor surface. Finally, the scattered cross section is calculated by normalizing the scattered power to the source intensity.


The absorption cross section is calculated from the total fields. We can then get the extinction cross section by summing the scattering and absorption cross section as in step 1.


Note:  The script function "sourceintensity"  gives correct result for a plane wave. However, for a NA beam, the source profile is not uniform and this function does not give the correct result. To get correct result, we use the intensity on the front monitor (in this example it is z2) as the source intensity illuminating the particle.


The plots below show the scattering, absorption and extinction cross sections as function of the photon energy for radial (left) and azimuthal (right) polarizations.



The images below show the electric field intensity  \( |E|^2 \) spatial distribution (log scale) taken at the wavelength/photon energy of maximum enhancement.



Note: the results presented in step 1 and step 2 were obtained with a mesh finer than the one set in the provided file. To allow for shorter simulation times, the mesh size was increased and the simulation region size reduced. However, the results obtained with the provided files are still in good agreement with Ref.[1].

Important model settings

Description of important objects and settings used in this model


The "model" object of the simulation is parametrized to easily control interdependent settings. For instance, the size of the monitors, sources, etc. will depend on the size of the particle cluster.

Background index:

The background index (index of the surrounding material) is set in the FDTD properties.

Mesh and mesh refinement:

We use a mesh override region to control the mesh over the particle cluster. This is recommended when using a Total Field Scattered Field (TFSF) source.


When using a custom TFSF source, it is necessary to use the mesh override region to make sure the number of data points remains the same with and without scattering object so the calculation of the scattering fields is possible.


Additionally, we can use Lumerical’s Conformal Mesh Technology (CMT) variant 1 that applies to all material interfaces, including metals, to increase the accuracy. Some careful convergence testing between CMT variant 0 and CMT variant 1 to test which method you should use.


Simulations involving plasmons are very sensitive to the mesh size. Careful convergence testing should be performed to make sure the simulation settings allow to obtain the desired level of accuracy.

Pupil function:

To set a radial or azimuthal polarization in the Gaussian beam source, we use a custom pupil function. This pupil function will also set the numerical aperture of the beam.


The script plasmon_mode_set_polarization.lsf defines the desired pupil function. The variable NA sets the numerical aperture (here 0.75). The orientation of the electric field is defined by

Radial polarization:

\(E_x \propto \cos(\theta)\)

\(E_y \propto \sin(\theta)\)

Azimuthal polarization:

\(E_x \propto -\sin(\theta)\)

\(E_y \propto \cos(\theta)\)


Where \(\theta = [0, 2\pi]\).


The following images show the vector plot (left) and field profile \( |\vec{E}|\) (right) for radial polarization and azimuthal polarization.

source_radial_vector_zoom26 source_radial_zoom42


Note: By default, in a broadband simulation, the beam is only generated at the central frequency and the beam profile gets increasingly wrong as you go away from that frequency. In addition, it causes some non-negligible back reflections. If this is an issue, you can enable the “multifrequency beam calculation” to increase the beam accuracy over the entire spectrum. Be aware this will increase the simulation time.

Updating the model with your parameters

Instructions for updating the model based on your device parameters

The "model" object in the simulation files is parametrized to allow easy modification of the key simulation settings such as:

Presence of the scattering objects

Mesh size in the mesh override region

Width of the simulation region



This parametrization allows to automatically adapt the size of the mesh override region, analysis groups, source and simulation region to make sure their dimensions are appropriate.


The structure group "oligomer" is also parametrized. You can set the properties of the particle chain (radius, distance, material and refractive index).


Additionally, you can directly set the simulation bandwidth in the source settings.

Taking the model further

Information and tips for users that want to further customize the model

Scattering objects:

The structure used in this example is based on Ref. [1]. The object "oligomer" is a parametrized structure group creating a chain of n spherical particles of defined radius and distance between each other. It is therefor possible to study the response of a cluster made of various numbers of particles.


It is also possible to replace this structure with another scattering object. Note it will most likely be necessary to adapt the simulation settings to the new object.

Scattering object on a substrate:

The approach demonstrated here can be used to excite the plasmonic modes of particles on a substrate.

Additional resources

Additional documentation, examples and training material

Related KB pages:

Source - Plane wave and Beam

Beam defined by a pupil function

Custom TFSF

Convergence testing

Other application examples:

Mie scattering (FDTD)

Plasmonic resonator (DGTD)

Papers & Books:

1.Sancho-Parramon, Jordi; Bosch, Salvador. Dark Modes and Fano Resonances in Plasmonic Clusters Excited by Cylindrical Vector Beams. ACS Nano. 6 (2012), 9; 8415-8423. (postprin version)11/30

2.Dark Plasmon Modes in Symmetric Gold Nanoparticle Dimers Illuminated by Focused Cylindrical Vector Beams - Tian-Song Deng, John Parker, Yuval Yifat, Nolan Shepherd, and Norbert F. Scherer -The Journal of Physical Chemistry C 2018 122 (48), 27662-27672 - DOI: 10.1021/acs.jpcc.8b10415

Lumerical University Courses:

Course_FDTD100 Course_SCRIPTING_v1

Copyright Lumerical Inc. | Privacy | Site Map