Home Examples Screenshots User manual Bluesky logo YouTube
OghmaNano Multiphysics simulation platform for optoelectronic devices and photonic systems DOWNLOAD Quick Start guide

Bifacial Perovskite Solar Cell Simulation Tutorial: Dual-Side Illumination and Optical Analysis in OghmaNano

Conceptual illustration of a bifacial perovskite solar cell showing light entering from both the top and bottom surfaces of the device stack
A bifacial perovskite solar cell harvests light from both surfaces of the device. Sunlight enters through the top transparent contact, while reflected or diffuse light from the ground or module rear enters through the bottom transparent contact. The result is a higher effective photocurrent than a conventional monofacial design.

What is a bifacial perovskite solar cell?

A bifacial solar cell is a photovoltaic device designed to absorb light incident on both its front and rear surfaces simultaneously. In a conventional (monofacial) solar cell, only the top surface is illuminated; the rear contact is typically opaque, so any light reaching the back of the device is lost. In a bifacial architecture, both contacts are made transparent or semi-transparent — for example, using ITO (indium tin oxide) or FTO (fluorine-doped tin oxide) — allowing the rear surface to collect reflected, scattered, or diffuse irradiance from the surroundings.

For perovskite solar cells (PSCs), bifacial operation is particularly attractive because:

The bifaciality factor ηbif is defined as the ratio of the rear-side efficiency to the front-side efficiency:

\[ \eta_{\text{bif}} = \frac{\eta_{\text{rear}}}{\eta_{\text{front}}} \]

A perfect bifacial device would have ηbif = 1, meaning it performs equally well under illumination from either side. In practice, values between 0.7 and 0.95 are common for perovskite bifacial cells, depending on the asymmetry of the charge-transport layers and the transparency of each contact.

In OghmaNano, bifacial operation is modelled by adding two independent light source objects — one illuminating from the top (y0) and one from the bottom (y1) — and coupling both into the optical transfer matrix solver. This tutorial walks through the complete workflow, from loading the template simulation to analysing the resulting optical fields and JV characteristics.

Step 1: Create a new bifacial perovskite simulation

Start OghmaNano from the Windows Start menu or application launcher. When the start window appears, click New simulation. This opens the device library shown in ??. Double-click Perovskite cells to open the perovskite examples folder. You will then see the list of available perovskite templates shown in ??. Double-click Perovskite Bifacial Solar Cell (MAPI) to load the bifacial template. When prompted, choose a destination folder on a local drive (e.g. C:\simulations\bifacial) and click Save.

💡 Tip: Save to a local drive such as C:\. Simulations stored on network shares, USB drives, or cloud-synced folders (e.g. OneDrive, Dropbox) can run slowly due to frequent read/write operations.

OghmaNano new simulation window showing device type categories including Perovskite cells, OFETs, GaAs demos, FDTD examples, and tandem solar cells
The New simulation window lists all available device categories. Double-click Perovskite cells (highlighted) to enter the perovskite examples folder.
OghmaNano perovskite cell template list showing Perovskite Bifacial Solar Cell (MAPI), Perovskite solar cell (MAPI), CELIV example, frozen ions, and tandem Si-perovskite options
Within the perovskite folder, select Perovskite Bifacial Solar Cell (MAPI) and save it to a local directory of your choice.

Step 2: The main simulation window and device structure

Once the template is loaded, the main OghmaNano window displays the bifacial device in the 3D visualisation panel, as shown in ??. Notice the green arrows indicating light beams entering the device from both the top and the bottom surfaces — this is the defining feature of bifacial operation. The layer stack visible in the 3D view is air / FTO / TiO₂ / MAPI / Spiro / ITO / Glass / air, where both the FTO and ITO contacts are transparent, enabling dual-sided illumination.

OghmaNano main simulation window showing the 3D device structure of a bifacial perovskite solar cell with green arrows indicating light entering from both the top and bottom surfaces. Layer labels show TiO2, MAPI, Spiro, ITO, and Glass.
The main OghmaNano interface showing the bifacial perovskite solar cell. Green arrows above and below the device indicate that illumination is applied simultaneously from both the top (y0) and bottom (y1) surfaces. The full layer stack — air / FTO / TiO₂ / MAPI / Spiro / ITO / Glass / air — is labelled on the right. Click the Layer editor button on the left toolbar to inspect or modify individual layers.

