Instruction_Manual

1.       Download and unzip Quantillion.zip file in your working directory.

2.       The GUI is launched by the run.cmd file. It allows to create projects with different parameter sets and save them in user-defined folders.

3.       Select the Level configuration settings tab:

4.       Press the “New config” button at the bottom of the screen:

 

Provide a configuration (project) name:

Save the project in a directory of your choice:

5.       If you have already created a project, use the “Open” button to load it:

6.       “Save” and “Save as” buttons save the current project and changes the project name and location, respectively.

7.       When the project is saved, the GUI creates a directory tree consisting of 3 directories:

a.       Results, where the results from the simulations are stored,

b.       DiscardedResults for visualisation purposes, and

c.       Continue, where the program restarts from a previous time moment if it has been interrupted (more details in the Results tab description below).

8.       In the “Number of levels” drop-down menu in the top left, select 4. For this demo to work, the number of levels needs to be set to 4.

9.       The number of population terms is automatically calculated. Select the resonant dipole (QD) density in m-3.

For example:

10.   Go to the “Level configuration” panel and add 4 levels by clicking four times on the “+” button:

Four energy entries () will appear in the leftmost column.

11.   In the “Levels” column, opposite  (ground-state energy) type “1,3”; this means levels 1 and 3 are the degenerate ground levels.

12.   Opposite  type “2,4”; these are the excited degenerate levels with energy .

13.   Do not type anything opposite  and . The panel should now look like this:

14.   Go to the “Energy separation and resonant transitions” panel and enter the known energy separation between pairs of levels.

For example, for the degenerate 4-level system considered, type -, - and - and their corresponding values and units (eV, meV, or meV). The energy separation may be set between any pair of levels, however it is important to set up the levels involved in the resonant transitions.

Press the “Show Level Diagram” button in the bottom left of the window to show the selected level configuration, depending on the values of the energy level separations entered. The arrow denotes a resonant transition, which is set in the “Allowed transitions” panel described in the next step. Go back by pressing the “Back” button.

15.   In the “Allowed transitions” panel, set dipole allowed transitions by ticking the corresponding element in the matrix; for example tick (, ) to indicate a level 1-to-2 transition. Note that selections are symmetric, i.e. the 2->1 transition will be automatically selected as well.

For this demo to work, you need to select the 1->2 and 3->4 transitions, which are allowed for circularly polarised light in a QD trion, for example.

16.   In the “Longitudinal relaxation times” panel, enter spontaneous emission times and all other longitudinal relaxation times (e.g. spin relaxation / spin-flip processes) in the corresponding matrix elements. Please note that the relaxation times are in seconds by default, and therefore the right order of magnitude needs to be selected from the “Scale factor” drop-down menu (e.g. fs = 1.0e-15, ps = 1.0e-12, ns = 1.0e-9, etc.)

For the specific example of a trion transition considered, the panel should look like this (not necessarily with these values):

If a certain transition is forbidden, enter a large number – for example 1e100 – in the corresponding box.

17.   Set the decoherence (dephasing) times in the panel entitled “Transverse dephasing rates”. Again, the default unit is seconds, so make sure to set the correct magnitude in the “Scale factor” drop-down menu.

18.   Set the dipole moments for the allowed transitions, in Coulomb metre units, in the “Dipole Moments” panel.

If the dipole moment is set for one of the transitions (for example, 1->2), the other (2->1) is automatically set up with the same value.

19.   Open the Structure geometry tab:

20.   In the “Common parameters” panel, select the spatial discretisation step (“Discretisation Delta Z”) in metres, the pumping central wavelength in nanometres, and the shrinking percentage for AlO layers (if used):

21.   In the “Layers definition” panel – the multilayer constructor – the structure layers are defined one by one with the respective parameters (thickness, refractive index, and aluminium content at the pulse wavelength given in the “Wavelength” field):

When “GRIN” is ticked

 

When “Calculate Refractive index for AlGaAs” is unticked

 
­­­

For example, starting with Layer 1: the layer location – namely in the bottom DBR mirror, cavity, or top DBR – needs to be specified from the “Type” drop-down menu. Then, the layer thickness is specified in nanometres. Comments describing the layer can be entered by clicking the “Comments” button; these will be written to the project data file. If no thickness is entered, it is computed as a quarter-lambda layer (). The refractive index for an arbitrary material can be manually input when the “Calculate Refractive index for AlGaAs” box is unticked. Alternatively, it can be calculated automatically by ticking this box; in this case, a quantum-mechanical built-in program for AlGaAs alloys calculates the refractive index, depending on the given wavelength and the Al composition entered in the “Alum. Cont. 0<x<1 for unitCell” field. If the ‘GRIN’ box is ticked, this means that the layers have a gradient refractive index; in this case, two values for the refractive index must be entered – for the left and right ends of the layer.

