Home Examples Screenshots User manual Bluesky logo YouTube 中文
OghmaNano Simulate organic/Perovskite Solar Cells, OFETs, and OLEDs DOWNLOAD

1. Why perform parameter optimization?

When optimising a device, an engineer or scientist is often interested in determining the optimum structure rather than simply exploring how a single parameter varies. As a simple example, a perovskite solar cell consists of multiple layers, each of which has a thickness that influences device performance. The question then becomes: what is the optimum thickness of each layer?

If the perovskite layer is made very thick, a large fraction of the incident light will be absorbed. However, the downside is that charge carriers must travel further to escape the device, increasing their residence time and, consequently, the probability of recombination. Conversely, if the layer is made very thin, carriers can be extracted more efficiently, but fewer photons are absorbed in the first place.

The situation is further complicated by optical interference effects. Light reflects multiple times at the interfaces within the device, setting up standing-wave patterns that strongly depend on the thicknesses of all layers. As a result, optimising a single layer in isolation is rarely sufficient; instead, several layer thicknesses must be optimised simultaneously.

To address this type of multi-parameter optimisation problem, OghmaNano provides a Fast optimizer within the scan window, which can efficiently search the parameter space and identify favourable device configurations.

2. Opening the example

In the New simulation window, under the Scripting and fitting sub-topic, several examples demonstrate multi-parameter optimisation workflows:

The example discussed on this page can be accessed via the New simulation button in the main window. This opens the New simulation browser shown in ??. From there, double-click Scripting and fitting to display the list of automation examples (??), then double-click Optical layer optimizer (Perovskite PV) to open the example referenced here.

OghmaNano New simulation window showing device categories and example libraries, including organic solar cells, perovskites, scripting and fitting, ray tracing, and FDTD examples
The New simulation window lists simulation categories and example libraries. Clicking New simulation in the main window opens this browser; double-click a category (e.g. Scripting and fitting) to view the available examples.
OghmaNano example list within Scripting and fitting showing entries including Optical layer optimizer (Perovskite PV) and Optical layer optimizer (PM6:Y6 OPV)
The Scripting and fitting examples list. Double-click Optical layer optimizer (Perovskite PV) to open the example used here; Optical layer optimizer (PM6:Y6 OPV) is an equally valid alternative.

3. Using the multi parameter optimizer

Once the simulation has been opened, navigate to the scan tool, which can be found in the Automation ribbon. Clicking the Parameter scan icon reveals a scan that has already been configured, labelled optimizer. Opening this scan brings up the window shown in Figure ??.At first glance, this scan window looks identical to the scan windows described in the previous section. The key difference is that the Fast optimizer button is enabled. When this mode is active, individual scan results are not written to disk. Instead, the relevant simulation metrics are collected internally and written out in a single table at the end of the optimisation run.

In this example, the thickness (dy) of the perovskite layer is varied between 300 nm and 500 nm in steps of 10 nm, while the thickness (dy) of the TiO2 layer is varied from 100 nm to 300 nm, also in steps of 10 nm. Try running the simulation. Once it has finished, use your file manager to navigate to the simulation directory and open the folder named optimize. Inside this folder you will find a CSV file called optimizer_output.csv. Opening this file in Excel or LibreOffice produces a table similar to that shown in Figure ??.

OghmaNano scan window with optimizer button active
The scan window with the Optimizer button selected, ready to run a device layer optimization.

If you examine figure 17.8 carefully you can see the first two columns are labelled epitaxy.layer2.dy and epitaxy.layer1.dy . These are the layer thicknesses we decided to change in the scan window. For every subsequent layer in the device there are two columns, labelled layerX/light_frac_photon_generation and layerX/J. These refer to the fraction of the light absorbed with in the layer and the maximum current this layer would produce if all the light absorbed within the layer were turned into current. Clearly if light is absorbed within the active layer it has a good chance of being turned into current, however if light is absorbed within the back metallic contact then there is little chance of that light being turned into electrical current. If you use the sorting tools included within Excel/LibreOffice you can figure out which device structures produce the most current.

Spreadsheet view of optimizer_output.csv showing layer thickness values, current densities, and photon generation results from a device optimization in OghmaNano
The optimizer_output.csv file opened in LibreOffice Calc, showing layer thickness parameters alongside calculated outputs such as current density and photon generation for each layer.