You can inspect the layer stack in detail by clicking Layer editor in the left-hand toolbar. The layer editor window, shown in ??, lists each layer with its thickness, optical material assignment, layer type (contact, active, or other), and whether the optical problem is solved for that layer. The bifacial stack includes ITO as the rear transparent contact and a Glass superstrate below, both of which allow rear-side light to enter the MAPI absorber.

OghmaNano Layer editor showing the bifacial perovskite stack: air (50 nm), FTO (50 nm), TiO2 (200 nm), MAPI (400 nm), Spiro (200 nm), ITO (100 nm), Glass (200 nm), air (50 nm) with optical material assignments and layer types
The Layer editor for the bifacial perovskite cell. Note that ITO is used as the rear contact (replacing the opaque Au of a monofacial device), and a Glass superstrate sits below it — both are transparent to allow rear-side illumination to reach the MAPI absorber.

Step 3: Run the simulation and view the JV curve

Click the blue Run simulation button in the toolbar (or press F9) to start the steady-state JV calculation. Once the simulation has finished, switch to the Output tab. The output tab, shown in ??, lists all result files written to the simulation directory. Double-click jv.csv to open the JV curve viewer, as shown in ??.

OghmaNano Output tab showing simulation result files including jv.csv, charge.csv, optical_output, optical_snapshots, sim_info.dat, and snapshots for the bifacial perovskite solar cell
The Output tab lists all files produced by the simulation. Double-click jv.csv to plot the JV curve.
JV curve of a bifacial perovskite solar cell plotted in OghmaNano. The current density axis shows values approaching -500 A/m² at short circuit, approximately double the value expected for a monofacial device, due to dual-sided illumination.
The JV curve for the bifacial perovskite device. Note that JSC approaches −500 A m⁻² — approximately double the value expected for a monofacial perovskite cell — owing to photons being harvested simultaneously from both the top and bottom light sources.

The most immediately striking feature of the bifacial JV curve is the short-circuit current density JSC. For a typical monofacial MAPbI₃ perovskite device under 1 Sun illumination, JSC is approximately 200–250 A m⁻². Here, with two 1 Sun light sources applied (one from each side), JSC is roughly doubled, reaching values approaching 500 A m⁻². This directly reflects the bifacial gain: both surfaces are harvesting photons and generating free carriers in the MAPI absorber. The open-circuit voltage VOC shows a more modest increase, because VOC depends logarithmically on photocurrent.

💡 Show answer

JSC is directly proportional to the photogeneration rate in the absorber, so doubling the incident photon flux approximately doubles the short-circuit current. VOC, on the other hand, is related to photocurrent through a logarithmic relationship: VOC = (nkBT/q) ln(JSC/J0). Doubling JSC therefore increases VOC by only nkBT/q × ln(2) ≈ 18 mV at room temperature — a small but measurable improvement.

Step 4: Inspect the light source configuration

To understand how the dual illumination is configured, navigate to the Optical ribbon at the top of the main window (see ??) and click Light Sources. This opens the Light source editor, which lists all light source objects associated with the current simulation.

OghmaNano Optical ribbon showing buttons for Light Sources, Lasers, Transfer Matrix, Optical Outcoupling, Ray tracing editor, Optical Detectors, FDTD Simulation, Mode Calculator, Optical thickness, Optical mesh, and Boundary Conditions
The Optical ribbon. Click Light Sources (far left, lighthouse icon) to open the light source editor and inspect the dual illumination configuration.

In the light source editor, you will see two entries in the left panel: Top and Btm (bottom). Selecting each one and clicking the Configure tab reveals the illumination direction. The three figures below show the general object properties (??), the top light source configured to illuminate from Top (y0) (??), and the bottom light source configured to illuminate from Bottom (y1) (??).

