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

Exciton Domain Tutorial (Part A): Run a 3D Exciton Domain Simulation

1. Introduction

Understanding how excitons are generated, transported, and dissociated is central to the operation of bulk heterojunction (BHJ) organic solar cells. In these systems, light is absorbed predominantly in the donor phase, generating bound electron–hole pairs known as excitons. These excitons must diffuse through the donor material and reach a donor–acceptor interface before decaying. At the interface they may dissociate into free electrons and holes, with a probability determined by the local morphology, dimensionality, and the relevant kinetic rate constants.

The balance between exciton diffusion, interfacial dissociation, and competing loss processes therefore plays a decisive role in setting the effective photogeneration efficiency. However, explicit exciton modelling has historically been avoided not because of conceptual difficulty, but because of parameter uncertainty. Exciton diffusion lengths, lifetimes, interfacial dissociation rates, radiative and non-radiative decay channels, and annihilation processes were often poorly constrained for a given material system. In many practical modelling workflows these effects were therefore absorbed into a single scalar photon efficiency factor, \(\eta_{\mathrm{photon}}\), representing net geminate losses without resolving the underlying transport and kinetics.

This situation is now changing. Advances in experimental characterisation are beginning to provide direct measurements of exciton lifetimes, diffusion lengths, and loss channels in BHJ-like systems. As these parameters become better constrained, explicit exciton-domain modelling becomes increasingly informative—not as a means of predicting absolute device efficiencies, but as a way to explore how domain size, dimensionality, and material kinetics jointly determine an effective charge-generation yield. The exciton-domain model used in this tutorial was developed and published as part of this recent experimental–modelling work (see, for example, Nature Materials 21, 55–61 (2022)).

In this tutorial we therefore adopt an idealised but fully three-dimensional unit-cell geometry: a donor domain embedded within an acceptor matrix, represented initially as a donor sphere inside an acceptor box. While the geometry is simplified, the model treats exciton generation, diffusion, interfacial dissociation, and competing loss processes explicitly. This makes it a practical and physically transparent framework for exploring how experimentally measured parameters interact, for checking their internal consistency, and for developing intuition about how morphology and kinetics together control the effective photogeneration efficiency in three dimensions.

2. Governing equations

In this tutorial, exciton transport is treated explicitly by solving the three-dimensional exciton diffusion equation throughout the simulation domain. When the exciton model is enabled, optical absorption feeds directly into the exciton population, which then evolves according to the following equation:

\[ \frac{\partial X}{\partial t} = \nabla \cdot \left( D \nabla X \right) + G_{\mathrm{optical}} - k_{\mathrm{dis}} X - k_{\mathrm{FRET}} X - k_{\mathrm{PL}} X - \alpha X^2. \]

Here \(X(\mathbf{r},t)\) is the exciton density (\(\mathrm{m^{-3}}\)) and \(D\) is the exciton diffusion coefficient (\(\mathrm{m^2\,s^{-1}}\)). The source term \(G_{\mathrm{optical}}\) (\(\mathrm{m^{-3}\,s^{-1}}\)) represents exciton generation due to optical absorption. The remaining terms describe the competing processes that remove excitons from the population:

The diffusion coefficient \(D\) is parameterised using an exciton diffusion length \(L\) (m) and exciton lifetime \(\tau\) (s) via

\[ D = \frac{L^2}{\tau}. \]

In this tutorial we run an exciton-only simulation: the solver computes the three-dimensional exciton density \(X(\mathbf{r})\) and the associated reaction terms, but it does not solve electron and hole transport. The dissociation term \(k_{\mathrm{dis}} X\) is therefore interpreted as a spatially resolved potential charge-generation rate, indicating where and how efficiently excitons would convert into free carriers at donor–acceptor interfaces.

3. Create the exciton-domain simulation

Open the New simulation window (Figure ??). This can be accessed by clicking New simulation in the main window. If you double-click on Exciton simulations, you will see the exciton library (Figure ??). Double-click Exciton domain to open the example project.

OghmaNano new simulation window showing categories including exciton simulations
The New simulation window. Double-click a category to browse example simulations.
Exciton simulations library showing Exciton domain and other exciton examples
The exciton library. Double-click Exciton domain to open the donor-sphere / acceptor-box example.

