Basic Tutorial

Here, a step-by-step tutorial making use of basic SiQAD design features and ground state charge simulation tools is provided. After going through this tutorial, feel free to experiment with our previously published design files from [NRC+20].

Common Operations

First, let’s go over some common GUI operations:

  • Document saving and loading can be accessed through the “File” entry on the menu bar.

  • When Select Tool select_tool_fig is active, common operations such as cut, copy, paste, and delete are present either through keyboard shortcuts or through the right-click menu.

  • DBs can be grouped together by Ctrl+g for convenient group manipulation; they can be ungrouped by Ctrl+Shift+g. Grouped DBs are called Aggregates.

ORMod Ground State Finding Example

This is a basic tutorial which aims to walk through a simple silicon dangling bond (DB) design and simulation use case. This knowledge is sufficient to get researchers started with DB gate and circuit design. We assume that you have already acquired SiQAD on your machine; if not, please refer to the preceding document.

If you are confused at any step, please consult the documents under the Details heading on the sidebar. Failing that, feel free to reach out to the developers: siqaddev@gmail.com

In this example, we recreate ORMod from [NRC+20]. The expected charge configurations are:

../_images/or_mod_siqad_paper.png
  1. Using the DB Gen Tool dbgen_tool_fig on the side toolbar, draw the ORMod00 configuration in the design panel:

../_images/or00_despan.png
  1. We would like to find the ground state charge configuration for this DB layout. Click on New Job jobnew_fig (hotkey: Ctrl+r) in the top toolbar to access the Job Manager. Double click on ExhaustiveGS on the Engine List to add it to the Job Step List. The Job Manager should now look like this:

../_images/or00_jobman.png

Note

ExhaustiveGS exhaustively searches through all possible charge configurations to find the ground state charge configuration. It scales at \(\text{O}(N^3)\) where \(N\) is the number of DBs. Do not use it for large (~15+ DBs) problems.

  1. Without altering any other settings, run the simulation. The resulting simulation result should be identical to the following figure. At the right, the Sim Visualize simvis_fig panel containing information related to the simulation also appears. When the Sim Visualize simvis_fig panel is active, Simulation Visualization Mode is also active in the design panel which prevents design changes to be made.

../_images/or00_simviz.png

Note

Since this is a simple simulation, you should receive the result almost instantaneously on a modern machine. If this is not the case, view the Job Logs joblogs_fig and check the latest log (top) for the potential cause.

  1. Close the Sim Visualize simvis_fig panel in order to exit Simulation Visualization Mode (hotkey: v). Add an input perturber to create the 10 input combination, and run the simulation again with identical settings. The resulting charge configuration disagrees with the expected configuration, we are one negative charge short:

../_images/or10_mu25_simviz.png
  1. Revisit the Plugin Runtime Parameters in the Job Manager and notice that the mu value (corresponding to \(\mu_-\) in [NRC+20]) is \(-0.25\) meV, whereas [NRC+20]’s ORMod simulations had used \(\mu_- = -0.28\) meV. Let’s change the mu value to \(-0.28\) in Plugin Runtime Parameters:

../_images/or10_mu28_jobman.png
  1. The simulation result now aligns with the expected configuration:

../_images/or10_mu28_simviz.png

From here, you can experiment with SimAnneal, a ground state charge configuration finder which implements a custom simulated annealing algorithm. The default settings generally work well for DB layouts with \(\lesssim 80\) DBs, the \(\mu_-\) and “Instance count” values are generally the ones that are modified. Please refer to Ground State Charge Config Finders for more information related to SimAnneal.