OghmaNano light source editor Object tab showing the general object properties of the Top light source, including object type, offset, xyz size, steps, rotate, and colour fields
The Object tab shows general properties of the selected light source object, such as its type, position offset, size, and display colour. The lighthouse icon identifies it as a light source within the device model.
OghmaNano light source editor Configure tab for the Top light source, showing Illuminate from set to Top (y0), with beam shape Square and 10×10 beams
The Configure tab for the Top light source. The field Illuminate from is set to Top (y0), directing light downward into the device through the FTO contact — simulating direct sunlight on the front surface.
OghmaNano light source editor Configure tab for the Btm (bottom) light source, showing Illuminate from set to Bottom (y1), with beam shape Square and 10×10 beams
The Configure tab for the Btm (bottom) light source. Illuminate from is set to Bottom (y1), directing light upward through the Glass and ITO rear contact — simulating albedo or reflected irradiance reaching the rear surface in a bifacial installation.

Together, these two light source objects replicate real-world bifacial operating conditions: direct solar irradiance enters from the top (y0) through the FTO contact, while diffuse or reflected irradiance enters from the bottom (y1) through the glass superstrate and ITO contact. Both sources use the same AM1.5G spectrum by default, which corresponds to the case where the rear irradiance equals the front irradiance — a useful upper bound for bifacial gain analysis. In practice, rear-side irradiance is typically 10–30% of front-side irradiance, which can be adjusted by modifying the light intensity in each source's Light source tab.

Step 5: Optical analysis – photon distribution and absorbed photon density

After running the simulation, return to the Optical ribbon and click Transfer Matrix. This opens the optical simulation editor, which provides detailed visualisations of the optical field within the device. Three key outputs are shown in the figures below: the total photon distribution (??), the absorbed photon density (??), and the collapsed 1D generation rate profile (??).

OghmaNano optical simulation editor Photon distribution tab showing a 2D colour map of photon density as a function of wavelength (300–900 nm) and device y-position (0–1.2 µm). Bright regions are concentrated at the left edge of the device, consistent with illumination entering from the top FTO contact.
Photon distribution: the density of photons (m⁻³) as a function of wavelength and position within the device stack. The bright region at low y-position (left) corresponds to the top light source entering through the FTO; a complementary distribution from the bottom source is visible at higher y-positions.
OghmaNano optical simulation editor Photon distribution absorbed tab showing a 2D colour map of absorbed photon density as a function of wavelength and y-position. The absorption is strongly concentrated in the MAPI layer (between approximately 0.3 and 0.7 µm) across wavelengths up to 800 nm.
Absorbed photon density: the density of photons absorbed per unit volume (m⁻³ s⁻¹) across the device. Absorption is strongly localised within the MAPI perovskite layer (y ≈ 0.3–0.7 µm), with contributions from both the top and bottom light sources visible as distinct absorption features at each edge of the absorber.
OghmaNano optical simulation editor Generation rate tab showing the spectrally integrated generation rate profile (m⁻³) plotted against device y-position. Two distinct peaks are visible at the TiO2/MAPI and MAPI/Spiro interfaces, corresponding to photon absorption from the top and bottom light sources respectively. The device energy level diagram is superimposed.
Generation rate (1D profile): the spectrally integrated generation rate plotted as a function of device position. Two distinct peaks are clearly visible — one near the TiO₂/MAPI interface (top illumination) and one near the MAPI/Spiro interface (bottom illumination) — confirming that both light sources contribute meaningfully to photocurrent generation.

The two-peaked generation rate profile in ?? is a direct signature of bifacial operation. In a monofacial device illuminated only from the top, a single peak would be observed near the top (FTO/TiO₂/MAPI) interface, decaying exponentially through the absorber in accordance with Beer-Lambert absorption. With rear-side illumination added, a second symmetric peak appears near the bottom (MAPI/Spiro/ITO) interface. The combined generation profile leads to more uniform charge generation across the entire absorber thickness — which can also improve charge extraction and reduce recombination losses in thick absorber layers.

Step 6: Reflectance and transmittance spectra

Still in the optical simulation editor, click the Reflected light tab to view the reflectance spectra from both surfaces of the device (??). Then click Transmitted light to view the transmission spectra (??).