4. Inspect the geometry and parameters

After opening the example, the main window displays a simple three-dimensional scene: a donor sphere embedded inside an acceptor box (Figure ??). The green rays indicate illumination incident from above. To inspect the exciton parameters, click Electrical parameters in the left-hand panel (within the Device structure tab). This opens the electrical parameter editor. If you scroll to the bottom of this window, you will find a section labelled Excitons, where the exciton-specific parameters are listed separately for each object in the scene (the surrounding layer and the embedded sphere), as shown in Figures ?? and ??.

The exciton section defines the parameters appearing in the diffusion–reaction equation. These include the exciton scattering length \(L\), which sets the diffusion coefficient via \(D = L^{2}/\tau\), and the exciton lifetime \(\tau\), which controls the overall timescale for transport in the absence of additional loss channels. Radiative recombination is described by the photoluminescence rate \(k_{\mathrm{PL}}\), while non-radiative energy transfer processes are captured by the Förster-type rate \(k_{\mathrm{FRET}}\). At higher exciton densities, bimolecular annihilation is included through the coefficient \(\alpha\), corresponding to the \(-\alpha X^{2}\) term in the governing equation. Finally, the dissociation rate \(k_{\mathrm{dis}}\) specifies how efficiently excitons convert into charge-transfer states at donor–acceptor interfaces and is the key parameter controlling the effective charge-generation efficiency in this model.

Main OghmaNano window showing donor sphere in acceptor box with illumination
The exciton-domain example geometry: donor sphere embedded in an acceptor matrix, illuminated from above.
Electrical parameter editor (layer) showing exciton parameters including scattering length and lifetime
Exciton parameters for the layer (acceptor region). This region typically acts as a strong dissociation sink in this example.
Electrical parameter editor (sphere) showing exciton parameters including k_PL in the donor sphere
Exciton parameters for the sphere (donor region). Here, radiative loss (\(k_{\mathrm{PL}}\)) provides a competing decay channel.

The key conceptual feature of this example is that the sphere (donor) and the layer (acceptor matrix) use different exciton physics. In the screenshots above, the donor sphere includes a non-zero \(k_{\mathrm{PL}}\) (a loss channel). The surrounding region is configured with a very large \(k_{\mathrm{dis}}\), so once excitons reach (or leave into) that region they dissociate quickly. That makes the donor/acceptor boundary behave like an efficient sink, producing the characteristic “high in the centre, depleted near the boundary” profile.

5. Run the simulation

Click the blue Run simulation triangle to start the solver. The terminal output will appear in the main window, as shown in Figure ??. The initial lines report general information about the simulation setup and geometry. The key diagnostic appears once the exciton solver starts running and has the form Exciton f() = … , steps = …. This line reports the progress of the three-dimensional exciton solver. The quantity f() is a residual measuring how far the current exciton density field is from self-consistency; as the solver iterates, this value should decrease. The accompanying steps counter indicates the iteration number. In the example shown, the residual drops from an initial value to 2.97 × 104 by step 2, after which the solver reports that the equation has been solved and terminates.

On a typical modern laptop, this example should complete in around 5–10 seconds. If the run time extends to minutes, this usually indicates that the mesh is excessively fine or that the geometry or parameters have been modified in a way that greatly increases the number of mesh points. In that case, it is worth revisiting the mesh settings or retracing the previous setup steps before proceeding.

Terminal output during exciton simulation showing Exciton f() convergence
Solver output while the exciton equations are being solved in 3D. The residual indicator Exciton f() decreases as the solver converges.
Output tab showing exciton_output folder and exciton_sim_info.json
The Output tab. The exciton solver writes its results to exciton_output/.
Contents of exciton_output showing exciton.csv, G.csv, Gn.csv, Gp.csv and related files
Contents of exciton_output/. The files are plain CSV and can be opened in OghmaNano’s viewers or external tools.

6. Plotting the output

Once the run has finished, switch to the Output tab (Figure ??). The most relevant items for this tutorial are the exciton_output/ directory, which contains the spatially resolved exciton results, and the file exciton_sim_info.json, which summarises global generation and loss statistics and will be used later in Part C. Double-clicking exciton_output/ reveals the contents shown in Figure ??.

