Simulation modes and simulation editors
Simulation modes and simulation editors
OghmaNano uses a modular architecture that enables the core solver to perform a variety of simulation types using . For example there is a plugin to perform steady state JV simulations, another plugin to perform frequency domain simulations, and another to calculate the Quantum Efficiency. They all leverage the same OghmaNano core solver but run it in a slightly different way with custom inputs and outputs. A list of the plugins and what they do can be found below:
-
Plugins for various types of experiment
- jv – Calculate steady-state JV curves.
- suns_jsc – Simulate suns vs. Jsc curves.
- suns_voc – Suns vs. Voc simulations.
- eqe – Simulate EQE.
- cv – Capacitance–voltage simulations.
- ce – Simulate charge extraction experiments.
- time_domain – Time-domain solver for transient simulations.
- fx_domain – Simulate frequency-domain response (electrical and optical excitation).
- pl_ss – Calculate PL spectrum in steady state.
- mode – Solve optical modes in 1D/2D waveguides.
- spm – Simulate scanning probe microscopy in 3D electrical simulations.
- equilibrium – Equilibrium electrical simulations.
- exciton – Exciton simulations.
- mesh_gen – Generate meshes.
-
Optical solver plugins
- fdtd – Finite Difference Time Domain (FDTD) optical solver.
- optics – Optical transfer matrix solver for 1D structures.
- light_full – Optical transfer matrix solver.
- light_qe – Calculate optical profile using experimental quantum efficiency.
- light_exp – Calculate optical profile assuming exponential light propagation in 1D structures.
- light_flat – Calculate optical profile assuming flat profiles in the structure.
- light_constant – Use user-given generation rates in optical structures.
- light_fromfile – Load generation rate from a file.
In the simulation editors ribbon (see Figure 4.1) you can see icons that represent each plugin, these are the simulation editors. By
clicking on an icon in this ribbon you will be able to edit how the plugin performs the various simulations. For
example in the JV simulation editor one can change the start/stop voltages of a voltage sweep. The JV editor can be
seen in Figure [fig:jv_low]. Within
each simulation editor the user can define multiple so called experiments. This can be seen in below in
Figure [fig:jv_low] and Figure
[fig:jv_high], where two JV scans
have been defined within the JV editor, one called JV curve - low voltage and another called JV curve
- high voltage. One has a start voltage of 0.02V and stop voltage of 1.0V, while the other has a start voltage
of 1.0V and a stop voltage of 10V. This feature is most useful in more complex experiments such as in time domain
experiments where one may want to simulate multiple different voltage/light ramps/pulses for one device. There is
no limit to how many experiments can be defined for each plugin.

[fig:jv_low]
[fig:jv_high]
Once an experiment has been defined an icon representing it will appear in the simulation mode ribbon shown in figure 4.2. You can see in the figure an icon for JV curve low voltage and JV curve high voltage that were defined in Figure [fig:jv_low] and [fig:jv_high]. You can see in Figure 4.2 that JV curve low voltage is depressed. This means that when the simulation is run this simulation mode will be executed. If you select another simulation mode, then when the play button (or F9) is pressed that simulation mode will be run. Only one simulation mode can be run at a time.
