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

Large-area device simulation – Part B: Running the scan and interpreting resistance & voltage loss

Step 1: Run the scanning simulation

Start the scan by clicking Run simulation (blue triangle) or pressing F9. The terminal output will begin to stream (see ??).

Terminal output during scanning simulation showing solve node z and x indices
During the scan, OghmaNano steps through the mesh point-by-point. The solver reports the node indices (z and x here) as it computes the effective resistance from each bottom-point to the extraction contact.

What is happening physically is simple: OghmaNano is treating the contact as a 3D resistive network. It then applies a voltage excitation at one mesh point on the bottom surface, solves the circuit, extracts an effective resistance to the top extraction contact, and repeats this for the next point.

For a 40 × 40 scan, this means 40 × 40 = 1600 separate circuit solves. This is why the scan can take a while. You are not running a single JV sweep; you are running many small DC solves to build a spatial map.

💡 Practical note: If you increase the scan resolution substantially, runtime rises roughly with the number of scan points. Higher resolution gives you a cleaner map, but costs time.

Step 2: Understanding the electrical mesh

The scan resolution is controlled by the electrical mesh, defined in the Electrical tab under Electrical mesh (see ??). In this example we use 40 × 40 points in the x–z plane. The y-direction is set by the layer stack (i.e. the solver knows the vertical discretisation from the layers you define).

Electrical mesh editor showing 40 by 40 points in x and z
Electrical mesh settings. 40 × 40 is typically a good compromise between spatial resolution and runtime for exploratory work.

As a rough guide:

Step 3: Output files produced by the scan

When the scan finishes, go to the Output tab. You should see files like those in ??.

OghmaNano output tab listing device.csv, electrical_links.csv, electrical_nodes.csv, spm_R.csv, spm_R_x.csv, and Vlost_spm.csv
Output files produced by the scanning run. The key results are the resistance map (spm_R.csv), its slice (spm_R_x.csv), and the voltage loss map (Vlost_spm.csv).
Table 1: Key files produced by the scanning contact simulation
File name Description
electrical_links.csvList of resistive links (edges) in the 3D circuit mesh
electrical_nodes.csvList of circuit nodes (positions and connectivity) in the 3D mesh
spm_R.csvScanning probe microscopy resistance map (effective resistance vs position)
spm_R_x.csv1D slice through spm_R.csv showing resistance across the device
Vlost_spm.csvEstimated voltage loss (ΔV) at each scan point due to contact resistance

Step 4: Viewing the resistance maps and slices

Resistance map of the device showing low resistance near extraction bar and metallic mesh
Resistance map (spm_R.csv). Low resistance occurs near the extraction bar and metallic mesh lines; the highest resistance is typically deep inside a cell, far from both.
Resistance slice plot showing resistance increasing away from the contact with periodic dips near metal lines
Resistance slice from spm_R_x.csv. Resistance increases with distance from the extraction edge, with periodic drops where the slice passes close to metallic mesh segments.

Double-click spm_R.csv to view the resistance map (see ??). The colour scale represents the effective resistance between each bottom-surface point and the extraction contact.

In this example the resistances are on the order of ohms, which is a physically sensible scale for current-spreading in printed contacts. However, note that values approaching a few tens of ohms are not benign for many devices: a 30–40 Ω path from the active region to the external contact can severely reduce effective fill factor (PV) or cause brightness non-uniformity (OLED).

Double-click spm_R_x.csv to view a 1D slice through the map (??). This plot makes the physics explicit:

This is the key diagnostic: it tells you not only how bad the contact is, but where it is bad, and therefore what geometric/material modification would fix it.

Step 6: Configuring the scan (Scanning Probe Microscopy editor)

The scan you just ran is configured using the Scanning Probe Microscopy (SPM) editor. You can open it from the editor ribbon (see ??).

Editors ribbon highlighting scanning probe microscopy editor
Open the Scanning probe microscopy editor to configure the scan.
Scanning probe microscopy editor configuration with applied voltage and scan section
SPM scan configuration: applied voltage and scan section.

The configuration window (??) lets you choose the applied voltage and whether the scan covers the whole device or a subset. Subsets are useful for fast iteration when you only care about a particular region.

Step 7: Editing material resistivity (and why it matters)

To explore design trade-offs, you can edit the electrical parameters of each conducting layer. In the Device structure tab click Electrical parameters to open the electrical parameter editor (??). Here you can enter measured resistivities for your own materials and immediately predict how a scaled-up contact will behave.

Electrical parameter editor showing series resistivity setting for conducting layers
Electrical parameter editor: edit series resistivity for layers such as PEDOT:PSS.

This type of parametric exploration is precisely the point of modelling: you can quantify whether a better polymer, a denser mesh, or a different extraction layout gives you the biggest performance gain before committing to fabrication.

👉 Next step: Continue to Part C to edit the contact geometry (mesh pitch, line width, extraction layout) and optimise performance.





//make it act on all figures