Open G.csv to view the exciton generation rate produced by the optical model (Figure ??). In the 3D plot window you can rotate the scene with the mouse and use the Z and Y sliders at the bottom to slice through the volume. This is often the fastest way to verify that the geometry, illumination direction, and mesh are behaving as intended.

Next, open exciton.csv (Figure ??), which shows the steady-state exciton density. You should observe the characteristic signature of diffusion to an interfacial sink: a high exciton density in the interior of the donor sphere, with depletion toward the donor–acceptor boundary where dissociation is strong. Use the slicing sliders to confirm that this depletion follows the interface geometry rather than being an artefact of the viewing angle.

Finally, open Gn.csv (Figure ??), which shows the spatially resolved electron generation rate arising from exciton dissociation. In this example you should see a distinctive ring (or shell) of generation localised near the donor–acceptor interface. Use the Z and Y sliders to move the slicing plane through the volume and explore how this dissociation profile evolves with position.

3D plot of exciton generation rate G showing generation localized in the donor sphere region
G.csv: exciton generation rate \(G_{\mathrm{optical}}\) from the optical model (units \(\mathrm{m^{-3}\,s^{-1}}\)). Rotate and slice (Z/Y sliders) to inspect spatial localisation.
3D plot of exciton density showing highest density in the centre of the sphere and depletion near boundary
exciton.csv: exciton density \(X\) (units \(\mathrm{m^{-3}}\)). The “centre-high / boundary-low” profile is the expected outcome of diffusion toward a fast-dissociation sink.
3D plot of electron generation rate from exciton dissociation showing a ring at the donor–acceptor interface
Gn.csv: electron generation rate from exciton dissociation (units \(\mathrm{m^{-3}\,s^{-1}}\)). Dissociation is concentrated at the donor/acceptor interface, producing a characteristic ring/shell in slices. Use the Z/Y sliders to explore how this feature changes with position.

7. What are the files in exciton_output/?

The exciton_output/ directory contains two distinct types of files. The first group consists of computed fields produced by the exciton solver, such as the exciton density and dissociation-derived generation rates. The second group contains parameter maps: three-dimensional copies of the exciton parameters defined in the GUI. These are written out primarily as a consistency and debugging aid, allowing you to verify that the intended material parameters have been applied correctly in space. Tables 1 and 2 summarise these two categories. All quantities are reported in SI units. (Some files may not be written if the corresponding sub-models are disabled.)

Table 1: Spatial fields computed by the exciton solver
File name Description Typical units
exciton.csv Exciton density field \(X(\mathbf{r})\) \(\mathrm{m^{-3}}\)
G.csv Exciton generation rate \(G_{\mathrm{optical}}(\mathbf{r})\) \(\mathrm{m^{-3}\,s^{-1}}\)
Gn.csv Electron generation rate from exciton dissociation \(\mathrm{m^{-3}\,s^{-1}}\)
Gp.csv Hole generation rate from exciton dissociation \(\mathrm{m^{-3}\,s^{-1}}\)
D Exciton diffusion coefficient \(D\) \(\mathrm{m^{2}\,s^{-1}}\)
alpha Exciton–exciton annihilation contribution \(\alpha X^2\) \(\mathrm{m^{3}\,s^{-1}}\)
Table 2: Exciton parameter maps written for verification
File name Description Typical units
k_dis.csv Dissociation rate \(k_{\mathrm{dis}}(\mathbf{r})\) \(\mathrm{s^{-1}}\)
k_fret Förster-type transfer rate \(k_{\mathrm{FRET}}(\mathbf{r})\) \(\mathrm{s^{-1}}\)
k_pl Radiative (photoluminescent) loss rate \(k_{\mathrm{PL}}(\mathbf{r})\) \(\mathrm{s^{-1}}\)
L Exciton diffusion (scattering) length \(L(\mathbf{r})\) \(\mathrm{m}\)
tau Exciton lifetime \(\tau(\mathbf{r})\) \(\mathrm{s}\)

The parameter-map files in Table 2 are not solver outputs in the usual sense. They simply reflect the exciton parameters defined in the Electrical → Excitons section of the GUI, written out on the same three-dimensional mesh as the solution fields. Their purpose is to provide a transparent way to check that parameters are assigned to the correct objects and regions of the domain, particularly when working with complex geometries.