Next to the “Thickness” field is the “Oxidized” box which, if ticked, applies the Shrinking Percentage (defined in the “Common parameters” panel) to the thickness. This function is applicable to AlO layers only.

Sublayers can be defined for each layer, and the layer/sublayer combination can be repeated multiple times. Layers can be added, inserted (between other layers) and removed using the buttons “Add layer”, “Add sublayer” , “Insert layer/sublayer” and “Remove layer/sublayer”. These operations can be applied multiple times. To confirm the current layer, press “Update layer/sublayer”. As a result, the refractive index profile of the structure will be generated, and can be visualised by pressing the “Show graphics” button. In addition, there is a slider in the bottom right-hand corner which can zoom in or stretch the structure:

22.   The user can select monitors for sampling the time dynamics at various spatial points along the structure geometry. This can be done by holding down Ctrl and left-clicking the mouse at the desired point. To remove a monitor, drag a rubber-band rectangle around it with the mouse. For future reference, creating and removing monitors is also explained in a tooltip brought up by clicking on “?” next to the “Show graphics” button. The monitors appear as red points superimposed on the refractive index profile, like so:

 

The spatial coordinates of the monitor points appear in the fields labelled “Spatial points positions”. The left and right ends of the active layer are always selected and cannot be removed (in this case, the two very closely spaced points with co-ordinates 49221 and 49260 in the example above). This is to allow to always sample the time dynamics within the boundaries of the active layer, where the pulse excites the populations and coherences between the levels. The remaining two monitor points selected in the example, with co-ordinates 48545 and 50017, in this case sample the electric-field dynamics in the cavity. Up to 10 monitor points can be selected; their location can be anywhere along the structure or within the active layer.

In addition, there are another two fixed monitor points at the input and output structure facet (not shown on the graphics above). The trace sampled at the input facet is used to display the time evolution of the applied pulse or pulse sequence in the Results tab. The trace sampled at the output facet is used to plot the time evolution of the field components of the emission out of the structure. For more details, see the description of the Results tab below.

23.   Open the Input pulse sequence tab:

24.   Select the number of pulses from the “Number of pulses applied” drop-down box:

The maximum number of pulses in a pulse train is limited to 10 in the full version of the program. In the demo, the number of pulses is limited to 1.

25.   Definition of the characteristics of each pulse in the sequence is set up from the following panel:

The pulse shape is selected from the “Pulse shape” drop-down menu. In the full version of Quantillion, current choices available are: cw, Sech, Gaussian, Gain validation (sinusoid switched on from 0 to 1 within 5 periods), and Gaussian random noise. In the demo, however, only a Gaussian pulse will work.

The pulse central wavelength is manually entered in the corresponding field in microns; the pulse frequency (in THz) is automatically computed from the wavelength and displayed in the box next to it.

The pulse polarisation is selected from the “Polarization” drop-down menu. The polarization is applied to any pulse shape selected in “Pulse shape” menu. Available selections in the full version are: X-linear polarisation, Y-linear polarisation, Left circular/elliptical and Right circular/elliptical polarisation. However, the demo will only work for Left circularly (elliptically) polarized pulses.

The pulse duration is manually entered in the “Pulse duration” field; fs or ps units can be selected from the drop-down menu next to it.

The initial electric-field pulse amplitude can be selected in two ways:

1.     Through the pulse area, when the box “Use pulse area” is ticked, and a pulse area in the range from  /4 to 2 must be selected from the drop-down menu “Desired pulse area”.

2.       When the “Use pulse area” box is unticked, the initial pulse amplitude can be entered manually in V/m units:

The delay of each pulse can be independently input in the “Delay” field with the corresponding unit (fs, ps, ns) from the drop-down menu next to it.

After setting up all the parameters, the “Apply” button must be pressed, in order for the changes to take effect. A red frame will appear around this panel if the program detects that changes have been made but have not been applied.

The selected pulse shape in the time domain, and its Fourier transforms as a function of frequency and wavelength, are then immediately computed and the corresponding graphs plotted in the lower three panels:

26.   By default, the pulse origin (the spatial position along the structure from which the pulse is launched) is either at the left or at the right boundary of the structure. In this demo, the pulse is applied at the right boundary. In the full software version, however, the user can choose a different pulse origin, by selecting a point on the structure refractive index profile. The user can select the point using the combination Ctrl-Left mouse button (click on “?” for help on point selection), and the point appears in red, as shown below:

Once selected, the pulse origin co-ordinate (expressed in terms of number of spatial discretisation steps) appears in the field labelled “Position”, above the refractive index profile. The pulse propagates from that point in both forward and backward directions.

27.   Open the Boundary conditions tab:

 

28.   Select the boundary conditions separately for the left and right boundaries of the simulation domain. In the full version of Quantillion, the following sets of boundary conditions are available:

1.       Absorbing (Engquist-Majda) BC

2.       Perfectly reflecting BC

3.       Perfectly matched layers (PML)

4.       Periodic BC

In the demo, only the absorbing boundary condition can be imposed.

29.   The reflection coefficient of each boundary can be selected manually and works only if the “Absorbing BC” has previously been selected.

30.   In the “Grid settings” panel, all fields in the column “Field values” are editable. Here, the user can input the stability (Courant) parameter for the FDTD method – opposite the “Stability parameter” field. (The default is 1.)

The time points saved per file (or how frequently the output results will be saved) is an important parameter, since the frequency of writing the results to disc affects the code speed and performance. This can be configured from the field next to the label “#Time points saved per file”. (In this example, it is 2,000,000 time steps.) These output files are written in the Results directory. The maximum number of spatial monitors is given in the field “#Monitors”, and it should be set to 10.

31.   The simulations can be started by pressing the “Start calculations” button.

32.   After starting the program, it can be stopped and restarted as and when desired. The program saves all calculations until the moment of interruption. The user can choose the time step from which she or he wishes to resume the simulation. This can be done by entering the new initial time step number in the field next to “Simulation start time in steps”. When the program is run for the first time, the initial time step of the simulation should be set to 0. The start time step for subsequent runs can also be set from the Results tab (more details below).

33.   The rest of the parameters – namely “Maximum iterations” and the relative error between the subsequent iterations, “Accuracy” – concern the numerical procedure implemented in the code. The optimum choice parameters are already given.

34.   Open the Results tab:

 

In this tab, the user can visualise the calculated time evolution of the electric-field pulse components and level populations at the previously set monitor points.

The upper left and right panels are fixed at the output and input facets of the structure, respectively, and cannot be changed or removed by the user. In this particular example, the right panel shows the time evolution of the input pulse that is incident at the right simulation domain boundary, while the left panel shows the time evolution at the output facet – i.e. the cavity emission trace in time:

 

The middle panels visualise the time evolution of the electric-field components (in this case, of a circularly polarised pulse), the level populations at the fixed points corresponding to the left and right ends of the active layer, as well as the additional monitors selected in the Structure geometry tab. The monitor which the user wishes to display can be selected from the “Spatial Point” drop-down menu. The menu shows the spatial co-ordinate of the monitor point as an identifier. Note that the left and right ends of the active layer are fixed, and in addition to their co-ordinate are identified as “QD left” and “QD right”:

 

The time dynamics of the variables of interest (in this case, electric-field components at two points selected within the cavity) are shown when the corresponding monitor is selected in the drop-down menu:

 

The visualisation can be performed “on the fly” while the code is being executed, or “off-line” when the results have already been computed. The time step – or, equivalently, the moment in time that is to be visualised – is selected in the “Select time step” drop-down menu:

Progress Bar

 

The time corresponding to the time step (in picoseconds) is automatically displayed in the adjacent field. The “Update” button should be pressed every time a different time step is to be visualised. The updated results will be shown once the progress bar has indicated completion of the job.

The spatial dynamics of the electric-field pulse components and level populations at the selected time moment is displayed in the lower left panel:

When the “Zoom” box is ticked, the “Slide” up and down arrows move the zoomed portion of the plot along the structure:

The simulations can be stopped at any time by pressing the “Stop calcs” button.

When a continuation of a previous simulation in time is required, the starting time step must first be selected, then the “Continue calcs” button is pressed. The files from the last computed time step (or the selected time step) are copied in the “Continue” directory and the simulations resume from that moment on.