This page provides an example which uses the polarization ellipse analysis object that creates a plot of the polarization ellipse of a grating order. From the ellipse, it is easy to determine the primary polarization angle and the degree of circular polarization. In addition, this analysis group output the polarization handedness for all grating orders and wavelengths. In this example, the point of view of the receiver (against the propagation direction) polarization convention is followed.
The polarization ellipse analysis object can be found in the object library in the far field projections section.
Simulation setup
Structures
We create a nanowire polarizer with a series of rectangles of Perfect Electrical Conductor (PEC). These wires reflect S polarization, but allow P polarization to pass through. It is always a good idea to start an investigation with a very simple test case. Before studying the nanowire polarizer, we will check our analysis script by simulating a plane wave propagating through empty space. This is an ideal test case because we know the measured polarization should match the source polarization. Note, the structures outside the simulation region are just for visualization purpose.
Sources
The simulation uses two plane wave sources which allow us to simulate linear, circular, or elliptically polarized light in a single simulation. For example, to create circularly polarized light, set the amplitude of each source to 1. Set a 90 degree phase difference between the two sources. See the Circular polarization page for more information.
Simulation region
We use Bloch boundary conditions because the source is at a non-normal incidence.
Monitors
The Polarization ellipse analysis object is composed of a power monitor and some associated script commands. Lumerical provides many built-in analysis groups in our object library. Please press this button to open the online library of analysis groups and select the far field category to add a similar object to any simulation.
Results - polarization ellipse
It is always a good idea to start with a simple test case to ensure there are no errors in the simulation setup or analysis scripts. Therefore, we will start by disabling all of the structures in the simulation. With no structures, we can expect the polarization measured by the monitor to match the source polarization. By changing the source amplitude and phase, you should be able to reproduce the following results. Since there is no structure in this simulation, all of the light will be transmitted to the zeroth grating order in far field.
The title of the plot should indicate the grating order of interest, the grating order angles, the ellipse major axis angle and the major/minor axis ratio.
Disabling all of the structures (test case)
Linear polarization, 0 degree (P polarization) Source settings:
|
|
Linear polarization, 45 degree Source settings:
|
|
Circular polarization Source settings:
|
The above tests indicate that our simulation and analysis script are correctly setup. We can now move on to a slightly more complicated system, with the nanowire grating structure. This structure acts like a polarizer, allowing the P polarization to pass through, while reflecting most of the S polarization. After running the simulation with a circularly polarized source, we get the following polarization ellipse. The ellipse clearly indicates that most of the S polarization has been removed, as expected.
Enabling the structure
Circular polarization Source settings:
|
Extracting Gs, Gp data to text file
Since the analysis group only plots the polarization ellipse for 1 grating order at a time, one may want to extract all Gs, Gp information as a function of all grating orders and frequency points. User may use the below example command to export Gs_plot, and similarly for Gp_plot, to a text file (and then to Excel file for further analysis). Note that, the write command cannot export multi-fold matrix data to a single .txt file. The extraction of the first (Gs), second (n) and third (m) dimensions data is shown, user may further modify these lines to extract the fourth dimension (frequency). Please see, for , write , pinch , text file .
#clear; # may need to clear the script workspace
Gs_plot=getresult("polarztn_ellipse","Gs_plot");
Gs_plot=pinch(Gs_plot.Gs_all,4); # only pick the first frequency point
sz=size(Gs_plot); # size of each dimension
for(i=1:length(sz)) { # loop over the last dimension
write("Gs_plot.txt","slice "+num2str(i)); # slicing the third dimension
write("Gs_plot.txt",num2str(pinch(Gs_plot,length(sz),i)));
}
Results - Grating order strength and polarization handedness
The Grating order strength figure indicates that a fraction of the power is scattered to the (-1,0) grating order (about 60%). To check the polarization of this order, visualize pol in the Result View, then choose G to be the attribute. To see the exact numbers, press View Data in the attributes section. It is not necessary to re-run the actual simulation. To slice it over other frequency points, choose "lambda" in the parameter section and slice it to your wavelength of interest. In this example, the point of view of the receiver (against the propagation direction) polarization convention is followed. For detailed definition of the output quantities, please refer to the analysis group, Analysis -> Script tab.