8.1 Interpreting exciton_sim_info.json (dissociation efficiency)

exciton_sim_info.json opened in a text editor showing nested segment0/layer and shape0/sphere totals and dis_eff
The exciton_sim_info.json summary file, reporting spatially integrated generation and loss channels for each object and the overall dissociation efficiency.

While the three-dimensional plots are invaluable for visualising where excitons are generated, lost, and dissociated, they do not by themselves provide concise numerical summaries. The file exciton_sim_info.json fills this role by reporting spatially integrated generation and loss rates for each object in the simulation (the surrounding layer, the embedded sphere, and any additional shapes you may add).

To view this information, open the main Output tab and double-click exciton_sim_info.json. The file contains a nested JSON structure that lists, for each object, the total exciton generation rate and the total rates associated with each competing loss or dissociation channel. These quantities allow you to quantify how changes in material parameters, geometry, or morphology translate into changes in charge-generation efficiency.

💡 Units: The quantities reported in this file are volume-integrated totals. Locally, generation and reaction rates are fields with units such as \(\mathrm{m^{-3}\,s^{-1}}\) (or \(\mathrm{m^{-3}}\) for densities). After integration over volume, the corresponding totals have units of \(\mathrm{s^{-1}}\), representing events per second.

The top-level key segment0 simply marks the start of the report. Within it, the field name identifies the enclosing object (here, the layer), while the nested shape0 block corresponds to the embedded object (the sphere). Each block reports the total contribution of that object to generation, dissociation, and loss processes.

Table 2 summarises the fields you will encounter in this file and how to interpret them.

Table 2: Fields in exciton_sim_info.json and their interpretation
JSON field Meaning Typical units Where it appears
segment0 Container node for the report (not a physical quantity) Top level
name Object name (layer or embedded shape) Inside segment0 and shape0
tot_G Total exciton generation rate, integrated over the object volume \(\mathrm{s^{-1}}\) Layer and shape blocks
tot_Rk_pl Total radiative (photoluminescent) loss rate \(\mathrm{s^{-1}}\) Layer and shape blocks
tot_Rk_fret Total Förster-type transfer loss or interaction rate \(\mathrm{s^{-1}}\) Layer and shape blocks
tot_Ralpha Total exciton–exciton annihilation loss rate \(\mathrm{s^{-1}}\) Layer and shape blocks
tot_Rk_dis Total exciton dissociation rate to free carriers \(\mathrm{s^{-1}}\) Layer and shape blocks
dis_eff Overall dissociation efficiency (fraction of generated excitons that dissociate) \(\%\) Top level

Taken together, the three-dimensional plots and the numerical summaries in exciton_sim_info.json provide a complementary view of the simulation: the plots show where processes occur, while the JSON file quantifies how much each process contributes. This makes it a useful tool for systematically analysing how changes in parameters or geometry affect exciton dissociation and effective charge generation.

9. Putting it together

Taken together, the three-dimensional results tell a coherent physical story. Optical absorption generates excitons primarily in the interior of the donor domain. These excitons then diffuse through the donor, are depleted near the donor–acceptor interface, and dissociate efficiently once they reach the surrounding acceptor region. The spatial plots show where these processes occur; the summary report exciton_sim_info.json quantifies how much each process contributes.

In this example, the summary report separates the underlying physics cleanly by spatial region, allowing generation, loss, and dissociation processes to be interpreted in a transparent way.

The bottom-line metric dis_eff reports the overall dissociation efficiency of the system (here approximately \(89\%\)). Physically, this indicates that the majority of excitons generated in the donor diffuse to the interface and dissociate, with only a relatively small fraction lost to radiative decay. Other channels, such as Förster transfer or exciton–exciton annihilation, are inactive in this particular example.

In other words, the simulation operates in a regime where interfacial dissociation outcompetes exciton decay, resulting in a high effective photon-to-free-carrier yield. This combination of three-dimensional visualisation and quantitative reporting provides a compact but physically complete picture of how geometry and kinetic parameters together determine charge-generation efficiency in an exciton-domain model.

👉 Next step: Continue to Part B, where we edit the domain geometry (sphere → arbitrary mesh) and adjust the optical generation settings to see how geometry and absorption interact with diffusion and dissociation.