OghmaNano Reflected light tab showing two reflectance spectra (reflect0.csv in blue and reflect1.csv in red) plotted against wavelength from 300 to 900 nm. Both curves show oscillatory thin-film interference features. The spectra differ in magnitude and phase due to the asymmetric layer stacks seen from each surface.
Reflected light spectra from the top surface (reflect0.csv, blue) and the bottom surface (reflect1.csv, red). Both show oscillatory thin-film interference fringes arising from the multiple interfaces in the stack. The spectra differ in shape because the layer sequence seen by incoming light is different from each side.
OghmaNano Transmitted light tab showing two transmittance spectra (transmit0.csv in blue and transmit1.csv in red) plotted against wavelength. The two curves are almost indistinguishable from each other above approximately 550 nm, consistent with the optical reciprocity theorem.
Transmitted light spectra through the device from the top (transmit0.csv, blue) and bottom (transmit1.csv, red) directions. Note that the two curves are essentially identical above the perovskite absorption edge (~550 nm), which is a consequence of the optical reciprocity theorem: the transmittance of a passive linear optical stack is the same regardless of which direction light travels through it.
💡 Show answer

Transmittance is governed by the optical reciprocity theorem: for any passive linear optical system (no gain, no nonlinear effects), the transmittance from port A to port B equals the transmittance from port B to port A. The total amount of light that passes completely through the stack is therefore the same regardless of illumination direction. Reflectance, by contrast, depends on the specific sequence of interfaces encountered by the incoming beam — which differs between the top and bottom surfaces — so reflect0.csv and reflect1.csv can, and generally do, differ.

Step 7: Comparing single-sided illumination by disabling the bottom light source

To see how the optical distribution changes when only one light source is active, return to the Optical ribbon and click Light Sources to reopen the light source editor. In the left panel, select the Btm light source. In the toolbar at the top of the editor, the button currently reads Enabled (green tick icon). Click it to toggle the bottom light source to Disabled. Then click Run optical simulation in the optical simulation editor to update the optical output with only the top light source active.

The updated photon distribution, absorbed photon density, and 1D generation rate profile under single-sided (top-only) illumination are shown below in ??, ??, and ??.

OghmaNano photon distribution 2D map under monofacial (top-only) illumination. The bright absorption region is now concentrated only at the left side of the device (low y-position), corresponding to light entering through the top FTO contact only. No absorption feature is visible at the right (high y-position) side.
Photon distribution – top illumination only. With the bottom light source disabled, the photon density is concentrated at the top (low y-position) of the device. No contribution from the rear surface is present.
OghmaNano absorbed photon density map under top-only illumination. Absorption is asymmetrically concentrated at the TiO2/MAPI interface (left side), with absorption decaying toward the MAPI/Spiro interface. The pattern is typical of a monofacial perovskite device.
Absorbed photon density – top illumination only. Absorption is now asymmetric, peaking near the TiO₂/MAPI interface and decaying through the absorber. Compare with the bifacial case where absorption from both sides creates a more uniform profile across the MAPI layer.
OghmaNano 1D generation rate profile under top-only illumination. Only a single peak is visible near the TiO2/MAPI interface. The second peak near the MAPI/Spiro interface that was present under bifacial illumination is absent.
Generation rate profile – top illumination only. Only a single peak is present, near the TiO₂/MAPI junction. The second peak from the bottom light source has disappeared, confirming that the bifacial signature (two peaks) was due entirely to the dual illumination configuration.

The contrast between the bifacial and monofacial optical results clearly illustrates the physical origin of the bifacial current enhancement. With only the top light source active, the generation rate peaks sharply near the illuminated interface and decays exponentially through the absorber. With both sources active, a second, symmetric peak appears from the rear, and the total integrated generation rate — and therefore JSC — is approximately doubled.

Summary and what you have learned

In this tutorial you have:

👉 Next steps:

  • Try modifying the intensity of the bottom light source (in its Light source tab) to values of 0.1 and 0.3 Suns, which correspond to more realistic rear irradiance levels in a bifacial field installation. Observe how JSC, VOC, and PCE change.
  • Return to the Perovskite Tutorial Part B to explore how the optical stack and absorber thickness affect the optical performance of a monofacial device.
  • Explore the perovskite solar cell simulation overview for a broader introduction to the physics implemented in OghmaNano.